From fb07afd55b84200e54066b67e60a0333bc3f51d1 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Sun, 23 Jun 2024 21:43:04 -0700 Subject: [PATCH] lots of documentation --- asm/code_809A560.s | 2 +- data/data_8115F5C.s | 6 +- include/code_801C620.h | 8 +- .../{code_801C244.h => iq_skill_list_menu.h} | 10 +- include/{code_801BEEC.h => iq_skill_menu.h} | 27 +- include/makuhita_dojo1.h | 4 +- include/party_list_menu.h | 55 +++- include/pelipper_board.h | 8 + ld_script.txt | 8 +- src/code_801C620.c | 26 +- src/code_801D014.c | 10 +- src/data/{code_801BEEC.h => iq_skill_menu.h} | 0 src/friend_area_action_menu.c | 6 +- src/friend_list_menu.c | 6 +- src/gulpin_shop_801FB50.c | 8 +- src/{code_801C244.c => iq_skill_list_menu.c} | 18 +- src/{code_801BEEC.c => iq_skill_menu.c} | 108 +++---- src/makuhita_dojo1.c | 4 +- src/party_list_menu.c | 280 +++++++++--------- src/pelipper_board.c | 42 ++- sym_ewram2.txt | 4 +- 21 files changed, 354 insertions(+), 286 deletions(-) rename include/{code_801C244.h => iq_skill_list_menu.h} (73%) rename include/{code_801BEEC.h => iq_skill_menu.h} (51%) rename src/data/{code_801BEEC.h => iq_skill_menu.h} (100%) rename src/{code_801C244.c => iq_skill_list_menu.c} (94%) rename src/{code_801BEEC.c => iq_skill_menu.c} (58%) diff --git a/asm/code_809A560.s b/asm/code_809A560.s index 07268d41c..a10b72d3b 100644 --- a/asm/code_809A560.s +++ b/asm/code_809A560.s @@ -2938,7 +2938,7 @@ _0809C032: ldr r0, [r6] b _0809B972 _0809C036: - bl sub_802FE58 + bl HandleMakuhitaDojoState cmp r0, 0x2 beq _0809C05E cmp r0, 0x3 diff --git a/data/data_8115F5C.s b/data/data_8115F5C.s index d09e85868..6b78c82e4 100644 --- a/data/data_8115F5C.s +++ b/data/data_8115F5C.s @@ -222,21 +222,21 @@ gUnknown_8116298: @ 8116298 .4byte 1 .4byte 0 .4byte MakuhitaDojo_Delete -.4byte sub_802FE58 +.4byte HandleMakuhitaDojoState .global gUnknown_81162A8 gUnknown_81162A8: @ 81162A8 .4byte 1 .4byte 0 .4byte MakuhitaDojo_Delete -.4byte sub_802FE58 +.4byte HandleMakuhitaDojoState .global gUnknown_81162B8 gUnknown_81162B8: @ 81162B8 .4byte 1 .4byte 0 .4byte MakuhitaDojo_Delete - .4byte sub_802FE58 + .4byte HandleMakuhitaDojoState .global gUnknown_81162C8 gUnknown_81162C8: @ 81162C8 diff --git a/include/code_801C620.h b/include/code_801C620.h index 2213cba76..35830ef5c 100644 --- a/include/code_801C620.h +++ b/include/code_801C620.h @@ -20,8 +20,8 @@ struct unkStruct_203B240 MenuInputStructSub unk88; }; -bool8 sub_801C620(u8 iqSkill); -u32 sub_801C674(void); -void sub_801C6B4(void); +bool8 CreateIQSkillInfoMenu(u8 iqSkill); +u32 HandleIQSkillInfoMenuState(void); +void CleanIQSkillInfoMenu(void); -#endif // GUARD_CODE_801C620_H \ No newline at end of file +#endif // GUARD_CODE_801C620_H diff --git a/include/code_801C244.h b/include/iq_skill_list_menu.h similarity index 73% rename from include/code_801C244.h rename to include/iq_skill_list_menu.h index 83153e6f3..4a0d71626 100644 --- a/include/code_801C244.h +++ b/include/iq_skill_list_menu.h @@ -19,11 +19,11 @@ struct unkStruct_203B23C bool8 HasNoAvailIQSkills(s16 species); -bool8 sub_801C244(s16 species, u32 index, u32); -u32 sub_801C308(bool8); -s32 sub_801C390(void); +bool8 CreateIQSkillListMenu(s16 species, u32 index, u32); +u32 HandleIQSkillListMenuInput(bool8); +s32 GetIQSkillSelection(void); void sub_801C3B0(bool8); -void sub_801C3F8(void); -void sub_801C4C8(void); +void CleanIQSkillListMenu(void); +void BuildIQSkillList(void); #endif // GUARD_CODE_801C244_H diff --git a/include/code_801BEEC.h b/include/iq_skill_menu.h similarity index 51% rename from include/code_801BEEC.h rename to include/iq_skill_menu.h index c5d65660d..b00b05f01 100644 --- a/include/code_801BEEC.h +++ b/include/iq_skill_menu.h @@ -1,5 +1,5 @@ -#ifndef GUARD_CODE_801BEEC_H -#define GUARD_CODE_801BEEC_H +#ifndef GUARD_CODE_IQ_SKILL_MENU_H +#define GUARD_CODE_IQ_SKILL_MENU_H #include "constants/iq_skill.h" #include "structs/menu.h" @@ -13,7 +13,7 @@ struct unkStruct_203B238 /* 0x4 */ s16 species; /* 0x8 */ PokemonStruct1 *pokeStruct; /* 0xC */ u8 iqSkills[NUM_IQ_SKILLS]; - u32 unk24; + /* 0x24 */ u32 menuIndex; /* 0x28 */ u8 iqSkillIndex; /* 0x2C */ u32 numIQSkills; /* 0x30 */ s32 menuAction; @@ -22,8 +22,23 @@ struct unkStruct_203B238 UnkTextStruct2 unkC4[4]; }; -bool8 sub_801BEEC(s16 species); +bool8 CreateIQSkillMenu(s16 species); u32 sub_801BF48(void); -void sub_801BF98(void); +void CleanIQSkillMenu(void); -#endif // GUARD_CODE_801BEEC_H \ No newline at end of file +enum IQSkillMenuStates +{ + IQ_SKILL_MENU_STATE_INIT, + IQ_SKILL_MENU_STATE_MAIN, + IQ_SKILL_MENU_STATE_INFO = 3, + IQ_SKILL_MENU_STATE_EXIT +}; + +enum IQSkillMenuActions +{ + IQ_SKILL_MENU_NULL = 1, + IQ_SKILL_MENU_SWITCH, + IQ_SKILL_MENU_INFO, +}; + +#endif // GUARD_CODE_IQ_SKILL_MENU_H diff --git a/include/makuhita_dojo1.h b/include/makuhita_dojo1.h index ffd0f420a..15950be8d 100644 --- a/include/makuhita_dojo1.h +++ b/include/makuhita_dojo1.h @@ -43,7 +43,7 @@ typedef struct MakuhitaDojoWork1 void MakuhitaDojo_Delete(void); bool8 MakuhitaDojo_New(u32 mode); -u32 sub_802FE58(void); +u32 HandleMakuhitaDojoState(void); s16 sub_802FED0(void); -#endif // GUARD_MAKUHITA_DOJO1_H \ No newline at end of file +#endif // GUARD_MAKUHITA_DOJO1_H diff --git a/include/party_list_menu.h b/include/party_list_menu.h index 0ff829134..3db582c1b 100644 --- a/include/party_list_menu.h +++ b/include/party_list_menu.h @@ -35,9 +35,58 @@ typedef struct unkStruct_203B2B8 UnkTextStruct2 unk220[4]; } unkStruct_203B2B8; -bool8 sub_8025EF4(PokemonStruct1 *pokeStruct); +bool8 CreatePartyListMenu(PokemonStruct1 *pokeStruct); u32 sub_8025F68(void); bool8 sub_802604C(void); -void sub_8026058(void); +void CleanPartyListMenu(void); -#endif // GUARD_PARTY_LIST_MENU_H \ No newline at end of file +enum PartyListMenuStates +{ + PARTY_LIST_STATE_INIT, + PARTY_LIST_STATE_MAIN_MENU, + PARTY_LIST_STATE_MAIN_MENU_1, + PARTY_LIST_STATE_SUMMARY = 3, + PARTY_LIST_STATE_CHECK_IQ = 4, + PARTY_LIST_STATE_JOIN_TEAM = 5, + PARTY_LIST_STATE_STANDBY = 6, + PARTY_LIST_STATE_MAKE_LEADER = 7, + PARTY_LIST_STATE_POKEMON_FAREWELL = 8, + // 9 + // 0xA + // 0xB + PARTY_LIST_STATE_SAY_FAREWELL = 0xC, + PARTY_LIST_STATE_CONFIRM_SAY_FAREWELL = 0xD, + PARTY_LIST_STATE_GIVE_GUMMI = 0xe, + PARTY_LIST_STATE_GIVEN_ITEM = 0xF, + PARTY_LIST_STATE_GIVEN_ITEM_HELD_ITEM = 0x10, + PARTY_LIST_STATE_TAKE_ITEM = 0x11, + PARTY_LIST_STATE_GIVE_ITEM = 0x12, + PARTY_LIST_STATE_GIVE_ITEM_1 = 0x13, + // 0x14 + // 0x15 + PARTY_LIST_STATE_MOVES = 0x16, + // 0x17 + // 0x18 + PARTY_LIST_STATE_EXIT = 0x19, + +}; + +enum PartyListMenuActions +{ + PARTY_LIST_MENU_NULL = 1, + PARTY_LIST_MENU_YES, + PARTY_LIST_MENU_NO, + PARTY_LIST_MENU_INFO = 4, + PARTY_LIST_MENU_SUMMARY = 4, + PARTY_LIST_MENU_CHECK_IQ, + PARTY_LIST_MENU_JOIN_TEAM, + PARTY_LIST_MENU_STANDBY, + PARTY_LIST_MENU_MAKE_LEADER, + PARTY_LIST_MENU_SAY_FAREWELL, + PARTY_LIST_MENU_GIVE_GUMMI, + PARTY_LIST_MENU_GIVE_ITEM, + PARTY_LIST_MENU_TAKE_ITEM, + PARTY_LIST_MENU_MOVES, +}; + +#endif // GUARD_PARTY_LIST_MENU_H diff --git a/include/pelipper_board.h b/include/pelipper_board.h index 646d55e6e..1cf8b70ca 100644 --- a/include/pelipper_board.h +++ b/include/pelipper_board.h @@ -28,3 +28,11 @@ enum PelipperBoardStates PELIPPER_JOB_LIST_MENU, }; +enum PelipperBoardActions +{ + PELIPPER_BOARD_NULL = 1, + PELIPPER_BOARD_BULLETIN_BOARD, + PELIPPER_BOARD_JOB_LIST, + PELIPPER_BOARD_ACCEPT, + PELIPPER_BOARD_INFO, +}; diff --git a/ld_script.txt b/ld_script.txt index 97394fda4..6e15a1ec8 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -115,8 +115,8 @@ SECTIONS { src/code_801AFA4.o(.text); src/code_801B3C0.o(.text); src/code_801B60C.o(.text); - src/code_801BEEC.o(.text); - src/code_801C244.o(.text); + src/iq_skill_menu.o(.text); + src/iq_skill_list_menu.o(.text); src/code_801C620.o(.text); src/code_801C8C4.o(.text); src/code_801D014.o(.text); @@ -453,8 +453,8 @@ SECTIONS { src/code_801AFA4.o(.rodata); src/code_801B3C0.o(.rodata); src/code_801B60C.o(.rodata); - src/code_801BEEC.o(.rodata); - src/code_801C244.o(.rodata); + src/iq_skill_menu.o(.rodata); + src/iq_skill_list_menu.o(.rodata); src/code_801C620.o(.rodata); src/code_801C8C4.o(.rodata); src/code_801D014.o(.rodata); diff --git a/src/code_801C620.c b/src/code_801C620.c index b45b3c7d5..496bfa1fe 100644 --- a/src/code_801C620.c +++ b/src/code_801C620.c @@ -19,12 +19,12 @@ static EWRAM_DATA_2 struct unkStruct_203B240 *sUnknown_203B240 = {0}; #include "data/code_801C620.h" -static void sub_801C6D0(s32 newState); +static void SetIQSkillInfoMenuState(s32 newState); static void sub_801C6E4(void); static void sub_801C7D4(void); static void sub_801C848(void); -bool8 sub_801C620(u8 iqSkill) +bool8 CreateIQSkillInfoMenu(u8 iqSkill) { ResetSprites(TRUE); @@ -35,11 +35,11 @@ bool8 sub_801C620(u8 iqSkill) sub_80140B4(sUnknown_203B240->unk28); ResetUnusedInputStruct(); sub_800641C(sUnknown_203B240->unk28, TRUE, TRUE); - sub_801C6D0(0); + SetIQSkillInfoMenuState(0); return TRUE; } -u32 sub_801C674(void) +u32 HandleIQSkillInfoMenuState(void) { switch (sUnknown_203B240->state) { case 0: @@ -57,7 +57,7 @@ u32 sub_801C674(void) return 0; } -void sub_801C6B4(void) +void CleanIQSkillInfoMenu(void) { if (sUnknown_203B240 != NULL) { MemoryFree(sUnknown_203B240); @@ -65,7 +65,7 @@ void sub_801C6B4(void) } } -static void sub_801C6D0(s32 newState) +static void SetIQSkillInfoMenuState(s32 newState) { sUnknown_203B240->state = newState; sub_801C6E4(); @@ -118,14 +118,14 @@ static void sub_801C7D4(void) if (sUnknown_203B240->unkC != 0) { sUnknown_203B240->unk8 = 0; - sub_801C6D0(1); + SetIQSkillInfoMenuState(1); } else - sub_801C6D0(3); + SetIQSkillInfoMenuState(3); break; case 2: PlayMenuSoundEffect(1); - sub_801C6D0(2); + SetIQSkillInfoMenuState(2); break; } } @@ -145,13 +145,13 @@ static void sub_801C848(void) sUnknown_203B240->unk8++; if (sUnknown_203B240->unk8 < sUnknown_203B240->unkC) - sub_801C6D0(1); + SetIQSkillInfoMenuState(1); else - sub_801C6D0(0); + SetIQSkillInfoMenuState(0); break; case 2: PlayMenuSoundEffect(1); - sub_801C6D0(2); + SetIQSkillInfoMenuState(2); break; } -} \ No newline at end of file +} diff --git a/src/code_801D014.c b/src/code_801D014.c index db3786ec1..5689d25d8 100644 --- a/src/code_801D014.c +++ b/src/code_801D014.c @@ -3,7 +3,7 @@ #include "bg_palette_buffer.h" #include "code_800D090.h" #include "code_80130A8.h" -#include "code_801BEEC.h" +#include "iq_skill_menu.h" #include "code_801D014.h" #include "code_80227B8.h" #include "code_8023868.h" @@ -264,7 +264,7 @@ static void sub_801D3A8(void) sub_8027074(); break; case 5: - sub_8025EF4(sUnknown_203B250->pokeStruct); + CreatePartyListMenu(sUnknown_203B250->pokeStruct); break; case 6: sub_80252F0(0); @@ -276,7 +276,7 @@ static void sub_801D3A8(void) sub_8024458(sUnknown_203B250->index, 2); break; case 9: - sub_801BEEC(sUnknown_203B250->index); + CreateIQSkillMenu(sUnknown_203B250->index); break; case 10: sub_8021774(sUnknown_203B250->currFriendAreaLocation, TRUE, 2); @@ -462,7 +462,7 @@ static void sub_801D798(void) if (sub_802604C()) sUnknown_203B250->unk7 = sUnknown_203B250->currFriendAreaLocation; - sub_8026058(); + CleanPartyListMenu(); sub_801D208(2); break; } @@ -512,7 +512,7 @@ static void sub_801D824(void) break; case 2: case 3: - sub_801BF98(); + CleanIQSkillMenu(); sub_801D208(1); break; } diff --git a/src/data/code_801BEEC.h b/src/data/iq_skill_menu.h similarity index 100% rename from src/data/code_801BEEC.h rename to src/data/iq_skill_menu.h diff --git a/src/friend_area_action_menu.c b/src/friend_area_action_menu.c index 182bdde94..47c4672c4 100644 --- a/src/friend_area_action_menu.c +++ b/src/friend_area_action_menu.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "code_80130A8.h" #include "code_801B3C0.h" -#include "code_801BEEC.h" +#include "iq_skill_menu.h" #include "code_801EE10.h" #include "code_801EE10_mid.h" #include "code_8023868.h" @@ -191,7 +191,7 @@ void sub_8027274(void) sub_8024458(sUnknown_203B2BC->targetPoke, 2); break; case FRIEND_AREA_ACTION_MENU_CHECK_IQ: - sub_801BEEC(sUnknown_203B2BC->targetPoke); + CreateIQSkillMenu(sUnknown_203B2BC->targetPoke); break; case 10: sub_801A5D8(1, 0, NULL, 10); @@ -512,7 +512,7 @@ void sub_8027A5C(void) { case 2: case 3: - sub_801BF98(); + CleanIQSkillMenu(); SetFriendAreaActionMenuState(FRIEND_AREA_ACTION_MENU_MAIN_2); break; case 0: diff --git a/src/friend_list_menu.c b/src/friend_list_menu.c index 0f64938ed..1df9caad3 100644 --- a/src/friend_list_menu.c +++ b/src/friend_list_menu.c @@ -4,7 +4,7 @@ #include "code_80130A8.h" #include "code_801602C.h" #include "code_801B3C0.h" -#include "code_801BEEC.h" +#include "iq_skill_menu.h" #include "code_801EE10.h" #include "code_801EE10_mid.h" #include "code_8023868.h" @@ -237,7 +237,7 @@ void sub_8025518(void) sub_8024458(gUnknown_203B2B4->species,2); break; case 5: - sub_801BEEC(gUnknown_203B2B4->species); + CreateIQSkillMenu(gUnknown_203B2B4->species); break; case 0xb: sub_801A5D8(1, 0, NULL, 10); @@ -505,7 +505,7 @@ void sub_8025BE8(void) { case 2: case 3: - sub_801BF98(); + CleanIQSkillMenu(); sub_8025434(2); break; case 0: diff --git a/src/gulpin_shop_801FB50.c b/src/gulpin_shop_801FB50.c index f3bf8a0a5..65806d6b4 100644 --- a/src/gulpin_shop_801FB50.c +++ b/src/gulpin_shop_801FB50.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "code_80118A4.h" #include "code_80130A8.h" -#include "code_801BEEC.h" +#include "iq_skill_menu.h" #include "code_801EE10.h" #include "code_801EE10_mid.h" #include "code_8023868.h" @@ -307,7 +307,7 @@ static void sub_801FF28(void) sub_8024458(gUnknown_203B27C->speciesNum,2); break; case 0x13: - sub_801BEEC(gUnknown_203B27C->speciesNum); + CreateIQSkillMenu(gUnknown_203B27C->speciesNum); break; case 0x14: gUnknown_203B27C->fallbackState = 0x15; @@ -762,7 +762,7 @@ static void sub_8020C48(void) { case 2: case 3: - sub_801BF98(); + CleanIQSkillMenu(); sub_801FDA8(0x10); break; case 0: @@ -1076,4 +1076,4 @@ static bool8 sub_8021178(void) if (count == 0) return TRUE; else return FALSE; -} \ No newline at end of file +} diff --git a/src/code_801C244.c b/src/iq_skill_list_menu.c similarity index 94% rename from src/code_801C244.c rename to src/iq_skill_list_menu.c index a56a22adb..4e0c0faf0 100644 --- a/src/code_801C244.c +++ b/src/iq_skill_list_menu.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "code_80118A4.h" #include "code_80130A8.h" -#include "code_801C244.h" +#include "iq_skill_list_menu.h" #include "input.h" #include "memory.h" #include "menu_input.h" @@ -18,7 +18,7 @@ static EWRAM_DATA_2 struct unkStruct_203B23C *sUnknown_203B23C = {0}; static void sub_801C440(void); -bool8 sub_801C244(s16 species, u32 index, u32 a2) +bool8 CreateIQSkillListMenu(s16 species, u32 index, u32 a2) { #ifndef NONMATCHING register s32 species_s32 asm("r4"); @@ -47,11 +47,11 @@ bool8 sub_801C244(s16 species, u32 index, u32 a2) sub_800641C(sUnknown_203B23C->s24.s0.unk3C, TRUE, TRUE); sub_8013818(&sUnknown_203B23C->s24.s0.input, sUnknown_203B23C->numIQSkills, a2, index); sub_801C440(); - sub_801C4C8(); + BuildIQSkillList(); return TRUE; } -u32 sub_801C308(bool8 a0) +u32 HandleIQSkillListMenuInput(bool8 a0) { if (!a0) { sub_8013660(&sUnknown_203B23C->s24.s0.input); @@ -71,14 +71,14 @@ u32 sub_801C308(bool8 a0) default: if (sub_80138B8(&sUnknown_203B23C->s24.s0.input, 1) != 0) { sub_801C440(); - sub_801C4C8(); + BuildIQSkillList(); return 1; } return 0; } } -s32 sub_801C390(void) +s32 GetIQSkillSelection(void) { return (sUnknown_203B23C->s24.s0.input.unk1E * sUnknown_203B23C->s24.s0.input.unk1C) + sUnknown_203B23C->s24.s0.input.menuIndex; } @@ -90,13 +90,13 @@ void sub_801C3B0(bool8 r0) sUnknown_203B23C->s24.s0.input.unk22 = sUnknown_203B23C->numIQSkills; sub_8013984(&sUnknown_203B23C->s24.s0.input); sub_801C440(); - sub_801C4C8(); + BuildIQSkillList(); if (r0) AddMenuCursorSprite(&sUnknown_203B23C->s24.s0.input); } -void sub_801C3F8(void) +void CleanIQSkillListMenu(void) { if (sUnknown_203B23C != NULL) { sUnknown_203B23C->s24.s0.unk3C[sUnknown_203B23C->s24.s0.unk34] = sUnknown_80DBDD8; @@ -119,7 +119,7 @@ static void sub_801C440(void) SUB_80095E4_CALL_2(sUnknown_203B23C->s24.s0); } -void sub_801C4C8(void) +void BuildIQSkillList(void) { u32 y; s32 x; diff --git a/src/code_801BEEC.c b/src/iq_skill_menu.c similarity index 58% rename from src/code_801BEEC.c rename to src/iq_skill_menu.c index 6452482a5..1e3c93c4a 100644 --- a/src/code_801BEEC.c +++ b/src/iq_skill_menu.c @@ -1,8 +1,8 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_801BEEC.h" -#include "code_801C244.h" +#include "iq_skill_menu.h" +#include "iq_skill_list_menu.h" #include "code_801C620.h" #include "common_strings.h" #include "input.h" @@ -14,17 +14,17 @@ static EWRAM_DATA_2 struct unkStruct_203B238 *sUnknown_203B238 = {0}; -#include "data/code_801BEEC.h" +#include "data/iq_skill_menu.h" -static void sub_801BFB4(s32 newState); +static void SetIQSkillMenuState(s32 newState); static void sub_801BFCC(void); -static void sub_801C03C(void); -static void sub_801C0C8(void); +static void HandleIQSkillMenuState(void); +static void BuildIQSkillMenuActions(void); static void sub_801C118(void); static void sub_801C1A0(void); -static void sub_801C228(void); +static void HandleIQSkillMenuInfo(void); -bool8 sub_801BEEC(s16 species) +bool8 CreateIQSkillMenu(s16 species) { s32 species_s32 = species; @@ -36,30 +36,30 @@ bool8 sub_801BEEC(s16 species) sUnknown_203B238->species = species_s32; sUnknown_203B238->pokeStruct = &gRecruitedPokemonRef->pokemon[species_s32]; sUnknown_203B238->numIQSkills = GetNumAvailableIQSkills(sUnknown_203B238->iqSkills, sUnknown_203B238->pokeStruct->IQ); - sub_801BFB4(0); + SetIQSkillMenuState(IQ_SKILL_MENU_STATE_INIT); return TRUE; } u32 sub_801BF48(void) { switch (sUnknown_203B238->state) { - case 4: + case IQ_SKILL_MENU_STATE_EXIT: return 3; - case 0: - case 1: + case IQ_SKILL_MENU_STATE_INIT: + case IQ_SKILL_MENU_STATE_MAIN: sub_801C118(); break; case 2: sub_801C1A0(); break; - case 3: - sub_801C228(); + case IQ_SKILL_MENU_STATE_INFO: + HandleIQSkillMenuInfo(); break; } return 0; } -void sub_801BF98(void) +void CleanIQSkillMenu(void) { if (sUnknown_203B238 != NULL) { MemoryFree(sUnknown_203B238); @@ -67,11 +67,11 @@ void sub_801BF98(void) } } -static void sub_801BFB4(s32 newState) +static void SetIQSkillMenuState(s32 newState) { sUnknown_203B238->state = newState; sub_801BFCC(); - sub_801C03C(); + HandleIQSkillMenuState(); } static void sub_801BFCC(void) @@ -91,29 +91,29 @@ static void sub_801BFCC(void) sub_800641C(sUnknown_203B238->unkC4, TRUE, TRUE); } -static void sub_801C03C(void) +static void HandleIQSkillMenuState(void) { switch (sUnknown_203B238->state) { - case 0: - sub_801C244(sUnknown_203B238->species, 0, 8); + case IQ_SKILL_MENU_STATE_INIT: + CreateIQSkillListMenu(sUnknown_203B238->species, 0, 8); break; - case 1: + case IQ_SKILL_MENU_STATE_MAIN: sub_801C3B0(TRUE); break; case 2: - sub_801C4C8(); - sub_801C0C8(); - sub_8012D60(&sUnknown_203B238->unk74, sUnknown_203B238->unk34, 0, 0, sUnknown_203B238->menuAction, 2); + BuildIQSkillList(); // Build list of IQ Skills + BuildIQSkillMenuActions(); + sub_8012D60(&sUnknown_203B238->unk74, sUnknown_203B238->unk34, NULL, NULL, sUnknown_203B238->menuAction, 2); break; - case 3: - sub_801C620(sUnknown_203B238->iqSkillIndex); + case IQ_SKILL_MENU_STATE_INFO: + CreateIQSkillInfoMenu(sUnknown_203B238->iqSkillIndex); break; - case 4: + case IQ_SKILL_MENU_STATE_EXIT: break; } } -static void sub_801C0C8(void) +static void BuildIQSkillMenuActions(void) { struct unkStruct_203B238 *puVar1; s32 i; @@ -125,11 +125,11 @@ static void sub_801C0C8(void) nullText = NULL; sUnknown_203B238->unk34[0].text = sSwitch; - puVar1->unk34[0].menuAction = 2; + puVar1->unk34[0].menuAction = IQ_SKILL_MENU_SWITCH; - menuAction = 1; + menuAction = IQ_SKILL_MENU_NULL; puVar1->unk34[1].text = gCommonInfo[0]; - puVar1->unk34[1].menuAction = 3; + puVar1->unk34[1].menuAction = IQ_SKILL_MENU_INFO; max = 2; puVar1->unk34[2].text = nullText; @@ -140,25 +140,25 @@ static void sub_801C0C8(void) return; } - sUnknown_203B238->menuAction = 2; + sUnknown_203B238->menuAction = IQ_SKILL_MENU_SWITCH; } static void sub_801C118(void) { - switch (sub_801C308(TRUE)) { + switch (HandleIQSkillListMenuInput(TRUE)) { case 3: - sUnknown_203B238->unk24 = sub_801C390(); - sUnknown_203B238->iqSkillIndex = sUnknown_203B238->iqSkills[sUnknown_203B238->unk24]; - sub_801BFB4(2); + sUnknown_203B238->menuIndex = GetIQSkillSelection(); + sUnknown_203B238->iqSkillIndex = sUnknown_203B238->iqSkills[sUnknown_203B238->menuIndex]; + SetIQSkillMenuState(2); break; case 4: - sUnknown_203B238->unk24 = sub_801C390(); - sUnknown_203B238->iqSkillIndex = sUnknown_203B238->iqSkills[sUnknown_203B238->unk24]; - sub_801BFB4(3); + sUnknown_203B238->menuIndex = GetIQSkillSelection(); + sUnknown_203B238->iqSkillIndex = sUnknown_203B238->iqSkills[sUnknown_203B238->menuIndex]; + SetIQSkillMenuState(IQ_SKILL_MENU_STATE_INFO); break; case 2: - sub_801C3F8(); - sub_801BFB4(4); + CleanIQSkillListMenu(); + SetIQSkillMenuState(IQ_SKILL_MENU_STATE_EXIT); break; case 0: case 1: @@ -171,39 +171,39 @@ static void sub_801C1A0(void) s32 menuAction; menuAction = 0; - sub_801C308(FALSE); + HandleIQSkillListMenuInput(FALSE); if (!sub_8012FD8(&sUnknown_203B238->unk74)) { sub_8013114(&sUnknown_203B238->unk74, &menuAction); - if (menuAction != 1) + if (menuAction != IQ_SKILL_MENU_NULL) sUnknown_203B238->menuAction = menuAction; } switch (menuAction) { - case 2: + case IQ_SKILL_MENU_SWITCH: // Switch PlaySound(307); ToggleIQSkill((u8 *)&sUnknown_203B238->pokeStruct->IQSkills, sUnknown_203B238->iqSkillIndex); - sub_801BFB4(1); + SetIQSkillMenuState(IQ_SKILL_MENU_STATE_MAIN); break; - case 3: - sub_801BFB4(3); + case IQ_SKILL_MENU_INFO: // Info + SetIQSkillMenuState(IQ_SKILL_MENU_STATE_INFO); break; - case 1: - sub_801BFB4(1); + case IQ_SKILL_MENU_NULL: + SetIQSkillMenuState(IQ_SKILL_MENU_STATE_MAIN); break; } } -static void sub_801C228(void) +static void HandleIQSkillMenuInfo(void) { - switch (sub_801C674()) { + switch (HandleIQSkillInfoMenuState()) { case 2: case 3: - sub_801C6B4(); - sub_801BFB4(1); + CleanIQSkillInfoMenu(); + SetIQSkillMenuState(IQ_SKILL_MENU_STATE_MAIN); case 0: case 1: break; } -} \ No newline at end of file +} diff --git a/src/makuhita_dojo1.c b/src/makuhita_dojo1.c index 715711d70..d45b607f7 100644 --- a/src/makuhita_dojo1.c +++ b/src/makuhita_dojo1.c @@ -105,7 +105,7 @@ bool8 MakuhitaDojo_New(u32 mode) return TRUE; } -u32 sub_802FE58(void) +u32 HandleMakuhitaDojoState(void) { switch (sMakuhitaDojoWork1->state) { case 0: @@ -316,4 +316,4 @@ static void MakuhitaDojo_GoToFallbackState(void) s32 temp; if (sub_80144A4(&temp) == 0) MakuhitaDojo_SetState(sMakuhitaDojoWork1->fallbackState); -} \ No newline at end of file +} diff --git a/src/party_list_menu.c b/src/party_list_menu.c index 9ead7ff07..e8b5abba5 100644 --- a/src/party_list_menu.c +++ b/src/party_list_menu.c @@ -4,7 +4,7 @@ #include "code_80118A4.h" #include "code_80130A8.h" #include "code_801B3C0.h" -#include "code_801BEEC.h" +#include "iq_skill_menu.h" #include "code_801EE10.h" #include "code_801EE10_mid.h" #include "code_80227B8.h" @@ -44,30 +44,30 @@ bool8 sub_8026EB8(PokemonStruct1 *r0); void sub_8026E08(u32 r0); void sub_8026DAC(u32 r0, BulkItem *item); void sub_8026FA4(void); -void sub_8026878(void); +void PartyListMenu_BuildYesNoMenu(void); extern void sub_808D31C(PokemonStruct1 *); -void sub_802678C(void); -void sub_80264CC(void); -void sub_80261D0(void); +void PartyListMenu_CreateMenu2(void); +void PartyListMenu_CreateMenu1(void); +void HandlePartyListMenuCallback(void); -void sub_80268CC(void); +void PartyListMenu_HandleMenu1(void); void sub_8026A78(void); void sub_8026A94(void); void sub_8026AB0(void); void sub_8026B10(void); void sub_8026B48(void); void sub_8026B64(void); -void sub_8026C14(void); +void PartyListMenu_HandleMenu2(void); void sub_8026CF0(void); void sub_8026D0C(void); void sub_8026D6C(void); -void sub_8026D88(void); +void PartyListMenu_GotoFallbackState(void); -static void sub_8026074(s32 newState); +static void SetPartyListMenuState(s32 newState); static void sub_802608C(void); -bool8 sub_8025EF4(PokemonStruct1 *pokeStruct) +bool8 CreatePartyListMenu(PokemonStruct1 *pokeStruct) { s32 i; @@ -85,46 +85,46 @@ bool8 sub_8025EF4(PokemonStruct1 *pokeStruct) sUnknown_203B2B8->menuAction2 = 0; sUnknown_203B2B8->menuAction3 = 0; sUnknown_203B2B8->unk8 = FALSE; - sub_8026074(0); + SetPartyListMenuState(PARTY_LIST_STATE_INIT); return TRUE; } u32 sub_8025F68(void) { switch (sUnknown_203B2B8->state) { - case 0: - sub_8026074(1); + case PARTY_LIST_STATE_INIT: + SetPartyListMenuState(PARTY_LIST_STATE_MAIN_MENU); break; - case 1: - case 2: - sub_80268CC(); + case PARTY_LIST_STATE_MAIN_MENU: + case PARTY_LIST_STATE_MAIN_MENU_1: + PartyListMenu_HandleMenu1(); break; - case 3: + case PARTY_LIST_STATE_SUMMARY: sub_8026A78(); break; - case 4: + case PARTY_LIST_STATE_CHECK_IQ: sub_8026A94(); break; - case 0xc: + case PARTY_LIST_STATE_SAY_FAREWELL: sub_8026AB0(); break; - case 0xd: + case PARTY_LIST_STATE_CONFIRM_SAY_FAREWELL: sub_8026B10(); break; - case 0xe: + case PARTY_LIST_STATE_GIVE_GUMMI: sub_8026B48(); break; - case 0x12: - case 0x13: + case PARTY_LIST_STATE_GIVE_ITEM: + case PARTY_LIST_STATE_GIVE_ITEM_1: sub_8026B64(); break; case 0x14: - sub_8026C14(); + PartyListMenu_HandleMenu2(); break; case 0x15: sub_8026CF0(); break; - case 0x16: + case PARTY_LIST_STATE_MOVES: case 0x17: sub_8026D0C(); break; @@ -132,9 +132,9 @@ u32 sub_8025F68(void) sub_8026D6C(); break; default: - sub_8026D88(); + PartyListMenu_GotoFallbackState(); break; - case 0x19: + case PARTY_LIST_STATE_EXIT: return 3; } return 0; @@ -145,7 +145,7 @@ bool8 sub_802604C(void) return sUnknown_203B2B8->unk8; } -void sub_8026058(void) +void CleanPartyListMenu(void) { if (sUnknown_203B2B8) { MemoryFree(sUnknown_203B2B8); @@ -153,11 +153,11 @@ void sub_8026058(void) } } -static void sub_8026074(s32 newState) +static void SetPartyListMenuState(s32 newState) { sUnknown_203B2B8->state = newState; sub_802608C(); - sub_80261D0(); + HandlePartyListMenuCallback(); } static void sub_802608C(void) @@ -166,21 +166,21 @@ static void sub_802608C(void) sub_8006518(sUnknown_203B2B8->unk220); switch(sUnknown_203B2B8->state) { - case 1: - case 2: + case PARTY_LIST_STATE_MAIN_MENU: + case PARTY_LIST_STATE_MAIN_MENU_1: for(index = 0; index < 4; index++) { sUnknown_203B2B8->unk220[index] = sUnknown_80DD310; } sUnknown_203B2B8->unk220[0] = sUnknown_80DD358; sUnknown_203B2B8->unk220[3] = sUnknown_80DD370; - sub_80264CC(); + PartyListMenu_CreateMenu1(); sUnknown_203B2B8->unk220[2] = sUnknown_80DD328; sub_8012CAC(&sUnknown_203B2B8->unk220[2], sUnknown_203B2B8->unk16C); sUnknown_203B2B8->unk220[2].unkC = 9; break; case 0x14: - sub_802678C(); + PartyListMenu_CreateMenu2(); sUnknown_203B2B8->unk220[2] = sUnknown_80DD340; sub_8012CAC(&sUnknown_203B2B8->unk220[2], sUnknown_203B2B8->unk16C); break; @@ -195,38 +195,38 @@ static void sub_802608C(void) sub_800641C(sUnknown_203B2B8->unk220, TRUE, TRUE); } -void sub_80261D0(void) +void HandlePartyListMenuCallback(void) { Item item; switch(sUnknown_203B2B8->state) { - case 1: + case PARTY_LIST_STATE_MAIN_MENU: sub_8026E08(3); sub_8026DAC(0,&sUnknown_203B2B8->item2); PrintColoredPokeNameToBuffer(gAvailablePokemonNames,sUnknown_203B2B8->pokeStruct,7); PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 0x50,sUnknown_203B2B8->pokeStruct,6); sub_8012D60(&sUnknown_203B2B8->unk7C,sUnknown_203B2B8->unk16C,0,sUnknown_203B2B8->unk20C,sUnknown_203B2B8->menuAction1,2); break; - case 2: + case PARTY_LIST_STATE_MAIN_MENU_1: sub_8026E08(3); sub_8026DAC(0,&sUnknown_203B2B8->item2); PrintColoredPokeNameToBuffer(gAvailablePokemonNames,sUnknown_203B2B8->pokeStruct,7); PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 0x50,sUnknown_203B2B8->pokeStruct,6); sub_8012EA4(&sUnknown_203B2B8->unk7C,1); break; - case 3: + case PARTY_LIST_STATE_SUMMARY: sub_8024458(sUnknown_203B2B8->pokeSpecies,2); break; - case 4: - sub_801BEEC(sUnknown_203B2B8->pokeSpecies); + case PARTY_LIST_STATE_CHECK_IQ: + CreateIQSkillMenu(sUnknown_203B2B8->pokeSpecies); break; - case 0xe: + case PARTY_LIST_STATE_GIVE_GUMMI: sub_80227B8(sUnknown_203B2B8->pokeStruct); break; - case 0x12: + case PARTY_LIST_STATE_GIVE_ITEM: sub_801A5D8(1,0,NULL,10); break; - case 0x13: + case PARTY_LIST_STATE_GIVE_ITEM_1: sub_801A8D0(TRUE); break; case 0x14: @@ -237,41 +237,41 @@ void sub_80261D0(void) HeldItemToSlot(&item,&sUnknown_203B2B8->item1); sub_801B3C0(&item); break; - case 0x16: + case PARTY_LIST_STATE_MOVES: unk_CopyMoves4To8(sUnknown_203B2B8->moves,sUnknown_203B2B8->pokeStruct->moves); sub_801EE10(3,sUnknown_203B2B8->pokeSpecies,sUnknown_203B2B8->moves,0,NULL,0); break; case 0x17: sub_801F1B0(TRUE, FALSE); break; - case 0xc: - sub_8026878(); + case PARTY_LIST_STATE_SAY_FAREWELL: + PartyListMenu_BuildYesNoMenu(); sub_8014248(sUnknown_80DD388,0,3,sUnknown_203B2B8->unk1BC,0,4,0,0,0x101); break; - case 0xd: - sub_8026878(); + case PARTY_LIST_STATE_CONFIRM_SAY_FAREWELL: + PartyListMenu_BuildYesNoMenu(); sub_8014248(sUnknown_80DD420,0,3,sUnknown_203B2B8->unk1BC,0,4,0,0,0x101); break; case 0x18: GetLinkedSequence(sUnknown_203B2B8->moveIndex, sUnknown_203B2B8->moves,sUnknown_203B2B8->moveIDs); sub_801F808(sUnknown_203B2B8->moveIDs); break; - case 5: - sUnknown_203B2B8->fallbackState = 0x19; + case PARTY_LIST_STATE_JOIN_TEAM: + sUnknown_203B2B8->fallbackState = PARTY_LIST_STATE_EXIT; PlaySound(0xcf); sub_80141B4(sUnknown_80DD4C4,0,0,0x101); break; - case 6: - sUnknown_203B2B8->fallbackState = 0x19; + case PARTY_LIST_STATE_STANDBY: + sUnknown_203B2B8->fallbackState = PARTY_LIST_STATE_EXIT; PlaySound(0xcf); sub_80141B4(sUnknown_80DD4F4,0,0,0x101); break; - case 7: - sUnknown_203B2B8->fallbackState = 0x19; + case PARTY_LIST_STATE_MAKE_LEADER: + sUnknown_203B2B8->fallbackState = PARTY_LIST_STATE_EXIT; PlaySound(0xcc); sub_80141B4(sBecameLeader,0,0,0x101); break; - case 8: + case PARTY_LIST_STATE_POKEMON_FAREWELL: sUnknown_203B2B8->fallbackState = 9; PlaySound(0xca); sub_80141B4(sUnknown_80DD564,0,0,0x101); @@ -281,33 +281,33 @@ void sub_80261D0(void) sub_808D31C(sUnknown_203B2B8->pokeStruct); sUnknown_203B2B8->unk8 = TRUE; break; - case 0xf: - sUnknown_203B2B8->fallbackState = 2; + case PARTY_LIST_STATE_GIVEN_ITEM: + sUnknown_203B2B8->fallbackState = PARTY_LIST_STATE_MAIN_MENU_1; sub_80141B4(sUnknown_80DD594,0,0,0x101); break; - case 0x10: - sUnknown_203B2B8->fallbackState = 2; + case PARTY_LIST_STATE_GIVEN_ITEM_HELD_ITEM: + sUnknown_203B2B8->fallbackState = PARTY_LIST_STATE_MAIN_MENU_1; sub_80141B4(sUnknown_80DD5B8,0,0,0x101); break; - case 0x11: - sUnknown_203B2B8->fallbackState = 2; + case PARTY_LIST_STATE_TAKE_ITEM: + sUnknown_203B2B8->fallbackState = PARTY_LIST_STATE_MAIN_MENU_1; sub_80141B4(sUnknown_80DD60C,0,0,0x101); break; case 10: - sUnknown_203B2B8->fallbackState = 0x19; + sUnknown_203B2B8->fallbackState = PARTY_LIST_STATE_EXIT; sub_80141B4(sUnknown_80DD60C,0,0,0x101); break; case 0xb: - sUnknown_203B2B8->fallbackState = 0x19; + sUnknown_203B2B8->fallbackState = PARTY_LIST_STATE_EXIT; sub_80141B4(sUnknown_80DD63C,0,0,0x101); break; - case 0: - case 0x19: + case PARTY_LIST_STATE_INIT: + case PARTY_LIST_STATE_EXIT: break; } } -void sub_80264CC(void) { +void PartyListMenu_CreateMenu1(void) { PokemonStruct1 *pokeStruct; s32 index; s32 one; @@ -322,7 +322,7 @@ void sub_80264CC(void) { if(temp = pokeStruct->unk0 >> 1, one = 1, temp & one) { sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuStandBy; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 7; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_STANDBY; if(!sub_8026E88(pokeStruct)) { sUnknown_203B2B8->unk20C[loopMax] = 1; @@ -332,14 +332,14 @@ void sub_80264CC(void) { if(sub_80023E4(8) && !pokeStruct->isTeamLeader) { sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuMakeLeader; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 8; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_MAKE_LEADER; loopMax += 1; } } else { sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuJoinTeam; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 6; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_JOIN_TEAM; if(!sub_808D750(sUnknown_203B2B8->pokeSpecies)) { sUnknown_203B2B8->unk20C[loopMax] = 1; @@ -348,7 +348,7 @@ void sub_80264CC(void) { } sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuGiveGummi; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 10; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_GIVE_GUMMI; if(!HasGummiItem()) { sUnknown_203B2B8->unk20C[loopMax] = 1; @@ -356,7 +356,7 @@ void sub_80264CC(void) { loopMax += 1; sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuGive; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 0xB; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_GIVE_ITEM; if(GetNumberOfFilledInventorySlots() == 0) { sUnknown_203B2B8->unk20C[loopMax] = 1; @@ -364,7 +364,7 @@ void sub_80264CC(void) { loopMax += 1; sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuTake; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 0xC; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_TAKE_ITEM; if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE || sUnknown_203B2B8->item2.id == ITEM_NOTHING) { sUnknown_203B2B8->unk20C[loopMax] = 1; @@ -374,7 +374,7 @@ void sub_80264CC(void) { if((temp = pokeStruct->unk0 >> 1, one = 1, temp & one) == 0) { sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuSayFarewell; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 9; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_SAY_FAREWELL; if(!sub_8026EB8(pokeStruct)) { sUnknown_203B2B8->unk20C[loopMax] = 1; @@ -383,16 +383,16 @@ void sub_80264CC(void) { } sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuSummary; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 4; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_SUMMARY; loopMax += 1; sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuMoves; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 0xD; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_MOVES; loopMax += 1; sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuCheckIQ; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 5; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_CHECK_IQ; loopMax += 1; sUnknown_203B2B8->unk16C[loopMax].text = NULL; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 1; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_NULL; for(index = 0; index < loopMax; index++) { @@ -412,23 +412,23 @@ void sub_80264CC(void) { } } -void sub_802678C(void) +void PartyListMenu_CreateMenu2(void) { s32 index; s32 loopMax = 0; MemoryFill16(sUnknown_203B2B8->unk20C, 0, sizeof(sUnknown_203B2B8->unk20C)); sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuGive; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 0xB; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_GIVE_ITEM; if(GetNumberOfFilledInventorySlots() == 0) { sUnknown_203B2B8->unk20C[0] = 1; } loopMax += 1; sUnknown_203B2B8->unk16C[loopMax].text = gCommonInfo[0]; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 4; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_INFO; loopMax += 1; sUnknown_203B2B8->unk16C[loopMax].text = NULL; - sUnknown_203B2B8->unk16C[loopMax].menuAction = 1; + sUnknown_203B2B8->unk16C[loopMax].menuAction = PARTY_LIST_MENU_NULL; for(index = 0; index < loopMax; index++) { @@ -448,19 +448,19 @@ void sub_802678C(void) } } -void sub_8026878(void) { +void PartyListMenu_BuildYesNoMenu(void) { s32 loopMax = 0; sUnknown_203B2B8->unk1BC[loopMax].text = gCommonYes[0]; - sUnknown_203B2B8->unk1BC[loopMax].menuAction = 2; + sUnknown_203B2B8->unk1BC[loopMax].menuAction = PARTY_LIST_MENU_YES; loopMax += 1; sUnknown_203B2B8->unk1BC[loopMax].text = gCommonNo[0]; - sUnknown_203B2B8->unk1BC[loopMax].menuAction = 3; + sUnknown_203B2B8->unk1BC[loopMax].menuAction = PARTY_LIST_MENU_NO; loopMax += 1; sUnknown_203B2B8->unk1BC[loopMax].text = NULL; - sUnknown_203B2B8->unk1BC[loopMax].menuAction = 1; + sUnknown_203B2B8->unk1BC[loopMax].menuAction = PARTY_LIST_MENU_NULL; } -void sub_80268CC(void) +void PartyListMenu_HandleMenu1(void) { PokemonStruct1 *playerPokemon; PokemonStruct1 *pokeStruct; @@ -468,11 +468,11 @@ void sub_80268CC(void) s32 choice; choice = 0; - if ((sub_8012FD8(&sUnknown_203B2B8->unk7C) == 0) && (sub_8013114(&sUnknown_203B2B8->unk7C,&choice), choice != 1)) { + if ((sub_8012FD8(&sUnknown_203B2B8->unk7C) == 0) && (sub_8013114(&sUnknown_203B2B8->unk7C,&choice), choice != PARTY_LIST_MENU_NULL)) { sUnknown_203B2B8->menuAction1 = choice; } switch(choice) { - case 6: + case PARTY_LIST_MENU_JOIN_TEAM: if (sub_808D750(sUnknown_203B2B8->pokeSpecies)) { #ifdef NONMATCHING @@ -488,15 +488,15 @@ void sub_80268CC(void) nullsub_104(); } sub_808ED00(); - sub_8026074(5); + SetPartyListMenuState(PARTY_LIST_STATE_JOIN_TEAM); break; - case 7: + case PARTY_LIST_MENU_STANDBY: sUnknown_203B2B8->pokeStruct->unk0 &= ~(FLAG_ON_TEAM); nullsub_104(); sub_808ED00(); - sub_8026074(6); + SetPartyListMenuState(PARTY_LIST_STATE_STANDBY); break; - case 8: + case PARTY_LIST_MENU_MAKE_LEADER: pokeStruct2 = &gRecruitedPokemonRef->pokemon[sUnknown_203B2B8->pokeSpecies]; playerPokemon = GetPlayerPokemonStruct(); @@ -506,21 +506,21 @@ void sub_80268CC(void) nullsub_104(); } sub_808ED00(); - sub_8026074(7); + SetPartyListMenuState(PARTY_LIST_STATE_MAKE_LEADER); break; - case 9: - sub_8026074(0xc); + case PARTY_LIST_MENU_SAY_FAREWELL: + SetPartyListMenuState(PARTY_LIST_STATE_SAY_FAREWELL); break; - case 0xd: - sub_8026074(0x16); + case PARTY_LIST_MENU_MOVES: + SetPartyListMenuState(PARTY_LIST_STATE_MOVES); break; - case 10: - sub_8026074(0xe); + case PARTY_LIST_MENU_GIVE_GUMMI: + SetPartyListMenuState(PARTY_LIST_STATE_GIVE_GUMMI); break; - case 0xb: - sub_8026074(0x12); + case PARTY_LIST_MENU_GIVE_ITEM: + SetPartyListMenuState(PARTY_LIST_STATE_GIVE_ITEM); break; - case 0xc: + case PARTY_LIST_MENU_TAKE_ITEM: PlaySound(0x14d); if (sUnknown_203B2B8->item2.id != ITEM_NOTHING) { AddHeldItemToInventory(&sUnknown_203B2B8->item2); @@ -530,16 +530,16 @@ void sub_80268CC(void) sUnknown_203B2B8->item2.quantity = 0; GivePokemonItem(sUnknown_203B2B8->pokeSpecies,&sUnknown_203B2B8->item2); nullsub_104(); - sub_8026074(0x11); + SetPartyListMenuState(PARTY_LIST_STATE_TAKE_ITEM); break; - case 4: - sub_8026074(3); + case PARTY_LIST_MENU_SUMMARY: + SetPartyListMenuState(PARTY_LIST_STATE_SUMMARY); break; - case 5: - sub_8026074(4); + case PARTY_LIST_MENU_CHECK_IQ: + SetPartyListMenuState(PARTY_LIST_STATE_CHECK_IQ); break; - case 1: - sub_8026074(0x19); + case PARTY_LIST_MENU_NULL: + SetPartyListMenuState(PARTY_LIST_STATE_EXIT); break; } @@ -552,7 +552,7 @@ void sub_8026A78(void) case 2: case 3: sub_802453C(); - sub_8026074(2); + SetPartyListMenuState(PARTY_LIST_STATE_MAIN_MENU_1); break; case 0: case 1: @@ -566,8 +566,8 @@ void sub_8026A94(void) { case 2: case 3: - sub_801BF98(); - sub_8026074(2); + CleanIQSkillMenu(); + SetPartyListMenuState(PARTY_LIST_STATE_MAIN_MENU_1); break; case 0: case 1: @@ -592,13 +592,13 @@ void sub_8026AB0(void) { case 1: case 3: - sub_8026074(2); + SetPartyListMenuState(PARTY_LIST_STATE_MAIN_MENU_1); break; case 2: if (sub_8026AB0_sub()) - sub_8026074(0xD); + SetPartyListMenuState(PARTY_LIST_STATE_CONFIRM_SAY_FAREWELL); else - sub_8026074(8); + SetPartyListMenuState(PARTY_LIST_STATE_POKEMON_FAREWELL); break; } } @@ -613,10 +613,10 @@ void sub_8026B10(void) { case 1: case 3: - sub_8026074(2); + SetPartyListMenuState(PARTY_LIST_STATE_MAIN_MENU_1); break; case 2: - sub_8026074(8); + SetPartyListMenuState(PARTY_LIST_STATE_POKEMON_FAREWELL); break; } } @@ -630,7 +630,7 @@ void sub_8026B48(void) case 2: case 3: sub_8022908(); - sub_8026074(2); + SetPartyListMenuState(PARTY_LIST_STATE_MAIN_MENU_1); break; case 0: case 1: @@ -647,18 +647,18 @@ void sub_8026B64(void) sUnknown_203B2B8->id = sub_801A8AC(); sUnknown_203B2B8->item1.id = gTeamInventoryRef->teamItems[sUnknown_203B2B8->id].id; sUnknown_203B2B8->item1.quantity = gTeamInventoryRef->teamItems[sUnknown_203B2B8->id].quantity; - sub_8026074(0x14); + SetPartyListMenuState(0x14); break; case 4: sUnknown_203B2B8->id = sub_801A8AC(); sUnknown_203B2B8->item1.id = gTeamInventoryRef->teamItems[sUnknown_203B2B8->id].id; sUnknown_203B2B8->item1.quantity = gTeamInventoryRef->teamItems[sUnknown_203B2B8->id].quantity; sub_8099690(0); - sub_8026074(0x15); + SetPartyListMenuState(0x15); break; case 2: sub_801A928(); - sub_8026074(2); + SetPartyListMenuState(PARTY_LIST_STATE_MAIN_MENU_1); break; case 0: case 1: @@ -666,7 +666,7 @@ void sub_8026B64(void) } } -void sub_8026C14(void) +void PartyListMenu_HandleMenu2(void) { u32 nextState; struct unkStruct_8090F58 temp; @@ -675,19 +675,19 @@ void sub_8026C14(void) menuAction = 0; sub_801A6E8(FALSE); - if ((sub_8012FD8(&sUnknown_203B2B8->unkCC) == '\0') && (sub_8013114(&sUnknown_203B2B8->unkCC,&menuAction), menuAction != 1)) { + if ((sub_8012FD8(&sUnknown_203B2B8->unkCC) == '\0') && (sub_8013114(&sUnknown_203B2B8->unkCC,&menuAction), menuAction != PARTY_LIST_MENU_NULL)) { sUnknown_203B2B8->menuAction2 = menuAction; } switch(menuAction) { - case 0xb: - nextState = 0xF; + case PARTY_LIST_MENU_GIVE_ITEM: + nextState = PARTY_LIST_STATE_GIVEN_ITEM; PlaySound(0x14d); ShiftItemsDownFrom(sUnknown_203B2B8->id); FillInventoryGaps(); if (sUnknown_203B2B8->item2.id != ITEM_NOTHING) { AddHeldItemToInventory(&sUnknown_203B2B8->item2); - nextState = 0x10; + nextState = PARTY_LIST_STATE_GIVEN_ITEM_HELD_ITEM; } HeldItemToSlot(&slot,&sUnknown_203B2B8->item1); temp.unk0 = 0; @@ -698,14 +698,14 @@ void sub_8026C14(void) GivePokemonItem(sUnknown_203B2B8->pokeSpecies,&sUnknown_203B2B8->item1); sub_801A928(); nullsub_104(); - sub_8026074(nextState); + SetPartyListMenuState(nextState); break; - case 4: + case PARTY_LIST_MENU_INFO: sub_8099690(0); - sub_8026074(0x15); + SetPartyListMenuState(0x15); break; - case 1: - sub_8026074(0x13); + case PARTY_LIST_MENU_NULL: + SetPartyListMenuState(PARTY_LIST_STATE_GIVE_ITEM_1); break; } } @@ -717,7 +717,7 @@ void sub_8026CF0(void) case 2: case 3: sub_801B450(); - sub_8026074(0x13); + SetPartyListMenuState(PARTY_LIST_STATE_GIVE_ITEM_1); break; case 0: case 1: @@ -737,11 +737,11 @@ void sub_8026D0C(void) case 4: sUnknown_203B2B8->moveIndex = sub_801F194(); sUnknown_203B2B8->moveID = sUnknown_203B2B8->moves[sUnknown_203B2B8->moveIndex].id; - sub_8026074(0x18); + SetPartyListMenuState(0x18); break; case 2: sub_801F214(); - sub_8026074(2); + SetPartyListMenuState(PARTY_LIST_STATE_MAIN_MENU_1); break; } } @@ -753,7 +753,7 @@ void sub_8026D6C(void) case 2: case 3: sub_801F8D0(); - sub_8026074(0x17); + SetPartyListMenuState(0x17); break; case 0: case 1: @@ -761,12 +761,12 @@ void sub_8026D6C(void) } } -void sub_8026D88(void) +void PartyListMenu_GotoFallbackState(void) { s32 temp; if(sub_80144A4(&temp) == 0) { - sub_8026074(sUnknown_203B2B8->fallbackState); + SetPartyListMenuState(sUnknown_203B2B8->fallbackState); } } @@ -883,7 +883,7 @@ void sub_8026FA4(void) sUnknown_203B2B8->item2.id = ITEM_NOTHING; sUnknown_203B2B8->item2.quantity = 0; GivePokemonItem(sUnknown_203B2B8->pokeSpecies, &sUnknown_203B2B8->item2); - sub_8026074(0xA); + SetPartyListMenuState(0xA); break; case 2: PlaySound(0x14d); @@ -899,11 +899,11 @@ void sub_8026FA4(void) sUnknown_203B2B8->item2.id = ITEM_NOTHING; sUnknown_203B2B8->item2.quantity = 0; GivePokemonItem(sUnknown_203B2B8->pokeSpecies, &sUnknown_203B2B8->item2); - sub_8026074(0xB); + SetPartyListMenuState(0xB); break; case 0: default: - sub_8026074(0x19); + SetPartyListMenuState(PARTY_LIST_STATE_EXIT); break; } } diff --git a/src/pelipper_board.c b/src/pelipper_board.c index 648320d61..8c0c80796 100644 --- a/src/pelipper_board.c +++ b/src/pelipper_board.c @@ -220,13 +220,13 @@ void CreatePelipperBoardMenu(void) loopMax = 0; MemoryFill16(gPelipperBoard->unkFC,0,sizeof(gPelipperBoard->unkFC)); gPelipperBoard->menuItems[0].text = gPelipperBoard_BulletinBoard; - gPelipperBoard->menuItems[0].menuAction = 2; + gPelipperBoard->menuItems[0].menuAction = PELIPPER_BOARD_BULLETIN_BOARD; if ((HasNoPelipperBoardJobs())) { gPelipperBoard->unkFC[0] = 1; } loopMax += 1; gPelipperBoard->menuItems[loopMax].text = gPelipperBoard_JobList; - gPelipperBoard->menuItems[loopMax].menuAction = 3; + gPelipperBoard->menuItems[loopMax].menuAction = PELIPPER_BOARD_JOB_LIST; if(HasNoAcceptedJobs()) { @@ -235,7 +235,7 @@ void CreatePelipperBoardMenu(void) loopMax += 1; gPelipperBoard->menuItems[loopMax].text = NULL; - gPelipperBoard->menuItems[loopMax].menuAction = 1; + gPelipperBoard->menuItems[loopMax].menuAction = PELIPPER_BOARD_NULL; for(index = 0; index < loopMax; index++) { @@ -259,7 +259,7 @@ void sub_802EC10(void) { s32 index; s32 loopMax = 0; gPelipperBoard->menuItems[loopMax].text = gCommonAccept[0]; - gPelipperBoard->menuItems[loopMax].menuAction = 4; + gPelipperBoard->menuItems[loopMax].menuAction = PELIPPER_BOARD_ACCEPT; if((IsMailinJobSlot(GetPelipperBoardSlotInfo(gPelipperBoard->jobIndex))) || (GetNumAcceptedJobs() >= MAX_ACCEPTED_JOBS)) { @@ -268,10 +268,10 @@ void sub_802EC10(void) { loopMax += 1; gPelipperBoard->menuItems[loopMax].text = gCommonInfo[0]; - gPelipperBoard->menuItems[loopMax].menuAction = 5; + gPelipperBoard->menuItems[loopMax].menuAction = PELIPPER_BOARD_INFO; loopMax += 1; gPelipperBoard->menuItems[loopMax].text = NULL; - gPelipperBoard->menuItems[loopMax].menuAction = 1; + gPelipperBoard->menuItems[loopMax].menuAction = PELIPPER_BOARD_NULL; for(index = 0; index < loopMax; index++) { @@ -280,7 +280,7 @@ void sub_802EC10(void) { return; } - gPelipperBoard->menuAction2 = 5; + gPelipperBoard->menuAction2 = PELIPPER_BOARD_INFO; } void sub_802ECB4(void) @@ -290,29 +290,27 @@ void sub_802ECB4(void) if(!sub_8012FD8(&gPelipperBoard->unk6C)) { sub_8013114(&gPelipperBoard->unk6C, &menuAction); - if(menuAction != 1) gPelipperBoard->menuAction1 = menuAction; + if(menuAction != PELIPPER_BOARD_NULL) gPelipperBoard->menuAction1 = menuAction; } switch(menuAction) { - // Bulletin Board - case 2: + case PELIPPER_BOARD_BULLETIN_BOARD: if(!HasNoPelipperBoardJobs()) SetPelipperBoardState(4); else sub_8012EA4(&gPelipperBoard->unk6C, 1); break; - // Job List - case 3: + case PELIPPER_BOARD_JOB_LIST: if(!HasNoAcceptedJobs()) SetPelipperBoardState(PELIPPER_JOB_LIST_MENU); else sub_8012EA4(&gPelipperBoard->unk6C, 1); break; - case 5: + case PELIPPER_BOARD_INFO: SetPelipperBoardState(2); break; - case 1: + case PELIPPER_BOARD_NULL: SetPelipperBoardState(PELIPPER_BOARD_EXIT); break; } @@ -322,15 +320,15 @@ void sub_802ED4C(void) { switch(sub_802C1E4(TRUE)) { - case 3: + case 3: // A button gPelipperBoard->jobIndex = sub_802C26C(); SetPelipperBoardState(6); break; - case 4: + case 4: // Start button gPelipperBoard->jobIndex = sub_802C26C(); SetPelipperBoardState(7); break; - case 2: + case 2: // B button sub_802C2D4(); SetPelipperBoardState(MAIN_PELIPPER_BOARD_MENU); break; @@ -349,12 +347,11 @@ void sub_802EDBC(void) if(!sub_8012FD8(&gPelipperBoard->unk6C)) { sub_8013114(&gPelipperBoard->unk6C, &menuAction); - if(menuAction != 1) gPelipperBoard->menuAction2 = menuAction; + if(menuAction != PELIPPER_BOARD_NULL) gPelipperBoard->menuAction2 = menuAction; } switch(menuAction) { - // Accept - case 4: + case PELIPPER_BOARD_ACCEPT: PlaySound(0x133); mail = GetPelipperBoardSlotInfo(gPelipperBoard->jobIndex); switch(mail->mailType) @@ -394,11 +391,10 @@ void sub_802EDBC(void) break; } break; - // Info - case 5: + case PELIPPER_BOARD_INFO: SetPelipperBoardState(PELIPPER_JOB_INFO); break; - case 1: + case PELIPPER_BOARD_NULL: SetPelipperBoardState(5); break; } diff --git a/sym_ewram2.txt b/sym_ewram2.txt index 0ceb00a8c..fa457b3be 100644 --- a/sym_ewram2.txt +++ b/sym_ewram2.txt @@ -130,8 +130,8 @@ gUnknown_203B1FC: /* 203B1FC (sub_80151C0 - sub_8015F84) */ .include "src/code_801AFA4.o" .include "src/code_801B3C0.o" .include "src/code_801B60C.o" -.include "src/code_801BEEC.o" -.include "src/code_801C244.o" +.include "src/iq_skill_menu.o" +.include "src/iq_skill_list_menu.o" .include "src/code_801C620.o" .include "src/code_801C8C4.o" .include "src/code_801D014.o"