move MenuStruct to include/menu and use in more places

This commit is contained in:
Seth Barberee 2023-02-13 17:37:15 -08:00
parent 1c92acbef7
commit dcd8ea2e2f
15 changed files with 167 additions and 186 deletions

View File

@ -19,7 +19,7 @@ enum DebugMenuOptions
struct DebugMenu
{
// size: 0x1A4
u8 fill0[0x140];
struct MenuStruct unk0[4];
/* 0x140 */ struct UnkTextStruct2 unk140[4];
u32 fill1A0;
};

View File

@ -27,5 +27,4 @@ struct MenuStruct
u8 unk4D;
};
#endif // GUARD_MENU_H

View File

@ -1,6 +1,8 @@
#ifndef GUARD_RESCUE_PASSWORD_MENU_H
#define GUARD_RESCUE_PASSWORD_MENU_H
#include "menu.h"
struct unkSprite
{
u16 unk208;
@ -14,13 +16,10 @@ struct RescuePasswordMenu
// size: 0x214
u32 currMenu;
u32 state;
u32 unk8;
u8 fillC[0x148 - 0xC];
struct MenuStruct unk8[4];
struct UnkTextStruct2 unk148[4];
struct UnkTextStruct2 unk1A8[4];
struct unkSprite unk208;
u32 unk210;
};

View File

