more menus because why not

This commit is contained in:
Seth Barberee
2024-07-05 18:23:03 -07:00
parent 859f577bea
commit 04b1b57942
7 changed files with 217 additions and 154 deletions

View File

@@ -15,6 +15,12 @@ static EWRAM_DATA_2 unkStruct_203B3F0 *sUnknown_203B3F0 = {0};
#include "data/debug_menu2.h"
enum menuActions {
CANCEL_ACTION = 1,
NUMBER_ACTION,
INFO_ACTION
};
static void sub_803A504(u32 newState);
static void sub_803A51C(void);
static void sub_803A5A0(void);
@@ -147,20 +153,20 @@ static void sub_803A6F0(void)
s32 loopMax = 0;
sUnknown_203B3F0->menuItems[loopMax].text = sNumberPrompt;
sUnknown_203B3F0->menuItems[loopMax].menuAction = 2;
sUnknown_203B3F0->menuAction = 2;
sUnknown_203B3F0->menuItems[loopMax].menuAction = NUMBER_ACTION;
sUnknown_203B3F0->menuAction = NUMBER_ACTION;
if (!IsNotMoneyOrUsedTMItem(sUnknown_203B3F0->id)) {
sUnknown_203B3F0->menuItems[loopMax].menuAction = -1;
sUnknown_203B3F0->menuAction = 3;
sUnknown_203B3F0->menuAction = INFO_ACTION;
}
loopMax++;
sUnknown_203B3F0->menuItems[loopMax].text = gCommonInfo[0];
sUnknown_203B3F0->menuItems[loopMax].menuAction = 3;
sUnknown_203B3F0->menuItems[loopMax].menuAction = INFO_ACTION;
loopMax++;
sUnknown_203B3F0->menuItems[loopMax].text = NULL;
sUnknown_203B3F0->menuItems[loopMax].menuAction = 1;
sUnknown_203B3F0->menuItems[loopMax].menuAction = CANCEL_ACTION;
}
static void sub_803A740(void)
@@ -196,13 +202,13 @@ static void sub_803A7B0(void)
sub_8013114(&sUnknown_203B3F0->unk4C, &menuAction);
switch (menuAction) {
case 2:
case NUMBER_ACTION:
sub_803A504(3);
break;
case 3:
case INFO_ACTION:
sub_803A504(4);
break;
case 1:
case CANCEL_ACTION:
sub_803A504(1);
break;
}
@@ -238,4 +244,4 @@ static void sub_803A86C(void)
sub_803A504(1);
break;
}
}
}

View File

@@ -17,6 +17,13 @@ static EWRAM_DATA_2 unkStruct_203B3F4 *sUnknown_203B3F4 = {0};
#include "data/debug_menu3.h"
enum menuActions {
CANCEL_ACTION = 1,
OPEN_ACTION,
CLOSE_ACTION,
INFO_ACTION
};
static void sub_803A924(u32 newState);
static void sub_803A93C(void);
static void sub_803A9AC(void);
@@ -121,22 +128,22 @@ static void sub_803AA34(void)
sUnknown_203B3F4->menuItems[0].text = sClose;
if (sub_803ABC8())
sUnknown_203B3F4->menuItems[0].menuAction = 3;
sUnknown_203B3F4->menuItems[0].menuAction = CLOSE_ACTION;
else
sUnknown_203B3F4->menuItems[0].menuAction = -1;
}
else {
sUnknown_203B3F4->menuItems[0].text = sOpen;
sUnknown_203B3F4->menuItems[0].menuAction = 2;
sUnknown_203B3F4->menuItems[0].menuAction = OPEN_ACTION;
}
index++;
sUnknown_203B3F4->menuItems[index].text = gCommonInfo[0];
sUnknown_203B3F4->menuItems[index].menuAction = 4;
sUnknown_203B3F4->menuItems[index].menuAction = INFO_ACTION;
index++;
sUnknown_203B3F4->menuItems[index].text = NULL;
sUnknown_203B3F4->menuItems[index].menuAction = 1;
sUnknown_203B3F4->menuItems[index].menuAction = CANCEL_ACTION;
sUnknown_203B3F4->menuAction = sUnknown_203B3F4->menuItems[0].menuAction;
}
@@ -174,18 +181,18 @@ static void sub_803AB34(void)
sub_8013114(&sUnknown_203B3F4->unk4C, &menuAction);
switch (menuAction) {
case 2:
case OPEN_ACTION:
UnlockFriendArea(sUnknown_203B3F4->friendArea);
sub_803A924(1);
break;
case 3:
case CLOSE_ACTION:
sub_809249C(sUnknown_203B3F4->friendArea, 1);
sub_803A924(1);
break;
case 4:
case INFO_ACTION:
sub_803A924(3);
break;
case 1:
case CANCEL_ACTION:
sub_803A924(1);
break;
}

View File

