From dcd8ea2e2f20642acaa939d58b1eeefaa796580c Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Mon, 13 Feb 2023 17:37:15 -0800 Subject: [PATCH] move MenuStruct to include/menu and use in more places --- include/debug_menu.h | 2 +- include/menu.h | 1 - include/rescue_password_menu.h | 7 +++-- include/trade_items_menu.h | 6 ++--- include/wonder_mail.h | 13 +++------- src/debug_menu.c | 16 ++++++------ src/load_screen.c | 47 +++++++++++++++------------------- src/main_menu.c | 45 ++++++++++++++++---------------- src/other_menus.c | 31 +++++++++++----------- src/rescue_password_menu.c | 40 ++++++++++++++--------------- src/save_menu.c | 37 +++++++++++++------------- src/thank_you_wonder_mail.c | 28 ++++++++++---------- src/trade_items_menu.c | 26 +++++++++---------- src/unk_menu_203B360.c | 20 +++++++-------- src/wonder_mail.c | 34 ++++++++++++------------ 15 files changed, 167 insertions(+), 186 deletions(-) diff --git a/include/debug_menu.h b/include/debug_menu.h index ea3b3d6f1..51bdec32c 100644 --- a/include/debug_menu.h +++ b/include/debug_menu.h @@ -19,7 +19,7 @@ enum DebugMenuOptions struct DebugMenu { // size: 0x1A4 - u8 fill0[0x140]; + struct MenuStruct unk0[4]; /* 0x140 */ struct UnkTextStruct2 unk140[4]; u32 fill1A0; }; diff --git a/include/menu.h b/include/menu.h index 7b4a152c7..965b334db 100644 --- a/include/menu.h +++ b/include/menu.h @@ -27,5 +27,4 @@ struct MenuStruct u8 unk4D; }; - #endif // GUARD_MENU_H diff --git a/include/rescue_password_menu.h b/include/rescue_password_menu.h index b4be7198a..244b5bec0 100644 --- a/include/rescue_password_menu.h +++ b/include/rescue_password_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_RESCUE_PASSWORD_MENU_H #define GUARD_RESCUE_PASSWORD_MENU_H +#include "menu.h" + struct unkSprite { u16 unk208; @@ -14,13 +16,10 @@ struct RescuePasswordMenu // size: 0x214 u32 currMenu; u32 state; - u32 unk8; - u8 fillC[0x148 - 0xC]; + struct MenuStruct unk8[4]; struct UnkTextStruct2 unk148[4]; struct UnkTextStruct2 unk1A8[4]; - struct unkSprite unk208; - u32 unk210; }; diff --git a/include/trade_items_menu.h b/include/trade_items_menu.h index a659795d3..9e13e26d8 100644 --- a/include/trade_items_menu.h +++ b/include/trade_items_menu.h @@ -3,6 +3,7 @@ #include "text.h" #include "item.h" +#include "menu.h" struct TradeSubStruct { @@ -32,10 +33,7 @@ struct TradeItemsMenu u32 unk30; u32 unk34; u8 fill38[0x44 - 0x38]; - u32 unk44; - u8 fill8[0x134 - 0x48]; - u32 unk134; - u8 fill138[0x184 - 0x138]; + struct MenuStruct unk44[4]; struct UnkTextStruct2 unk184[4]; struct UnkTextStruct2 unk1E4[4]; diff --git a/include/wonder_mail.h b/include/wonder_mail.h index 432d723d7..eb83c7801 100644 --- a/include/wonder_mail.h +++ b/include/wonder_mail.h @@ -4,6 +4,7 @@ #include "file_system.h" #include "text.h" #include "item.h" +#include "menu.h" #include "pokemon.h" #include "code_8094F88.h" @@ -61,12 +62,7 @@ struct WonderMailStruct_203B2C0 struct WonderMailStruct_203B2C0_sub unk130; u8 fill16A[0x218 - 0x1B8]; u8 mailIndex; - u32 unk21C; - u8 padding[0x7C]; - u32 unk29C; - u8 padding6[0x6C]; - u32 unk30C; - u8 padding8[0x4C]; + struct MenuStruct unk21C[4]; struct UnkTextStruct2 unk35C[4]; struct UnkTextStruct2 unk3BC[4]; /* 0x41C */ u32 unkfill; // ItemSlot? @@ -99,10 +95,7 @@ struct WonderMailStruct_203B2C4 struct unkStruct_203B480 unk1B8; struct unkStruct_203B480 unk1E8; s8 mailIndex; - u32 unk21C; - u8 filler220[0x30C - 0x220]; - u32 unk30C; - u8 filler310[0x35C - 0x310]; + struct MenuStruct unk21C[4]; struct UnkTextStruct2 unk35C[4]; struct UnkTextStruct2 unk3BC[4]; struct Item unk41C; diff --git a/src/debug_menu.c b/src/debug_menu.c index c0c41bf51..192845134 100644 --- a/src/debug_menu.c +++ b/src/debug_menu.c @@ -54,14 +54,14 @@ ALIGNED(4) static const char debug_menu_fill6[] = "pksdir0"; -extern u8 sub_8012FD8(struct DebugMenu *); -extern void sub_8013114(struct DebugMenu *, s32 *); +extern u8 sub_8012FD8(struct MenuStruct*); +extern void sub_8013114(struct MenuStruct*, s32 *); extern void sub_80976F8(u8); extern void sub_803A3BC(void); extern void sub_803A3A0(void); -extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32); -extern void sub_8035CF4(struct DebugMenu *, u32, u32); +extern void SetMenuItems(struct MenuStruct *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32); +extern void sub_8035CF4(struct MenuStruct*, u32, u32); extern void sub_8035CC0(struct UnkTextStruct2 *, u32); extern void sub_808D1DC(u8 *); extern void sub_808CFD0(u8 *, s32, u8 *, u32, u32 *, u16 *); @@ -102,8 +102,8 @@ u32 UpdateDebugMenu(void) nextMenu = MENU_NO_SCREEN_CHANGE; debugMenuAction = 11; - if (sub_8012FD8(gUnknown_203B3EC) == 0) { - sub_8013114(gUnknown_203B3EC, &debugMenuAction); + if (sub_8012FD8(&gUnknown_203B3EC->unk0[0]) == 0) { + sub_8013114(&gUnknown_203B3EC->unk0[0], &debugMenuAction); } switch(debugMenuAction) { @@ -147,8 +147,8 @@ u32 UpdateDebugMenu(void) void SetDebugMenuItems(void) { - SetMenuItems(gUnknown_203B3EC, gUnknown_203B3EC->unk140, 0, &gUnknown_80E7D58, gDebugMenuItems, 1, 0xd, 0); - sub_8035CF4(gUnknown_203B3EC,0,1); + SetMenuItems(gUnknown_203B3EC->unk0, gUnknown_203B3EC->unk140, 0, &gUnknown_80E7D58, gDebugMenuItems, 1, 0xd, 0); + sub_8035CF4(gUnknown_203B3EC->unk0,0,1); } void sub_803A3A0(void) diff --git a/src/load_screen.c b/src/load_screen.c index c1474a932..042cc9973 100644 --- a/src/load_screen.c +++ b/src/load_screen.c @@ -18,12 +18,7 @@ struct LoadScreen { // size: 0x27c u32 currMenu; - u32 unk4; - u8 fill8[0x54 - 8]; - u32 unk54; - u8 fill58[0xA4 - 0x58]; - u32 unkA4; - u8 fillA8[0x144 - 0xA8]; + struct MenuStruct unk4[4]; struct UnkTextStruct2 unk144[4]; /* 0x1A4 */ u8 formattedTeamName[0x24]; /* 0x1C8 */ u8 formattedPlayerName[0x24]; @@ -44,10 +39,10 @@ u8 IsQuickSave(void); void DrawLoadScreenText(void); void sub_80397B4(void); -extern void sub_8035CF4(u32 *, u32, u32); -extern void SetMenuItems(u32 *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32); -extern u8 sub_8012FD8(u32 *); -extern void sub_8013114(u32 *, u32 *); +extern void sub_8035CF4(struct MenuStruct *, u32, u32); +extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32); +extern u8 sub_8012FD8(struct MenuStruct *); +extern void sub_8013114(struct MenuStruct *, u32 *); extern void sub_80920D8(u8 *); extern struct PokemonStruct *GetPlayerPokemonStruct(void); @@ -170,40 +165,40 @@ ALIGNED(4) const char load_screen_fill[] = "pksdir0"; void CreateLoadScreen(u32 currMenu) { - int iVar8; + int index; if (gLoadScreen == NULL) { gLoadScreen = MemoryAlloc(sizeof(struct LoadScreen),8); MemoryFill8((u8 *)gLoadScreen,0,sizeof(struct LoadScreen)); } gLoadScreen->currMenu = currMenu; - for(iVar8 = 0; iVar8 < 4; iVar8++){ - gLoadScreen->unk144[iVar8] = gUnknown_80E75F8; + for(index = 0; index < 4; index++){ + gLoadScreen->unk144[index] = gUnknown_80E75F8; } ResetUnusedInputStruct(); sub_800641C(gLoadScreen->unk144,1,1); - SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,0,&gUnknown_80E7610,gUnknown_203B378,0,6,0); + SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,0,&gUnknown_80E7610,gUnknown_203B378,0,6,0); switch(gLoadScreen->currMenu){ case MENU_CONTINUE: if (IsQuickSave()) - SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gResumeQuicksaveMenuItems,0,6,0); + SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gResumeQuicksaveMenuItems,0,6,0); else - SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gResumeAdventureMenuItems,0,6,0); + SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gResumeAdventureMenuItems,0,6,0); break; case MENU_AWAITING_RESCUE: - SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gQuitWaitingRescueMenuItems,0,6,0); + SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gQuitWaitingRescueMenuItems,0,6,0); break; case MENU_DELETE_SAVE_PROMPT: - SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gDeleteSavePromptMenuItems,0,6,0); + SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gDeleteSavePromptMenuItems,0,6,0); break; case MENU_DELETE_SAVE_CONFIRM: - SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C, gDeleteSaveConfirmMenuItems,0,6,0); + SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C, gDeleteSaveConfirmMenuItems,0,6,0); break; } - SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,2,&gUnknown_80E7784,gLoadScreenYesNoMenu,1,2,0); - sub_8035CF4(&gLoadScreen->unk4,0,0); - sub_8035CF4(&gLoadScreen->unk4,1,0); - sub_8035CF4(&gLoadScreen->unk4,2,1); + SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,2,&gUnknown_80E7784,gLoadScreenYesNoMenu,1,2,0); + sub_8035CF4(gLoadScreen->unk4,0,0); + sub_8035CF4(gLoadScreen->unk4,1,0); + sub_8035CF4(gLoadScreen->unk4,2,1); DrawLoadScreenText(); } @@ -225,9 +220,9 @@ u32 UpdateLoadScreenMenu(void) nextMenu = MENU_NO_SCREEN_CHANGE; menuAction = 4; - sub_8012FD8(&gLoadScreen->unk54); - if (sub_8012FD8(&gLoadScreen->unkA4) == '\0') { - sub_8013114(&gLoadScreen->unkA4,&menuAction); + sub_8012FD8(&gLoadScreen->unk4[1]); + if (sub_8012FD8(&gLoadScreen->unk4[2]) == '\0') { + sub_8013114(&gLoadScreen->unk4[2],&menuAction); } switch(menuAction) diff --git a/src/main_menu.c b/src/main_menu.c index aed2ec406..080a60f07 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -34,8 +34,7 @@ struct unkStruct_203B34C { // size: 0x1A8 u32 unk0; - struct MenuStruct unk4[3]; - u8 fillF4[0x144 - 0xF4]; + struct MenuStruct unk4[4]; struct UnkTextStruct2 unk144[4]; /* 0x1A4 */ u32 currMenuChoice; }; @@ -628,16 +627,16 @@ void sub_8035C1C(void) } void -SetMenuItems(struct MenuStruct *param_1, struct UnkTextStruct2 *unkData, int index, const struct UnkTextStruct2 *param_4, const struct MenuItem *param_5, char param_6 ,u32 param_7, u32 unused_8) +SetMenuItems(struct MenuStruct *param_1, struct UnkTextStruct2 *unkData, s32 index, const struct UnkTextStruct2 *param_4, const struct MenuItem *menuItems, u8 param_6 ,u32 param_7, u32 unused_8) { unkData[index] = *param_4; ResetUnusedInputStruct(); sub_800641C(unkData,1,1); if (param_6 != 0) { - sub_8012D60(¶m_1[index],param_5,0,0,param_7,index); + sub_8012D60(¶m_1[index],menuItems,0,0,param_7,index); } else { - sub_8012E04(¶m_1[index],param_5,0,0,0,index); + sub_8012E04(¶m_1[index],menuItems,0,0,0,index); } param_1[index].unk4C = 1; } @@ -897,50 +896,50 @@ bool8 SetMainMenuText(void) switch(menuChoice) { case MENU_WIRELESS_COMMS: // Using wireless communications, you can go on an adventure to unknown worlds. - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E6030,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E6030,0,0,0); break; case MENU_WONDER_MAIL: // Using passwords, you can receive Wonder Mail - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F80,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F80,0,0,0); break; case MENU_AWAITING_RESCUE: // You are awaiting resuce by a friend // You can give up waiting for rescue - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F1C,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F1C,0,0,0); break; case MENU_NEW_GAME: // Start an entirely new adventure - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5CCC,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5CCC,0,0,0); break; case MENU_CONTINUE: // Resume your adventure from where you last saved - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DA0,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DA0,0,0,0); break; case MENU_DELETE_SAVE_PROMPT: // This will delete your saved game data. // Beware! This will delete it forever - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DF0,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DF0,0,0,0); break; case MENU_ADVENTURE_LOG: // Check your career as an adventurer - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D0C,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D0C,0,0,0); break; case MENU_FRIEND_RESCUE: // Using a Game Link cable or passwords, friends may rescue each other - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5E5C,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5E5C,0,0,0); break; case MENU_TRADE_ITEMS: // Using a Game Link cable you can trade stored items with a friend - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5EBC,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5EBC,0,0,0); break; case MENU_DUAL_SLOT: // Using Dual Slot function, you can receive teams from your friends - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5FCC,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5FCC,0,0,0); break; case MENU_DEBUG: // This is the Debug Mode. // It won't be in the release version - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D48,0,0,0); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D48,0,0,0); break; default: break; @@ -971,7 +970,7 @@ void SetMainMenuItems(void) // Friend Rescue // Trade Items // Wonder Mail - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5C18,1,gUnknown_203B350,1); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5C18,1,gUnknown_203B350,1); } else { // Revive Team @@ -979,7 +978,7 @@ void SetMainMenuItems(void) // Adventure Log // Friend Rescue // Trade Items - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5BC4,gUnknown_80E5BDC,1,gUnknown_203B350,1); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5BC4,gUnknown_80E5BDC,1,gUnknown_203B350,1); } } else { @@ -990,7 +989,7 @@ void SetMainMenuItems(void) // Friend Rescue // Trade Items // Wonder Mail - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5AFC,1,gUnknown_203B350,1); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5AFC,1,gUnknown_203B350,1); } else { // Continue @@ -998,7 +997,7 @@ void SetMainMenuItems(void) // Adventure Log // Friend Rescue // Trade Items - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A60,gUnknown_80E5A90,1,gUnknown_203B350,1); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A60,gUnknown_80E5A90,1,gUnknown_203B350,1); } } } @@ -1010,7 +1009,7 @@ void SetMainMenuItems(void) // Friend Rescue // Trade Items // Wonder Mail - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5B8C,1,gUnknown_203B350,1); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5B8C,1,gUnknown_203B350,1); } else { // Awaiting Rescue @@ -1018,7 +1017,7 @@ void SetMainMenuItems(void) // Adventure Log // Friend Rescue // Trade Items - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5B34,gUnknown_80E5B4C,1,gUnknown_203B350,1); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5B34,gUnknown_80E5B4C,1,gUnknown_203B350,1); } } } @@ -1026,7 +1025,7 @@ void SetMainMenuItems(void) { // New Game // Adventure Log - SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E59E0,gUnknown_80E59F8,1,gUnknown_203B350,1); + SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E59E0,gUnknown_80E59F8,1,gUnknown_203B350,1); } } diff --git a/src/other_menus.c b/src/other_menus.c index 845ede24b..182f67302 100644 --- a/src/other_menus.c +++ b/src/other_menus.c @@ -15,8 +15,7 @@ struct unkStruct_203B35C u32 linkStatus; u32 state; u8 fillC[0x1C - 0xC]; - u32 unk1C; - u8 fill20[0x15C - 0x20]; + struct MenuStruct unk1C[4]; struct UnkTextStruct2 unk15C[4]; u8 unk1BC[4]; u32 unk1C0[9]; @@ -56,19 +55,19 @@ extern struct MenuItem gUnknown_80E6D6C[]; extern void sub_8037400(void); extern void ResetSprites(u32); -extern void sub_8035CF4(u32 *,u32, u32); +extern void sub_8035CF4(struct MenuStruct *,u32, u32); extern void sub_80376CC(); extern void sub_8035CC0(struct UnkTextStruct2 *, u32); -extern u8 sub_80130A8(u32 *); -extern void sub_8013114(u32 *, u32 *); +extern u8 sub_80130A8(struct MenuStruct *); +extern void sub_8013114(struct MenuStruct *, u32 *); extern u32 sub_8037C10(u32); extern void sub_8037748(void); extern void sub_80371B8(void); extern void sub_8037900(void); extern void PlayMenuSoundEffect(u32); extern u32 sub_8037798(void); -extern void SetMenuItems(void *, void *, u32, struct UnkTextStruct2 *, struct MenuItem *, u32, u32, u32); +extern void SetMenuItems(struct MenuStruct *, void *, u32, struct UnkTextStruct2 *, struct MenuItem *, u32, u32, u32); extern void sub_8005838(u32, u32); extern void sub_80060EC(); extern void sub_800CB20(); @@ -107,9 +106,9 @@ void sub_8036FDC(s32 param_1) } ResetUnusedInputStruct(); sub_800641C(gUnknown_203B35C->unk15C,1,1); - SetMenuItems(&gUnknown_203B35C->unk1C,gUnknown_203B35C->unk15C,0,&gUnknown_80E6CD0,gUnknown_80E6CE8,0, + SetMenuItems(gUnknown_203B35C->unk1C,gUnknown_203B35C->unk15C,0,&gUnknown_80E6CD0,gUnknown_80E6CE8,0, 6,0); - sub_8035CF4(&gUnknown_203B35C->unk1C,0,1); + sub_8035CF4(gUnknown_203B35C->unk1C,0,1); sub_80376CC(); } #else @@ -250,8 +249,8 @@ u32 sub_80370F0(void) nextMenu = MENU_NO_SCREEN_CHANGE; switch(gUnknown_203B35C->state){ case 0: - if (sub_80130A8(&gUnknown_203B35C->unk1C) == '\0') { - sub_8013114(&gUnknown_203B35C->unk1C,&local_10); + if (sub_80130A8(&gUnknown_203B35C->unk1C[0]) == '\0') { + sub_8013114(&gUnknown_203B35C->unk1C[0],&local_10); } if (local_10 == 4) { sub_8037748(); @@ -271,8 +270,8 @@ u32 sub_80370F0(void) return 0x29; // TODO: what screen is this? } else { - if (sub_80130A8(&gUnknown_203B35C->unk1C) == '\0') { - sub_8013114(&gUnknown_203B35C->unk1C,&local_10); + if (sub_80130A8(&gUnknown_203B35C->unk1C[0]) == '\0') { + sub_8013114(&gUnknown_203B35C->unk1C[0],&local_10); } if (local_10 != 4) { PlayMenuSoundEffect(3); @@ -302,8 +301,8 @@ void sub_80371B8(void) // Success! // The item exchange with your friend // went through successfully - SetMenuItems(&gUnknown_203B35C->unk1C, gUnknown_203B35C->unk15C, 0, &gUnknown_80E6C50, gUnknown_80E6C68, 0, 6, 0); - sub_8035CF4(&gUnknown_203B35C->unk1C, 0, 1); + SetMenuItems(gUnknown_203B35C->unk1C, gUnknown_203B35C->unk15C, 0, &gUnknown_80E6C50, gUnknown_80E6C68, 0, 6, 0); + sub_8035CF4(gUnknown_203B35C->unk1C, 0, 1); } } else { @@ -362,8 +361,8 @@ void sub_80371B8(void) MenuItems = gUnknown_80E6C0C; break; } - SetMenuItems(&gUnknown_203B35C->unk1C, gUnknown_203B35C->unk15C, 0, puVar5, MenuItems, 0, 6, 0); - sub_8035CF4(&gUnknown_203B35C->unk1C, 0, 1); + SetMenuItems(gUnknown_203B35C->unk1C, gUnknown_203B35C->unk15C, 0, puVar5, MenuItems, 0, 6, 0); + sub_8035CF4(gUnknown_203B35C->unk1C, 0, 1); if ((gUnknown_203B35C->linkStatus != COMMS_GOOD) && (gUnknown_203B35C->unk0 == 0) && (item = sub_8035D94(), item->itemIndex.itemIndex_u8 != ITEM_NOTHING) && (item->numItems != 0)) { gTeamInventory_203B460->teamStorage[item->itemIndex.itemIndex_u8] += item->numItems; diff --git a/src/rescue_password_menu.c b/src/rescue_password_menu.c index 73b416033..9274924f8 100644 --- a/src/rescue_password_menu.c +++ b/src/rescue_password_menu.c @@ -34,8 +34,8 @@ extern u32 sub_8039068(u32, u8 *passwordBuffer, struct unkStruct_203B480 *r0); extern void sub_80951BC(struct unkStruct_203B480 *r0); extern bool8 sub_80951FC(struct unkStruct_203B480 *r0); -extern u8 sub_8012FD8(u32 *r0); -extern void sub_8013114(u32 *, s32 *); +extern u8 sub_8012FD8(struct MenuStruct *r0); +extern void sub_8013114(struct MenuStruct *, s32 *); extern u32 sub_80154F0(void); extern void sub_8095274(u32); extern u32 sub_8031DCC(void); @@ -45,8 +45,8 @@ extern void DisplayRescuePasswordError(u32); extern struct MainMenu *GetMainMenu(void); -extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32); -extern void sub_8035CF4(u32 *r0, u32, u32); +extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32); +extern void sub_8035CF4(struct MenuStruct *r0, u32, u32); bool8 IsInvalidItemReward(u8); bool8 sub_8095298(s32); bool8 sub_803D204(u8 *, struct unkStruct_203B480 *); @@ -304,8 +304,8 @@ s32 UpdateRescuePasswordMenu(void) } break; case 8: - if (sub_8012FD8(&gRescuePasswordMenu->unk8) == '\0') { - sub_8013114(&gRescuePasswordMenu->unk8, &local_14); + if (sub_8012FD8(&gRescuePasswordMenu->unk8[0]) == '\0') { + sub_8013114(&gRescuePasswordMenu->unk8[0], &local_14); } switch(local_14) { @@ -332,8 +332,8 @@ s32 UpdateRescuePasswordMenu(void) } break; case 9: - if (sub_8012FD8(&gRescuePasswordMenu->unk8) == '\0') { - sub_8013114(&gRescuePasswordMenu->unk8, &local_14); + if (sub_8012FD8(&gRescuePasswordMenu->unk8[0]) == '\0') { + sub_8013114(&gRescuePasswordMenu->unk8[0], &local_14); } switch(local_14) { @@ -371,36 +371,36 @@ void DisplayRescuePasswordError(u32 passwordError) sub_80155F0(); switch(passwordError) { case PASSWORD_ENTRY_INCORRECT_PASSWORD: - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E71FC,gUnknown_80E7214,0,0xd,0); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E71FC,gUnknown_80E7214,0,0xd,0); break; case PASSWORD_ENTRY_NOT_SOS_MAIL: - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E72EC,gUnknown_80E7304,0,0xd,0); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E72EC,gUnknown_80E7304,0,0xd,0); break; case PASSWORD_ENTRY_DUPLICATE_SOS_MAIL: - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7344,gUnknown_80E735C,0,0xd,0); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7344,gUnknown_80E735C,0,0xd,0); break; case PASSWORD_ENTRY_NO_SPACE: - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7588,gUnknown_80E75A0,0,0xd,0); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7588,gUnknown_80E75A0,0,0xd,0); break; case PASSWORD_ENTRY_NOT_AOK_MAIL: - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E73AC,gUnknown_80E73C4,0,0xd,0); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E73AC,gUnknown_80E73C4,0,0xd,0); break; case PASSWORD_ENTRY_DUPLICATE_AOK_MAIL: - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7408,gUnknown_80E7420,0,0xd,0); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7408,gUnknown_80E7420,0,0xd,0); break; case PASSWORD_ENTRY_NOT_THANK_YOU_MAIL: - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7468,gUnknown_80E7480,0,0xd,0); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7468,gUnknown_80E7480,0,0xd,0); break; case PASSWORD_ENTRY_DUPLICATE_THANK_YOU_MAIL: - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E74C8,gUnknown_80E74E0,0,0xd,0); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E74C8,gUnknown_80E74E0,0,0xd,0); break; case PASSWORD_ENTRY_NOT_WONDER_MAIL: - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E752C,gUnknown_80E7544,0,0xd,0); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E752C,gUnknown_80E7544,0,0xd,0); break; default: break; } - sub_8035CF4(&gRescuePasswordMenu->unk8,0,1); + sub_8035CF4(gRescuePasswordMenu->unk8,0,1); } void DisplayPasswordAcceptScreen(void) @@ -409,8 +409,8 @@ void DisplayPasswordAcceptScreen(void) ResetUnusedInputStruct(); sub_800641C(0,1,1); sub_80155F0(); - SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7278,gUnknown_80E7290,0,0xd,0); - sub_8035CF4(&gRescuePasswordMenu->unk8,0,1); + SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7278,gUnknown_80E7290,0,0xd,0); + sub_8035CF4(gRescuePasswordMenu->unk8,0,1); } u32 ConvertMenutoRescuePasswordState(u32 unused) diff --git a/src/save_menu.c b/src/save_menu.c index 4bf22a7b2..040ff543d 100644 --- a/src/save_menu.c +++ b/src/save_menu.c @@ -20,8 +20,7 @@ struct unkStruct_203B360 // size: 0x1b4 u32 currMenu; u32 unk4; - u32 unk8; - u8 fill8[0x148 - 0xC]; + struct MenuStruct unk8[4]; struct UnkTextStruct2 unk148[4]; struct unkSprite unk1A8; u32 unk1B0; // Sprite count? @@ -135,14 +134,14 @@ ALIGNED(4) static const u8 save_menu_fill0[] = "pksdir0"; extern void ResetSprites(u32); extern void sub_8038440(); -extern void sub_8035CF4(u32 *, u32, u32); -extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32); -extern u8 sub_80130A8(u32 *); -extern void sub_8013114(u32 *, u32 *); +extern void sub_8035CF4(struct MenuStruct *, u32, u32); +extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32); +extern u8 sub_80130A8(struct MenuStruct *); +extern void sub_8013114(struct MenuStruct *, u32 *); extern void sub_80384D0(); extern void sub_8038830(); extern void sub_80388C4(void); -extern u8 sub_8012FD8(u32 *); +extern u8 sub_8012FD8(struct MenuStruct *); extern void sub_8014114(); extern void sub_80140F8(void); extern void sub_8035CC0(struct UnkTextStruct2 *, u32); @@ -165,15 +164,15 @@ void CreateSaveMenu(s32 currMenu) if (currMenu == MENU_DELETE_SAVE) { // Beware, Deleting your Adventure - SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gDeletingYourAdventureMenuItems, + SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gDeletingYourAdventureMenuItems, 0,6,0); } else { // Saving your Adventure - SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gSavingAdventureMenuItems, + SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gSavingAdventureMenuItems, 0,6,0); } - sub_8035CF4(&gUnknown_203B364->unk8,0,1); + sub_8035CF4(gUnknown_203B364->unk8,0,1); gUnknown_203B364->unk4 = 0; gUnknown_203B364->currMenu = currMenu; sub_8038830(); @@ -207,7 +206,7 @@ s32 UpdateSaveMenu(void) menu = MENU_NO_SCREEN_CHANGE; break; case 0: - sub_8012FD8(&gUnknown_203B364->unk8); + sub_8012FD8(&gUnknown_203B364->unk8[0]); uStack_18 = 0; sub_80140F8(); saveStatus = WriteSavetoPak(&uStack_18,sub_8011C1C()); @@ -217,18 +216,18 @@ s32 UpdateSaveMenu(void) case SAVE_COMPLETED: sub_8035CC0(gUnknown_203B364->unk148,0); if (gUnknown_203B364->currMenu == MENU_DELETE_SAVE) { - SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38, + SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38, gDeletedSaveMenuItems,0,6,0); } else { - SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38, + SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38, gAdventureSavedMenuItems,0,6,0); } if (gUnknown_203B364->currMenu == 0x2d) { gUnknown_203B364->unk4 = 1; return MENU_COMMUNICATION_1; } - sub_8035CF4(&gUnknown_203B364->unk8,0,1); + sub_8035CF4(gUnknown_203B364->unk8,0,1); gUnknown_203B364->unk4 = 1; break; case SAVE_NOT_WRTTEN: @@ -238,22 +237,22 @@ s32 UpdateSaveMenu(void) default: sub_8035CC0(gUnknown_203B364->unk148,0); if (gUnknown_203B364->currMenu == MENU_DELETE_SAVE) { - SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38, + SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38, gAdventureCouldNotBeDeletedMenuItems,0,6,0); } else { - SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38, + SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38, gAdventureCouldNotBeSavedMenuItems,0,6,0); } - sub_8035CF4(&gUnknown_203B364->unk8,0,1); + sub_8035CF4(gUnknown_203B364->unk8,0,1); gUnknown_203B364->unk4 = 1; break; } menu = MENU_NO_SCREEN_CHANGE; break; case 1: - if (sub_80130A8(&gUnknown_203B364->unk8) == '\0') { - sub_8013114(&gUnknown_203B364->unk8,&action); + if (sub_80130A8(&gUnknown_203B364->unk8[0]) == '\0') { + sub_8013114(&gUnknown_203B364->unk8[0],&action); } switch(action) { diff --git a/src/thank_you_wonder_mail.c b/src/thank_you_wonder_mail.c index 110afd248..dd3ad4837 100644 --- a/src/thank_you_wonder_mail.c +++ b/src/thank_you_wonder_mail.c @@ -155,7 +155,7 @@ const struct MenuItem gUnknown_80DEEE4[4] = extern void sub_80141B4(const char *r0, u32, struct OpenedFile **r1, u32); extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32, u32, u32, struct OpenedFile **r5, u32); -extern u8 sub_8012FD8(u32 *r0); +extern u8 sub_8012FD8(struct MenuStruct *r0); extern void sub_8035CC0(struct UnkTextStruct2 *r0, u32); extern void sub_8030810(u32); extern u32 sub_8031DCC(void); @@ -167,7 +167,7 @@ extern u32 sub_8030768(u32); extern s8 sub_80307EC(void); extern void sub_8030D40(u8, u32); extern u32 sub_8030DA0(); -extern void sub_8013114(u32 *r0, s32 *r1); +extern void sub_8013114(struct MenuStruct *r0, s32 *r1); extern void HandleThankYouMailPelipperMainMenu(); extern void sub_802AAC8(); extern void ReturnToThankYouMailMainMenu(); @@ -218,7 +218,7 @@ extern void sub_802F2C0(); extern u32 sub_80144A4(s32 *r0); extern void SetThankYouMailMenuState(u32); extern struct PokemonStruct *GetPlayerPokemonStruct(void); -extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32); +extern void SetMenuItems(struct MenuStruct *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32); extern void sub_80922B4(u8 *, u8 *, u32); extern void sub_802F204(struct unkStruct_802F204 *, u32); extern void sub_80151C0(u32, u8 *); @@ -239,7 +239,7 @@ extern u32 GetDungeonTeamRankPts(struct DungeonLocation *, u32); extern void sub_8031D70(u8, u32); extern void sub_803092C(void); -extern void sub_8035CF4(u32 *, u32, u32); +extern void sub_8035CF4(struct MenuStruct *, u32, u32); extern u32 sub_801CA08(u32); extern void sub_801CBB8(void); extern void sub_801B3C0(struct Item *); @@ -620,8 +620,8 @@ void sub_802A174(void) menuAction = -1; sub_8030768(0); - if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) { - sub_8013114(&gUnknown_203B2C4->unk30C, &menuAction); + if (sub_8012FD8(&gUnknown_203B2C4->unk21C[3]) == 0) { + sub_8013114(&gUnknown_203B2C4->unk21C[3], &menuAction); } switch(menuAction) @@ -659,7 +659,7 @@ void sub_802A230(void) sub_800641C(gUnknown_203B2C4->unk3BC, 1, 1); sub_803092C(); if (gUnknown_203B2C4->fallbackState == 0x2b) { - sub_8035CF4(&gUnknown_203B2C4->unk21C, 3, 1); + sub_8035CF4(gUnknown_203B2C4->unk21C, 3, 1); SetThankYouMailMenuState(0x11); } else { @@ -711,7 +711,7 @@ void sub_802A33C(void) sub_800641C(gUnknown_203B2C4->unk3BC,1,1); sub_801CB5C(1); if (gUnknown_203B2C4->fallbackState == 0x2b) { - sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1); + sub_8035CF4(gUnknown_203B2C4->unk21C,3,1); SetThankYouMailMenuState(0x14); } else { @@ -730,8 +730,8 @@ void sub_802A39C(void) menuAction = -1; sub_801CA08(0); - if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) { - sub_8013114(&gUnknown_203B2C4->unk30C, &menuAction); + if (sub_8012FD8(&gUnknown_203B2C4->unk21C[3]) == 0) { + sub_8013114(&gUnknown_203B2C4->unk21C[3], &menuAction); } switch(menuAction) @@ -1299,9 +1299,9 @@ void UpdateThankYouMailText(void) break; case 0x11: sub_8006518(gUnknown_203B2C4->unk35C); - SetMenuItems(&gUnknown_203B2C4->unk21C,gUnknown_203B2C4->unk35C,3,&gUnknown_80DED60,gUnknown_80DED78,1,0,0); + SetMenuItems(gUnknown_203B2C4->unk21C,gUnknown_203B2C4->unk35C,3,&gUnknown_80DED60,gUnknown_80DED78,1,0,0); sub_803092C(); - sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1); + sub_8035CF4(gUnknown_203B2C4->unk21C,3,1); break; case 0x13: if (sub_801D008() != 0) @@ -1316,9 +1316,9 @@ void UpdateThankYouMailText(void) break; case 0x14: sub_8006518(gUnknown_203B2C4->unk35C); - SetMenuItems(&gUnknown_203B2C4->unk21C,gUnknown_203B2C4->unk35C,3,&gUnknown_80DED48,gUnknown_80DED78,1,0,0); + SetMenuItems(gUnknown_203B2C4->unk21C,gUnknown_203B2C4->unk35C,3,&gUnknown_80DED48,gUnknown_80DED78,1,0,0); sub_801CCD8(); - sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1); + sub_8035CF4(gUnknown_203B2C4->unk21C,3,1); break; case THANK_YOU_MAIL_COMMS_FINISHED: gUnknown_203B2C4->linkError = COMMS_GOOD; diff --git a/src/trade_items_menu.c b/src/trade_items_menu.c index 2eb251776..2f5dc54b0 100644 --- a/src/trade_items_menu.c +++ b/src/trade_items_menu.c @@ -87,14 +87,14 @@ extern u32 sub_801CA08(u32); extern void sub_801CBB8(); extern u8 sub_801CB24(); extern void sub_801B3C0(struct Item *); -extern u8 sub_8012FD8(u32 *); -extern void sub_8013114(u32 *, s32 *); +extern u8 sub_8012FD8(struct MenuStruct *); +extern void sub_8013114(struct MenuStruct *, s32 *); extern void sub_8035CC0(struct UnkTextStruct2 *, u32); extern void sub_801CCD8(); extern u32 sub_801B410(); extern void sub_801B450(); extern void sub_801CB5C(u32); -extern void sub_8035CF4(u32 *, u32, u32); +extern void sub_8035CF4(struct MenuStruct *, u32, u32); extern u32 sub_8013BBC(u32 *); extern void sub_80141B4(const u8 *, u32, u32, u32); @@ -109,7 +109,7 @@ extern void sub_801C8C4(u32, u32, s32 *, u32); extern s32 sub_8037B28(u32); extern void sub_8011830(void); extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32, u32, u32, void *r5, u32); -extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32); +extern void SetMenuItems(struct MenuStruct *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32); extern void nullsub_23(u32); extern void xxx_call_start_bg_music(void); extern s32 sub_80381F4(u32, void *, void *); @@ -312,8 +312,8 @@ void sub_8036674(void) menuAction = -1; sub_801CA08(0); - if (sub_8012FD8(&gTradeItemsMenu->unk134) == '\0') { - sub_8013114(&gTradeItemsMenu->unk134, &menuAction); + if (sub_8012FD8(&gTradeItemsMenu->unk44[3]) == '\0') { + sub_8013114(&gTradeItemsMenu->unk44[3], &menuAction); } switch(menuAction){ case 3: // confirm @@ -348,7 +348,7 @@ void sub_8036728(void) sub_800641C(gTradeItemsMenu->unk1E4, 1, 1); sub_801CB5C(1); if (gTradeItemsMenu->fallbackState == 0x13) { - sub_8035CF4(&gTradeItemsMenu->unk44, 3, 1); + sub_8035CF4(gTradeItemsMenu->unk44, 3, 1); SetTradeItemMenu(TRADE_ITEMS_SEND_ITEM_POPUP_MENU); } else { @@ -362,20 +362,20 @@ void sub_8036728(void) void sub_8036788(void) { - sub_8012FD8(&gTradeItemsMenu->unk134); + sub_8012FD8(&gTradeItemsMenu->unk44[3]); sub_801CA08(0); switch(sub_8013BBC(&gTradeItemsMenu->quantityToSend)){ case 1: // When you change the # sub_801CCD8(); - sub_8035CF4(&gTradeItemsMenu->unk44, 3, 0); + sub_8035CF4(gTradeItemsMenu->unk44, 3, 0); sub_8036F30(); break; case 2: // If you back out of the # selection sub_8035CC0(gTradeItemsMenu->unk184, 2); sub_801CCD8(); - sub_8035CF4(&gTradeItemsMenu->unk44, 3, 1); + sub_8035CF4(gTradeItemsMenu->unk44, 3, 1); SetTradeItemMenu(TRADE_ITEMS_SEND_ITEM_POPUP_MENU); break; case 3: @@ -634,10 +634,10 @@ void sub_8036B28(void) break; case TRADE_ITEMS_SEND_ITEM_POPUP_MENU: sub_8006518(gTradeItemsMenu->unk184); - SetMenuItems(&gTradeItemsMenu->unk44,gTradeItemsMenu->unk184,3,&gUnknown_80E60EC, + SetMenuItems(gTradeItemsMenu->unk44,gTradeItemsMenu->unk184,3,&gUnknown_80E60EC, gUnknown_80E6104,1,0,0); sub_801CCD8(); - sub_8035CF4(&gTradeItemsMenu->unk44,3,1); + sub_8035CF4(gTradeItemsMenu->unk44,3,1); break; case TRADE_ITEMS_SEND_ITEM_NUMBER: sub_8036F74(); @@ -793,7 +793,7 @@ void sub_8036F74(void) sub_8006518(gTradeItemsMenu->unk184); sub_8036ECC(2, gTeamInventory_203B460->teamStorage[gTradeItemsMenu->itemToSend.id]); sub_801CCD8(); - sub_8035CF4(&gTradeItemsMenu->unk44, 3, 0); + sub_8035CF4(gTradeItemsMenu->unk44, 3, 0); sub_8036F30(); } diff --git a/src/unk_menu_203B360.c b/src/unk_menu_203B360.c index 338690c7f..8bfe5efc7 100644 --- a/src/unk_menu_203B360.c +++ b/src/unk_menu_203B360.c @@ -2,6 +2,7 @@ #include "input.h" #include "main_menu.h" #include "memory.h" +#include "menu.h" #include "text.h" struct unkSprite @@ -17,8 +18,7 @@ struct unkStruct_203B360 // size: 0x1b4 u32 currMenu; u32 unk4; // state - u32 unk8; - u8 fill8[0x148 - 0xC]; + struct MenuStruct unk8[4]; struct UnkTextStruct2 unk148[4]; struct unkSprite unk1A8; u32 unk1B0; // sprite count? @@ -31,10 +31,10 @@ extern struct MenuItem gUnknown_80E6EAC[]; extern void AddSprite(struct unkSprite *, u32, u32, u32); extern void sub_8038440(); -extern void sub_8035CF4(u32 *, u32, u32); -extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, struct UnkTextStruct2 *, struct MenuItem *, u32, u32, u32); -extern u8 sub_80130A8(u32 *); -extern void sub_8013114(u32 *, u32 *); +extern void sub_8035CF4(struct MenuStruct *, u32, u32); +extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, struct UnkTextStruct2 *, struct MenuItem *, u32, u32, u32); +extern u8 sub_80130A8(struct MenuStruct *); +extern void sub_8013114(struct MenuStruct *, u32 *); extern void sub_80384D0(); void sub_80382E4(s32 param_1) @@ -54,10 +54,10 @@ void sub_80382E4(s32 param_1) // Caution! // The storage space is empty! // Please check again. - SetMenuItems(&gUnknown_203B360->unk8,gUnknown_203B360->unk148,0,&gUnknown_80E6E94,gUnknown_80E6EAC, + SetMenuItems(gUnknown_203B360->unk8,gUnknown_203B360->unk148,0,&gUnknown_80E6E94,gUnknown_80E6EAC, 0,4,0); } - sub_8035CF4(&gUnknown_203B360->unk8,0,1); + sub_8035CF4(gUnknown_203B360->unk8,0,1); gUnknown_203B360->currMenu = param_1; gUnknown_203B360->unk4 = 0; sub_8038440(); @@ -82,8 +82,8 @@ u32 sub_80383D4(void) nextMenu = MENU_NO_SCREEN_CHANGE; if (gUnknown_203B360->unk4 == 0){ - if (sub_80130A8(&gUnknown_203B360->unk8) == '\0') { - sub_8013114(&gUnknown_203B360->unk8, &menuAction); + if (sub_80130A8(&gUnknown_203B360->unk8[0]) == '\0') { + sub_8013114(&gUnknown_203B360->unk8[0], &menuAction); } switch(menuAction) { diff --git a/src/wonder_mail.c b/src/wonder_mail.c index 1f8ebc377..7244f2cf8 100644 --- a/src/wonder_mail.c +++ b/src/wonder_mail.c @@ -36,10 +36,10 @@ extern void sub_803084C(); extern u32 sub_8030768(u32); extern s8 sub_80307EC(); extern void sub_8030D40(u8, u32); -extern u8 sub_8012FD8(u32 *r0); +extern u8 sub_8012FD8(struct MenuStruct *r0); extern void sub_8030810(u32); extern void sub_8035CC0(struct UnkTextStruct2 *r0, u32); -extern void sub_8035CF4(u32 *r0, u32, u32); +extern void sub_8035CF4(struct MenuStruct *r0, u32, u32); extern u32 sub_8030DA0(void); extern void sub_8030DE4(void); extern void sub_803092C(void); @@ -50,7 +50,7 @@ extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32 extern void sub_8095274(u32); extern void sub_80155F0(); extern void sub_80951BC(struct unkStruct_203B480 *r0); -extern void sub_8013114(u32 *r0, s32 *r1); +extern void sub_8013114(struct MenuStruct *r0, s32 *r1); extern void sub_8023C60(); extern u32 sub_8023A94(u32); extern void sub_8024458(s16, u32); @@ -86,7 +86,7 @@ extern u32 sub_8023CE8(void); extern u32 sub_8030894(void); extern void sub_8030F58(u32); extern void sub_8023DA4(void); -extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32); +extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32); extern void sub_8029B34(void); extern void sub_8029AD8(void); extern void sub_8029AF4(void); @@ -536,9 +536,9 @@ void sub_8028348(void) break; case 0x34: sub_8006518(gUnknown_203B2C0->unk35C); - SetMenuItems(&gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDAE4, gUnknown_80DDAFC, 1, 0, 0); + SetMenuItems(gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDAE4, gUnknown_80DDAFC, 1, 0, 0); sub_8023DA4(); - sub_8035CF4(&gUnknown_203B2C0->unk21C, 3, 1); + sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1); break; case 0x31: sub_8014248(gUnknown_80DDD2C, 0, 0xA, gUnknown_80DDAA0, 0, 4, 0, &gUnknown_203B2C0->faceFile,0xC); @@ -698,9 +698,9 @@ void sub_8028348(void) case 0x20: case 0x2B: sub_8006518(gUnknown_203B2C0->unk35C); - SetMenuItems(&gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDACC, gUnknown_80DDAFC, 1, 0, 0); + SetMenuItems(gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDACC, gUnknown_80DDAFC, 1, 0, 0); sub_803092C(); - sub_8035CF4(&gUnknown_203B2C0->unk21C, 3, 1); + sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1); break; case 0xA: gUnknown_203B2C0->unk540 = sub_8095350(); @@ -1233,9 +1233,9 @@ void sub_80290F0(void) s32 menuAction; menuAction = -1; sub_8030768(0); - if(sub_8012FD8(&(gUnknown_203B2C0->unk30C)) == 0) + if(sub_8012FD8(&(gUnknown_203B2C0->unk21C[3])) == 0) { - sub_8013114(&(gUnknown_203B2C0->unk30C), &menuAction); + sub_8013114(&(gUnknown_203B2C0->unk21C[3]), &menuAction); } switch(menuAction) { @@ -1274,7 +1274,7 @@ void sub_80291AC(void) sub_803092C(); if(gUnknown_203B2C0->fallbackState == 0x3D) { - sub_8035CF4(&(gUnknown_203B2C0->unk21C), 3, 1); + sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1); sub_8028B04(0x20); } else @@ -1582,9 +1582,9 @@ void sub_8029684(void) s32 menuAction; menuAction = -1; sub_8030768(0); - if(sub_8012FD8(&(gUnknown_203B2C0->unk30C)) == 0) + if(sub_8012FD8(&(gUnknown_203B2C0->unk21C[3])) == 0) { - sub_8013114(&(gUnknown_203B2C0->unk30C), &menuAction); + sub_8013114(&(gUnknown_203B2C0->unk21C[3]), &menuAction); } switch(menuAction) { @@ -1621,7 +1621,7 @@ void sub_8029740(void) sub_803092C(); if(gUnknown_203B2C0->fallbackState == 0x3D) { - sub_8035CF4(&(gUnknown_203B2C0->unk21C), 3, 1); + sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1); sub_8028B04(0x2B); } else @@ -1682,9 +1682,9 @@ void sub_8029884(void) s32 menuAction; menuAction = -1; sub_8023A94(0); - if(sub_8012FD8(&(gUnknown_203B2C0->unk30C)) == 0) + if(sub_8012FD8(&(gUnknown_203B2C0->unk21C[3])) == 0) { - sub_8013114(&(gUnknown_203B2C0->unk30C), &menuAction); + sub_8013114(&(gUnknown_203B2C0->unk21C[3]), &menuAction); } switch(menuAction) { @@ -1730,7 +1730,7 @@ void sub_8029944(void) sub_8023B7C(1); if(gUnknown_203B2C0->fallbackState == 0x3D) { - sub_8035CF4(&(gUnknown_203B2C0->unk21C), 3, 1); + sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1); sub_8028B04(0x34); } else