@ -3,6 +3,7 @@
#include "text.h"
#include "item.h"
#include "menu.h"
struct TradeSubStruct
{
@ -32,10 +33,7 @@ struct TradeItemsMenu
u32 unk30;
u32 unk34;
u8 fill38[0x44 - 0x38];
u32 unk44;
u8 fill8[0x134 - 0x48];
u32 unk134;
u8 fill138[0x184 - 0x138];
struct MenuStruct unk44[4];
struct UnkTextStruct2 unk184[4];
struct UnkTextStruct2 unk1E4[4];

View File

@ -4,6 +4,7 @@
#include "file_system.h"
#include "text.h"
#include "item.h"
#include "menu.h"
#include "pokemon.h"
#include "code_8094F88.h"
@ -61,12 +62,7 @@ struct WonderMailStruct_203B2C0
struct WonderMailStruct_203B2C0_sub unk130;
u8 fill16A[0x218 - 0x1B8];
u8 mailIndex;
u32 unk21C;
u8 padding[0x7C];
u32 unk29C;
u8 padding6[0x6C];
u32 unk30C;
u8 padding8[0x4C];
struct MenuStruct unk21C[4];
struct UnkTextStruct2 unk35C[4];
struct UnkTextStruct2 unk3BC[4];
/* 0x41C */ u32 unkfill; // ItemSlot?
@ -99,10 +95,7 @@ struct WonderMailStruct_203B2C4
struct unkStruct_203B480 unk1B8;
struct unkStruct_203B480 unk1E8;
s8 mailIndex;
u32 unk21C;
u8 filler220[0x30C - 0x220];
u32 unk30C;
u8 filler310[0x35C - 0x310];
struct MenuStruct unk21C[4];
struct UnkTextStruct2 unk35C[4];
struct UnkTextStruct2 unk3BC[4];
struct Item unk41C;

View File

@ -54,14 +54,14 @@ ALIGNED(4) static const char debug_menu_fill6[] = "pksdir0";
extern u8 sub_8012FD8(struct DebugMenu *);
extern void sub_8013114(struct DebugMenu *, s32 *);
extern u8 sub_8012FD8(struct MenuStruct*);
extern void sub_8013114(struct MenuStruct*, s32 *);
extern void sub_80976F8(u8);
extern void sub_803A3BC(void);
extern void sub_803A3A0(void);
extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
extern void sub_8035CF4(struct DebugMenu *, u32, u32);
extern void SetMenuItems(struct MenuStruct *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
extern void sub_8035CF4(struct MenuStruct*, u32, u32);
extern void sub_8035CC0(struct UnkTextStruct2 *, u32);
extern void sub_808D1DC(u8 *);
extern void sub_808CFD0(u8 *, s32, u8 *, u32, u32 *, u16 *);
@ -102,8 +102,8 @@ u32 UpdateDebugMenu(void)
nextMenu = MENU_NO_SCREEN_CHANGE;
debugMenuAction = 11;
if (sub_8012FD8(gUnknown_203B3EC) == 0) {
sub_8013114(gUnknown_203B3EC, &debugMenuAction);
if (sub_8012FD8(&gUnknown_203B3EC->unk0[0]) == 0) {
sub_8013114(&gUnknown_203B3EC->unk0[0], &debugMenuAction);
}
switch(debugMenuAction) {
@ -147,8 +147,8 @@ u32 UpdateDebugMenu(void)
void SetDebugMenuItems(void)
{
SetMenuItems(gUnknown_203B3EC, gUnknown_203B3EC->unk140, 0, &gUnknown_80E7D58, gDebugMenuItems, 1, 0xd, 0);
sub_8035CF4(gUnknown_203B3EC,0,1);
SetMenuItems(gUnknown_203B3EC->unk0, gUnknown_203B3EC->unk140, 0, &gUnknown_80E7D58, gDebugMenuItems, 1, 0xd, 0);
sub_8035CF4(gUnknown_203B3EC->unk0,0,1);
}
void sub_803A3A0(void)

View File

@ -18,12 +18,7 @@ struct LoadScreen
{
// size: 0x27c
u32 currMenu;
u32 unk4;
u8 fill8[0x54 - 8];
u32 unk54;
u8 fill58[0xA4 - 0x58];
u32 unkA4;
u8 fillA8[0x144 - 0xA8];
struct MenuStruct unk4[4];
struct UnkTextStruct2 unk144[4];
/* 0x1A4 */ u8 formattedTeamName[0x24];
/* 0x1C8 */ u8 formattedPlayerName[0x24];
@ -44,10 +39,10 @@ u8 IsQuickSave(void);
void DrawLoadScreenText(void);
void sub_80397B4(void);
extern void sub_8035CF4(u32 *, u32, u32);
extern void SetMenuItems(u32 *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
extern u8 sub_8012FD8(u32 *);
extern void sub_8013114(u32 *, u32 *);
extern void sub_8035CF4(struct MenuStruct *, u32, u32);
extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
extern u8 sub_8012FD8(struct MenuStruct *);
extern void sub_8013114(struct MenuStruct *, u32 *);
extern void sub_80920D8(u8 *);
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
@ -170,40 +165,40 @@ ALIGNED(4) const char load_screen_fill[] = "pksdir0";
void CreateLoadScreen(u32 currMenu)
{
int iVar8;
int index;
if (gLoadScreen == NULL) {
gLoadScreen = MemoryAlloc(sizeof(struct LoadScreen),8);
MemoryFill8((u8 *)gLoadScreen,0,sizeof(struct LoadScreen));
}
gLoadScreen->currMenu = currMenu;
for(iVar8 = 0; iVar8 < 4; iVar8++){
gLoadScreen->unk144[iVar8] = gUnknown_80E75F8;
for(index = 0; index < 4; index++){
gLoadScreen->unk144[index] = gUnknown_80E75F8;
}
ResetUnusedInputStruct();
sub_800641C(gLoadScreen->unk144,1,1);
SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,0,&gUnknown_80E7610,gUnknown_203B378,0,6,0);
SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,0,&gUnknown_80E7610,gUnknown_203B378,0,6,0);
switch(gLoadScreen->currMenu){
case MENU_CONTINUE:
if (IsQuickSave())
SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gResumeQuicksaveMenuItems,0,6,0);
SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gResumeQuicksaveMenuItems,0,6,0);
else
SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gResumeAdventureMenuItems,0,6,0);
SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gResumeAdventureMenuItems,0,6,0);
break;
case MENU_AWAITING_RESCUE:
SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gQuitWaitingRescueMenuItems,0,6,0);
SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gQuitWaitingRescueMenuItems,0,6,0);
break;
case MENU_DELETE_SAVE_PROMPT:
SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gDeleteSavePromptMenuItems,0,6,0);
SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C,gDeleteSavePromptMenuItems,0,6,0);
break;
case MENU_DELETE_SAVE_CONFIRM:
SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C, gDeleteSaveConfirmMenuItems,0,6,0);
SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,1,&gUnknown_80E762C, gDeleteSaveConfirmMenuItems,0,6,0);
break;
}
SetMenuItems(&gLoadScreen->unk4,gLoadScreen->unk144,2,&gUnknown_80E7784,gLoadScreenYesNoMenu,1,2,0);
sub_8035CF4(&gLoadScreen->unk4,0,0);
sub_8035CF4(&gLoadScreen->unk4,1,0);
sub_8035CF4(&gLoadScreen->unk4,2,1);
SetMenuItems(gLoadScreen->unk4,gLoadScreen->unk144,2,&gUnknown_80E7784,gLoadScreenYesNoMenu,1,2,0);
sub_8035CF4(gLoadScreen->unk4,0,0);
sub_8035CF4(gLoadScreen->unk4,1,0);
sub_8035CF4(gLoadScreen->unk4,2,1);
DrawLoadScreenText();
}
@ -225,9 +220,9 @@ u32 UpdateLoadScreenMenu(void)
nextMenu = MENU_NO_SCREEN_CHANGE;
menuAction = 4;
sub_8012FD8(&gLoadScreen->unk54);
if (sub_8012FD8(&gLoadScreen->unkA4) == '\0') {
sub_8013114(&gLoadScreen->unkA4,&menuAction);
sub_8012FD8(&gLoadScreen->unk4[1]);
if (sub_8012FD8(&gLoadScreen->unk4[2]) == '\0') {
sub_8013114(&gLoadScreen->unk4[2],&menuAction);
}
switch(menuAction)

View File

@ -34,8 +34,7 @@ struct unkStruct_203B34C
{
// size: 0x1A8
u32 unk0;
struct MenuStruct unk4[3];
u8 fillF4[0x144 - 0xF4];
struct MenuStruct unk4[4];
struct UnkTextStruct2 unk144[4];
/* 0x1A4 */ u32 currMenuChoice;
};
@ -628,16 +627,16 @@ void sub_8035C1C(void)
}
void
SetMenuItems(struct MenuStruct *param_1, struct UnkTextStruct2 *unkData, int index, const struct UnkTextStruct2 *param_4, const struct MenuItem *param_5, char param_6 ,u32 param_7, u32 unused_8)
SetMenuItems(struct MenuStruct *param_1, struct UnkTextStruct2 *unkData, s32 index, const struct UnkTextStruct2 *param_4, const struct MenuItem *menuItems, u8 param_6 ,u32 param_7, u32 unused_8)
{
unkData[index] = *param_4;
ResetUnusedInputStruct();
sub_800641C(unkData,1,1);
if (param_6 != 0) {
sub_8012D60(&param_1[index],param_5,0,0,param_7,index);
sub_8012D60(&param_1[index],menuItems,0,0,param_7,index);
}
else {
sub_8012E04(&param_1[index],param_5,0,0,0,index);
sub_8012E04(&param_1[index],menuItems,0,0,0,index);
}
param_1[index].unk4C = 1;
}
@ -897,50 +896,50 @@ bool8 SetMainMenuText(void)
switch(menuChoice) {
case MENU_WIRELESS_COMMS:
// Using wireless communications, you can go on an adventure to unknown worlds.
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E6030,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E6030,0,0,0);
break;
case MENU_WONDER_MAIL:
// Using passwords, you can receive Wonder Mail
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F80,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F80,0,0,0);
break;
case MENU_AWAITING_RESCUE:
// You are awaiting resuce by a friend
// You can give up waiting for rescue
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F1C,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F1C,0,0,0);
break;
case MENU_NEW_GAME:
// Start an entirely new adventure
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5CCC,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5CCC,0,0,0);
break;
case MENU_CONTINUE:
// Resume your adventure from where you last saved
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DA0,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DA0,0,0,0);
break;
case MENU_DELETE_SAVE_PROMPT:
// This will delete your saved game data.
// Beware! This will delete it forever
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DF0,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DF0,0,0,0);
break;
case MENU_ADVENTURE_LOG:
// Check your career as an adventurer
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D0C,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D0C,0,0,0);
break;
case MENU_FRIEND_RESCUE:
// Using a Game Link cable or passwords, friends may rescue each other
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5E5C,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5E5C,0,0,0);
break;
case MENU_TRADE_ITEMS:
// Using a Game Link cable you can trade stored items with a friend
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5EBC,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5EBC,0,0,0);
break;
case MENU_DUAL_SLOT:
// Using Dual Slot function, you can receive teams from your friends
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5FCC,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5FCC,0,0,0);
break;
case MENU_DEBUG:
// This is the Debug Mode.
// It won't be in the release version
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D48,0,0,0);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D48,0,0,0);
break;
default:
break;
@ -971,7 +970,7 @@ void SetMainMenuItems(void)
// Friend Rescue
// Trade Items
// Wonder Mail
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5C18,1,gUnknown_203B350,1);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5C18,1,gUnknown_203B350,1);
}
else {
// Revive Team
@ -979,7 +978,7 @@ void SetMainMenuItems(void)
// Adventure Log
// Friend Rescue
// Trade Items
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5BC4,gUnknown_80E5BDC,1,gUnknown_203B350,1);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5BC4,gUnknown_80E5BDC,1,gUnknown_203B350,1);
}
}
else {
@ -990,7 +989,7 @@ void SetMainMenuItems(void)
// Friend Rescue
// Trade Items
// Wonder Mail
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5AFC,1,gUnknown_203B350,1);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5AFC,1,gUnknown_203B350,1);
}
else {
// Continue
@ -998,7 +997,7 @@ void SetMainMenuItems(void)
// Adventure Log
// Friend Rescue
// Trade Items
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A60,gUnknown_80E5A90,1,gUnknown_203B350,1);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A60,gUnknown_80E5A90,1,gUnknown_203B350,1);
}
}
}
@ -1010,7 +1009,7 @@ void SetMainMenuItems(void)
// Friend Rescue
// Trade Items
// Wonder Mail
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5B8C,1,gUnknown_203B350,1);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5B8C,1,gUnknown_203B350,1);
}
else {
// Awaiting Rescue
@ -1018,7 +1017,7 @@ void SetMainMenuItems(void)
// Adventure Log
// Friend Rescue
// Trade Items
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5B34,gUnknown_80E5B4C,1,gUnknown_203B350,1);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5B34,gUnknown_80E5B4C,1,gUnknown_203B350,1);
}
}
}
@ -1026,7 +1025,7 @@ void SetMainMenuItems(void)
{
// New Game
// Adventure Log
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E59E0,gUnknown_80E59F8,1,gUnknown_203B350,1);
SetMenuItems(gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E59E0,gUnknown_80E59F8,1,gUnknown_203B350,1);
}
}

