diff options
Diffstat (limited to 'src/main_menu_1.c')
-rw-r--r-- | src/main_menu_1.c | 103 |
1 files changed, 49 insertions, 54 deletions
diff --git a/src/main_menu_1.c b/src/main_menu_1.c index 6715af4..1879db4 100644 --- a/src/main_menu_1.c +++ b/src/main_menu_1.c @@ -1,23 +1,18 @@ #include "global.h" #include "main_menu.h" +#include "menu.h" struct unkData { u8 unk0[24]; }; -struct unkSubStruct -{ - u32 unk0; - u32 unk4; -}; - struct unkStruct_203B34C { // size: 0x1A8 u32 unk0; u32 unk4; - struct unkSubStruct *unk8; // Array of menu choices?? + struct MenuItem *unk8; // Array of menu choices?? u8 fillC[0x30 - 0xC]; s16 unk30; u8 fill32[0x144 - 0x32]; @@ -26,54 +21,54 @@ struct unkStruct_203B34C }; extern struct unkStruct_203B34C *gUnknown_203B34C; +extern u32 gUnknown_203B350; extern u32 gUnknown_80E59E0; -extern u32 gUnknown_203B350; -extern u32 gUnknown_80E59F8; extern u32 gUnknown_80E5A78; extern u32 gUnknown_80E5B34; -extern u32 gUnknown_80E5A90; -extern u32 gUnknown_80E5A60; -extern u32 gUnknown_80E5AFC; -extern u32 gUnknown_80E5B8C; -extern u32 gUnknown_80E5B4C; extern u32 gUnknown_80E5BC4; -extern u32 gUnknown_80E5BDC; -extern u32 gUnknown_80E5C18; - extern u32 gUnknown_80E5CB4; -extern u32 gUnknown_80E5D48; -extern u32 gUnknown_80E5CCC; -extern u32 gUnknown_80E5F1C; -extern u32 gUnknown_80E5DA0; -extern u32 gUnknown_80E5DF0; -extern u32 gUnknown_80E5D0C; -extern u32 gUnknown_80E6030; -extern u32 gUnknown_80E5FCC; -extern u32 gUnknown_80E5F80; -extern u32 gUnknown_80E5EBC; -extern u32 gUnknown_80E5E5C; +extern u32 gUnknown_80E5A60; + +extern const struct MenuItem gUnknown_80E59F8[]; +extern const struct MenuItem gUnknown_80E5A90[]; +extern const struct MenuItem gUnknown_80E5AFC[]; +extern const struct MenuItem gUnknown_80E5B4C[]; +extern const struct MenuItem gUnknown_80E5B8C[]; +extern const struct MenuItem gUnknown_80E5BDC[]; +extern const struct MenuItem gUnknown_80E5C18[]; +extern const struct MenuItem gUnknown_80E5CCC[]; +extern const struct MenuItem gUnknown_80E5D0C[]; +extern const struct MenuItem gUnknown_80E5D48[]; +extern const struct MenuItem gUnknown_80E5DA0[]; +extern const struct MenuItem gUnknown_80E5DF0[]; +extern const struct MenuItem gUnknown_80E5E5C[]; +extern const struct MenuItem gUnknown_80E5EBC[]; +extern const struct MenuItem gUnknown_80E5F1C[]; +extern const struct MenuItem gUnknown_80E5F80[]; +extern const struct MenuItem gUnknown_80E5FCC[]; +extern const struct MenuItem gUnknown_80E6030[]; extern u8 sub_803D0D8(); extern s32 sub_8011C34(); extern s32 sub_8095324(u32); -extern void SetMenuItems(u32 *, struct unkData *, u32, u32 *, u32 *, u32, u32, u32); +extern void SetMenuItems(u32 *, struct unkData *, u32, u32 *, const struct MenuItem *, u32, u32, u32); void SetMainMenuItems(void); -extern u8 SetMainMenuText(); +extern bool8 SetMainMenuText(); extern void sub_8035CF4(u32 *, u32, u32); extern void sub_8035CC0(struct unkData *, u32); -u8 SetMainMenuText(void) +bool8 SetMainMenuText(void) { u32 menuChoice; - struct unkSubStruct *preload; + struct MenuItem *preload; // Have to load the pointer before the index preload = gUnknown_203B34C->unk8; - menuChoice = preload[gUnknown_203B34C->unk30].unk4; // chosen menu action? + menuChoice = preload[gUnknown_203B34C->unk30].menuAction; // chosen menu action? if (gUnknown_203B34C->currMenuChoice == menuChoice) { - return 0; + return FALSE; } gUnknown_203B34C->currMenuChoice = menuChoice; @@ -82,55 +77,55 @@ u8 SetMainMenuText(void) switch(menuChoice) { case MENU_WIRELESS_COMMS: // Using wireless communications, you can go on an adventure to unknown worlds. - SetMenuItems(&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(&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(&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(&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(&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(&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(&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(&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(&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(&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(&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; } - return 1; + return TRUE; } void sub_803623C(void) @@ -138,7 +133,7 @@ void sub_803623C(void) sub_8035CC0(gUnknown_203B34C->unk144,1); SetMainMenuItems(); gUnknown_203B34C->currMenuChoice = -1; - if (SetMainMenuText() != 0) { + if (SetMainMenuText()) { sub_8035CF4(&gUnknown_203B34C->unk4,2,0); } sub_8035CF4(&gUnknown_203B34C->unk4,0,1); @@ -156,7 +151,7 @@ void SetMainMenuItems(void) // Friend Rescue // Trade Items // Wonder Mail - SetMenuItems(&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 @@ -164,7 +159,7 @@ void SetMainMenuItems(void) // Adventure Log // Friend Rescue // Trade Items - SetMenuItems(&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 { @@ -175,7 +170,7 @@ void SetMainMenuItems(void) // Friend Rescue // Trade Items // Wonder Mail - SetMenuItems(&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 @@ -183,7 +178,7 @@ void SetMainMenuItems(void) // Adventure Log // Friend Rescue // Trade Items - SetMenuItems(&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); } } } @@ -195,7 +190,7 @@ void SetMainMenuItems(void) // Friend Rescue // Trade Items // Wonder Mail - SetMenuItems(&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 @@ -203,7 +198,7 @@ void SetMainMenuItems(void) // Adventure Log // Friend Rescue // Trade Items - SetMenuItems(&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); } } } @@ -211,7 +206,7 @@ void SetMainMenuItems(void) { // New Game // Adventure Log - SetMenuItems(&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); } } |