summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-03-12 15:39:07 -0600
committerGitHub <noreply@github.com>2021-03-12 15:39:07 -0600
commit7b142311a7294c4c7a943870fa5f24f0fbea604a (patch)
treea1a9513c2f997cc8274af093803dd7d936e65ad0 /include
parentd72e17b5f5d795bebda2f6dc78dccb5e80c432b5 (diff)
Miscellaneous Work (Again) (#30)
* work on debug menu and document that and main menu * split, decomp, label more funcs * split exclusive pokemon data out into C * macro-ize exlusive pokemon data * decomp 2 more funcs * decomp a few more * finally match PromptNewQuestion * woot 7% aka more debug menu stuff
Diffstat (limited to 'include')
-rw-r--r--include/debug_menu.h22
-rw-r--r--include/friend_rescue.h35
-rw-r--r--include/main_menu.h51
-rw-r--r--include/music.h4
-rw-r--r--include/personality_test.h10
-rw-r--r--include/save.h2
6 files changed, 117 insertions, 7 deletions
diff --git a/include/debug_menu.h b/include/debug_menu.h
new file mode 100644
index 0000000..7ca58f7
--- /dev/null
+++ b/include/debug_menu.h
@@ -0,0 +1,22 @@
+#ifndef GUARD_DEBUG_MENU_H
+#define GUARD_DEBUG_MENU_H
+
+enum DebugMenuOptions
+{
+ MENU_DEBUG_MENU_DUNGEONS = 0,
+ MENU_DEBUG_MENU_FIELD,
+ MENU_DEBUG_MENU_FIELD_MAP,
+ MENU_DEBUG_MENU_FIELD_SCRIPT,
+ MENU_DEBUG_MENU_DEBUG_MENU,
+ MENU_DEBUG_MENU_UNKNOWN_1,
+ MENU_DEBUG_MENU_STORAGE,
+ MENU_DEBUG_MENU_H_OPEN = 9,
+};
+
+void CreateDebugMenu(void);
+void DeleteDebugMenu(void);
+u32 UpdateDebugMenu(void);
+void SetDebugMenuItems(void);
+void sub_803A3A0(void);
+
+#endif
diff --git a/include/friend_rescue.h b/include/friend_rescue.h
new file mode 100644
index 0000000..9fddbc4
--- /dev/null
+++ b/include/friend_rescue.h
@@ -0,0 +1,35 @@
+struct WonderMailStruct_203B33C
+{
+ // size: 0x568
+ u32 unk0;
+ u32 unk4;
+ u8 unk8[0x36];
+ u32 unk40;
+ u32 unk44;
+ u16 unk48[232];
+ u8 unk218;
+ u8 padding7[3];
+ u32 unk21C;
+ u8 padding[0x7C];
+ u32 unk29C;
+ u8 padding6[0x6C];
+ u32 unk30C;
+ u8 padding8[0x4C];
+ u32 unk35C;
+ u8 padding5[0x5C];
+ u32 unk3BC;
+ u8 padding4[0x60];
+ u32 unk420; // Is this supposed to be a File like 203B2C4?
+ u8 fill424[0x52C - 0x424];
+ u8 unk52C;
+ u8 unk52D;
+ u8 fill52E;
+ u32 unk530;
+ u32 unk534;
+ u16 unk538; // A7 << 3
+ u32 unk53C;
+ u32 unk540; // A8 << 4
+ s16 unk544;
+ u8 filler546[0x564 - 0x546];
+ s32 unk564;
+};
diff --git a/include/main_menu.h b/include/main_menu.h
new file mode 100644
index 0000000..824cee4
--- /dev/null
+++ b/include/main_menu.h
@@ -0,0 +1,51 @@
+#ifndef GUARD_MAIN_MENU_H
+#define GUARD_MAIN_MENU_H
+
+enum MainMenuScreens
+{
+ MENU_MAIN_SCREEN = 1,
+ MENU_CONTINUE = 7,
+ MENU_DELETE_SAVE_PROMPT,
+ MENU_ADVENTURE_LOG = 10,
+ MENU_FRIEND_RESCUE,
+ MENU_TRADE_ITEMS,
+ MENU_WONDER_MAIL,
+ MENU_DEBUG = 16,
+ MENU_COMMUNICATION_1 = 19,
+ MENU_COMMUNICATION_2,
+ MENU_DISPLAY_RESCUE_PASSWORD = 33,
+ MENU_RESCUE_PASSWORD_ENTRY,
+ MENU_DELETE_SAVE = 46,
+ MENU_DEBUG_DUNGEON,
+ MENU_DEBUG_FIELD,
+ MENU_DEBUG_FIELD_MAP,
+ MENU_DEBUG_FIELD_SCRIPT,
+ MENU_DEBUG_DEBUG_MENU,
+ MENU_DEBUG_UNKNOWN_1,
+ MENU_NO_SCREEN_CHANGE = 0xffdc
+};
+
+struct MainMenuSub
+{
+ u8 unk2C;
+ u8 unk2D;
+ u8 unk2E;
+};
+
+struct MainMenu
+{
+ /* 0x0 */ s32 currMenu;
+ /* 0x4 */ s32 nextMenu;
+ /* 0x8 */ s32 lastMenu;
+ u8 padding[0x20];
+ /* 0x2C */ struct MainMenuSub sub;
+ u32 unk30;
+ u32 unk34;
+ s16 unk38;
+ u8 unk3A;
+ u8 unk3B;
+ s32 unk3C;
+};
+
+
+#endif // GUARD_MAIN_MENU_H
diff --git a/include/music.h b/include/music.h
index 8baa030..b3f8059 100644
--- a/include/music.h
+++ b/include/music.h
@@ -13,6 +13,10 @@ bool8 sub_800CAF0(u16 songIndex);
void StartNewBGM(u16 songIndex);
void FadeInNewBGM(u16 SongIndex, u16 speed);
u16 GetCurrentBGSong(void);
+void sub_800BF48(u16 SongIndex);
+void sub_800BF80(void);
+void sub_800BFD0(u16 speed);
+void sub_800C074(u16 SongIndex, u16 param_2);
void nullsub_19(void);
void nullsub_20(u16 songIndex);
diff --git a/include/personality_test.h b/include/personality_test.h
index 50615eb..b410f3f 100644
--- a/include/personality_test.h
+++ b/include/personality_test.h
@@ -12,19 +12,17 @@ extern const struct unkData gUnknown_80F4244;
struct PersonalityStruct_203B400
{
- s32 FrameCounter;
- u32 unk4;
+ /* 0x0 */ s32 FrameCounter;
+ /* 0x4 */ u32 unk4;
/* 0x8 */ s16 StarterID;
/* 0xA */ s16 PartnerID;
u8 padding[0x20 - 0xC];
- s32 unk20; // Buffer to store partner name?
- u8 padding2[0x34 - 0x24];
+ /* 0x20 */ char PartnerNick[0x14];
/* 0x34 */ u32 TestState;
/* 0x38 */ s32 QuestionCounter;
/* 0x3C */ u32 currQuestionIndex;
/* 0x40 */ u8 playerNature;
- u8 padding3[3];
- /* 0x44 */ s32 NatureTotals[13];
+ /* 0x44 */ s32 NatureTotals[NUM_PERSONALITIES];
/* 0x78 */ u8 QuestionTracker[NUM_QUIZ_QUESTIONS];
/* 0xB0 */ u32 playerGender; // 1 = Female, 0 = Male
u32 unkb4;
diff --git a/include/save.h b/include/save.h
index c5c409e..cbbd794 100644
--- a/include/save.h
+++ b/include/save.h
@@ -34,7 +34,7 @@ struct UnkStruct_203B184 {
/* 0x18 */ u32 unk18;
/* 0x1C */ u32 unk1C;
/* 0x20 */ u32 unk20;
- /* 0x24 */ u8 *unk24;
+ /* 0x24 */ u8 *ExclusivePokemon;
/* 0x28 */ u8 *BoughtFriendAreas;
/* 0x2C */ u32 unk2C;
/* 0x30 */ struct PlayTimeStruct *playTime;