View File

@ -15,8 +15,7 @@ struct unkStruct_203B35C
u32 linkStatus;
u32 state;
u8 fillC[0x1C - 0xC];
u32 unk1C;
u8 fill20[0x15C - 0x20];
struct MenuStruct unk1C[4];
struct UnkTextStruct2 unk15C[4];
u8 unk1BC[4];
u32 unk1C0[9];
@ -56,19 +55,19 @@ extern struct MenuItem gUnknown_80E6D6C[];
extern void sub_8037400(void);
extern void ResetSprites(u32);
extern void sub_8035CF4(u32 *,u32, u32);
extern void sub_8035CF4(struct MenuStruct *,u32, u32);
extern void sub_80376CC();
extern void sub_8035CC0(struct UnkTextStruct2 *, u32);
extern u8 sub_80130A8(u32 *);
extern void sub_8013114(u32 *, u32 *);
extern u8 sub_80130A8(struct MenuStruct *);
extern void sub_8013114(struct MenuStruct *, u32 *);
extern u32 sub_8037C10(u32);
extern void sub_8037748(void);
extern void sub_80371B8(void);
extern void sub_8037900(void);
extern void PlayMenuSoundEffect(u32);
extern u32 sub_8037798(void);
extern void SetMenuItems(void *, void *, u32, struct UnkTextStruct2 *, struct MenuItem *, u32, u32, u32);
extern void SetMenuItems(struct MenuStruct *, void *, u32, struct UnkTextStruct2 *, struct MenuItem *, u32, u32, u32);
extern void sub_8005838(u32, u32);
extern void sub_80060EC();
extern void sub_800CB20();
@ -107,9 +106,9 @@ void sub_8036FDC(s32 param_1)
}
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B35C->unk15C,1,1);
SetMenuItems(&gUnknown_203B35C->unk1C,gUnknown_203B35C->unk15C,0,&gUnknown_80E6CD0,gUnknown_80E6CE8,0,
SetMenuItems(gUnknown_203B35C->unk1C,gUnknown_203B35C->unk15C,0,&gUnknown_80E6CD0,gUnknown_80E6CE8,0,
6,0);
sub_8035CF4(&gUnknown_203B35C->unk1C,0,1);
sub_8035CF4(gUnknown_203B35C->unk1C,0,1);
sub_80376CC();
}
#else
@ -250,8 +249,8 @@ u32 sub_80370F0(void)
nextMenu = MENU_NO_SCREEN_CHANGE;
switch(gUnknown_203B35C->state){
case 0:
if (sub_80130A8(&gUnknown_203B35C->unk1C) == '\0') {
sub_8013114(&gUnknown_203B35C->unk1C,&local_10);
if (sub_80130A8(&gUnknown_203B35C->unk1C[0]) == '\0') {
sub_8013114(&gUnknown_203B35C->unk1C[0],&local_10);
}
if (local_10 == 4) {
sub_8037748();
@ -271,8 +270,8 @@ u32 sub_80370F0(void)
return 0x29; // TODO: what screen is this?
}
else {
if (sub_80130A8(&gUnknown_203B35C->unk1C) == '\0') {
sub_8013114(&gUnknown_203B35C->unk1C,&local_10);
if (sub_80130A8(&gUnknown_203B35C->unk1C[0]) == '\0') {
sub_8013114(&gUnknown_203B35C->unk1C[0],&local_10);
}
if (local_10 != 4) {
PlayMenuSoundEffect(3);
@ -302,8 +301,8 @@ void sub_80371B8(void)
// Success!
// The item exchange with your friend
// went through successfully
SetMenuItems(&gUnknown_203B35C->unk1C, gUnknown_203B35C->unk15C, 0, &gUnknown_80E6C50, gUnknown_80E6C68, 0, 6, 0);
sub_8035CF4(&gUnknown_203B35C->unk1C, 0, 1);
SetMenuItems(gUnknown_203B35C->unk1C, gUnknown_203B35C->unk15C, 0, &gUnknown_80E6C50, gUnknown_80E6C68, 0, 6, 0);
sub_8035CF4(gUnknown_203B35C->unk1C, 0, 1);
}
}
else {
@ -362,8 +361,8 @@ void sub_80371B8(void)
MenuItems = gUnknown_80E6C0C;
break;
}
SetMenuItems(&gUnknown_203B35C->unk1C, gUnknown_203B35C->unk15C, 0, puVar5, MenuItems, 0, 6, 0);
sub_8035CF4(&gUnknown_203B35C->unk1C, 0, 1);
SetMenuItems(gUnknown_203B35C->unk1C, gUnknown_203B35C->unk15C, 0, puVar5, MenuItems, 0, 6, 0);
sub_8035CF4(gUnknown_203B35C->unk1C, 0, 1);
if ((gUnknown_203B35C->linkStatus != COMMS_GOOD) && (gUnknown_203B35C->unk0 == 0) &&
(item = sub_8035D94(), item->itemIndex.itemIndex_u8 != ITEM_NOTHING) && (item->numItems != 0)) {
gTeamInventory_203B460->teamStorage[item->itemIndex.itemIndex_u8] += item->numItems;

View File

@ -34,8 +34,8 @@ extern u32 sub_8039068(u32, u8 *passwordBuffer, struct unkStruct_203B480 *r0);
extern void sub_80951BC(struct unkStruct_203B480 *r0);
extern bool8 sub_80951FC(struct unkStruct_203B480 *r0);
extern u8 sub_8012FD8(u32 *r0);
extern void sub_8013114(u32 *, s32 *);
extern u8 sub_8012FD8(struct MenuStruct *r0);
extern void sub_8013114(struct MenuStruct *, s32 *);
extern u32 sub_80154F0(void);
extern void sub_8095274(u32);
extern u32 sub_8031DCC(void);
@ -45,8 +45,8 @@ extern void DisplayRescuePasswordError(u32);
extern struct MainMenu *GetMainMenu(void);
extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
extern void sub_8035CF4(u32 *r0, u32, u32);
extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
extern void sub_8035CF4(struct MenuStruct *r0, u32, u32);
bool8 IsInvalidItemReward(u8);
bool8 sub_8095298(s32);
bool8 sub_803D204(u8 *, struct unkStruct_203B480 *);
@ -304,8 +304,8 @@ s32 UpdateRescuePasswordMenu(void)
}
break;
case 8:
if (sub_8012FD8(&gRescuePasswordMenu->unk8) == '\0') {
sub_8013114(&gRescuePasswordMenu->unk8, &local_14);
if (sub_8012FD8(&gRescuePasswordMenu->unk8[0]) == '\0') {
sub_8013114(&gRescuePasswordMenu->unk8[0], &local_14);
}
switch(local_14)
{
@ -332,8 +332,8 @@ s32 UpdateRescuePasswordMenu(void)
}
break;
case 9:
if (sub_8012FD8(&gRescuePasswordMenu->unk8) == '\0') {
sub_8013114(&gRescuePasswordMenu->unk8, &local_14);
if (sub_8012FD8(&gRescuePasswordMenu->unk8[0]) == '\0') {
sub_8013114(&gRescuePasswordMenu->unk8[0], &local_14);
}
switch(local_14)
{
@ -371,36 +371,36 @@ void DisplayRescuePasswordError(u32 passwordError)
sub_80155F0();
switch(passwordError) {
case PASSWORD_ENTRY_INCORRECT_PASSWORD:
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E71FC,gUnknown_80E7214,0,0xd,0);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E71FC,gUnknown_80E7214,0,0xd,0);
break;
case PASSWORD_ENTRY_NOT_SOS_MAIL:
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E72EC,gUnknown_80E7304,0,0xd,0);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E72EC,gUnknown_80E7304,0,0xd,0);
break;
case PASSWORD_ENTRY_DUPLICATE_SOS_MAIL:
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7344,gUnknown_80E735C,0,0xd,0);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7344,gUnknown_80E735C,0,0xd,0);
break;
case PASSWORD_ENTRY_NO_SPACE:
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7588,gUnknown_80E75A0,0,0xd,0);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7588,gUnknown_80E75A0,0,0xd,0);
break;
case PASSWORD_ENTRY_NOT_AOK_MAIL:
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E73AC,gUnknown_80E73C4,0,0xd,0);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E73AC,gUnknown_80E73C4,0,0xd,0);
break;
case PASSWORD_ENTRY_DUPLICATE_AOK_MAIL:
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7408,gUnknown_80E7420,0,0xd,0);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7408,gUnknown_80E7420,0,0xd,0);
break;
case PASSWORD_ENTRY_NOT_THANK_YOU_MAIL:
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7468,gUnknown_80E7480,0,0xd,0);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7468,gUnknown_80E7480,0,0xd,0);
break;
case PASSWORD_ENTRY_DUPLICATE_THANK_YOU_MAIL:
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E74C8,gUnknown_80E74E0,0,0xd,0);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E74C8,gUnknown_80E74E0,0,0xd,0);
break;
case PASSWORD_ENTRY_NOT_WONDER_MAIL:
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E752C,gUnknown_80E7544,0,0xd,0);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E752C,gUnknown_80E7544,0,0xd,0);
break;
default:
break;
}
sub_8035CF4(&gRescuePasswordMenu->unk8,0,1);
sub_8035CF4(gRescuePasswordMenu->unk8,0,1);
}
void DisplayPasswordAcceptScreen(void)
@ -409,8 +409,8 @@ void DisplayPasswordAcceptScreen(void)
ResetUnusedInputStruct();
sub_800641C(0,1,1);
sub_80155F0();
SetMenuItems(&gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7278,gUnknown_80E7290,0,0xd,0);
sub_8035CF4(&gRescuePasswordMenu->unk8,0,1);
SetMenuItems(gRescuePasswordMenu->unk8,gRescuePasswordMenu->unk148,0,&gUnknown_80E7278,gUnknown_80E7290,0,0xd,0);
sub_8035CF4(gRescuePasswordMenu->unk8,0,1);
}
u32 ConvertMenutoRescuePasswordState(u32 unused)

