lots of documentation

This commit is contained in:
Seth Barberee 2024-06-23 21:43:04 -07:00
parent 75175caee5
commit fb07afd55b
21 changed files with 354 additions and 286 deletions

View File

@ -2938,7 +2938,7 @@ _0809C032:
ldr r0, [r6]
b _0809B972
_0809C036:
bl sub_802FE58
bl HandleMakuhitaDojoState
cmp r0, 0x2
beq _0809C05E
cmp r0, 0x3

View File

@ -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

View File

@ -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
#endif // GUARD_CODE_801C620_H

View File

@ -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

View File

@ -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
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

View File

@ -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
#endif // GUARD_MAKUHITA_DOJO1_H

View File

@ -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
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

View File

@ -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,
};

View File

@ -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);

View File

@ -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;
}
}
}

View File

@ -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;
}

View File

@ -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:

View File

@ -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:

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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;
}
}
}

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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"