@@ -14,6 +14,12 @@ static EWRAM_DATA_2 unkStruct_203B3F8 *sUnknown_203B3F8 = {0};
#include "data/debug_menu4.h"
enum menuActions {
CANCEL_ACTION = 1,
LEVEL_ACTION = 4,
NAME_ACTION
};
static void sub_803ACD0(u32 newState);
static void sub_803ACE8(void);
static void sub_803AD88(void);
@@ -154,15 +160,15 @@ static void sub_803AEB0(void)
loopMax = 0;
sUnknown_203B3F8->unk90[loopMax].text = sLevel;
sUnknown_203B3F8->unk90[loopMax].menuAction = 4;
sUnknown_203B3F8->unk90[loopMax].menuAction = LEVEL_ACTION;
loopMax++;
sUnknown_203B3F8->unk90[loopMax].text = sName;
sUnknown_203B3F8->unk90[loopMax].menuAction = 5;
sUnknown_203B3F8->unk90[loopMax].menuAction = NAME_ACTION;
loopMax++;
sUnknown_203B3F8->unk90[loopMax].text = NULL;
sUnknown_203B3F8->unk90[loopMax].menuAction = 1;
sUnknown_203B3F8->unk90[loopMax].menuAction = CANCEL_ACTION;
for (i = 0; i < loopMax; i++) {
if (sUnknown_203B3F8->unkD0[i] == 0) {
@@ -202,13 +208,13 @@ static void sub_803AF88(void)
sub_8013114(&sUnknown_203B3F8->unk10, &menuAction);
switch (menuAction) {
case 4:
case LEVEL_ACTION:
sub_803ACD0(5);
break;
case 5:
case NAME_ACTION:
sub_803ACD0(6);
break;
case 1:
case CANCEL_ACTION:
sub_803ACD0(2);
break;
default:

View File

@@ -30,6 +30,25 @@ extern u8 gUnknown_202E5D8[];
#include "data/gulpin_shop_801FB50.h"
enum menuActions {
CANCEL_ACTION = 1,
PROCEED_ACTION,
REMEMBER_ACTION,
MOVES_ACTION,
SET_ACTION,
DESELECT_ACTION,
LINK_ACTION = 8,
DE_LINK_ACTION,
FORGET_ACTION,
INFO_ACTION,
CHECK_IQ_ACTION,
SETTING_MOVES_ACTION,
LINKING_MOVES_ACTION,
REMEMBERING_MOVES_ACTION,
YES_ACTION,
NO_ACTION,
};
static void CreateGulpinLinkMenu(void);
static void CreateGulpinShopMenu(void);
@@ -412,16 +431,16 @@ static void CreateGulpinShopMenu(void)
s32 loopMax = 0;
MemoryFill16(gUnknown_203B27C->unkBC, 0, sizeof(gUnknown_203B27C->unkBC));
gUnknown_203B27C->unk7C[loopMax].text = gGulpinProceed;
gUnknown_203B27C->unk7C[loopMax].menuAction = 2;
gUnknown_203B27C->unk7C[loopMax].menuAction = PROCEED_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gGulpinInfo;
gUnknown_203B27C->unk7C[loopMax].menuAction = 0xb;
gUnknown_203B27C->unk7C[loopMax].menuAction = INFO_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gCommonCancel[0];
gUnknown_203B27C->unk7C[loopMax].menuAction = 1;
gUnknown_203B27C->unk7C[loopMax].menuAction = CANCEL_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = 0x0;
gUnknown_203B27C->unk7C[loopMax].menuAction = 1;
gUnknown_203B27C->unk7C[loopMax].menuAction = CANCEL_ACTION;
}
static void sub_80205D0(void)
@@ -433,23 +452,23 @@ static void sub_80205D0(void)
MemoryFill16(gUnknown_203B27C->unkBC, 0, sizeof(gUnknown_203B27C->unkBC));
gUnknown_203B27C->unk7C[loopMax].text = gUnknown_80DC3D8;
gUnknown_203B27C->unk7C[loopMax].menuAction = 4;
gUnknown_203B27C->unk7C[loopMax].menuAction = MOVES_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gUnknown_80DC3E0;
gUnknown_203B27C->unk7C[loopMax].menuAction = 0xB;
gUnknown_203B27C->unk7C[loopMax].menuAction = INFO_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gUnknown_80DC3E8;
gUnknown_203B27C->unk7C[loopMax].menuAction = 0xC;
gUnknown_203B27C->unk7C[loopMax].menuAction = CHECK_IQ_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gUnknown_80DC3F4;
gUnknown_203B27C->unk7C[loopMax].menuAction = 0x3;
gUnknown_203B27C->unk7C[loopMax].menuAction = REMEMBER_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = NULL;
gUnknown_203B27C->unk7C[loopMax].menuAction = 1;
gUnknown_203B27C->unk7C[loopMax].menuAction = CANCEL_ACTION;
for (i = 0; i < loopMax; i++) {
if (gUnknown_203B27C->unkBC[i] == 0 && gUnknown_203B27C->unk7C[i].menuAction == gUnknown_203B27C->menuAction2)
@@ -472,15 +491,15 @@ static void sub_802069C(void)
MemoryFill16(gUnknown_203B27C->unkBC, 0, sizeof(gUnknown_203B27C->unkBC));
gUnknown_203B27C->unk7C[loopMax].text = gUnknown_80DC3F4;
gUnknown_203B27C->unk7C[loopMax].menuAction = 3;
gUnknown_203B27C->unk7C[loopMax].menuAction = REMEMBER_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gCommonInfo[0];
gUnknown_203B27C->unk7C[loopMax].menuAction = 11;
gUnknown_203B27C->unk7C[loopMax].menuAction = INFO_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = NULL;
gUnknown_203B27C->unk7C[loopMax].menuAction = 1;
gUnknown_203B27C->unk7C[loopMax].menuAction = CANCEL_ACTION;
for (i = 0; i < loopMax; i++) {
if (gUnknown_203B27C->unkBC[i] == 0 && gUnknown_203B27C->unk7C[i].menuAction == gUnknown_203B27C->menuAction3)
@@ -507,12 +526,12 @@ static void CreateGulpinLinkMenu(void)
if(IsMoveSet(gUnknown_203B27C->moveIndex, gUnknown_203B27C->moves))
{
gUnknown_203B27C->unk7C[loopMax].text = gGulpinDeselect;
gUnknown_203B27C->unk7C[loopMax].menuAction = 6;
gUnknown_203B27C->unk7C[loopMax].menuAction = DESELECT_ACTION;
}
else
{
gUnknown_203B27C->unk7C[loopMax].text = gGulpinSet;
gUnknown_203B27C->unk7C[loopMax].menuAction = 5;
gUnknown_203B27C->unk7C[loopMax].menuAction = SET_ACTION;
}
}
else
@@ -530,23 +549,23 @@ static void CreateGulpinLinkMenu(void)
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gGulpinLink;
gUnknown_203B27C->unk7C[loopMax].menuAction = 8;
gUnknown_203B27C->unk7C[loopMax].menuAction = LINK_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gGulpinDelink;
gUnknown_203B27C->unk7C[loopMax].menuAction = 9;
gUnknown_203B27C->unk7C[loopMax].menuAction = DE_LINK_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gGulpinForget;
gUnknown_203B27C->unk7C[loopMax].menuAction = 10;
gUnknown_203B27C->unk7C[loopMax].menuAction = FORGET_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gCommonInfo[0];
gUnknown_203B27C->unk7C[loopMax].menuAction = 11;
gUnknown_203B27C->unk7C[loopMax].menuAction = INFO_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = NULL;
gUnknown_203B27C->unk7C[loopMax].menuAction = 1;
gUnknown_203B27C->unk7C[loopMax].menuAction = CANCEL_ACTION;
for (i = 0; i < loopMax; i++) {
if (gUnknown_203B27C->unkBC[i] == 0 && gUnknown_203B27C->unk7C[i].menuAction == gUnknown_203B27C->menuAction4)
@@ -565,13 +584,13 @@ static void sub_80208B0(void)
s32 loopMax = 0;
MemoryFill16(gUnknown_203B27C->unkBC, 0, sizeof(gUnknown_203B27C->unkBC));
gUnknown_203B27C->unk7C[loopMax].text = gCommonYes[0];
gUnknown_203B27C->unk7C[loopMax].menuAction = 0x10;
gUnknown_203B27C->unk7C[loopMax].menuAction = YES_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gCommonNo[0];
gUnknown_203B27C->unk7C[loopMax].menuAction = 0x11;
gUnknown_203B27C->unk7C[loopMax].menuAction = NO_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = NULL;
gUnknown_203B27C->unk7C[loopMax].menuAction = 1;
gUnknown_203B27C->unk7C[loopMax].menuAction = CANCEL_ACTION;
}
static void sub_8020900(void)
@@ -579,10 +598,10 @@ static void sub_8020900(void)
s32 loopMax = 0;
MemoryFill16(gUnknown_203B27C->unkBC, 0, sizeof(gUnknown_203B27C->unkBC));
gUnknown_203B27C->unk7C[loopMax].text = gCommonYes[0];
gUnknown_203B27C->unk7C[loopMax].menuAction = 0x10;
gUnknown_203B27C->unk7C[loopMax].menuAction = YES_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gCommonNo[0];
gUnknown_203B27C->unk7C[loopMax].menuAction = 0x11;
gUnknown_203B27C->unk7C[loopMax].menuAction = NO_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = NULL;
gUnknown_203B27C->unk7C[loopMax].menuAction = -1;
@@ -594,16 +613,16 @@ static void sub_8020950(void)
MemoryFill16(gUnknown_203B27C->unkBC, 0, sizeof(gUnknown_203B27C->unkBC));
gUnknown_203B27C->unk7C[loopMax].text = gUnknown_80DC428;
gUnknown_203B27C->unk7C[loopMax].menuAction = 0xD;
gUnknown_203B27C->unk7C[loopMax].menuAction = SETTING_MOVES_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gUnknown_80DC438;
gUnknown_203B27C->unk7C[loopMax].menuAction = 0xE;
gUnknown_203B27C->unk7C[loopMax].menuAction = LINKING_MOVES_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = gUnknown_80DC448;
gUnknown_203B27C->unk7C[loopMax].menuAction = 0xF;
gUnknown_203B27C->unk7C[loopMax].menuAction = REMEMBERING_MOVES_ACTION;
loopMax++;
gUnknown_203B27C->unk7C[loopMax].text = NULL;
gUnknown_203B27C->unk7C[loopMax].menuAction = 1;
gUnknown_203B27C->unk7C[loopMax].menuAction = CANCEL_ACTION;
}
static void sub_80209AC(void)
@@ -614,13 +633,13 @@ static void sub_80209AC(void)
gUnknown_203B27C->menuAction1 = menuAction;
switch(menuAction)
{
case 2:
case PROCEED_ACTION:
sub_801FDA8(0xe);
break;
case 0xB:
case INFO_ACTION:
sub_801FDA8(0x8);
break;
case 1:
case CANCEL_ACTION:
sub_801FDA8(0xC);
break;
}
@@ -634,11 +653,11 @@ static void sub_80209FC(void)
{
switch(menuAction)
{
case 0x10:
case YES_ACTION:
sub_801FDA8(0xe);
break;
case 0x11:
case 1:
case NO_ACTION:
case CANCEL_ACTION:
sub_801FDA8(0xC);
break;
}
@@ -652,16 +671,16 @@ static void sub_8020A34(void)
{
switch(menuAction)
{
case 0xD:
case SETTING_MOVES_ACTION:
sub_801FDA8(0x9);
break;
case 0xE:
case LINKING_MOVES_ACTION:
sub_801FDA8(10);
break;
case 0xF:
case REMEMBERING_MOVES_ACTION:
sub_801FDA8(0xb);
break;
case 1:
case CANCEL_ACTION:
sub_801FDA8(0x1);
break;
}
@@ -704,18 +723,18 @@ static void sub_8020B38(void)
sub_8023A94(FALSE);
if (!sub_8012FD8(&gUnknown_203B27C->unkCC)) {
sub_8013114(&gUnknown_203B27C->unkCC,&menuAction);
if (menuAction != 1) {
if (menuAction != CANCEL_ACTION) {
gUnknown_203B27C->menuAction2 = menuAction;
}
}
switch(menuAction)
{
case 0x1:
case 0x11:
case CANCEL_ACTION:
case NO_ACTION:
sub_801FDA8(0x10);
break;
case 0x3:
case REMEMBER_ACTION:
if(GetBaseSpeciesNoUnown(gUnknown_203B27C->pokeStruct->speciesNum) == MONSTER_DEOXYS_NORMAL)
{
sub_801FDA8(0x1C);
@@ -729,13 +748,13 @@ static void sub_8020B38(void)
sub_801FDA8(0x14);
}
break;
case 0x4:
case MOVES_ACTION:
sub_801FDA8(0x1e);
break;
case 0xB:
case INFO_ACTION:
sub_801FDA8(0x12);
break;
case 0xC:
case CHECK_IQ_ACTION:
sub_801FDA8(0x13);
break;
}
@@ -800,18 +819,18 @@ static void sub_8020CC0(void)
sub_801F520(0);
if (!sub_8012FD8(&gUnknown_203B27C->unkCC)) {
sub_8013114(&gUnknown_203B27C->unkCC,&menuAction);
if (menuAction != 1) {
if (menuAction != CANCEL_ACTION) {
gUnknown_203B27C->menuAction3 = menuAction;
}
}
switch(menuAction)
{
case 0x1:
case 0x11:
case CANCEL_ACTION:
case NO_ACTION:
sub_801FDA8(0x16);
break;
case 0x3:
case REMEMBER_ACTION:
sub_801F63C();
unk_CopyMoves4To8(gUnknown_203B27C->moves,gUnknown_203B27C->pokeStruct->moves);
for(index = 0; index < MAX_MON_MOVES * 2; index++)
@@ -832,7 +851,7 @@ static void sub_8020CC0(void)
sub_801FDA8(0x19);
}
break;
case 0xB:
case INFO_ACTION:
sub_801FDA8(0x18);
break;
}
@@ -919,14 +938,14 @@ static void sub_8020EB4(void)
sub_801EF38(0);
if (!sub_8012FD8(&gUnknown_203B27C->unkCC)) {
sub_8013114(&gUnknown_203B27C->unkCC,&menuAction);
if (menuAction != 1) {
if (menuAction != CANCEL_ACTION) {
gUnknown_203B27C->menuAction4 = menuAction;
}
}
switch(menuAction)
{
case 5:
case SET_ACTION:
if(ToggleSetMove(gUnknown_203B27C->moveIndex, gUnknown_203B27C->moves))
{
PlaySound(0x133);
@@ -938,7 +957,7 @@ static void sub_8020EB4(void)
sub_801FDA8(0x1F);
}
break;
case 6:
case DESELECT_ACTION:
PlaySound(0x133);
UnSetMove(gUnknown_203B27C->moveIndex, gUnknown_203B27C->moves);
sub_801FDA8(0x1F);
@@ -955,7 +974,7 @@ static void sub_8020EB4(void)
}
sub_801FDA8(0x1F);
break;
case 8:
case LINK_ACTION:
if(gTeamInventoryRef->teamMoney < 150)
{
PlayMenuSoundEffect(2);
@@ -981,7 +1000,7 @@ static void sub_8020EB4(void)
sub_801FDA8(0x1F);
}
break;
case 9:
case DE_LINK_ACTION:
if(!sub_809333C(gUnknown_203B27C->moveIndex, gUnknown_203B27C->moves))
{
PlayMenuSoundEffect(2);
@@ -994,11 +1013,11 @@ static void sub_8020EB4(void)
sub_801FDA8(0x1F);
}
break;
case 1:
case 0x11:
case CANCEL_ACTION:
case NO_ACTION:
sub_801FDA8(0x1F);
break;
case 0xA:
case FORGET_ACTION:
if(!IsAnyMoveLinked(gUnknown_203B27C->moveIndex, gUnknown_203B27C->moves))
{
PlayMenuSoundEffect(2);
@@ -1011,10 +1030,10 @@ static void sub_8020EB4(void)
sub_801FDA8(0x22);
}
break;
case 0xB:
case INFO_ACTION:
sub_801FDA8(33);
break;
case 0xC ... 0xF:
case CHECK_IQ_ACTION ... REMEMBERING_MOVES_ACTION:
break;
}
}
@@ -1039,12 +1058,12 @@ static void sub_80210E4(void)
if (sub_80144A4(&menuAction) == 0) {
switch (menuAction) {
case 16:
case YES_ACTION:
RemoveLinkSequenceFromMoves8(gUnknown_203B27C->moves, gUnknown_203B27C->moveIndex);
sub_801FDA8(35);
break;
case 1:
case 17:
case CANCEL_ACTION:
case NO_ACTION:
sub_801FDA8(31);
break;
}

View File

@@ -24,6 +24,12 @@ static EWRAM_DATA_2 MakuhitaDojoWork1 *sMakuhitaDojoWork1 = {0};
#include "data/makuhita_dojo1.h"
enum menuActions {
CANCEL_ACTION = 1,
GO_TRAIN_ACTION,
INFO_ACTION
};
static void MakuhitaDojo_DrawMainMenu(void);
static void MakuhitaDojo_GoToFallbackState(void);
static void MakuhitaDojo_SetState(s32);
@@ -237,10 +243,10 @@ static void MakuhitaDojo_DrawMainMenu(void)
{
s32 loopMax;
sMakuhitaDojoWork1->menuAction = 2;
sMakuhitaDojoWork1->menuAction = GO_TRAIN_ACTION;
loopMax = 0;
sMakuhitaDojoWork1->unk18[loopMax].text = sGoTrain;
sMakuhitaDojoWork1->unk18[loopMax].menuAction = 2;
sMakuhitaDojoWork1->unk18[loopMax].menuAction = GO_TRAIN_ACTION;
if (MakuhitaDojo_ReturnFalse()) {
sMakuhitaDojoWork1->unk18[loopMax].menuAction = -1;
@@ -249,13 +255,13 @@ static void MakuhitaDojo_DrawMainMenu(void)
loopMax += 1;
sMakuhitaDojoWork1->unk18[loopMax].text = gCommonInfo[0];
sMakuhitaDojoWork1->unk18[loopMax].menuAction = 3;
sMakuhitaDojoWork1->unk18[loopMax].menuAction = INFO_ACTION;
loopMax += 1;
sMakuhitaDojoWork1->unk18[loopMax].text = gCommonCancel[0];
sMakuhitaDojoWork1->unk18[loopMax].menuAction = 1;
sMakuhitaDojoWork1->unk18[loopMax].menuAction = CANCEL_ACTION;
loopMax += 1;
sMakuhitaDojoWork1->unk18[loopMax].text = NULL;
sMakuhitaDojoWork1->unk18[loopMax].menuAction = 1;
sMakuhitaDojoWork1->unk18[loopMax].menuAction = CANCEL_ACTION;
}
static void sub_8030208(void)
@@ -265,13 +271,13 @@ static void sub_8030208(void)
sMakuhitaDojoWork1->menuAction = menuAction;
switch (menuAction) {
case 2:
case GO_TRAIN_ACTION:
MakuhitaDojo_SetState(3);
break;
case 3:
case INFO_ACTION:
MakuhitaDojo_SetState(12);
break;
case 1:
case CANCEL_ACTION:
MakuhitaDojo_SetState(2);
break;
}

View File

@@ -28,6 +28,15 @@ static EWRAM_DATA_2 WigglytuffShop3Work *sWigglytuffShop3Work = {0};
#include "data/wigglytuff_shop3.h"
enum menuActions {
CANCEL_ACTION = 1,
BUY_ACTION,
CHECK_ACTION,
INFO_ACTION,
YES_ACTION,
NO_ACTION
};
static void CreateWigglytuffConfirmFriendAreaMenu(void);
static void HandleWigglytuffConfirmFriendAreaMenu(void);
static void SetWigglytuffState(s32 newState);
@@ -327,23 +336,23 @@ static void sub_80222C8(void)
MemoryFill16(sWigglytuffShop3Work->unk5C, 0, sizeof(sWigglytuffShop3Work->unk5C));
sWigglytuffShop3Work->unk1C[index].text = gCommonBuy[0];
sWigglytuffShop3Work->unk1C[index].menuAction = 2;
sWigglytuffShop3Work->unk1C[index].menuAction = BUY_ACTION;
index++;
sWigglytuffShop3Work->unk1C[index].text = gCommonCheck[0];
sWigglytuffShop3Work->unk1C[index].menuAction = 3;
sWigglytuffShop3Work->unk1C[index].menuAction = CHECK_ACTION;
index++;
sWigglytuffShop3Work->unk1C[index].text = gCommonInfo[0];
sWigglytuffShop3Work->unk1C[index].menuAction = 4;
sWigglytuffShop3Work->unk1C[index].menuAction = INFO_ACTION;
index++;
sWigglytuffShop3Work->unk1C[index].text = gCommonCancel[0];
sWigglytuffShop3Work->unk1C[index].menuAction = 1;
sWigglytuffShop3Work->unk1C[index].menuAction = CANCEL_ACTION;
index++;
sWigglytuffShop3Work->unk1C[index].text = NULL;
sWigglytuffShop3Work->unk1C[index].menuAction = 1;
sWigglytuffShop3Work->unk1C[index].menuAction = CANCEL_ACTION;
for (i = 0; i < index; i++) {
if (sWigglytuffShop3Work->unk5C[i] == 0 && sWigglytuffShop3Work->unk1C[i].menuAction == sWigglytuffShop3Work->menuAction1)
@@ -366,15 +375,15 @@ static void sub_8022380(void)
MemoryFill16(sWigglytuffShop3Work->unk5C, 0, sizeof(sWigglytuffShop3Work->unk5C));
sWigglytuffShop3Work->unk1C[index].text = gCommonBuy[0];
sWigglytuffShop3Work->unk1C[index].menuAction = 2;
sWigglytuffShop3Work->unk1C[index].menuAction = BUY_ACTION;
index++;
sWigglytuffShop3Work->unk1C[index].text = gCommonInfo[0];
sWigglytuffShop3Work->unk1C[index].menuAction = 4;
sWigglytuffShop3Work->unk1C[index].menuAction = INFO_ACTION;
index++;
sWigglytuffShop3Work->unk1C[index].text = NULL;
sWigglytuffShop3Work->unk1C[index].menuAction = 1;
sWigglytuffShop3Work->unk1C[index].menuAction = CANCEL_ACTION;
for (i = 0; i < index; i++) {
if (sWigglytuffShop3Work->unk5C[i] == 0 && sWigglytuffShop3Work->unk1C[i].menuAction == sWigglytuffShop3Work->menuAction2)
@@ -396,15 +405,15 @@ static void CreateWigglytuffConfirmFriendAreaMenu(void)
MemoryFill16(sWigglytuffShop3Work->unk5C, 0, sizeof(sWigglytuffShop3Work->unk5C));
sWigglytuffShop3Work->unk1C[index].text = gCommonYes[0];
sWigglytuffShop3Work->unk1C[index].menuAction = 5;
sWigglytuffShop3Work->unk1C[index].menuAction = YES_ACTION;
index++;
sWigglytuffShop3Work->unk1C[index].text = gCommonNo[0];
sWigglytuffShop3Work->unk1C[index].menuAction = 6;
sWigglytuffShop3Work->unk1C[index].menuAction = NO_ACTION;
index++;
sWigglytuffShop3Work->unk1C[index].text = NULL;
sWigglytuffShop3Work->unk1C[index].menuAction = 1;
sWigglytuffShop3Work->unk1C[index].menuAction = CANCEL_ACTION;
}
static void sub_8022460(void)
@@ -414,23 +423,23 @@ static void sub_8022460(void)
if (sub_80144A4(&menuAction) != 0)
return;
if (menuAction != 1)
if (menuAction != CANCEL_ACTION)
sWigglytuffShop3Work->menuAction1 = menuAction;
switch (menuAction) {
case 2:
case BUY_ACTION:
if (sub_8021700(2))
SetWigglytuffState(WIGGLYTUFF_CANT_ADD_FRIEND_AREA);
else
SetWigglytuffState(FRIEND_AREA_SELECT_BUY);
break;
case 3:
case CHECK_ACTION:
SetWigglytuffState(WIGGLYTUFF_CHECK);
break;
case 4:
case INFO_ACTION:
SetWigglytuffState(WIGGLYTUFF_INFO);
break;
case 1:
case CANCEL_ACTION:
SetWigglytuffState(WIGGLYTUFF_PRE_EXIT);
break;
}
@@ -444,14 +453,14 @@ static void HandleWigglytuffConfirmFriendAreaMenu(void)
return;
switch (menuAction) {
case 5:
case YES_ACTION:
gTeamInventoryRef->teamMoney -= sWigglytuffShop3Work->friendAreaPrice;
UnlockFriendArea(sWigglytuffShop3Work->chosenFriendArea);
PlaySound(332);
SetWigglytuffState(CONFIRM_BUY_FRIEND_AREA);
break;
case 1:
case 6:
case CANCEL_ACTION:
case NO_ACTION:
SetWigglytuffState(WIGGLYTUFF_UNKA);
break;
}
@@ -497,7 +506,7 @@ static void sub_80225C8(void)
}
switch (menuAction) {
case 2:
case BUY_ACTION:
if (gTeamInventoryRef->teamMoney == 0)
SetWigglytuffState(NO_MONEY);
else if (sWigglytuffShop3Work->friendAreaPrice > gTeamInventoryRef->teamMoney)
@@ -505,10 +514,10 @@ static void sub_80225C8(void)
else
SetWigglytuffState(BUY_FRIEND_AREA);
break;
case 4:
case INFO_ACTION:
SetWigglytuffState(FRIEND_AREA_INFO);
break;
case 1:
case CANCEL_ACTION:
SetWigglytuffState(WIGGLYTUFF_UNKA);
break;
}

View File

@@ -33,6 +33,16 @@ enum WonderMailRescueStates
// 13 - 16
};
enum menuActions {
CANCEL_ACTION = 1,
DELETE_ACTION,
YES_ACTION,
NO_ACTION,
INFO_ACTION,
NEW_MAIL_ACTION,
OLD_MAIL_ACTION
};
static EWRAM_DATA_2 unkStruct_203B2F8 *sUnknown_203B2F8 = {0};
#include "data/wonder_mail_802D098.h"
@@ -279,15 +289,15 @@ static void sub_802D5A4(void)
loopMax = 0;
MemoryFill16(sUnknown_203B2F8->unk198, 0, sizeof(sUnknown_203B2F8->unk198));
sUnknown_203B2F8->unk118[loopMax].text = gCommonDelete[0];
sUnknown_203B2F8->unk118[loopMax].menuAction = 2;
sUnknown_203B2F8->unk118[loopMax].menuAction = DELETE_ACTION;
loopMax++;
sUnknown_203B2F8->unk118[loopMax].text = gCommonInfo[0];
sUnknown_203B2F8->unk118[loopMax].menuAction = 5;
sUnknown_203B2F8->unk118[loopMax].menuAction = INFO_ACTION;
loopMax++;
sUnknown_203B2F8->unk118[loopMax].text = NULL;
sUnknown_203B2F8->unk118[loopMax].menuAction = 1;
sUnknown_203B2F8->unk118[loopMax].menuAction = CANCEL_ACTION;
for (i = 0; i < loopMax; i++) {
if (sUnknown_203B2F8->unk198[i] == 0) {
@@ -296,7 +306,7 @@ static void sub_802D5A4(void)
}
}
sUnknown_203B2F8->menuAction1 = 2;
sUnknown_203B2F8->menuAction1 = DELETE_ACTION;
}
static void sub_802D63C(void)
@@ -305,15 +315,15 @@ static void sub_802D63C(void)
loopMax = 0;
sUnknown_203B2F8->unk158[loopMax].text = gCommonYes[0];
sUnknown_203B2F8->unk158[loopMax].menuAction = 3;
sUnknown_203B2F8->unk158[loopMax].menuAction = YES_ACTION;
loopMax++;
sUnknown_203B2F8->unk158[loopMax].text = gCommonNo[0];
sUnknown_203B2F8->unk158[loopMax].menuAction = 4;
sUnknown_203B2F8->unk158[loopMax].menuAction = NO_ACTION;
loopMax++;
sUnknown_203B2F8->unk158[loopMax].text = NULL;
sUnknown_203B2F8->unk158[loopMax].menuAction = 1;
sUnknown_203B2F8->unk158[loopMax].menuAction = CANCEL_ACTION;
}
static void sub_802D690(void)
@@ -323,30 +333,30 @@ static void sub_802D690(void)
loopMax = 0;
sUnknown_203B2F8->unk158[loopMax].text = gCommonYes[0];
sUnknown_203B2F8->unk158[loopMax].menuAction = 3;
sUnknown_203B2F8->unk158[loopMax].menuAction = YES_ACTION;
loopMax++;
sUnknown_203B2F8->unk158[loopMax].text = gCommonNo[0];
sUnknown_203B2F8->unk158[loopMax].menuAction = 4;
sUnknown_203B2F8->unk158[loopMax].menuAction = NO_ACTION;
loopMax++;
sUnknown_203B2F8->unk158[loopMax].text = sNewMail;
sUnknown_203B2F8->unk158[loopMax].menuAction = 6;
sUnknown_203B2F8->unk158[loopMax].menuAction = NEW_MAIL_ACTION;
loopMax++;
sUnknown_203B2F8->unk158[loopMax].text = sOldMail;
sUnknown_203B2F8->unk158[loopMax].menuAction = 7;
sUnknown_203B2F8->unk158[loopMax].menuAction = OLD_MAIL_ACTION;
loopMax++;
sUnknown_203B2F8->unk158[loopMax].text = NULL;
sUnknown_203B2F8->unk158[loopMax].menuAction = 1;
sUnknown_203B2F8->unk158[loopMax].menuAction = CANCEL_ACTION;
for (i = 0; i < loopMax; i++) {
if (sUnknown_203B2F8->unk158[i].menuAction == sUnknown_203B2F8->menuAction3)
return;
}
sUnknown_203B2F8->menuAction3 = 4;
sUnknown_203B2F8->menuAction3 = NO_ACTION;
}
static void sub_802D73C(void)
@@ -356,26 +366,26 @@ static void sub_802D73C(void)
loopMax = 0;
sUnknown_203B2F8->unk158[loopMax].text = gCommonYes[0];
sUnknown_203B2F8->unk158[loopMax].menuAction = 3;
sUnknown_203B2F8->unk158[loopMax].menuAction = YES_ACTION;
loopMax++;
sUnknown_203B2F8->unk158[loopMax].text = gCommonNo[0];
sUnknown_203B2F8->unk158[loopMax].menuAction = 4;
sUnknown_203B2F8->unk158[loopMax].menuAction = NO_ACTION;
loopMax++;
sUnknown_203B2F8->unk158[loopMax].text = sNewMail;
sUnknown_203B2F8->unk158[loopMax].menuAction = 6;
sUnknown_203B2F8->unk158[loopMax].menuAction = NEW_MAIL_ACTION;
loopMax++;
sUnknown_203B2F8->unk158[loopMax].text = NULL;
sUnknown_203B2F8->unk158[loopMax].menuAction = 1;
sUnknown_203B2F8->unk158[loopMax].menuAction = CANCEL_ACTION;
for (i = 0; i < loopMax; i++) {
if (sUnknown_203B2F8->unk158[i].menuAction == sUnknown_203B2F8->menuAction2)
return;
}
sUnknown_203B2F8->menuAction2 = 4;
sUnknown_203B2F8->menuAction2 = NO_ACTION;
}
static void sub_802D7D0(void)
@@ -385,19 +395,19 @@ static void sub_802D7D0(void)
if (sub_80144A4(&menuAction))
return;
if (menuAction != 1)
if (menuAction != CANCEL_ACTION)
sUnknown_203B2F8->menuAction2 = menuAction;
switch (menuAction) {
case 3: // Yes
case YES_ACTION:
sub_802D1A0(WONDER_MAIL_EXIT);
break;
case 6: // New Mail
case NEW_MAIL_ACTION:
sUnknown_203B2F8->fallbackState = 1;
sub_802D1A0(0x10);
break;
case 4: // No
case 2:
case NO_ACTION:
case DELETE_ACTION:
default:
sub_802D1A0(INITIAL_WONDER_MAIL_CHECK);
break;
@@ -411,27 +421,27 @@ static void sub_802D82C(void)
if (sub_80144A4(&menuAction))
return;
if (menuAction != 1)
if (menuAction != CANCEL_ACTION)
sUnknown_203B2F8->menuAction3 = menuAction;
switch (menuAction) {
case 3: // Yes
case YES_ACTION:
ResetJobSlot(sUnknown_203B2F8->jobSlotIndex);
ShiftJobSlotsDown();
sub_802D1A0(RECEIVE_WONDER_MAIL);
break;
case 6: // New Mail
case NEW_MAIL_ACTION:
sUnknown_203B2F8->fallbackState = 9;
sub_802D1A0(16);
break;
case 7: // Old Mail
case OLD_MAIL_ACTION:
sUnknown_203B2F8->fallbackState = 9;
sub_802D1A0(15);
break;
default: // No
case 1:
case 2:
case 4:
default:
case CANCEL_ACTION:
case DELETE_ACTION:
case NO_ACTION:
sub_802D1A0(1);
break;
}
@@ -469,12 +479,12 @@ static void sub_802D940(void)
if (!sub_8012FD8(&sUnknown_203B2F8->unk78)) {
sub_8013114(&sUnknown_203B2F8->unk78, &menuAction);
if (menuAction != 1)
if (menuAction != CANCEL_ACTION)
sUnknown_203B2F8->menuAction1 = menuAction;
}
switch (menuAction) {
case 2: // Delete
case DELETE_ACTION:
if (sUnknown_203B2F8->unk9) {
mail = &gUnknown_203B490->jobSlots[sUnknown_203B2F8->jobSlotIndex];
if (mail->mailType > MAIL_TYPE_SUSPENDED_JOB && sUnknown_203B2F8->dungeonID == mail->unk4.dungeon.id) {
@@ -485,11 +495,11 @@ static void sub_802D940(void)
sub_802D1A0(14);
break;
case 5: // Info
case INFO_ACTION:
sUnknown_203B2F8->fallbackState = DRAW_JOB_LIST_1;
sub_802D1A0(15);
break;
case 1:
case CANCEL_ACTION:
sub_802D1A0(DRAW_JOB_LIST_1);
break;
}
@@ -506,12 +516,12 @@ static void sub_802D9F0(void)
sub_8013114(&sUnknown_203B2F8->unkC8, &menuAction);
switch (menuAction) {
case 1: // No
case 4:
case CANCEL_ACTION:
case NO_ACTION:
sub_802D1A0(DRAW_JOB_LIST_1);
break;
case 3: // Yes
case YES_ACTION:
sub_802C688();
ResetJobSlot(sUnknown_203B2F8->jobSlotIndex);
ShiftJobSlotsDown();