summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/exclusive_pokemon.h38
-rw-r--r--include/m4a.h2
-rw-r--r--include/music.h2
-rw-r--r--include/personality_test.h14
-rw-r--r--include/rescue_team_info.h41
-rw-r--r--include/save.h8
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);