diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 9 | ||||
-rw-r--r-- | include/battle_controllers.h | 10 | ||||
-rw-r--r-- | include/battle_tower.h | 4 | ||||
-rw-r--r-- | include/berry.h | 33 | ||||
-rw-r--r-- | include/constants/berry.h | 28 | ||||
-rw-r--r-- | include/constants/global.h | 1 | ||||
-rw-r--r-- | include/contest.h | 2 | ||||
-rw-r--r-- | include/data.h | 4 | ||||
-rwxr-xr-x | include/ereader_helpers.h | 49 | ||||
-rw-r--r-- | include/global.h | 10 | ||||
-rw-r--r-- | include/global.tv.h | 2 | ||||
-rw-r--r-- | include/graphics.h | 171 | ||||
-rw-r--r-- | include/mon_markings.h | 6 | ||||
-rw-r--r-- | include/pokemon.h | 8 | ||||
-rw-r--r-- | include/script_movement.h | 6 | ||||
-rw-r--r-- | include/strings.h | 90 | ||||
-rw-r--r-- | include/task.h | 3 | ||||
-rw-r--r-- | include/trainer_hill.h | 46 |
18 files changed, 257 insertions, 225 deletions
diff --git a/include/battle.h b/include/battle.h index 0f4087c90..32eabc6de 100644 --- a/include/battle.h +++ b/include/battle.h @@ -37,7 +37,6 @@ #define B_ACTION_NONE 0xFF #define MAX_TRAINER_ITEMS 4 -#define MAX_MON_MOVES 4 // array entries for battle communication #define MULTIUSE_STATE 0x0 @@ -180,19 +179,19 @@ struct AI_ThinkingStruct u8 aiState; u8 movesetIndex; u16 moveConsidered; - s8 score[4]; + s8 score[MAX_MON_MOVES]; u32 funcResult; u32 aiFlags; u8 aiAction; u8 aiLogicId; u8 filler12[6]; - u8 simulatedRNG[4]; + u8 simulatedRNG[MAX_MON_MOVES]; }; struct UsedMoves { - u16 moves[MAX_BATTLERS_COUNT]; - u16 unknown[MAX_BATTLERS_COUNT]; + u16 moves[MAX_MON_MOVES]; + u16 unknown[MAX_MON_MOVES]; }; struct BattleHistory diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 9449f1986..365229fda 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -97,16 +97,16 @@ struct HpAndStatus struct MovePpInfo { - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; u8 ppBonuses; }; struct ChooseMoveStruct { - u16 moves[4]; - u8 currentPp[4]; - u8 maxPp[4]; + u16 moves[MAX_MON_MOVES]; + u8 currentPp[MAX_MON_MOVES]; + u8 maxPp[MAX_MON_MOVES]; u16 species; u8 monType1; u8 monType2; diff --git a/include/battle_tower.h b/include/battle_tower.h index 12d6d2e9e..8bc6e6554 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -7,7 +7,7 @@ struct RSBattleTowerRecord /*0x01*/ u8 facilityClass; /*0x02*/ u16 winStreak; /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; - /*0x0C*/ u8 trainerId[4]; + /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH]; /*0x10*/ u16 greeting[6]; /*0x1C*/ struct BattleTowerPokemon party[3]; /*0xA0*/ u32 checksum; @@ -27,7 +27,7 @@ struct BattleFrontierTrainer struct FacilityMon { u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 itemTableId; u8 evSpread; u8 nature; diff --git a/include/berry.h b/include/berry.h index 9ff18e198..ebe1e9a38 100644 --- a/include/berry.h +++ b/include/berry.h @@ -1,39 +1,6 @@ #ifndef GUARD_BERRY_H #define GUARD_BERRY_H -#define BERRY_NONE 0 - -enum -{ - BERRY_FIRMNESS_UNKNOWN, - BERRY_FIRMNESS_VERY_SOFT, - BERRY_FIRMNESS_SOFT, - BERRY_FIRMNESS_HARD, - BERRY_FIRMNESS_VERY_HARD, - BERRY_FIRMNESS_SUPER_HARD, -}; - -enum -{ - FLAVOR_SPICY, - FLAVOR_DRY, - FLAVOR_SWEET, - FLAVOR_BITTER, - FLAVOR_SOUR, - FLAVOR_COUNT -}; - -enum -{ - BERRY_STAGE_NO_BERRY, // there is no tree planted and the soil is completely flat. - BERRY_STAGE_PLANTED, - BERRY_STAGE_SPROUTED, - BERRY_STAGE_TALLER, - BERRY_STAGE_FLOWERING, - BERRY_STAGE_BERRIES, - BERRY_STAGE_SPARKLING = 0xFF, -}; - void ClearEnigmaBerries(void); void SetEnigmaBerry(u8 *src); bool32 IsEnigmaBerryValid(void); diff --git a/include/constants/berry.h b/include/constants/berry.h new file mode 100644 index 000000000..d413b9947 --- /dev/null +++ b/include/constants/berry.h @@ -0,0 +1,28 @@ +#ifndef GUARD_CONSTANTS_BERRY_H +#define GUARD_CONSTANTS_BERRY_H + +#define BERRY_NONE 0 + +#define BERRY_FIRMNESS_UNKNOWN 0 +#define BERRY_FIRMNESS_VERY_SOFT 1 +#define BERRY_FIRMNESS_SOFT 2 +#define BERRY_FIRMNESS_HARD 3 +#define BERRY_FIRMNESS_VERY_HARD 4 +#define BERRY_FIRMNESS_SUPER_HARD 5 + +#define FLAVOR_SPICY 0 +#define FLAVOR_DRY 1 +#define FLAVOR_SWEET 2 +#define FLAVOR_BITTER 3 +#define FLAVOR_SOUR 4 +#define FLAVOR_COUNT 5 + +#define BERRY_STAGE_NO_BERRY 0 // there is no tree planted and the soil is completely flat. +#define BERRY_STAGE_PLANTED 1 +#define BERRY_STAGE_SPROUTED 2 +#define BERRY_STAGE_TALLER 3 +#define BERRY_STAGE_FLOWERING 4 +#define BERRY_STAGE_BERRIES 5 +#define BERRY_STAGE_SPARKLING 255 + +#endif // GUARD_CONSTANTS_BERRY_H diff --git a/include/constants/global.h b/include/constants/global.h index 0507f22cc..31b89c709 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -54,6 +54,7 @@ #define TRAINER_ID_LENGTH 4 #define PARTY_SIZE 6 +#define MAX_MON_MOVES 4 // string lengths #define ITEM_NAME_LENGTH 14 diff --git a/include/contest.h b/include/contest.h index 8ef208aea..2b1b95af5 100644 --- a/include/contest.h +++ b/include/contest.h @@ -227,7 +227,7 @@ struct ContestPokemon u8 aiPool_Cute:1; // 0x10 u8 aiPool_Smart:1; // 0x20 u8 aiPool_Tough:1; // 0x40 - /*0x1E*/ u16 moves[4]; // moves + /*0x1E*/ u16 moves[MAX_MON_MOVES]; // moves /*0x26*/ u8 cool; // cool /*0x27*/ u8 beauty; // beauty /*0x28*/ u8 cute; // cute diff --git a/include/data.h b/include/data.h index f1a4caa6a..49b98663a 100644 --- a/include/data.h +++ b/include/data.h @@ -34,7 +34,7 @@ struct TrainerMonNoItemCustomMoves u16 iv; u8 lvl; u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; struct TrainerMonItemCustomMoves @@ -43,7 +43,7 @@ struct TrainerMonItemCustomMoves u8 lvl; u16 species; u16 heldItem; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; union TrainerMonPtr diff --git a/include/ereader_helpers.h b/include/ereader_helpers.h index bcbb68d4f..8dc3b907a 100755 --- a/include/ereader_helpers.h +++ b/include/ereader_helpers.h @@ -1,51 +1,34 @@ #ifndef GUARD_EREADER_HELPERS_H #define GUARD_EREADER_HELPERS_H -struct Unk81D38FC +#include "trainer_hill.h" + +struct EReaderTrainerHillTrainer { u8 unk0; - u8 filler_1[3]; - u8 unk4[0x148]; - u8 unk14C[0x124]; - int checksum; -}; + struct TrainerHillTrainer unk4; + struct TrHillDisplay unk14C; + u32 checksum; +}; // size=0x274 struct EReaderTrainerHillSet { - u8 unk_0; - u8 unk_1; - u8 unk_2; - u8 unk_3; - int checksum; - struct Unk81D38FC unk_8[6]; + u8 count; + u8 id; + u16 dummy; + u32 checksum; + struct EReaderTrainerHillTrainer unk_8[6]; u8 unk_ec0[40]; -}; - -struct Unk81D3998Sub -{ - u8 unk_000[4]; - u8 unk_004[0x148]; - u8 unk_14C[0x148]; - u8 unk_294[0x124]; -}; - -struct Unk81D3998 -{ - u8 unk_000; - u8 unk_001; - u8 unk_002; - int checksum; - struct Unk81D3998Sub unk_008[4]; -}; +}; // size = 0xf00 bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer); bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0); bool32 ReadTrainerHillAndValidate(void); -int sub_81D3D70(u8, u32, u32*, u32*); +int EReaderHandleTransfer(u8, u32, u32*, u32*); void sub_81D3F9C(void); void sub_81D3FAC(void); -void sub_81D41A0(void); -void sub_81D41F4(void); +void EReaderHelper_SaveRegsState(void); +void EReaderHelper_RestoreRegsState(void); void sub_81D4238(void); #endif // GUARD_EREADER_HELPERS_H diff --git a/include/global.h b/include/global.h index d6d18a3ab..82c53c009 100644 --- a/include/global.h +++ b/include/global.h @@ -210,7 +210,7 @@ struct BerryCrush struct ApprenticeMon { u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u16 item; }; @@ -232,7 +232,7 @@ struct BattleTowerPokemon { u16 species; u16 heldItem; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 level; u8 ppBonuses; u8 hpEV; @@ -255,6 +255,8 @@ struct BattleTowerPokemon u8 friendship; }; +#define NULL_BATTLE_TOWER_POKEMON { .nickname = __("$$$$$$$$$$$") } + struct EmeraldBattleTowerRecord { /*0x00*/ u8 lvlMode; // 0 = level 50, 1 = level 100 @@ -286,7 +288,7 @@ struct BattleTowerEReaderTrainer struct FrontierMonData { - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 evs[6]; u8 nature; }; @@ -942,7 +944,7 @@ struct SaveBlock1 /*0x2B94*/ u8 outbreakPokemonLevel; /*0x2B95*/ u8 outbreakUnk1; /*0x2B96*/ u16 outbreakUnk2; - /*0x2B98*/ u16 outbreakPokemonMoves[4]; + /*0x2B98*/ u16 outbreakPokemonMoves[MAX_MON_MOVES]; /*0x2BA0*/ u8 outbreakUnk4; /*0x2BA1*/ u8 outbreakPokemonProbability; /*0x2BA2*/ u16 outbreakDaysLeft; diff --git a/include/global.tv.h b/include/global.tv.h index aa151a75c..abb01d471 100644 --- a/include/global.tv.h +++ b/include/global.tv.h @@ -482,7 +482,7 @@ typedef union // size = 0x24 /*0x01*/ bool8 active; /*0x02*/ u8 var02; /*0x03*/ u8 var03; - /*0x04*/ u16 moves[4]; + /*0x04*/ u16 moves[MAX_MON_MOVES]; /*0x0C*/ u16 species; /*0x0E*/ u16 var0E; /*0x10*/ u8 locationMapNum; diff --git a/include/graphics.h b/include/graphics.h index d1d99cc8f..5f5c579d2 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3093,90 +3093,93 @@ extern const u32 gPokeblock_Gfx[]; extern const u32 gItemIcon_QuestionMark[]; extern const u32 gItemIconPalette_QuestionMark[]; -extern const u32 gUnknown_08DB7AA0[]; -extern const u32 gUnknown_08DB7B34[]; -extern const u32 gUnknown_08DB7B5C[]; -extern const u32 gUnknown_08DB7BEC[]; -extern const u32 gUnknown_08DB7C08[]; -extern const u32 gUnknown_08DB7CE8[]; -extern const u32 gUnknown_08DB7D08[]; -extern const u32 gUnknown_08DB7DCC[]; -extern const u32 gUnknown_08DB7DF4[]; -extern const u32 gUnknown_08DB7EA0[]; -extern const u32 gUnknown_08DB7EC4[]; -extern const u32 gUnknown_08DB7F60[]; -extern const u32 gUnknown_08DB7F7C[]; -extern const u32 gUnknown_08DB8070[]; -extern const u32 gUnknown_08DB808C[]; -extern const u32 gUnknown_08DB8138[]; -extern const u32 gUnknown_08DB8160[]; -extern const u32 gUnknown_08DB8218[]; -extern const u32 gUnknown_08DB823C[]; -extern const u32 gUnknown_08DB8300[]; -extern const u32 gUnknown_08DB8328[]; -extern const u32 gUnknown_08DB8430[]; -extern const u32 gUnknown_08DB8458[]; -extern const u32 gUnknown_08DB8528[]; -extern const u32 gUnknown_08DB854C[]; -extern const u32 gUnknown_08DB862C[]; -extern const u32 gUnknown_08DB8654[]; -extern const u32 gUnknown_08DB86C4[]; -extern const u32 gUnknown_08DB86E0[]; -extern const u32 gUnknown_08DB8750[]; -extern const u32 gUnknown_08DB876C[]; -extern const u32 gUnknown_08DB87DC[]; -extern const u32 gUnknown_08DB87F8[]; -extern const u32 gUnknown_08DB88D8[]; -extern const u32 gUnknown_08DB8900[]; -extern const u32 gUnknown_08DB89E0[]; -extern const u32 gUnknown_08DB8A08[]; -extern const u32 gUnknown_08DB8A68[]; -extern const u32 gUnknown_08DB8A84[]; -extern const u32 gUnknown_08DB8B40[]; -extern const u32 gUnknown_08DB8B68[]; -extern const u32 gUnknown_08DB8C40[]; -extern const u32 gUnknown_08DB8C5C[]; -extern const u32 gUnknown_08DB8CF4[]; -extern const u32 gUnknown_08DB8D18[]; -extern const u32 gUnknown_08DB8DB0[]; -extern const u32 gUnknown_08DB8DD4[]; -extern const u32 gUnknown_08DB8E80[]; -extern const u32 gUnknown_08DB8EA0[]; -extern const u32 gUnknown_08DB8F58[]; -extern const u32 gUnknown_08DB8F7C[]; -extern const u32 gUnknown_08DB9038[]; -extern const u32 gUnknown_08DB9058[]; -extern const u32 gUnknown_08DB9130[]; -extern const u32 gUnknown_08DB9154[]; -extern const u32 gUnknown_08DB9218[]; -extern const u32 gUnknown_08DB9234[]; -extern const u32 gUnknown_08DB92FC[]; -extern const u32 gUnknown_08DB931C[]; -extern const u32 gUnknown_08DB93E8[]; -extern const u32 gUnknown_08DB940C[]; -extern const u32 gUnknown_08DB94CC[]; -extern const u32 gUnknown_08DB94E8[]; -extern const u32 gUnknown_08DB95AC[]; -extern const u32 gUnknown_08DB95D0[]; -extern const u32 gUnknown_08DB96C4[]; -extern const u32 gUnknown_08DB96EC[]; -extern const u32 gUnknown_08DB97F4[]; -extern const u32 gUnknown_08DB981C[]; -extern const u32 gUnknown_08DB9908[]; -extern const u32 gUnknown_08DB9930[]; -extern const u32 gUnknown_08DB9A54[]; -extern const u32 gUnknown_08DB9A7C[]; -extern const u32 gUnknown_08DB9B7C[]; -extern const u32 gUnknown_08DB9BA4[]; -extern const u32 gUnknown_08DB9CB0[]; -extern const u32 gUnknown_08DB9CD8[]; -extern const u32 gUnknown_08DB9DAC[]; -extern const u32 gUnknown_08DB9DD4[]; -extern const u32 gUnknown_08DB9EE4[]; -extern const u32 gUnknown_08DB9F08[]; -extern const u32 gUnknown_08DB9FFC[]; -extern const u32 gUnknown_08DBA020[]; -extern const u32 gUnknown_08DBA12C[]; + +// Decorations +extern const u32 gDecorIcon_HeavyDesk[]; +extern const u32 gDecorIconPalette_HeavyDesk[]; +extern const u32 gDecorIcon_RaggedDesk[]; +extern const u32 gDecorIconPalette_RaggedDesk[]; +extern const u32 gDecorIcon_ComfortDesk[]; +extern const u32 gDecorIconPalette_ComfortDesk[]; +extern const u32 gDecorIcon_PrettyDesk[]; +extern const u32 gDecorIconPalette_PrettyDesk[]; +extern const u32 gDecorIcon_BrickDesk[]; +extern const u32 gDecorIconPalette_BrickDesk[]; +extern const u32 gDecorIcon_CampDesk[]; +extern const u32 gDecorIconPalette_CampDesk[]; +extern const u32 gDecorIcon_HardDesk[]; +extern const u32 gDecorIconPalette_HardDesk[]; +extern const u32 gDecorIcon_RedPlant[]; +extern const u32 gDecorIconPalette_RedPlant[]; +extern const u32 gDecorIcon_TropicalPlant[]; +extern const u32 gDecorIconPalette_TropicalPlant[]; +extern const u32 gDecorIcon_PrettyFlowers[]; +extern const u32 gDecorIconPalette_PrettyFlowers[]; +extern const u32 gDecorIcon_ColorfulPlant[]; +extern const u32 gDecorIconPalette_ColorfulPlant[]; +extern const u32 gDecorIcon_BigPlant[]; +extern const u32 gDecorIconPalette_BigPlant[]; +extern const u32 gDecorIcon_GorgeousPlant[]; +extern const u32 gDecorIconPalette_GorgeousPlant[]; +extern const u32 gDecorIcon_RedBrick[]; +extern const u32 gDecorIconPalette_RedBrick[]; +extern const u32 gDecorIcon_YellowBrick[]; +extern const u32 gDecorIconPalette_YellowBrick[]; +extern const u32 gDecorIcon_BlueBrick[]; +extern const u32 gDecorIconPalette_BlueBrick[]; +extern const u32 gDecorIcon_RedTent[]; +extern const u32 gDecorIconPalette_RedTent[]; +extern const u32 gDecorIcon_BlueTent[]; +extern const u32 gDecorIconPalette_BlueTent[]; +extern const u32 gDecorIcon_SolidBoard[]; +extern const u32 gDecorIconPalette_SolidBoard[]; +extern const u32 gDecorIcon_Slide[]; +extern const u32 gDecorIconPalette_Slide[]; +extern const u32 gDecorIcon_Tire[]; +extern const u32 gDecorIconPalette_Tire[]; +extern const u32 gDecorIcon_Stand[]; +extern const u32 gDecorIconPalette_Stand[]; +extern const u32 gDecorIcon_BreakableDoor[]; +extern const u32 gDecorIconPalette_BreakableDoor[]; +extern const u32 gDecorIcon_SandOrnament[]; +extern const u32 gDecorIconPalette_SandOrnament[]; +extern const u32 gDecorIcon_GlassOrnament[]; +extern const u32 gDecorIconPalette_GlassOrnament[]; +extern const u32 gDecorIcon_SurfMat[]; +extern const u32 gDecorIconPalette_SurfMat[]; +extern const u32 gDecorIcon_ThunderMat[]; +extern const u32 gDecorIconPalette_ThunderMat[]; +extern const u32 gDecorIcon_FireBlastMat[]; +extern const u32 gDecorIconPalette_FireBlastMat[]; +extern const u32 gDecorIcon_PowderSnowMat[]; +extern const u32 gDecorIconPalette_PowderSnowMat[]; +extern const u32 gDecorIcon_AttractMat[]; +extern const u32 gDecorIconPalette_AttractMat[]; +extern const u32 gDecorIcon_FissureMat[]; +extern const u32 gDecorIconPalette_FissureMat[]; +extern const u32 gDecorIcon_SpikesMat[]; +extern const u32 gDecorIconPalette_SpikesMat[]; +extern const u32 gDecorIcon_SnorlaxDoll[]; +extern const u32 gDecorIconPalette_SnorlaxDoll[]; +extern const u32 gDecorIcon_RhydonDoll[]; +extern const u32 gDecorIconPalette_RhydonDoll[]; +extern const u32 gDecorIcon_LaprasDoll[]; +extern const u32 gDecorIconPalette_LaprasDoll[]; +extern const u32 gDecorIcon_VenusaurDoll[]; +extern const u32 gDecorIconPalette_VenusaurDoll[]; +extern const u32 gDecorIcon_CharizardDoll[]; +extern const u32 gDecorIconPalette_CharizardDoll[]; +extern const u32 gDecorIcon_BlastoiseDoll[]; +extern const u32 gDecorIconPalette_BlastoiseDoll[]; +extern const u32 gDecorIcon_WailmerDoll[]; +extern const u32 gDecorIconPalette_WailmerDoll[]; +extern const u32 gDecorIcon_RegirockDoll[]; +extern const u32 gDecorIconPalette_RegirockDoll[]; +extern const u32 gDecorIcon_RegiceDoll[]; +extern const u32 gDecorIconPalette_RegiceDoll[]; +extern const u32 gDecorIcon_RegisteelDoll[]; +extern const u32 gDecorIconPalette_RegisteelDoll[]; + extern const u32 gWallclock_Gfx[]; extern const u16 gWallclockMale_Pal[]; extern const u16 gWallclockFemale_Pal[]; diff --git a/include/mon_markings.h b/include/mon_markings.h index 8e4ec58bd..241b31e01 100644 --- a/include/mon_markings.h +++ b/include/mon_markings.h @@ -1,17 +1,19 @@ #ifndef POKEEMERALD_MON_MARKINGS_H #define POKEEMERALD_MON_MARKINGS_H +#define NUM_MON_MARKINGS 4 + struct PokemonMarkMenu { /*0x0000*/ u16 baseTileTag; /*0x0002*/ u16 basePaletteTag; /*0x0004*/ u8 markings; // bit flags /*0x0005*/ s8 cursorPos; - /*0x0006*/ bool8 markingsArray[4]; + /*0x0006*/ bool8 markingsArray[NUM_MON_MARKINGS]; /*0x000A*/ u8 cursorBaseY; /*0x000B*/ bool8 spriteSheetLoadRequired; /*0x000C*/ struct Sprite *menuWindowSprites[2]; // upper and lower halves of menu window - /*0x0014*/ struct Sprite *menuMarkingSprites[4]; + /*0x0014*/ struct Sprite *menuMarkingSprites[NUM_MON_MARKINGS]; /*0x0024*/ struct Sprite *unkSprite; /*0x0028*/ struct Sprite *menuTextSprite; /*0x002C*/ const u8 *frameTiles; diff --git a/include/pokemon.h b/include/pokemon.h index ec125573c..2931f4428 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -145,8 +145,8 @@ struct PokemonSubstruct0 struct PokemonSubstruct1 { - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; }; struct PokemonSubstruct2 @@ -273,7 +273,7 @@ struct BattlePokemon /*0x06*/ u16 speed; /*0x08*/ u16 spAttack; /*0x0A*/ u16 spDefense; - /*0x0C*/ u16 moves[4]; + /*0x0C*/ u16 moves[MAX_MON_MOVES]; /*0x14*/ u32 hpIV:5; /*0x14*/ u32 attackIV:5; /*0x15*/ u32 defenseIV:5; @@ -287,7 +287,7 @@ struct BattlePokemon /*0x21*/ u8 type1; /*0x22*/ u8 type2; /*0x23*/ u8 unknown; - /*0x24*/ u8 pp[4]; + /*0x24*/ u8 pp[MAX_MON_MOVES]; /*0x28*/ u16 hp; /*0x2A*/ u8 level; /*0x2B*/ u8 friendship; diff --git a/include/script_movement.h b/include/script_movement.h index 4c3fa6002..f9a97cf46 100644 --- a/include/script_movement.h +++ b/include/script_movement.h @@ -1,8 +1,8 @@ #ifndef GUARD_SCRIPT_MOVEMENT_H #define GUARD_SCRIPT_MOVEMENT_H -bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *); -bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); -void sub_80D338C(void); +bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript); +bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup); +void ScriptMovement_UnfreezeEventObjects(void); #endif // GUARD_SCRIPT_MOVEMENT_H diff --git a/include/strings.h b/include/strings.h index 78ae2c140..e31a97761 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1054,51 +1054,51 @@ extern const u8 gText_Yes[]; extern const u8 gText_No[]; extern const u8 gUnknown_085EAEA2[]; extern const u8 gUnknown_085EAEAC[]; -extern const u8 gUnknown_0827ECBC[]; -extern const u8 gUnknown_0827ECC3[]; -extern const u8 gUnknown_0827ECCD[]; -extern const u8 gUnknown_0827ECD5[]; -extern const u8 gUnknown_0827ECDD[]; -extern const u8 gUnknown_0827ECE3[]; -extern const u8 gUnknown_0827ECEB[]; -extern const u8 gUnknown_0827ECF2[]; -extern const u8 gUnknown_0827ECF8[]; -extern const u8 gUnknown_0827ED00[]; -extern const u8 gUnknown_0827ED06[]; -extern const u8 gUnknown_0827ED10[]; -extern const u8 gUnknown_0827ED18[]; -extern const u8 gUnknown_0827ED22[]; -extern const u8 gUnknown_0827ED2C[]; -extern const u8 gUnknown_0827ED36[]; -extern const u8 gUnknown_0827ED40[]; -extern const u8 gUnknown_0827ED46[]; -extern const u8 gUnknown_0827ED4F[]; -extern const u8 gUnknown_0827ED59[]; -extern const u8 gUnknown_0827ED65[]; -extern const u8 gUnknown_0827ED70[]; -extern const u8 gUnknown_0827ED74[]; -extern const u8 gUnknown_0827ED78[]; -extern const u8 gUnknown_0827ED80[]; -extern const u8 gUnknown_0827ED95[]; -extern const u8 gUnknown_0827EDAA[]; -extern const u8 gUnknown_0827EDB5[]; -extern const u8 gUnknown_0827EDBA[]; -extern const u8 gUnknown_0827EDC1[]; -extern const u8 gUnknown_0827EDC9[]; -extern const u8 gUnknown_0827EDD5[]; -extern const u8 gUnknown_0827EDE4[]; -extern const u8 gUnknown_0827EDF0[]; -extern const u8 gUnknown_0827EDF5[]; -extern const u8 gUnknown_0827EDF7[]; -extern const u8 gUnknown_0827EDF9[]; -extern const u8 gUnknown_0827EDFB[]; -extern const u8 gUnknown_0827EDFD[]; -extern const u8 gUnknown_0827EDFF[]; -extern const u8 gUnknown_0827EE01[]; -extern const u8 gUnknown_0827EE03[]; -extern const u8 gUnknown_0827EE05[]; -extern const u8 gUnknown_0827EE07[]; -extern const u8 gUnknown_0827EE09[]; +extern const u8 gTrickHouse_Mechadoll_Oddish[]; +extern const u8 gTrickHouse_Mechadoll_Poochyena[]; +extern const u8 gTrickHouse_Mechadoll_Taillow[]; +extern const u8 gTrickHouse_Mechadoll_Azurill[]; +extern const u8 gTrickHouse_Mechadoll_Lotad[]; +extern const u8 gTrickHouse_Mechadoll_Wingull[]; +extern const u8 gTrickHouse_Mechadoll_Dustox[]; +extern const u8 gTrickHouse_Mechadoll_Zubat[]; +extern const u8 gTrickHouse_Mechadoll_Nincada[]; +extern const u8 gTrickHouse_Mechadoll_Ralts[]; +extern const u8 gTrickHouse_Mechadoll_Zigzagoon[]; +extern const u8 gTrickHouse_Mechadoll_Slakoth[]; +extern const u8 gTrickHouse_Mechadoll_Poochyena2[]; +extern const u8 gTrickHouse_Mechadoll_Shroomish[]; +extern const u8 gTrickHouse_Mechadoll_Zigzagoon2[]; +extern const u8 gTrickHouse_Mechadoll_Poochyena3[]; +extern const u8 gTrickHouse_Mechadoll_Zubat2[]; +extern const u8 gTrickHouse_Mechadoll_Carvanha[]; +extern const u8 gTrickHouse_Mechadoll_BurnHeal[]; +extern const u8 gTrickHouse_Mechadoll_HarborMail[]; +extern const u8 gTrickHouse_Mechadoll_SamePrice[]; +extern const u8 gTrickHouse_Mechadoll_60Yen[]; +extern const u8 gTrickHouse_Mechadoll_55Yen[]; +extern const u8 gTrickHouse_Mechadoll_Nothing[]; +extern const u8 gTrickHouse_Mechadoll_CostMore[]; +extern const u8 gTrickHouse_Mechadoll_CostLess[]; +extern const u8 gTrickHouse_Mechadoll_SamePrice2[]; +extern const u8 gTrickHouse_Mechadoll_Male[]; +extern const u8 gTrickHouse_Mechadoll_Female[]; +extern const u8 gTrickHouse_Mechadoll_Neither[]; +extern const u8 gTrickHouse_Mechadoll_ElderlyMen[]; +extern const u8 gTrickHouse_Mechadoll_ElderlyLadies[]; +extern const u8 gTrickHouse_Mechadoll_SameNumber[]; +extern const u8 gTrickHouse_Mechadoll_None[]; +extern const u8 gTrickHouse_Mechadoll_One[]; +extern const u8 gTrickHouse_Mechadoll_Two[]; +extern const u8 gTrickHouse_Mechadoll_Two2[]; +extern const u8 gTrickHouse_Mechadoll_Three[]; +extern const u8 gTrickHouse_Mechadoll_Four[]; +extern const u8 gTrickHouse_Mechadoll_Six[]; +extern const u8 gTrickHouse_Mechadoll_Seven[]; +extern const u8 gTrickHouse_Mechadoll_Eight[]; +extern const u8 gTrickHouse_Mechadoll_Six2[]; +extern const u8 gTrickHouse_Mechadoll_Seven2[]; +extern const u8 gTrickHouse_Mechadoll_Eight2[]; // Pokedex strings extern const u8 gUnknown_085E87A5[]; diff --git a/include/task.h b/include/task.h index 4852571b4..d0ca34f7f 100644 --- a/include/task.h +++ b/include/task.h @@ -5,6 +5,7 @@ #define TAIL_SENTINEL 0xFF #define NUM_TASKS 16 +#define NUM_TASK_DATA 16 typedef void (*TaskFunc)(u8 taskId); @@ -15,7 +16,7 @@ struct Task u8 prev; u8 next; u8 priority; - s16 data[16]; + s16 data[NUM_TASK_DATA]; }; extern struct Task gTasks[]; diff --git a/include/trainer_hill.h b/include/trainer_hill.h index e605ac654..31480287a 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -1,6 +1,52 @@ #ifndef GUARD_TRAINER_HILL_H #define GUARD_TRAINER_HILL_H +#define HILL_TRAINER_NAME_LENGTH 11 + +struct TrainerHillTrainer +{ + u8 name[HILL_TRAINER_NAME_LENGTH]; + u8 facilityClass; + u32 unused; + u16 speechBefore[6]; + u16 speechWin[6]; + u16 speechLose[6]; + u16 speechAfter[6]; + struct BattleTowerPokemon mons[PARTY_SIZE]; +}; + +struct TrHillRoomTrainers +{ + u8 name[2][HILL_TRAINER_NAME_LENGTH]; + u8 facilityClass[2]; +}; + +struct TrHillDisplay +{ + u8 data[0x100]; + u16 unk3A0[16]; + u8 coords[2]; // x first 4 bits, y last 4 bits + u8 direction; // array of 4 bits for each trainer + u8 range; // array of 4 bits for each trainer +}; + +struct TrHillFloor +{ + u8 unk0; + u8 unk1; + struct TrainerHillTrainer trainers[2]; + struct TrHillDisplay display; +}; + +struct TrHillTag +{ + u8 unkField_0; + u8 unused1; + u8 numFloors; + u32 checksum; + struct TrHillFloor floors[0]; +}; + extern u32 *gTrainerHillVBlankCounter; void CallTrainerHillFunction(void); |