diff --git a/include/debug_menu.h b/include/debug_menu.h index 51bdec32c..7e20bcd42 100644 --- a/include/debug_menu.h +++ b/include/debug_menu.h @@ -33,8 +33,7 @@ struct unkStruct_203B3F8 u16 unk6; struct PokemonStruct *pokemon; u32 unkC; - const char *unk10; - u8 fill14[0x60 - 0x14]; + struct MenuStruct unk10; u32 unk60; u32 unk64; u32 unk68; diff --git a/include/kecleon_items.h b/include/kecleon_items.h index db4827c48..b952896b1 100644 --- a/include/kecleon_items.h +++ b/include/kecleon_items.h @@ -25,8 +25,7 @@ struct unkStruct_203B210 u32 unk30; struct MenuItem unk34[8]; u16 unk74[8]; - u32 unk84; - u8 fill88[0xD4 - 0x88]; + struct MenuStruct unk84; struct OpenedFile *faceFile; u8 *unkD8; u16 unkDC; diff --git a/include/mailbox.h b/include/mailbox.h index 22133e0c4..79e4d1e41 100644 --- a/include/mailbox.h +++ b/include/mailbox.h @@ -19,8 +19,7 @@ struct unkStruct_203B304 u8 fill51[0x64 - 0x51]; u32 unk64; u32 unk68; - u32 unk6C; - u8 fill70[0xBC - 0x70]; + struct MenuStruct unk6C; struct MenuItem unkBC[8]; u16 unkFC[8]; struct UnkTextStruct2 unk10C[4]; diff --git a/include/menu.h b/include/menu.h index 528954bd8..bf663e5e4 100644 --- a/include/menu.h +++ b/include/menu.h @@ -11,7 +11,7 @@ struct MenuStruct { // size: 0x50 u8 *unk0; - /* 0x4 */ struct MenuItem *menuItems; + /* 0x4 */ const struct MenuItem *menuItems; const u32 *menuTextColorArray; u16 *unkC; /* 0x10 */ s32 index; @@ -23,9 +23,9 @@ struct MenuStruct u16 unk38; u8 fill3A[0x48 - 0x3A]; /* 0x48 */ s32 menuAction; - u8 unk4C; - u8 unk4D; - u8 unk4E; + bool8 unk4C; + bool8 unk4D; + bool8 unk4E; }; #endif // GUARD_MENU_H diff --git a/include/menu_input.h b/include/menu_input.h new file mode 100644 index 000000000..bed65b0e5 --- /dev/null +++ b/include/menu_input.h @@ -0,0 +1,15 @@ +#include "menu.h" + +void sub_8012BC4(u32 x, u32 y, s32 n, s32 len, u32 param_5, u32 param_6); +void sub_8012C60(u32 x,u32 y,u32 param_3,u32 param_4,u32 param_5); +void sub_8012CAC(struct UnkTextStruct2 *param_1, const struct MenuItem *param_2); +void sub_8012D08(struct UnkTextStruct2 *param_1, s32 param_2); +void sub_8012D34(struct UnkTextStruct2 *param_1, s32 param_2); +void sub_8012D60(struct MenuStruct *param_1,const struct MenuItem *menuItems,u32 *colorArray,u16 *param_4,s32 param_5, s32 index); +void sub_8012E04(struct MenuStruct *param_1,const struct MenuItem *menuItems,u32 *colorArray,u16 *param_4,s32 param_5, s32 index); +void sub_8012EA4(struct MenuStruct *param_1, bool8 r1); +void sub_8012EBC(struct MenuStruct *param_1); +u8 sub_8012FD8(struct MenuStruct *param_1); +u8 sub_80130A8(struct MenuStruct *param_1); +bool8 sub_8013114(struct MenuStruct *param_1, s32 *menuAction); + diff --git a/include/wonder_mail_3.h b/include/wonder_mail_3.h index ceac36012..3d161c449 100644 --- a/include/wonder_mail_3.h +++ b/include/wonder_mail_3.h @@ -1,3 +1,4 @@ +#include "menu.h" struct unkStruct_203B2F4 { u8 fill0[0x1A]; @@ -50,9 +51,8 @@ struct unkStruct_203B2F8 u32 unk6C; u32 unk70; u32 unk74; - u8 unk78[0xC8 - 0x78]; - u8 unkC8[4]; - u8 fillCC[0x118 - 0xCC]; + struct MenuStruct unk78; + struct MenuStruct unkC8; struct MenuItem unk118[8]; struct MenuItem unk158[8]; u16 unk198[8]; diff --git a/src/adventure_log.c b/src/adventure_log.c index a8b622116..05e5dabd9 100644 --- a/src/adventure_log.c +++ b/src/adventure_log.c @@ -3,6 +3,7 @@ #include "input.h" #include "memory.h" #include "text.h" +#include "menu_input.h" struct AdventureLog { @@ -62,7 +63,6 @@ extern void xxx_call_draw_string(s32, u32, const u8 *, u32, u32); extern void sub_8008C54(u32); extern void sub_80073B8(u32); extern void sub_80073E0(u32); -extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32); extern void xxx_format_and_draw(u32, u32, const char *, u32, u32); const u8 *GetAdventureLogLine(u8 index); extern s32 sub_8013800(void *, s32); diff --git a/src/code_801B3C0.c b/src/code_801B3C0.c index b7e915560..6b7f3952e 100644 --- a/src/code_801B3C0.c +++ b/src/code_801B3C0.c @@ -7,6 +7,7 @@ #include "menu.h" #include "pokemon.h" #include "team_inventory.h" +#include "menu_input.h" struct subStruct_203B240 { @@ -45,10 +46,8 @@ struct unkStruct_203B234 struct unkStruct_8090F58 unk14; struct Item unk20; u32 unk24; - u32 unk28; - u8 fill2C[0x78 - 0x2C]; - u32 unk78; - u8 fill7C[0xC8 - 0x7C]; + struct MenuStruct unk28; + struct MenuStruct unk78; u32 unkC8; struct MenuItem unkCC[5]; struct UnkTextStruct2 unkF4[4]; @@ -78,7 +77,6 @@ extern struct UnkTextStruct2 gUnknown_80DBA88; extern struct UnkTextStruct2 gUnknown_80DBA70; extern void sub_801BB5C(void); -extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *); extern struct PokemonStruct *GetPlayerPokemonStruct(void); extern void sub_801B748(u32); extern void sub_8008C54(u32); @@ -90,8 +88,6 @@ extern void sub_8013F84(void); extern u32 sub_8012A64(u32 *, u32); extern s32 sub_80913E0(struct Item *, u32, struct subStruct_203B240 **); extern void sub_80141B4(u8 *, u32, u32 *, u32); -extern void sub_8012EA4(u32 *, u32); -extern void sub_8012D60(u32 *, struct MenuItem *, u32, u16 *, u32, u32); extern void sub_801BB20(void); extern void sub_801A8D0(u32); extern void sub_801A9E0(void); diff --git a/src/debug_menu_2.c b/src/debug_menu_2.c index 56c73c648..093b6766f 100644 --- a/src/debug_menu_2.c +++ b/src/debug_menu_2.c @@ -5,6 +5,7 @@ #include "input.h" #include "menu.h" #include "debug_menu.h" +#include "menu_input.h" extern struct unkStruct_203B3F8 *gUnknown_203B3F8; extern struct UnkTextStruct2 gUnknown_80E7ED4; @@ -17,7 +18,6 @@ extern void sub_80073B8(u32); extern void sub_8013C68(u32 *); extern void sub_80073E0(u32); extern void sub_8023DA4(void); -extern void sub_8012EA4(const char **, u32); extern void xxx_call_draw_string(u32, u32, u8 *, u32, u32); void sub_803ACD0(u32); @@ -35,8 +35,6 @@ extern void sub_803AE58(); extern void sub_801602C(u32, u8 *); extern void sub_803AEB0(); -extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *); -extern void sub_8012D60(const char **, struct MenuItem *, u32, u16 *, u32, u32); u32 sub_803AC24(void) { diff --git a/src/debug_menu_mid.c b/src/debug_menu_mid.c index 27c8bcf6f..976bb8e22 100644 --- a/src/debug_menu_mid.c +++ b/src/debug_menu_mid.c @@ -5,6 +5,7 @@ #include "memory.h" #include "menu.h" #include "text.h" +#include "menu_input.h" struct unkStruct_203B3F0 { @@ -14,8 +15,7 @@ struct unkStruct_203B3F0 u8 fill5[0x8 - 5]; u32 unk8; struct MenuItem menuItems[8]; - u32 unk4C; - u8 fill50[0x9C - 0x50]; + struct MenuStruct unk4C; u32 unk9C; u32 unkA0; u32 unkA4; @@ -39,8 +39,7 @@ struct unkStruct_203B3F4 u8 fill5[0x8 - 5]; u32 unk8; struct MenuItem menuItems[8]; - u32 unk4C; - u8 fill50[0x9C - 0x50]; + struct MenuStruct unk4C; struct UnkTextStruct2 unk9C[4]; }; @@ -63,18 +62,14 @@ extern const char *gUnknown_80D4970[]; extern void sub_801C8C4(u32, u32, u32, u32); extern void sub_801CB5C(u32); extern void sub_801CCD8(); -extern void sub_8012D60(u32 *, struct MenuItem *, u32, u32, u32, u32); extern void sub_8008C54(u32); extern void sub_80073B8(u32); -extern void sub_8012EA4(u32 *, u32); extern void sub_80073E0(u32); extern void sub_8013C68(u32 *); extern void xxx_call_draw_string(s32, u32, const char *, u32, u32); extern u32 sub_801CA08(u32); extern u8 sub_801CB24(); extern void sub_801CBB8(); -extern u8 sub_8012FD8(u32 *); -extern void sub_8013114(u32 *, s32 *); extern u32 sub_8013BBC(u32 *); extern u32 sub_801B410(); extern void sub_801B450(); diff --git a/src/felicity_bank_1.c b/src/felicity_bank_1.c index d9e4fc57d..504e487fd 100644 --- a/src/felicity_bank_1.c +++ b/src/felicity_bank_1.c @@ -2,6 +2,7 @@ #include "item.h" #include "team_inventory.h" #include "felicity_bank.h" +#include "menu_input.h" extern struct unkStruct_203B204 *gUnknown_203B204; @@ -14,7 +15,6 @@ extern u8 *gFelicityDeposit; extern void sub_8008C54(u32); extern void sub_80073B8(u32); extern void xxx_call_draw_string(s32 x, u32 y, u8 *, u32 , u32); -extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32); extern void sub_80073E0(u32); extern void sub_8013C68(u32 *); extern s32 sub_80144A4(s32 *); diff --git a/src/kecleon_items_1.c b/src/kecleon_items_1.c index fc6476250..1feb29807 100644 --- a/src/kecleon_items_1.c +++ b/src/kecleon_items_1.c @@ -8,6 +8,7 @@ #include "kecleon_items.h" #include "team_inventory.h" #include "code_800D090.h" +#include "menu_input.h" extern struct unkStruct_203B210 *gUnknown_203B210; extern u16 gUnknown_203B218; @@ -35,8 +36,6 @@ extern u32 sub_801B410(void); extern void sub_801B450(void); extern void sub_8099690(u32); -extern u8 sub_8012FD8(u32 *); -extern void sub_8013114(u32 *, u32 *); extern u32 sub_8019EDC(u8); extern u32 sub_801A2A8(u8); extern s32 sub_801A8AC(void); @@ -48,12 +47,10 @@ extern void sub_80073B8(u32); extern void sub_80073E0(u32); extern s32 sub_8013800(void *, u32); extern void xxx_call_draw_string(s32 x, s32, u8 *, u32, u32); -extern void sub_8012BC4(s32, s32, s32, s32, s32, s32); extern void xxx_format_and_draw(u32, u32, u8 *, u32, u32); extern s32 sub_801AED0(s32); void sub_8007B7C(s32, s32, s32, s32, s32); extern void sub_801AE84(void); -extern void sub_8012D08(void *, u32); extern void sub_801A998(void); extern void sub_801A9E0(void); extern void Kecleon_SortItems(void); diff --git a/src/load_screen.c b/src/load_screen.c index 45b0f2a25..23af94777 100644 --- a/src/load_screen.c +++ b/src/load_screen.c @@ -11,6 +11,7 @@ #include "save.h" #include "code_800D090.h" #include "code_8094F88.h" +#include "menu_input.h" extern const struct FileArchive gTitleMenuFileArchive; @@ -41,8 +42,6 @@ void sub_80397B4(void); 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); diff --git a/src/mailbox.c b/src/mailbox.c index 31516219a..490341886 100644 --- a/src/mailbox.c +++ b/src/mailbox.c @@ -5,6 +5,7 @@ #include "input.h" #include "mailbox.h" #include "wonder_mail.h" +#include "menu_input.h" extern void HandleMailboxMenu(void); @@ -71,11 +72,9 @@ static const u8 mailbox_fill[] = "pksdir0"; extern struct unkStruct_203B304 *gUnknown_203B304; extern void sub_802E088(u32); -extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *); extern void CreateMailboxMenu(void); extern void CreateMailActionMenu(void); -extern void sub_8012D60(u32 *, struct MenuItem *, u32, u16 *, u32, u32); extern void sub_802BD14(u32, u32, u32); extern void sub_802BE94(u32); extern void CreateMailMenu(void); diff --git a/src/mailbox_1.c b/src/mailbox_1.c index ec9f0883e..e42d7d45d 100644 --- a/src/mailbox_1.c +++ b/src/mailbox_1.c @@ -5,6 +5,7 @@ #include "input.h" #include "mailbox.h" #include "wonder_mail.h" +#include "menu_input.h" extern struct unkStruct_203B304 *gUnknown_203B304; @@ -12,7 +13,6 @@ extern u8 gMailAccepted[]; extern u8 gUnknown_80E0324[]; extern void xxx_call_draw_string(s32 x, u32 y, u8 *, u32 , u32); -extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32); extern void sub_8008C54(u32); extern void sub_80073B8(u32); extern void sub_80073E0(u32); @@ -27,8 +27,6 @@ extern u32 sub_802DEE0(void); extern void sub_802DF24(void); extern struct WonderMail *GetMailboxSlotInfo(u8); extern u8 HasNoMailinMailbox(void); -extern u8 sub_8012FD8(u32 *); -extern void sub_8013114(u32 *, s32 *); extern u32 sub_802BDEC(u32); extern void sub_8096A78(struct WonderMail *); extern void sub_8096C80(void); @@ -42,7 +40,6 @@ extern void sub_802BEDC(void); extern u8 sub_802BE74(void); extern u8 HasNoAcceptedJobs(void); extern u8 HasNoPKMNNews(void); -extern void sub_8012EA4(u32 *, u32); void HandleMailboxMenu(void) { diff --git a/src/main_menu.c b/src/main_menu.c index 03ea15cb5..1936d64a2 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -638,7 +638,7 @@ SetMenuItems(struct MenuStruct *param_1, struct UnkTextStruct2 *unkData, s32 ind else { sub_8012E04(¶m_1[index],menuItems,0,0,0,index); } - param_1[index].unk4C = 1; + param_1[index].unk4C = TRUE; } void sub_8035CC0(struct UnkTextStruct2 *dataArray, u32 index) @@ -649,7 +649,7 @@ void sub_8035CC0(struct UnkTextStruct2 *dataArray, u32 index) sub_800641C(dataArray, 1, 1); } -void sub_8035CF4(struct MenuStruct * Menu, u32 index, u8 r2) +void sub_8035CF4(struct MenuStruct * Menu, u32 index, bool8 r2) { Menu[index].unk4C = r2; Menu[index].unk4D = 1; @@ -881,7 +881,7 @@ u32 UpdateMainMenu(void) bool8 SetMainMenuText(void) { u32 menuChoice; - struct MenuItem *preload; + const struct MenuItem *preload; // Have to load the pointer before the index preload = gUnknown_203B34C->unk4[0].menuItems; diff --git a/src/makuhita_dojo_1.c b/src/makuhita_dojo_1.c index 290857ba8..4be0926a8 100644 --- a/src/makuhita_dojo_1.c +++ b/src/makuhita_dojo_1.c @@ -9,6 +9,7 @@ #include "text.h" #include "menu.h" #include "makuhita_dojo.h" +#include "menu_input.h" struct unkStruct_203B31C { @@ -66,7 +67,6 @@ extern void sub_8008C54(u32); extern void sub_80073B8(u32); extern void sub_80073E0(u32); extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32); -extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32); extern u8 sub_80A2740(s32 r0); extern s16 sub_80A2668(u32 r0); extern s32 sub_8013800(void *, u32); @@ -81,7 +81,6 @@ extern u8 sub_80138B8(void *, u32); extern void PlayMenuSoundEffect(u32); extern s32 GetKeyPress(void *); extern void sub_8013660(void *); -extern void sub_8012D08(void *, u32); extern void sub_8013818(void *, u32, u32, u32); extern void sub_803053C(void); extern u8 sub_80306A4(void); diff --git a/src/menu_input.c b/src/menu_input.c index 77fe1018b..0171b66aa 100644 --- a/src/menu_input.c +++ b/src/menu_input.c @@ -5,6 +5,7 @@ #include "text.h" #include "util.h" #include "code_800D090.h" +#include "menu_input.h" struct unkChar { @@ -36,7 +37,6 @@ struct unkChar *GetCharacter(u32); extern void xxx_call_draw_char(u32, u32, u32, u32, u32); const u32 gDefaultMenuTextColors[] = { COLOR_WHITE_2, COLOR_RED, COLOR_RED }; -void sub_8012D08(struct UnkTextStruct2 *, s32); void sub_8012BC4(u32 x, u32 y, s32 n, s32 len, u32 param_5, u32 param_6) { @@ -71,7 +71,7 @@ void sub_8012BC4(u32 x, u32 y, s32 n, s32 len, u32 param_5, u32 param_6) do { iVar1 = *piVar4; piVar4++; - uVar2 = ReturnIntFromChar2(iVar1 + 0x30U); + uVar2 = ReturnIntFromChar2(iVar1 + 0x30); iVar3 = GetCharacter(uVar2); total_x += iVar3->unk6; xxx_call_draw_char(x - total_x,y,uVar2,param_5,param_6); @@ -100,7 +100,7 @@ void sub_8012C60(u32 x,u32 y,u32 param_3,u32 param_4,u32 param_5) xxx_call_draw_char(x + add_x,y,uVar2,param_4,param_5); } -void sub_8012CAC(struct UnkTextStruct2 *param_1, struct MenuItem *param_2) +void sub_8012CAC(struct UnkTextStruct2 *param_1, const struct MenuItem *param_2) { s16 length; int r5; @@ -192,7 +192,7 @@ void sub_8012D34(struct UnkTextStruct2 *param_1, s32 param_2) "\tbx r0"); } -void sub_8012D60(struct MenuStruct *param_1,struct MenuItem *menuItems,u32 *colorArray,u16 *param_4,s32 param_5, +void sub_8012D60(struct MenuStruct *param_1,const struct MenuItem *menuItems,u32 *colorArray,u16 *param_4,s32 param_5, s32 index) { const u8 *textPtr; @@ -231,18 +231,18 @@ void sub_8012D60(struct MenuStruct *param_1,struct MenuItem *menuItems,u32 *colo sub_8013134(¶m_1->unk14,counter,index); param_1->menuIndex = menuIndex; sub_80137B0(¶m_1->unk14,0); - param_1->unk4C = 1; - param_1->unk4D = 1; - param_1->unk4E = 1; + param_1->unk4C = TRUE; + param_1->unk4D = TRUE; + param_1->unk4E = TRUE; param_1->menuAction = -1; } -void sub_8012E04(struct MenuStruct *param_1,struct MenuItem *menuItems,u32 *colorArray,u16 *param_4,s32 param_5, +void sub_8012E04(struct MenuStruct *param_1,const struct MenuItem *menuItems,u32 *colorArray,u16 *param_4,s32 param_5, s32 index) { const u8 *textPtr; s32 counter; - struct MenuItem *menuItemPtr; + const struct MenuItem *menuItemPtr; s32 iVar1; s32 menuIndex; @@ -278,16 +278,16 @@ void sub_8012E04(struct MenuStruct *param_1,struct MenuItem *menuItems,u32 *colo } param_1->unkC = param_4; param_1->menuItems = menuItems; - param_1->unk4E = 0; - param_1->unk4C = 1; - param_1->unk4D = 1; + param_1->unk4E = FALSE; + param_1->unk4C = TRUE; + param_1->unk4D = TRUE; param_1->menuAction = -1; } -void sub_8012EA4(struct MenuStruct *param_1, u32 r1) +void sub_8012EA4(struct MenuStruct *param_1, bool8 r1) { param_1->unk4C = r1; - param_1->unk4D = 1; + param_1->unk4D = TRUE; sub_8012EBC(param_1); } @@ -297,7 +297,7 @@ void sub_8012EBC(struct MenuStruct *param_1) s32 y; u32 color; const u8 *textPtr; - struct MenuItem *menuItemsPtr; + const struct MenuItem *menuItemsPtr; u16 *_puVar2; const u32 *colorArray; s32 counter; @@ -307,7 +307,7 @@ void sub_8012EBC(struct MenuStruct *param_1) struct UnkTextStruct1 *ptr_text; struct UnkTextStruct2 *ptr_text2; - if (param_1->unk4D != 0) { + if (param_1->unk4D) { sub_80073B8(param_1->index); index = param_1->index; ptr_text = &gUnknown_2027370[index]; @@ -348,10 +348,10 @@ void sub_8012EBC(struct MenuStruct *param_1) } while (menuItemsPtr->text != NULL); } sub_80073E0(param_1->index); - param_1->unk4D = 0; + param_1->unk4D = FALSE; } - if (param_1->unk4E != 0) { - if (param_1->unk4C != 0) { + if (param_1->unk4E) { + if (param_1->unk4C) { AddMenuCursorSprite(¶m_1->unk14); } else { @@ -360,13 +360,14 @@ void sub_8012EBC(struct MenuStruct *param_1) } } -u8 sub_8012FD8(struct MenuStruct *param_1) { +u8 sub_8012FD8(struct MenuStruct *param_1) +{ u32 prevMenuIndex; s32 index; - struct MenuItem *item; + const struct MenuItem *item; prevMenuIndex = param_1->menuIndex; - if (param_1->unk4C != 0) { + if (param_1->unk4C) { switch(GetKeyPress(¶m_1->unk14)) { case INPUT_DPAD_DOWN: @@ -388,7 +389,7 @@ u8 sub_8012FD8(struct MenuStruct *param_1) { ((param_1->unkC == NULL || (param_1->unkC[index] != 1)))) { param_1->menuAction = item->menuAction; ++param_1; --param_1; - param_1->unk4C = 0; + param_1->unk4C = FALSE; param_1->unk38 = 0; } else @@ -405,7 +406,7 @@ u8 sub_8012FD8(struct MenuStruct *param_1) { case INPUT_B_BUTTON: if (-1 < param_1->menuItems[param_1->unk2E].menuAction) { param_1->menuAction = param_1->menuItems[param_1->unk2E].menuAction; - param_1->unk4C = 0; + param_1->unk4C = FALSE; PlayMenuSoundEffect(1); } break; @@ -415,12 +416,13 @@ u8 sub_8012FD8(struct MenuStruct *param_1) { return param_1->unk4C; } -u8 sub_80130A8(struct MenuStruct *param_1) { +u8 sub_80130A8(struct MenuStruct *param_1) +{ s32 index; s32 menuAction; - struct MenuItem *menuItem; + const struct MenuItem *menuItem; - if (param_1->unk4C != 0) { + if (param_1->unk4C) { switch(GetKeyPress(¶m_1->unk14)) { @@ -428,14 +430,14 @@ u8 sub_80130A8(struct MenuStruct *param_1) { index = sub_80137A8(¶m_1->unk14); menuItem = ¶m_1->menuItems[index]; param_1->menuAction = menuItem->menuAction; - param_1->unk4C = 0; + param_1->unk4C = FALSE; param_1->unk38 = 0; PlayMenuSoundEffect(0); break; case INPUT_B_BUTTON: if(menuAction = param_1->menuItems[param_1->unk2E].menuAction, -1 < menuAction) { param_1->menuAction = menuAction; - param_1->unk4C = 0; + param_1->unk4C = FALSE; PlayMenuSoundEffect(0); } break; @@ -445,8 +447,9 @@ u8 sub_80130A8(struct MenuStruct *param_1) { return param_1->unk4C; } -bool8 sub_8013114(struct MenuStruct *param_1, s32 *menuAction){ - if(param_1->unk4C != 0){ +bool8 sub_8013114(struct MenuStruct *param_1, s32 *menuAction) +{ + if(param_1->unk4C){ return TRUE; } if (menuAction != NULL){ diff --git a/src/pelipper_board_1.c b/src/pelipper_board_1.c index 011b8c8b7..74b9d3ff8 100644 --- a/src/pelipper_board_1.c +++ b/src/pelipper_board_1.c @@ -7,6 +7,7 @@ #include "text.h" #include "team_inventory.h" #include "wonder_mail.h" +#include "menu_input.h" struct unkStruct_203B308 { @@ -21,8 +22,7 @@ struct unkStruct_203B308 u8 fill51[0x64 - 0x51]; u32 unk64; u32 unk68; - u32 unk6C; - u8 fill70[0xBC - 0x70]; + struct MenuStruct unk6C; struct MenuItem unkBC[8]; u16 unkFC[8]; struct UnkTextStruct2 unk10C[4]; @@ -32,7 +32,6 @@ extern struct unkStruct_203B308 *gUnknown_203B308; extern u8 gPelipperBoard_Accepted[]; extern u8 gPelipperStatusSlash[]; extern void xxx_call_draw_string(s32 x, u32 y, u8 *, u32 , u32); -extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32); extern void sub_8008C54(u32); extern void sub_80073B8(u32); extern void sub_80073E0(u32); @@ -48,14 +47,11 @@ extern void sub_8096A78(struct WonderMail*); extern void ResetPelipperBoardSlot(u8); extern void sub_80965F4(void); extern void sub_802C2D4(void); -extern u8 sub_8012FD8(u32 *); -extern void sub_8013114(u32 *, s32 *); extern u32 sub_802C1E4(u32); extern void PlaySound(u32); extern void SetPelipperBoardState(u32); extern u8 sub_802C26C(void); extern u8 HasNoAcceptedJobs(void); -extern void sub_8012EA4(u32 *, u32); void sub_802ECB4(void) { diff --git a/src/wonder_mail_2.c b/src/wonder_mail_2.c index 6f4ed2bb3..4c4b40e07 100644 --- a/src/wonder_mail_2.c +++ b/src/wonder_mail_2.c @@ -13,6 +13,7 @@ #include "wonder_mail.h" #include "code_800D090.h" #include "code_8094F88.h" +#include "menu_input.h" struct unkStruct_203B2C8 { @@ -155,7 +156,6 @@ extern void sub_80073B8(u32); extern void sub_802BC7C(void); extern void sub_80073E0(u32); extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32); -extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32); extern void xxx_format_and_draw(u32, u32, const u8 *, u32, u32); extern void sub_803B6B0(u32, u32, u32, u32); extern s32 sub_8013800(u32 *, s32); @@ -166,7 +166,6 @@ extern void sub_801317C(u32 *); extern u8 HasNoMailinMailbox(void); extern void sub_802BF30(void); extern void CreateMailMenu(void); -extern void sub_8012D34(struct UnkTextStruct2 *, u32); extern s32 CountEmptyMailSlots(void); extern void sub_8013848(u32 *, s32, u32, u32); diff --git a/src/wonder_mail_2_1.c b/src/wonder_mail_2_1.c index 1a55c3e46..70664e93b 100644 --- a/src/wonder_mail_2_1.c +++ b/src/wonder_mail_2_1.c @@ -5,6 +5,7 @@ #include "text.h" #include "menu.h" #include "code_802C39C.h" +#include "menu_input.h" struct unkStruct_203B2E8 { @@ -37,8 +38,8 @@ struct unkStruct_203B2F0 u32 unk10; u8 fill14[0x68 - 0x14]; u32 unk68; - u8 fill6C[0xBC - 0x6C]; - u8 unkBC[0x10C - 0xBC]; + struct MenuStruct unk6C; + struct MenuStruct unkBC; struct MenuItem unk10C[8]; struct MenuItem unk14C[8]; u8 fill18C[0x19C - 0x18C]; @@ -131,7 +132,6 @@ const struct UnkTextStruct2 gUnknown_80DFDA4 = const u8 gUnknown_80DFDBC[] = "RESCUE EVENT"; static const u8 wonder_mail_fill1[] = "pksdir0"; -extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *); extern void sub_802CAA4(void); extern u8 IsJobSlotEmpty(u8); extern void sub_8008C54(u32); @@ -142,7 +142,6 @@ extern struct WonderMail* GetJobSlotInfo(u8); extern s32 sub_8013800(void *, u32); extern void sub_803B35C(void *, u32 *); extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32); -extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32); extern void CreateRescueTitle(void *); extern void sub_8013984(u32 *); @@ -154,7 +153,6 @@ extern s32 GetKeyPress(void *); extern void PlayMenuSoundEffect(u32); extern void sub_8013660(void *); extern void sub_8013848(u32 *, s32, u32, u32); -extern void sub_8012D34(struct UnkTextStruct2 *, u32); extern bool8 IsPelipperBoardSlotEmpty(u8); extern void sub_802C910(u32); extern void sub_802CC00(void); @@ -163,9 +161,7 @@ extern void sub_802CD38(void); extern void sub_802CDB8(void); extern void sub_802C928(void); extern void sub_802C9D8(void); -extern void sub_8012D60(u8 *, struct MenuItem *, u32, u16 *, u32, u32); extern void sub_802DE84(u32 *); -extern void sub_8012EA4(u8 *, u32); extern void sub_802CBAC(void); s32 CountAcceptedJobs(void); @@ -499,13 +495,13 @@ void sub_802C9D8(void) break; case 2: sub_802C750(); - sub_8012D60(gUnknown_203B2F0->fill6C, gUnknown_203B2F0->unk10C, 0, 0, gUnknown_203B2F0->unk68, 2); + sub_8012D60(&gUnknown_203B2F0->unk6C, gUnknown_203B2F0->unk10C, 0, 0, gUnknown_203B2F0->unk68, 2); break; case 3: sub_802CBAC(); sub_802C750(); - sub_8012EA4(gUnknown_203B2F0->fill6C, 0); - sub_8012D60(gUnknown_203B2F0->unkBC, gUnknown_203B2F0->unk14C, 0, 0, 6, 3); + sub_8012EA4(&gUnknown_203B2F0->unk6C, 0); + sub_8012D60(&gUnknown_203B2F0->unkBC, gUnknown_203B2F0->unk14C, 0, 0, 6, 3); break; case 4: sub_803B35C(GetJobSlotInfo(gUnknown_203B2F0->unkC), &gUnknown_203B2F0->unk10); diff --git a/src/wonder_mail_2_mid.c b/src/wonder_mail_2_mid.c index 8b15dd368..8f4db0157 100644 --- a/src/wonder_mail_2_mid.c +++ b/src/wonder_mail_2_mid.c @@ -8,12 +8,12 @@ #include "pokemon_mail.h" #include "wonder_mail.h" #include "code_802C39C.h" +#include "menu_input.h" bool8 IsMailSlotEmpty(u8); extern void sub_8013984(void *); extern void sub_8013848(u32 *, s32, u32, u32); extern s32 sub_802C474(void); -extern void sub_8012D34(struct UnkTextStruct2 *, u32); extern void sub_802C328(void); extern void sub_802C39C(void); extern void PlayMenuSoundEffect(u32); @@ -33,7 +33,6 @@ extern u8 gBulletinBoardText[]; extern bool8 IsMailinJobSlot(struct WonderMail *); extern void CreateRescueTitle(void *); extern void xxx_call_draw_string(s32, s32, u8 *, s32, s32); -extern void sub_8012BC4(s32, s32, s32, s32 ,s32 ,s32); struct unkStruct_203B2D8 diff --git a/src/wonder_mail_3.c b/src/wonder_mail_3.c index 4c3df9c21..f6e97b5e8 100644 --- a/src/wonder_mail_3.c +++ b/src/wonder_mail_3.c @@ -8,6 +8,7 @@ #include "wonder_mail.h" #include "wonder_mail_3.h" #include "code_802C39C.h" +#include "menu_input.h" const struct UnkTextStruct2 gUnknown_80DFDD4 = { @@ -104,7 +105,6 @@ ALIGNED(4) const u8 gUnknown_80E014C[] = "New Mail"; ALIGNED(4) const u8 gUnknown_80E0158[] = "Old Mail"; static const u8 wonder_mail_3_fill[] = "pksdir0"; -extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *); extern void sub_802D63C(void); extern void sub_802D5A4(void); @@ -131,7 +131,6 @@ extern u8 *sub_8096DD8(void); extern u8 sub_8096C08(u8 *); extern void sub_802C750(void); extern void sub_802D1A0(u32); -extern void sub_8012EA4(u8 *, u32); extern struct WonderMail* GetJobSlotInfo(u8); extern void sub_803B35C(void *, u32*); extern void sub_802DE84(u32 *); @@ -143,13 +142,11 @@ extern void sub_802D690(void); extern void sub_8096C80(void); extern void sub_8096D24(void); extern void sub_80141B4(const u8 *, u32, u32, u32); -extern void sub_8012D60(u8 *, struct MenuItem *, u32, u16 *, u32, u32); extern u8 *sub_8096DE8(void); extern void sub_8096A78(struct unkSubStruct_203B2F8 *); extern void sub_8014248(const char *text, u32, u32, struct MenuItem *r0, u32, u32, u32, u32, u32); struct unkStruct_803B344 *sub_803B344(u8); extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32); -extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32); extern void sub_8008C54(u32); extern void sub_80073B8(u32); extern void sub_80073E0(u32); @@ -391,13 +388,13 @@ void sub_802D2A8(void) break; case 0xd: sub_802C750(); - sub_8012D60(gUnknown_203B2F8->unk78,gUnknown_203B2F8->unk118,0,gUnknown_203B2F8->unk198, + sub_8012D60(&gUnknown_203B2F8->unk78,gUnknown_203B2F8->unk118,0,gUnknown_203B2F8->unk198, gUnknown_203B2F8->unk6C,2); break; case 0xe: sub_802C750(); - sub_8012EA4(gUnknown_203B2F8->unk78,0); - sub_8012D60(gUnknown_203B2F8->unkC8,gUnknown_203B2F8->unk158,0,0,4,3); + sub_8012EA4(&gUnknown_203B2F8->unk78,0); + sub_8012D60(&gUnknown_203B2F8->unkC8,gUnknown_203B2F8->unk158,0,0,4,3); break; case 0xf: sub_803B35C(GetJobSlotInfo(gUnknown_203B2F8->jobSlotIndex),&gUnknown_203B2F8->unk14); diff --git a/src/wonder_mail_4.c b/src/wonder_mail_4.c index 305475f5f..d5608e381 100644 --- a/src/wonder_mail_4.c +++ b/src/wonder_mail_4.c @@ -7,6 +7,7 @@ #include "code_8094F88.h" #include "constants/wonder_mail.h" #include "code_802C39C.h" +#include "menu_input.h" struct unkStruct_203B320 { @@ -96,7 +97,6 @@ extern void sub_8013984(u32 *); extern void AddMenuCursorSprite(u32 *); extern s32 sub_8013800(void *, u32); extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32); -extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32); extern void sub_8008C54(u32); extern void sub_80073B8(u32); extern void sub_80073E0(u32); diff --git a/src/wonder_mail_6.c b/src/wonder_mail_6.c index 0768ea868..65db98e1e 100644 --- a/src/wonder_mail_6.c +++ b/src/wonder_mail_6.c @@ -6,6 +6,7 @@ #include "pokemon.h" #include "menu.h" #include "code_8094F88.h" +#include "menu_input.h" extern bool8 HasNoWonderMailType(u32); @@ -14,10 +15,8 @@ struct unkStruct_203B328 // size: 0x11C u32 state; u8 mailIndex; - u32 unk8; - u8 fillC[0x58 - 0xC]; - u32 unk58; - u8 fill5C[0xA8 - 0x5C]; + struct MenuStruct unk8; + struct MenuStruct unk58; struct UnkTextStruct2 unkA8[4]; /* 0x108 */ struct OpenedFile *faceFile; /* 0x10C */ u8 *faceData; @@ -79,7 +78,6 @@ ALIGNED(4) const u8 gUnknown_80E0A0C[] = _( "You don{APOSTROPHE}t have any {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}."); const u8 wonder_mail_6_fill[] = "pksdir0"; -extern void sub_8012CAC(struct UnkTextStruct2 *, const struct MenuItem *); extern void sub_80306A8(s32, u32, u32, u32); extern void sub_80141B4(const char *r0, u32, struct OpenedFile **r1, u32); extern void sub_8031300(void); @@ -97,10 +95,6 @@ extern void sub_8030DE4(); extern void sub_8030810(u32); extern void sub_803092C(void); extern void sub_8030D40(u8, u32); -extern void sub_8012EA4(u32 *, u32); -extern void sub_8012D60(u32 *, const struct MenuItem *, u32, u32, u32, u32); -extern u8 sub_8012FD8(u32 *); -extern void sub_8013114(u32 *, s32 *); extern void sub_8095240(u8); bool8 sub_8030F58(u32 wonderMailType) diff --git a/src/wonder_mail_802DF88.c b/src/wonder_mail_802DF88.c index 35ecb8e56..1e201dedc 100644 --- a/src/wonder_mail_802DF88.c +++ b/src/wonder_mail_802DF88.c @@ -9,6 +9,7 @@ #include "wonder_mail.h" #include "wonder_mail_3.h" #include "code_80958E8.h" +#include "menu_input.h" struct unkStruct_203B2FC { @@ -123,8 +124,6 @@ struct WonderMail *GetJobSlotInfo(u8); extern void sub_8096AF8(u8 *, u32, u32); extern void sub_8096EEC(void); extern void sub_803C21C(struct WonderMail *, u32 *); -extern u8 sub_8012FD8(u8 *); -extern void sub_8013114(u8 *r0, s32 *r1); extern u32 sub_802C598(s32); extern void sub_802C688(void); extern void sub_8096C80(void); @@ -227,7 +226,7 @@ void sub_802D940(void) menuAction = 0; sub_802C598(0); - if ((sub_8012FD8(gUnknown_203B2F8->unk78) == 0) && (sub_8013114(gUnknown_203B2F8->unk78,&menuAction), menuAction != 1)) { + if ((sub_8012FD8(&gUnknown_203B2F8->unk78) == 0) && (sub_8013114(&gUnknown_203B2F8->unk78,&menuAction), menuAction != 1)) { gUnknown_203B2F8->unk6C = menuAction; } @@ -258,9 +257,9 @@ void sub_802D9F0(void) menuAction = 0; sub_802C598(0); - sub_8012FD8(gUnknown_203B2F8->unk78); - if (sub_8012FD8(gUnknown_203B2F8->unkC8) == 0) { - sub_8013114(gUnknown_203B2F8->unkC8,&menuAction); + sub_8012FD8(&gUnknown_203B2F8->unk78); + if (sub_8012FD8(&gUnknown_203B2F8->unkC8) == 0) { + sub_8013114(&gUnknown_203B2F8->unkC8,&menuAction); } switch(menuAction)