View File

@ -20,8 +20,7 @@ struct unkStruct_203B360
// size: 0x1b4
u32 currMenu;
u32 unk4;
u32 unk8;
u8 fill8[0x148 - 0xC];
struct MenuStruct unk8[4];
struct UnkTextStruct2 unk148[4];
struct unkSprite unk1A8;
u32 unk1B0; // Sprite count?
@ -135,14 +134,14 @@ ALIGNED(4) static const u8 save_menu_fill0[] = "pksdir0";
extern void ResetSprites(u32);
extern void sub_8038440();
extern void sub_8035CF4(u32 *, u32, u32);
extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
extern u8 sub_80130A8(u32 *);
extern void sub_8013114(u32 *, u32 *);
extern void sub_8035CF4(struct MenuStruct *, u32, u32);
extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
extern u8 sub_80130A8(struct MenuStruct *);
extern void sub_8013114(struct MenuStruct *, u32 *);
extern void sub_80384D0();
extern void sub_8038830();
extern void sub_80388C4(void);
extern u8 sub_8012FD8(u32 *);
extern u8 sub_8012FD8(struct MenuStruct *);
extern void sub_8014114();
extern void sub_80140F8(void);
extern void sub_8035CC0(struct UnkTextStruct2 *, u32);
@ -165,15 +164,15 @@ void CreateSaveMenu(s32 currMenu)
if (currMenu == MENU_DELETE_SAVE) {
// Beware, Deleting your Adventure
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gDeletingYourAdventureMenuItems,
SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gDeletingYourAdventureMenuItems,
0,6,0);
}
else {
// Saving your Adventure
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gSavingAdventureMenuItems,
SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gSavingAdventureMenuItems,
0,6,0);
}
sub_8035CF4(&gUnknown_203B364->unk8,0,1);
sub_8035CF4(gUnknown_203B364->unk8,0,1);
gUnknown_203B364->unk4 = 0;
gUnknown_203B364->currMenu = currMenu;
sub_8038830();
@ -207,7 +206,7 @@ s32 UpdateSaveMenu(void)
menu = MENU_NO_SCREEN_CHANGE;
break;
case 0:
sub_8012FD8(&gUnknown_203B364->unk8);
sub_8012FD8(&gUnknown_203B364->unk8[0]);
uStack_18 = 0;
sub_80140F8();
saveStatus = WriteSavetoPak(&uStack_18,sub_8011C1C());
@ -217,18 +216,18 @@ s32 UpdateSaveMenu(void)
case SAVE_COMPLETED:
sub_8035CC0(gUnknown_203B364->unk148,0);
if (gUnknown_203B364->currMenu == MENU_DELETE_SAVE) {
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
gDeletedSaveMenuItems,0,6,0);
}
else {
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
gAdventureSavedMenuItems,0,6,0);
}
if (gUnknown_203B364->currMenu == 0x2d) {
gUnknown_203B364->unk4 = 1;
return MENU_COMMUNICATION_1;
}
sub_8035CF4(&gUnknown_203B364->unk8,0,1);
sub_8035CF4(gUnknown_203B364->unk8,0,1);
gUnknown_203B364->unk4 = 1;
break;
case SAVE_NOT_WRTTEN:
@ -238,22 +237,22 @@ s32 UpdateSaveMenu(void)
default:
sub_8035CC0(gUnknown_203B364->unk148,0);
if (gUnknown_203B364->currMenu == MENU_DELETE_SAVE) {
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
gAdventureCouldNotBeDeletedMenuItems,0,6,0);
}
else {
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
SetMenuItems(gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
gAdventureCouldNotBeSavedMenuItems,0,6,0);
}
sub_8035CF4(&gUnknown_203B364->unk8,0,1);
sub_8035CF4(gUnknown_203B364->unk8,0,1);
gUnknown_203B364->unk4 = 1;
break;
}
menu = MENU_NO_SCREEN_CHANGE;
break;
case 1:
if (sub_80130A8(&gUnknown_203B364->unk8) == '\0') {
sub_8013114(&gUnknown_203B364->unk8,&action);
if (sub_80130A8(&gUnknown_203B364->unk8[0]) == '\0') {
sub_8013114(&gUnknown_203B364->unk8[0],&action);
}
switch(action)
{

View File

@ -155,7 +155,7 @@ const struct MenuItem gUnknown_80DEEE4[4] =
extern void sub_80141B4(const char *r0, u32, struct OpenedFile **r1, u32);
extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32, u32, u32, struct OpenedFile **r5, u32);
extern u8 sub_8012FD8(u32 *r0);
extern u8 sub_8012FD8(struct MenuStruct *r0);
extern void sub_8035CC0(struct UnkTextStruct2 *r0, u32);
extern void sub_8030810(u32);
extern u32 sub_8031DCC(void);
@ -167,7 +167,7 @@ extern u32 sub_8030768(u32);
extern s8 sub_80307EC(void);
extern void sub_8030D40(u8, u32);
extern u32 sub_8030DA0();
extern void sub_8013114(u32 *r0, s32 *r1);
extern void sub_8013114(struct MenuStruct *r0, s32 *r1);
extern void HandleThankYouMailPelipperMainMenu();
extern void sub_802AAC8();
extern void ReturnToThankYouMailMainMenu();
@ -218,7 +218,7 @@ extern void sub_802F2C0();
extern u32 sub_80144A4(s32 *r0);
extern void SetThankYouMailMenuState(u32);
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
extern void SetMenuItems(struct MenuStruct *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
extern void sub_80922B4(u8 *, u8 *, u32);
extern void sub_802F204(struct unkStruct_802F204 *, u32);
extern void sub_80151C0(u32, u8 *);
@ -239,7 +239,7 @@ extern u32 GetDungeonTeamRankPts(struct DungeonLocation *, u32);
extern void sub_8031D70(u8, u32);
extern void sub_803092C(void);
extern void sub_8035CF4(u32 *, u32, u32);
extern void sub_8035CF4(struct MenuStruct *, u32, u32);
extern u32 sub_801CA08(u32);
extern void sub_801CBB8(void);
extern void sub_801B3C0(struct Item *);
@ -620,8 +620,8 @@ void sub_802A174(void)
menuAction = -1;
sub_8030768(0);
if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
sub_8013114(&gUnknown_203B2C4->unk30C, &menuAction);
if (sub_8012FD8(&gUnknown_203B2C4->unk21C[3]) == 0) {
sub_8013114(&gUnknown_203B2C4->unk21C[3], &menuAction);
}
switch(menuAction)
@ -659,7 +659,7 @@ void sub_802A230(void)
sub_800641C(gUnknown_203B2C4->unk3BC, 1, 1);
sub_803092C();
if (gUnknown_203B2C4->fallbackState == 0x2b) {
sub_8035CF4(&gUnknown_203B2C4->unk21C, 3, 1);
sub_8035CF4(gUnknown_203B2C4->unk21C, 3, 1);
SetThankYouMailMenuState(0x11);
}
else {
@ -711,7 +711,7 @@ void sub_802A33C(void)
sub_800641C(gUnknown_203B2C4->unk3BC,1,1);
sub_801CB5C(1);
if (gUnknown_203B2C4->fallbackState == 0x2b) {
sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1);
sub_8035CF4(gUnknown_203B2C4->unk21C,3,1);
SetThankYouMailMenuState(0x14);
}
else {
@ -730,8 +730,8 @@ void sub_802A39C(void)
menuAction = -1;
sub_801CA08(0);
if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
sub_8013114(&gUnknown_203B2C4->unk30C, &menuAction);
if (sub_8012FD8(&gUnknown_203B2C4->unk21C[3]) == 0) {
sub_8013114(&gUnknown_203B2C4->unk21C[3], &menuAction);
}
switch(menuAction)
@ -1299,9 +1299,9 @@ void UpdateThankYouMailText(void)
break;
case 0x11:
sub_8006518(gUnknown_203B2C4->unk35C);
SetMenuItems(&gUnknown_203B2C4->unk21C,gUnknown_203B2C4->unk35C,3,&gUnknown_80DED60,gUnknown_80DED78,1,0,0);
SetMenuItems(gUnknown_203B2C4->unk21C,gUnknown_203B2C4->unk35C,3,&gUnknown_80DED60,gUnknown_80DED78,1,0,0);
sub_803092C();
sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1);
sub_8035CF4(gUnknown_203B2C4->unk21C,3,1);
break;
case 0x13:
if (sub_801D008() != 0)
@ -1316,9 +1316,9 @@ void UpdateThankYouMailText(void)
break;
case 0x14:
sub_8006518(gUnknown_203B2C4->unk35C);
SetMenuItems(&gUnknown_203B2C4->unk21C,gUnknown_203B2C4->unk35C,3,&gUnknown_80DED48,gUnknown_80DED78,1,0,0);
SetMenuItems(gUnknown_203B2C4->unk21C,gUnknown_203B2C4->unk35C,3,&gUnknown_80DED48,gUnknown_80DED78,1,0,0);
sub_801CCD8();
sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1);
sub_8035CF4(gUnknown_203B2C4->unk21C,3,1);
break;
case THANK_YOU_MAIL_COMMS_FINISHED:
gUnknown_203B2C4->linkError = COMMS_GOOD;

View File

@ -87,14 +87,14 @@ extern u32 sub_801CA08(u32);
extern void sub_801CBB8();
extern u8 sub_801CB24();
extern void sub_801B3C0(struct Item *);
extern u8 sub_8012FD8(u32 *);
extern void sub_8013114(u32 *, s32 *);
extern u8 sub_8012FD8(struct MenuStruct *);
extern void sub_8013114(struct MenuStruct *, s32 *);
extern void sub_8035CC0(struct UnkTextStruct2 *, u32);
extern void sub_801CCD8();
extern u32 sub_801B410();
extern void sub_801B450();
extern void sub_801CB5C(u32);
extern void sub_8035CF4(u32 *, u32, u32);
extern void sub_8035CF4(struct MenuStruct *, u32, u32);
extern u32 sub_8013BBC(u32 *);
extern void sub_80141B4(const u8 *, u32, u32, u32);
@ -109,7 +109,7 @@ extern void sub_801C8C4(u32, u32, s32 *, u32);
extern s32 sub_8037B28(u32);
extern void sub_8011830(void);
extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32, u32, u32, void *r5, u32);
extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
extern void SetMenuItems(struct MenuStruct *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
extern void nullsub_23(u32);
extern void xxx_call_start_bg_music(void);
extern s32 sub_80381F4(u32, void *, void *);
@ -312,8 +312,8 @@ void sub_8036674(void)
menuAction = -1;
sub_801CA08(0);
if (sub_8012FD8(&gTradeItemsMenu->unk134) == '\0') {
sub_8013114(&gTradeItemsMenu->unk134, &menuAction);
if (sub_8012FD8(&gTradeItemsMenu->unk44[3]) == '\0') {
sub_8013114(&gTradeItemsMenu->unk44[3], &menuAction);
}
switch(menuAction){
case 3: // confirm
@ -348,7 +348,7 @@ void sub_8036728(void)
sub_800641C(gTradeItemsMenu->unk1E4, 1, 1);
sub_801CB5C(1);
if (gTradeItemsMenu->fallbackState == 0x13) {
sub_8035CF4(&gTradeItemsMenu->unk44, 3, 1);
sub_8035CF4(gTradeItemsMenu->unk44, 3, 1);
SetTradeItemMenu(TRADE_ITEMS_SEND_ITEM_POPUP_MENU);
}
else {
@ -362,20 +362,20 @@ void sub_8036728(void)
void sub_8036788(void)
{
sub_8012FD8(&gTradeItemsMenu->unk134);
sub_8012FD8(&gTradeItemsMenu->unk44[3]);
sub_801CA08(0);
switch(sub_8013BBC(&gTradeItemsMenu->quantityToSend)){
case 1:
// When you change the #
sub_801CCD8();
sub_8035CF4(&gTradeItemsMenu->unk44, 3, 0);
sub_8035CF4(gTradeItemsMenu->unk44, 3, 0);
sub_8036F30();
break;
case 2:
// If you back out of the # selection
sub_8035CC0(gTradeItemsMenu->unk184, 2);
sub_801CCD8();
sub_8035CF4(&gTradeItemsMenu->unk44, 3, 1);
sub_8035CF4(gTradeItemsMenu->unk44, 3, 1);
SetTradeItemMenu(TRADE_ITEMS_SEND_ITEM_POPUP_MENU);
break;
case 3:
@ -634,10 +634,10 @@ void sub_8036B28(void)
break;
case TRADE_ITEMS_SEND_ITEM_POPUP_MENU:
sub_8006518(gTradeItemsMenu->unk184);
SetMenuItems(&gTradeItemsMenu->unk44,gTradeItemsMenu->unk184,3,&gUnknown_80E60EC,
SetMenuItems(gTradeItemsMenu->unk44,gTradeItemsMenu->unk184,3,&gUnknown_80E60EC,
gUnknown_80E6104,1,0,0);
sub_801CCD8();
sub_8035CF4(&gTradeItemsMenu->unk44,3,1);
sub_8035CF4(gTradeItemsMenu->unk44,3,1);
break;
case TRADE_ITEMS_SEND_ITEM_NUMBER:
sub_8036F74();
@ -793,7 +793,7 @@ void sub_8036F74(void)
sub_8006518(gTradeItemsMenu->unk184);
sub_8036ECC(2, gTeamInventory_203B460->teamStorage[gTradeItemsMenu->itemToSend.id]);
sub_801CCD8();
sub_8035CF4(&gTradeItemsMenu->unk44, 3, 0);
sub_8035CF4(gTradeItemsMenu->unk44, 3, 0);
sub_8036F30();
}

View File

@ -2,6 +2,7 @@
#include "input.h"
#include "main_menu.h"
#include "memory.h"
#include "menu.h"
#include "text.h"
struct unkSprite
@ -17,8 +18,7 @@ struct unkStruct_203B360
// size: 0x1b4
u32 currMenu;
u32 unk4; // state
u32 unk8;
u8 fill8[0x148 - 0xC];
struct MenuStruct unk8[4];
struct UnkTextStruct2 unk148[4];
struct unkSprite unk1A8;
u32 unk1B0; // sprite count?
@ -31,10 +31,10 @@ extern struct MenuItem gUnknown_80E6EAC[];
extern void AddSprite(struct unkSprite *, u32, u32, u32);
extern void sub_8038440();
extern void sub_8035CF4(u32 *, u32, u32);
extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, struct UnkTextStruct2 *, struct MenuItem *, u32, u32, u32);
extern u8 sub_80130A8(u32 *);
extern void sub_8013114(u32 *, u32 *);
extern void sub_8035CF4(struct MenuStruct *, u32, u32);
extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, struct UnkTextStruct2 *, struct MenuItem *, u32, u32, u32);
extern u8 sub_80130A8(struct MenuStruct *);
extern void sub_8013114(struct MenuStruct *, u32 *);
extern void sub_80384D0();
void sub_80382E4(s32 param_1)
@ -54,10 +54,10 @@ void sub_80382E4(s32 param_1)
// Caution!
// The storage space is empty!
// Please check again.
SetMenuItems(&gUnknown_203B360->unk8,gUnknown_203B360->unk148,0,&gUnknown_80E6E94,gUnknown_80E6EAC,
SetMenuItems(gUnknown_203B360->unk8,gUnknown_203B360->unk148,0,&gUnknown_80E6E94,gUnknown_80E6EAC,
0,4,0);
}
sub_8035CF4(&gUnknown_203B360->unk8,0,1);
sub_8035CF4(gUnknown_203B360->unk8,0,1);
gUnknown_203B360->currMenu = param_1;
gUnknown_203B360->unk4 = 0;
sub_8038440();
@ -82,8 +82,8 @@ u32 sub_80383D4(void)
nextMenu = MENU_NO_SCREEN_CHANGE;
if (gUnknown_203B360->unk4 == 0){
if (sub_80130A8(&gUnknown_203B360->unk8) == '\0') {
sub_8013114(&gUnknown_203B360->unk8, &menuAction);
if (sub_80130A8(&gUnknown_203B360->unk8[0]) == '\0') {
sub_8013114(&gUnknown_203B360->unk8[0], &menuAction);
}
switch(menuAction)
{

View File

@ -36,10 +36,10 @@ extern void sub_803084C();
extern u32 sub_8030768(u32);
extern s8 sub_80307EC();
extern void sub_8030D40(u8, u32);
extern u8 sub_8012FD8(u32 *r0);
extern u8 sub_8012FD8(struct MenuStruct *r0);
extern void sub_8030810(u32);
extern void sub_8035CC0(struct UnkTextStruct2 *r0, u32);
extern void sub_8035CF4(u32 *r0, u32, u32);
extern void sub_8035CF4(struct MenuStruct *r0, u32, u32);
extern u32 sub_8030DA0(void);
extern void sub_8030DE4(void);
extern void sub_803092C(void);
@ -50,7 +50,7 @@ extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32
extern void sub_8095274(u32);
extern void sub_80155F0();
extern void sub_80951BC(struct unkStruct_203B480 *r0);
extern void sub_8013114(u32 *r0, s32 *r1);
extern void sub_8013114(struct MenuStruct *r0, s32 *r1);
extern void sub_8023C60();
extern u32 sub_8023A94(u32);
extern void sub_8024458(s16, u32);
@ -86,7 +86,7 @@ extern u32 sub_8023CE8(void);
extern u32 sub_8030894(void);
extern void sub_8030F58(u32);
extern void sub_8023DA4(void);
extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
extern void SetMenuItems(struct MenuStruct *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
extern void sub_8029B34(void);
extern void sub_8029AD8(void);
extern void sub_8029AF4(void);
@ -536,9 +536,9 @@ void sub_8028348(void)
break;
case 0x34:
sub_8006518(gUnknown_203B2C0->unk35C);
SetMenuItems(&gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDAE4, gUnknown_80DDAFC, 1, 0, 0);
SetMenuItems(gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDAE4, gUnknown_80DDAFC, 1, 0, 0);
sub_8023DA4();
sub_8035CF4(&gUnknown_203B2C0->unk21C, 3, 1);
sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1);
break;
case 0x31:
sub_8014248(gUnknown_80DDD2C, 0, 0xA, gUnknown_80DDAA0, 0, 4, 0, &gUnknown_203B2C0->faceFile,0xC);
@ -698,9 +698,9 @@ void sub_8028348(void)
case 0x20:
case 0x2B:
sub_8006518(gUnknown_203B2C0->unk35C);
SetMenuItems(&gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDACC, gUnknown_80DDAFC, 1, 0, 0);
SetMenuItems(gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDACC, gUnknown_80DDAFC, 1, 0, 0);
sub_803092C();
sub_8035CF4(&gUnknown_203B2C0->unk21C, 3, 1);
sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1);
break;
case 0xA:
gUnknown_203B2C0->unk540 = sub_8095350();
@ -1233,9 +1233,9 @@ void sub_80290F0(void)
s32 menuAction;
menuAction = -1;
sub_8030768(0);
if(sub_8012FD8(&(gUnknown_203B2C0->unk30C)) == 0)
if(sub_8012FD8(&(gUnknown_203B2C0->unk21C[3])) == 0)
{
sub_8013114(&(gUnknown_203B2C0->unk30C), &menuAction);
sub_8013114(&(gUnknown_203B2C0->unk21C[3]), &menuAction);
}
switch(menuAction)
{
@ -1274,7 +1274,7 @@ void sub_80291AC(void)
sub_803092C();
if(gUnknown_203B2C0->fallbackState == 0x3D)
{
sub_8035CF4(&(gUnknown_203B2C0->unk21C), 3, 1);
sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1);
sub_8028B04(0x20);
}
else
@ -1582,9 +1582,9 @@ void sub_8029684(void)
s32 menuAction;
menuAction = -1;
sub_8030768(0);
if(sub_8012FD8(&(gUnknown_203B2C0->unk30C)) == 0)
if(sub_8012FD8(&(gUnknown_203B2C0->unk21C[3])) == 0)
{
sub_8013114(&(gUnknown_203B2C0->unk30C), &menuAction);
sub_8013114(&(gUnknown_203B2C0->unk21C[3]), &menuAction);
}
switch(menuAction)
{
@ -1621,7 +1621,7 @@ void sub_8029740(void)
sub_803092C();
if(gUnknown_203B2C0->fallbackState == 0x3D)
{
sub_8035CF4(&(gUnknown_203B2C0->unk21C), 3, 1);
sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1);
sub_8028B04(0x2B);
}
else
@ -1682,9 +1682,9 @@ void sub_8029884(void)
s32 menuAction;
menuAction = -1;
sub_8023A94(0);
if(sub_8012FD8(&(gUnknown_203B2C0->unk30C)) == 0)
if(sub_8012FD8(&(gUnknown_203B2C0->unk21C[3])) == 0)
{
sub_8013114(&(gUnknown_203B2C0->unk30C), &menuAction);
sub_8013114(&(gUnknown_203B2C0->unk21C[3]), &menuAction);
}
switch(menuAction)
{
@ -1730,7 +1730,7 @@ void sub_8029944(void)
sub_8023B7C(1);
if(gUnknown_203B2C0->fallbackState == 0x3D)
{
sub_8035CF4(&(gUnknown_203B2C0->unk21C), 3, 1);
sub_8035CF4(gUnknown_203B2C0->unk21C, 3, 1);
sub_8028B04(0x34);
}
else