diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/exclusive_pokemon.h | 38 | ||||
-rw-r--r-- | include/m4a.h | 2 | ||||
-rw-r--r-- | include/music.h | 2 | ||||
-rw-r--r-- | include/personality_test.h | 14 | ||||
-rw-r--r-- | include/rescue_team_info.h | 41 | ||||
-rw-r--r-- | include/save.h | 8 |
6 files changed, 96 insertions, 9 deletions
diff --git a/include/exclusive_pokemon.h b/include/exclusive_pokemon.h new file mode 100644 index 0000000..47df2a8 --- /dev/null +++ b/include/exclusive_pokemon.h @@ -0,0 +1,38 @@ +#ifndef EXCLUSIVE_POKEMON_H +#define EXCLUSIVE_POKEMON_H + +#define NUM_EXCLUSIVE_POKEMON 12 + +struct ExclusivePokemon +{ + u16 poke_id; + bool8 in_rrt; // red rescue team + bool8 in_brt; // blue rescue team +}; + +struct ExclusivePokemonData +{ + u8 fill0[0x58]; + bool8 Exclusives[NUM_EXCLUSIVE_POKEMON]; +}; + +#define RED_EXCLUSIVE(species) \ +{ \ + .poke_id = species, \ + .in_rrt = TRUE, \ + .in_brt = FALSE, \ +} + +#define BLUE_EXCLUSIVE(species) \ +{ \ + .poke_id = species, \ + .in_rrt = FALSE, \ + .in_brt = TRUE, \ +} + + +void LoadExclusivePokemon(void); +struct ExclusivePokemonData *GetExclusivePokemon(void); +void InitializeExclusivePokemon(void); + +#endif // EXCLUSIVE_POKEMON_H diff --git a/include/m4a.h b/include/m4a.h index fb05110..52f4281 100644 --- a/include/m4a.h +++ b/include/m4a.h @@ -20,7 +20,7 @@ void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo); void m4aMPlayStop(struct MusicPlayerInfo *mplayInfo); void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume); -extern struct MusicPlayerInfo gUnknown_20008F0; // BGM?? +extern struct MusicPlayerInfo gMPlayInfo_BGM; // BGM?? #endif //GUARD_M4A_H diff --git a/include/music.h b/include/music.h index b3f8059..849f987 100644 --- a/include/music.h +++ b/include/music.h @@ -15,7 +15,7 @@ void FadeInNewBGM(u16 SongIndex, u16 speed); u16 GetCurrentBGSong(void); void sub_800BF48(u16 SongIndex); void sub_800BF80(void); -void sub_800BFD0(u16 speed); +void FadeOutBGM(u16 speed); void sub_800C074(u16 SongIndex, u16 param_2); void nullsub_19(void); diff --git a/include/personality_test.h b/include/personality_test.h index b410f3f..c5cc0de 100644 --- a/include/personality_test.h +++ b/include/personality_test.h @@ -5,9 +5,16 @@ struct unkData { - u8 unk0[24]; + s16 unk0[12]; }; +// Definitely wrong but need to figure out better structure later +struct FaceData +{ + /* 0x0 */ u8 *unk0[5]; +}; + + extern const struct unkData gUnknown_80F4244; struct PersonalityStruct_203B400 @@ -60,9 +67,6 @@ struct PersonalityStruct_203B404 }; extern struct PersonalityStruct_203B404 *gUnknown_203B404; - - - void InitializeTestStats(void); void GenerateNewQuestionOrGender(void); void CallPromptNewQuestion(void); @@ -86,6 +90,8 @@ void PersonalityTest_DisplayPartnerSprite(void); u16 HandlePartnerSelectionInput(void); void PersonalityTest_DisplayStarterSprite(void); void CreatePartnerSelectionMenu(s16); +void sub_803CE6C(void); +void sub_803CEAC(void); void sub_803CECC(void); void nullsub_135(void); diff --git a/include/rescue_team_info.h b/include/rescue_team_info.h new file mode 100644 index 0000000..5c0050a --- /dev/null +++ b/include/rescue_team_info.h @@ -0,0 +1,41 @@ +#ifndef RESCUE_TEAM_INFO_H +#define RESCUE_TEAM_INFO_H + +#define TEAM_NAME_LENGTH 10 + +enum TeamRanks +{ + NORMAL_RANK, + BRONZE_RANK, + SILVER_RANK, + GOLD_RANK, + PLATINUM_RANK, + DIAMOND_RANK, + LUCARIO_RANK, + MAX_TEAM_RANKS +}; + +struct RescueTeamData +{ + u8 teamName[TEAM_NAME_LENGTH]; + s32 teamRankPts; + u8 unk10; +}; + +void LoadRescueTeamInfo(void); +struct RescueTeamData *GetRescueTeamInfo(void); +void InitializeResuceTeamInfo(void); +void sub_80920B8(u8 *buffer); +void sub_80920D8(u8 *buffer); +void SetRescueTeamName(u8 *buffer); +s32 GetTeamRankPts(void); +s32 GetPtsToNextRank(void); +void SetTeamRankPoints(s32 newPts); +void AddToTeamRankPts(s32 newPts); +u8 GetRescueTeamRank(void); +const char *GetTeamRankString(u8 index); +u8 sub_80921B8(void); +u32 sub_80921C4(u8 *param_1,u32 param_2); +u32 sub_809222C(u8 *param_1, u32 param_2); + +#endif // RESCUE_TEAM_INFO_H diff --git a/include/save.h b/include/save.h index cbbd794..4ea03c6 100644 --- a/include/save.h +++ b/include/save.h @@ -2,6 +2,8 @@ #define SAVE_H #include "time.h" +#include "exclusive_pokemon.h" +#include "rescue_team_info.h" struct UnkStruct_sub_8011DAC { u8 fill000[0x4]; @@ -32,9 +34,9 @@ struct UnkStruct_203B184 { /* 0x10 */ u32 *unk10; /* 0x14 */ u32 *unk14; /* 0x18 */ u32 unk18; - /* 0x1C */ u32 unk1C; + /* 0x1C */ struct RescueTeamData *RescueTeamInfo; /* 0x20 */ u32 unk20; - /* 0x24 */ u8 *ExclusivePokemon; + /* 0x24 */ struct ExclusivePokemonData *ExclusivePokemon; /* 0x28 */ u8 *BoughtFriendAreas; /* 0x2C */ u32 unk2C; /* 0x30 */ struct PlayTimeStruct *playTime; @@ -66,7 +68,7 @@ void sub_8012468(void); u8 sub_8012484(void); void sub_8012558(void); void sub_8012574(s16 PokemonID); -u8 sub_8012600(void); +bool8 sub_8012600(void); u32 sub_8012744(void); void sub_8012750(void); u32 sub_80127A8(void); |