diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle_tower.h | 2 | ||||
-rw-r--r-- | include/bg.h | 2 | ||||
-rw-r--r-- | include/constants/battle.h | 2 | ||||
-rw-r--r-- | include/constants/region_map_sections.h | 8 | ||||
-rw-r--r-- | include/constants/vars.h | 1 | ||||
-rw-r--r-- | include/event_scripts.h | 3 | ||||
-rw-r--r-- | include/field_message_box.h | 1 | ||||
-rw-r--r-- | include/frontier_pass.h | 7 | ||||
-rw-r--r-- | include/global.h | 24 | ||||
-rw-r--r-- | include/graphics.h | 28 | ||||
-rw-r--r-- | include/main.h | 2 | ||||
-rw-r--r-- | include/palette.h | 6 | ||||
-rw-r--r-- | include/pokedex.h | 1 | ||||
-rw-r--r-- | include/pokemon.h | 4 | ||||
-rw-r--r-- | include/pokemon_storage_system.h | 1 | ||||
-rw-r--r-- | include/pokenav.h | 8 | ||||
-rw-r--r-- | include/script_pokemon_util_80F87D8.h | 1 | ||||
-rw-r--r-- | include/string_util.h | 2 | ||||
-rw-r--r-- | include/strings.h | 78 | ||||
-rw-r--r-- | include/trainer_card.h | 43 | ||||
-rw-r--r-- | include/trainer_hill.h | 36 |
21 files changed, 216 insertions, 44 deletions
diff --git a/include/battle_tower.h b/include/battle_tower.h index bd8e80fc1..12d6d2e9e 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -79,7 +79,7 @@ void GetBattleTowerTrainerLanguage(u8 *dst, u16 trainerId); u8 SetFacilityPtrsGetLevel(void); u8 GetFrontierEnemyMonLevel(u8 lvlMode); s32 GetHighestLevelInPlayerParty(void); -u8 sub_81660B8(u8 facilityClass); +u8 FacilityClassToGraphicsId(u8 facilityClass); bool32 ValidateBattleTowerRecord(u8 recordId); // unused void sub_8166188(void); diff --git a/include/bg.h b/include/bg.h index 1366923f1..ad5acd0ae 100644 --- a/include/bg.h +++ b/include/bg.h @@ -61,7 +61,7 @@ s32 GetBgX(u8 bg); s32 ChangeBgY(u8 bg, s32 value, u8 op); s32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op); s32 GetBgY(u8 bg); -void SetBgAffine(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dispCenterY, s16 scaleX, s16 scaleY, u16 rotationAngle); +void SetBgAffine(u8 bg, s32 srcCenterX, s32 srcCenterY, s16 dispCenterX, s16 dispCenterY, s16 scaleX, s16 scaleY, u16 rotationAngle); u8 Unused_AdjustBgMosaic(u8 a1, u8 a2); void SetBgTilemapBuffer(u8 bg, void *tilemap); void UnsetBgTilemapBuffer(u8 bg); diff --git a/include/constants/battle.h b/include/constants/battle.h index acb0f6689..346d5d9ea 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -174,7 +174,7 @@ #define HITMARKER_GRUDGE 0x01000000 #define HITMARKER_OBEYS 0x02000000 #define HITMARKER_x4000000 0x04000000 -#define HITMARKER_x8000000 0x08000000 +#define HITMARKER_CHARGING 0x08000000 #define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C) #define HITMARKER_UNK(battler) (0x10000000 << battler) diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h index 12c894367..bba76939c 100644 --- a/include/constants/region_map_sections.h +++ b/include/constants/region_map_sections.h @@ -216,10 +216,10 @@ #define MAPSEC_TRAINER_HILL 0xD4 #define MAPSEC_NONE 0xD5 -#define MAPSEC_SPECIAL_EGG 0xFD -#define MAPSEC_IN_GAME_TRADE 0xFE -#define MAPSEC_FATEFUL_ENCOUNTER 0xFF +#define METLOC_SPECIAL_EGG 0xFD +#define METLOC_IN_GAME_TRADE 0xFE +#define METLOC_FATEFUL_ENCOUNTER 0xFF -#define MAPSEC_SUBTRACT_KANTO (MAPSEC_SPECIAL_AREA - MAPSEC_DYNAMIC) +#define KANTO_MAPSEC_COUNT (MAPSEC_SPECIAL_AREA - MAPSEC_DYNAMIC) #endif //GUARD_REGIONMAPSEC_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 30df01f55..c055c5baf 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -297,5 +297,6 @@ #define VAR_MON_BOX_ID 0x8012 #define VAR_MON_BOX_POS 0x8013 #define VAR_0x8014 0x8014 +#define VAR_0x8015 0x8015 #endif // GUARD_CONSTANTS_VARS_H diff --git a/include/event_scripts.h b/include/event_scripts.h index e611dc6e0..afeac6628 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -584,4 +584,7 @@ extern const u8 EventScript_275A86[]; extern const u8 EventScript_275ADF[]; extern const u8 EventScript_275B38[]; +// trainer hill +extern const u8 EventScript_2C83F0[]; + #endif // GUARD_EVENT_SCRIPTS_H diff --git a/include/field_message_box.h b/include/field_message_box.h index e3deee4d6..9515a54fd 100644 --- a/include/field_message_box.h +++ b/include/field_message_box.h @@ -11,6 +11,7 @@ enum bool8 ShowFieldMessage(const u8 *message); bool8 sub_8098238(const u8 *message); +bool8 sub_80982B8(void); bool8 ShowFieldAutoScrollMessage(const u8 *message); void HideFieldMessageBox(void); bool8 IsFieldMessageBoxHidden(void); diff --git a/include/frontier_pass.h b/include/frontier_pass.h new file mode 100644 index 000000000..bdfc1996f --- /dev/null +++ b/include/frontier_pass.h @@ -0,0 +1,7 @@ +#ifndef GUARD_FRONTIER_PASS_H +#define GUARD_FRONTIER_PASS_H + +void ShowFrontierPass(void (*callback)(void)); +void CB2_ReshowFrontierPass(void); + +#endif // GUARD_FRONTIER_PASS_H diff --git a/include/global.h b/include/global.h index c11bddc2d..f45d36f68 100644 --- a/include/global.h +++ b/include/global.h @@ -378,7 +378,8 @@ struct BattleFrontier /*0xEE0*/ u8 field_EE0; /*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH + 1]; /*0xEF1*/ u8 field_EF1[2][4]; - /*0xEF9*/ u8 field_EF9; + /*0xEF9*/ u8 field_EF9_0:7; + /*0xEF9*/ u8 field_EF9_1:1; /*0xEFA*/ u8 field_EFA; /*0xEFB*/ u8 field_EFB; /*0xEFC*/ struct FrontierMonData field_EFC[3]; @@ -792,6 +793,21 @@ struct UnkSaveSubstruct_3b98 u8 trainerName[PLAYER_NAME_LENGTH + 1]; }; +struct SaveTrainerHill +{ + /*0x3D64*/ u32 field_3D64; + /*0x3D68*/ u32 field_3D68; + /*0x3D6C*/ u8 field_3D6C; + /*0x3D6D*/ u8 unused; + /*0x3D6E*/ u16 field_3D6E_0a:1; // 1 + /*0x3D6E*/ u16 field_3D6E_0b:1; // 2 + /*0x3D6E*/ u16 field_3D6E_0c:1; // 4 + /*0x3D6E*/ u16 field_3D6E_0d:1; // 8 + /*0x3D6E*/ u16 field_3D6E_0e:1; // x10 + /*0x3D6E*/ u16 field_3D6E_0f:1; // x20 + /*0x3D6E*/ u16 tag:2; // x40, x80 = xC0 +}; + struct SaveBlock1 { /*0x00*/ struct Coords16 pos; @@ -869,13 +885,15 @@ struct SaveBlock1 /*0x31A8*/ u8 giftRibbons[52]; /*0x31DC*/ struct Roamer roamer; /*0x31F8*/ struct EnigmaBerry enigmaBerry; - /*0x322C*/ u8 field_322C[1276]; + /*0x322C*/ u8 field_322C[1260]; + /*0x3718*/ u32 trainerHillTimes[4]; /*0x3728*/ struct RamScript ramScript; /*0x3B14*/ struct RecordMixingGift recordMixingGift; /*0x3B24*/ u8 seen2[DEX_FLAGS_NO]; /*0x3B58*/ LilycoveLady lilycoveLady; /*0x3B98*/ struct UnkSaveSubstruct_3b98 unk_3B98[20]; - /*0x3C88*/ u8 filler_3C88[0xE8]; + /*0x3C88*/ u8 filler_3C88[0xDC]; + /*0x3D64*/ struct SaveTrainerHill trainerHill; /*0x3D70*/ struct WaldaPhrase waldaPhrase; // sizeof: 0x3D88 }; diff --git a/include/graphics.h b/include/graphics.h index 4615facf9..f7eaa394d 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4850,4 +4850,32 @@ extern const u16 gUnknown_08DC64E8[]; extern const u16 gUnknown_08DC64FC[]; extern const u16 gUnknown_08DC6510[]; +// Trainer Card. +extern const u16 gEmeraldTrainerCard0Star_Pal[]; +extern const u32 gEmeraldTrainerCard_Gfx[]; +extern const u16 gFireRedTrainerCard0Star_Pal[]; +extern const u32 gFireRedTrainerCard_Gfx[]; +extern const u32 gUnknown_08DD2AE0[]; +extern const u32 gUnknown_08DD21B0[]; +extern const u32 gUnknown_08DD2D30[]; +extern const u32 gUnknown_08DD2010[]; +extern const u32 gUnknown_08DD2B78[]; +extern const u32 gUnknown_08DD228C[]; +extern const u32 gUnknown_08DD2E5C[]; +extern const u32 gUnknown_08DD1F78[]; + +// Frontier Pass +extern const u32 gUnknown_08DE08C8[]; +extern const u32 gUnknown_08DE2084[]; +extern const u32 gUnknown_08DE3350[]; +extern const u32 gUnknown_08DE3374[]; +extern const u32 gUnknown_08DE3060[]; +extern const u32 gFrontierPassMedals_Gfx[]; +extern const u16 gUnknown_08DE07C8[][16]; +extern const u16 gFrontierPassCursor_Pal[]; +extern const u16 gFrontierPassMedalsGold_Pal[]; +extern const u16 gFrontierPassMedalsSilver_Pal[]; +extern const u16 gFrontierPassMapCursor_Pal[]; + + #endif //GUARD_GRAPHICS_H diff --git a/include/main.h b/include/main.h index 0d441035d..2ed30307b 100644 --- a/include/main.h +++ b/include/main.h @@ -61,6 +61,8 @@ void SetHBlankCallback(IntrCallback callback); void SetVCountCallback(IntrCallback callback); void SetSerialCallback(IntrCallback callback); void InitFlashTimer(void); +void sub_80008DC(u32 *var); +void sub_80008E8(void); void DoSoftReset(void); void ClearPokemonCrySongs(void); void RestoreSerialTimer3IntrHandlers(void); diff --git a/include/palette.h b/include/palette.h index 540452f3d..e24da3e00 100644 --- a/include/palette.h +++ b/include/palette.h @@ -63,8 +63,12 @@ void TintPlttBuffer(u32, s8, s8, s8); void UnfadePlttBuffer(u32); void BeginFastPaletteFade(u8); void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); -void BlendPalettes(u32, u8, u16); +void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color); void BlendPalettesUnfaded(u32, u8, u16); void sub_80A2C44(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7); +void TintPalette_GrayScale(u16 *palette, u16 count); +void TintPalette_GrayScale2(u16 *palette, u16 count); +void TintPalette_SepiaTone(u16 *palette, u16 count); +void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 bTone); #endif // GUARD_PALETTE_H diff --git a/include/pokedex.h b/include/pokedex.h index b6d323fd3..91e9e37d4 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -41,5 +41,6 @@ u16 GetHoennPokedexCount(u8); u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality); s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId); u16 CreateMonSpriteFromNationalDexNumber(u16, s16, s16, u16); +bool16 HasAllHoennMons(void); #endif // GUARD_POKEDEX_H diff --git a/include/pokemon.h b/include/pokemon.h index cfa5cc350..507497683 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -451,8 +451,8 @@ void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level); void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality); void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u32 otId); void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 evSpread); -void sub_806819C(struct Pokemon *mon, struct BattleTowerPokemon *src); -void sub_8068338(struct Pokemon *mon, struct BattleTowerPokemon *src, bool8 lvl50); +void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src); +void CreateBattleTowerMon2(struct Pokemon *mon, struct BattleTowerPokemon *src, bool8 lvl50); void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId); void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId); void sub_80686FC(struct Pokemon *mon, struct BattleTowerPokemon *dest); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index a85ee5ff4..4c319e59d 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -25,6 +25,7 @@ struct PokemonStorage extern struct PokemonStorage *gPokemonStoragePtr; +void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4); u8 CountMonsInBox(u8 boxId); s16 GetFirstFreeBoxSpot(u8 boxId); u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore); diff --git a/include/pokenav.h b/include/pokenav.h index d8f0c9f97..e5dba8ae0 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -3,7 +3,6 @@ #include "player_pc.h" #include "list_menu.h" -bool8 sub_81D5C18(void); bool8 sub_81D20BC(void *arg0); bool8 sub_81D312C(void *arg0); void sub_81D1ED4(void *arg0); @@ -14,28 +13,21 @@ void sub_81D3464(void *arg0); void sub_81D3480(void *arg0, u8 arg1); void sub_81D2754(void *arg0, void *arg1); void sub_81D1F84(void *arg0, void *arg1, void *arg2); -const u8 *sub_81D62AC(void); u8 sub_81D1C84(u8); u8 sub_81D1DC0(struct PlayerPCItemPageStruct *); void sub_81D1E90(struct PlayerPCItemPageStruct *); void sub_81D1EC0(void); void sub_81D1D04(u8); bool8 sub_81D1C44(u8); -void sub_81D5FB4(u16*); bool8 sub_81D4A58(struct EventObject*); void sub_81D2BF4(u8 *); u16 sub_81D2C3C(void); void sub_81D2C50(void); u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices); void sub_81D2824(u16); -bool32 InTrainerHill(void); bool8 EventObjectIsFarawayIslandMew(struct EventObject *); u32 sub_81D427C(void); void sub_81D4998(void); -u8 GetCurrentTrainerHillMapId(void); -u8 sub_81D6490(void); -const struct WarpEvent *sub_81D6120(void); -const struct WarpEvent *sub_81D6134(u8); void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); diff --git a/include/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h index 02a35ecba..7d8d99628 100644 --- a/include/script_pokemon_util_80F87D8.h +++ b/include/script_pokemon_util_80F87D8.h @@ -4,5 +4,6 @@ u16 sub_80F903C(void); void ReducePlayerPartyToSelectedMons(void); void HealPlayerParty(void); +u8 CountPlayerContestPaintings(void); #endif // GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H diff --git a/include/string_util.h b/include/string_util.h index d7a005ec5..b921d2391 100644 --- a/include/string_util.h +++ b/include/string_util.h @@ -34,7 +34,7 @@ u8 *StringFill(u8 *dest, u8 c, u16 n); u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n); u8 *StringFillWithTerminator(u8 *dest, u16 n); u8 *StringCopyN_Multibyte(u8 *dest, u8 *src, u32 n); -u32 StringLength_Multibyte(u8 *str); +u32 StringLength_Multibyte(const u8 *str); u8 *WriteColorChangeControlCode(u8 *dest, u32 colorType, u8 color); bool32 IsStringJapanese(u8 *str); bool32 sub_800924C(u8 *str, s32 n); diff --git a/include/strings.h b/include/strings.h index d16dd21f8..74f3ca727 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1231,10 +1231,17 @@ extern const u8 gText_MtPyre[]; extern const u8 gText_SkyPillar[]; extern const u8 gText_DontRemember[]; extern const u8 gUnknown_085EB597[]; -extern const u8 gUnknown_085EB32D[]; -extern const u8 gUnknown_085EB33E[]; -extern const u8 gUnknown_085EB350[]; -extern const u8 gUnknown_085EB361[]; +extern const u8 gText_NormalTagMatch[]; +extern const u8 gText_VarietyTagMatch[]; +extern const u8 gText_UniqueTagMatch[]; +extern const u8 gText_ExpertTagMatch[]; +extern const u8 gText_TimeBoard[]; +extern const u8 gText_TimeCleared[]; +extern const u8 gText_XMinYDotZSec[]; +extern const u8 gText_TrainerHill1F[]; +extern const u8 gText_TrainerHill2F[]; +extern const u8 gText_TrainerHill3F[]; +extern const u8 gText_TrainerHill4F[]; extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[]; extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[]; @@ -2215,4 +2222,65 @@ extern const u8 gText_PreliminaryResults[]; extern const u8 gText_Round2Results[]; extern const u8 gText_Var1sVar2Won[]; -#endif //GUARD_STRINGS_H +// Trainer Card +extern const u8 gText_LinkCableBattles[]; +extern const u8 gText_LinkBattles[]; +extern const u8 gText_WaitingTrainerFinishReading[]; +extern const u8 gText_TrainerCardName[]; +extern const u8 gText_TrainerCardIDNo[]; +extern const u8 gText_TrainerCardMoney[]; +extern const u8 gText_PokedollarVar1[]; +extern const u8 gText_EmptyString6[]; +extern const u8 gText_TrainerCardPokedex[]; +extern const u8 gText_TrainerCardTime[]; +extern const u8 gText_Colon2[]; +extern const u8 gText_Var1sTrainerCard[]; +extern const u8 gText_HallOfFameDebut[]; +extern const u8 gText_WinsLosses[]; +extern const u8 gText_PokemonTrades[]; +extern const u8 gText_BerryCrush[]; +extern const u8 gText_UnionTradesAndBattles[]; +extern const u8 gText_Var1DarkGreyShadowLightGrey[]; +extern const u8 gText_PokeblocksWithFriends[]; +extern const u8 gText_WonContestsWFriends[]; +extern const u8 gText_WSlashStraightSlash[]; +extern const u8 gText_Var1DarkLightGreyBP[]; +extern const u8 gText_BattleTower[]; +extern const u8 gText_BattlePtsWon[]; + +// Frontier Pass +extern const u8 gText_SymbolsEarned[]; +extern const u8 gText_BattleRecord[]; +extern const u8 gText_BattlePoints[]; +extern const u8 gUnknown_085EDA96[]; +extern const u8 gUnknown_085ED932[]; +extern const u8 gUnknown_085ED94D[]; +extern const u8 gUnknown_085ED961[]; +extern const u8 gUnknown_085ED977[]; +extern const u8 gUnknown_085ED993[]; +extern const u8 gUnknown_085ED9AF[]; +extern const u8 gUnknown_085ED9C7[]; +extern const u8 gUnknown_085ED9E5[]; +extern const u8 gUnknown_085EDA02[]; +extern const u8 gUnknown_085EDA21[]; +extern const u8 gUnknown_085EDA3C[]; +extern const u8 gUnknown_085EDA5E[]; +extern const u8 gUnknown_085EDA78[]; +extern const u8 gUnknown_085ED931[]; +extern const u8 gUnknown_085EDAB1[]; +extern const u8 gUnknown_085EDB0F[]; +extern const u8 gUnknown_085EDABE[]; +extern const u8 gUnknown_085EDB4E[]; +extern const u8 gUnknown_085EDACA[]; +extern const u8 gUnknown_085EDB8B[]; +extern const u8 gUnknown_085EDAD8[]; +extern const u8 gUnknown_085EDBC2[]; +extern const u8 gUnknown_085EDAE5[]; +extern const u8 gUnknown_085EDC00[]; +extern const u8 gUnknown_085EDAF4[]; +extern const u8 gUnknown_085EDC45[]; +extern const u8 gUnknown_085EDB00[]; +extern const u8 gUnknown_085EDC84[]; + + +#endif // GUARD_STRINGS_H diff --git a/include/trainer_card.h b/include/trainer_card.h index 1af247d8a..1cadbd8fc 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -6,38 +6,47 @@ struct TrainerCard /*0x00*/ u8 gender; /*0x01*/ u8 stars; /*0x02*/ bool8 hasPokedex; - /*0x03*/ bool8 var_3; - /*0x04*/ bool8 var_4; - /*0x05*/ u8 var_5; - /*0x06*/ u16 firstHallOfFameA; - /*0x08*/ u16 firstHallOfFameB; - /*0x0A*/ u16 firstHallOfFameC; - /*0x0C*/ u16 pokedexSeen; + /*0x03*/ bool8 caughtAllHoenn; + /*0x04*/ bool8 hasAllPaintings; + /*0x06*/ u16 hofDebutHours; + /*0x08*/ u16 hofDebutMinutes; + /*0x0A*/ u16 hofDebutSeconds; + /*0x0C*/ u16 caughtMonsCount; /*0x0E*/ u16 trainerId; /*0x10*/ u16 playTimeHours; /*0x12*/ u16 playTimeMinutes; /*0x14*/ u16 linkBattleWins; /*0x16*/ u16 linkBattleLosses; /*0x18*/ u16 battleTowerWins; - /*0x1A*/ u16 battleTowerLosses; + /*0x1A*/ u16 battleTowerStraightWins; /*0x1C*/ u16 contestsWithFriends; /*0x1E*/ u16 pokeblocksWithFriends; /*0x20*/ u16 pokemonTrades; - /*0x22*/ u16 var_22; /*0x24*/ u32 money; /*0x28*/ u16 var_28[4]; - /*0x30*/ u8 playerName[8]; - /*0x38*/ u8 emeraldAddedUnknownFields[0x54-0x38]; - /*0x54*/ u16 monSpecies[2]; - /*0x58*/ u8 emeraldAddedUnknownFields2[0x64-0x58]; + /*0x30*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x38*/ u8 version; + /*0x3A*/ u16 var_3A; + /*0x3C*/ u32 berryCrushPoints; + /*0x40*/ u32 unionRoomNum; + /*0x44*/ u8 filler44[0x8]; + /*0x4C*/ u8 var_4C; + /*0x4D*/ u8 var_4D; + /*0x4E*/ u8 var_4E; + /*0x4F*/ u8 var_4F; + /*0x50*/ u8 var_50[0x4]; + /*0x54*/ u16 monSpecies[PARTY_SIZE]; + /*0x60*/ bool16 hasAllSymbols; + /*0x62*/ u16 frontierBP; }; extern struct TrainerCard gTrainerCards[4]; -void sub_80C3120(struct TrainerCard *arg0, u16 *arg1, u8 gameVersion); -void TrainerCard_ShowLinkCard(u8 arg0, void (*callback)(void)); +u32 CountPlayerTrainerStars(void); +u8 sub_80C4904(u8 cardId); +void CopyTrainerCardData(struct TrainerCard *dst, u16 *src, u8 gameVersion); +void ShowPlayerTrainerCard(void (*callback)(void)); +void ShowTrainerCardInLink(u8 arg0, void (*callback)(void)); void TrainerCard_GenerateCardForPlayer(struct TrainerCard *); -u8 sub_80C4904(u8); -void sub_80C6D80(const u8 *, u8 *, u8, u8, u8); #endif // GUARD_TRAINER_CARD_H diff --git a/include/trainer_hill.h b/include/trainer_hill.h new file mode 100644 index 000000000..bbc4f45c5 --- /dev/null +++ b/include/trainer_hill.h @@ -0,0 +1,36 @@ +#ifndef GUARD_TRAINER_HILL_H +#define GUARD_TRAINER_HILL_H + +extern u32 *gUnknown_0203CF5C; + +void CallTrainerHillFunction(void); +void ResetTrainerHillResults(void); +u8 GetTrainerHillOpponentClass(u16 trainerId); +void GetTrainerHillTrainerName(u8 *dst, u16 trainerId); +u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId); +void InitTrainerHillBattleStruct(void); +void FreeTrainerHillBattleStruct(void); +void CopyTrainerHillTrainerText(u8 which, u16 trainerId); +bool8 sub_81D5C18(void); +void nullsub_129(void); +void PrintOnTrainerHillRecordsWindow(void); +void sub_81D5DF8(void); +bool32 sub_81D5F48(void); +void sub_81D5FB4(u16 *mapArg); +bool32 InTrainerHill(void); +u8 GetCurrentTrainerHillMapId(void); +const struct WarpEvent* sub_81D6120(void); +const struct WarpEvent* sub_81D6134(u8 warpEventId); +u16 LocalIdToHillTrainerId(u8 localId); +bool8 GetHillTrainerFlag(u8 eventObjectId); +void SetHillTrainerFlag(void); +const u8 *sub_81D62AC(void); +void FillHillTrainerParty(void); +void FillHillTrainersParties(void); +u32 sub_81D63C4(void); +u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId); +u8 sub_81D6490(void); +void sub_81D64C0(void); +bool32 sub_81D6534(void); + +#endif // GUARD_TRAINER_HILL_H |