diff options
Diffstat (limited to 'src/main_menu_mid.c')
-rw-r--r-- | src/main_menu_mid.c | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/src/main_menu_mid.c b/src/main_menu_mid.c deleted file mode 100644 index e6e0868..0000000 --- a/src/main_menu_mid.c +++ /dev/null @@ -1,208 +0,0 @@ -#include "global.h" -#include "main_menu.h" -#include "input.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?? - u8 fillC[0x30 - 0xC]; - s16 unk30; - u8 fill32[0x144 - 0x32]; - struct unkData unk144[4]; - /* 0x1A4 */ u32 currMenuChoice; -}; - -extern struct unkStruct_203B34C *gUnknown_203B34C; - - - -extern struct MainMenu *gMainMenu; -extern struct unkData gUnknown_80E59A8; -extern struct unkData gUnknown_80E59C8; -extern void sub_8006518(struct unkData *); -extern void sub_800641C(struct unkData *, u32, u32); -extern void *MemoryAlloc(u32, u32); -extern void MemoryFill8(u8*, u8, s32); -extern void MemoryFree(void *); - -extern u8 SetMainMenuText(); -extern void SetMainMenuItems(); - -void sub_8035CC0(struct unkData *dataArray, u32 index) -{ - sub_8006518(dataArray); - dataArray[index] = gUnknown_80E59A8; - ResetUnusedInputStruct(); - sub_800641C(dataArray, 1, 1); -} - -NAKED -void sub_8035CF4(void * Menu, u32 index, u8 r2) -{ - asm_unified("\tpush {lr}\n" - "\tadds r3, r0, 0\n" - "\tlsls r0, r1, 2\n" - "\tadds r0, r1\n" - "\tlsls r0, 4\n" - "\tadds r0, r3\n" - "\tadds r1, r0, 0\n" - "\tadds r1, 0x4C\n" - "\tstrb r2, [r1]\n" - "\tadds r2, r0, 0\n" - "\tadds r2, 0x4D\n" - "\tmovs r1, 0x1\n" - "\tstrb r1, [r2]\n" - "\tsubs r1, 0x2\n" - "\tstr r1, [r0, 0x48]\n" - "\tbl sub_8012EBC\n" - "\tpop {r0}\n" - "\tbx r0"); -} - -void sub_8035D1C(void) -{ - gMainMenu->unk38 = -1; -} - -void sub_8035D30(s32 r0) -{ - gMainMenu->unk38 = r0; -} - -s16 sub_8035D3C(void) -{ - return gMainMenu->unk38; -} - -struct MainMenu *GetMainMenu(void) -{ - return gMainMenu; -} - -void sub_8035D58(void) -{ - gMainMenu->unk3C = -1; -} - -void sub_8035D68(s32 r0) -{ - gMainMenu->unk3C = r0; -} - -s32 sub_8035D74(void) -{ - return gMainMenu->unk3C; -} - -NAKED -void sub_8035D80(void *r0) -{ - asm_unified( - "\tldr r1, _08035D90\n" - "\tldr r2, [r1]\n" - "\tldr r1, [r0, 0x4]\n" - "\tldr r0, [r0]\n" - "\tstr r0, [r2, 0x30]\n" - "\tstr r1, [r2, 0x34]\n" - "\tbx lr\n" - "\t.align 2, 0\n" -"_08035D90: .4byte gMainMenu"); -} - -u8 *sub_8035D94(void) -{ - return &gMainMenu->unk30; -} - - -void sub_8035DA0(void) -{ - gMainMenu->unk30 = 0; - gMainMenu->unk34 = 0; -} - -u32 sub_8035DB4(u32 r0) -{ - u32 returnVar = 8; - switch(r0) - { - case MENU_COMMUNICATION_1: - returnVar = 0; - break; - case MENU_COMMUNICATION_2: - returnVar = 1; - break; - case 0x15: - returnVar = 2; - break; - case 0x16: - returnVar = 3; - break; - case 0x17: - returnVar = 4; - break; - case 0x18: - returnVar = 5; - break; - case 0x19: - returnVar = 6; - break; - case 0x1a: - returnVar = 7; - } - return returnVar; -} - -void DrawMainMenu(void) -{ - s32 iVar3; - - if(gUnknown_203B34C == NULL) - { - gUnknown_203B34C = MemoryAlloc(0x1A8, 8); - MemoryFill8((u8 *)gUnknown_203B34C, 0, 0x1A8); - } - - for(iVar3 = 0; iVar3 < 4; iVar3++) - { - gUnknown_203B34C->unk144[iVar3] = gUnknown_80E59C8; - } - - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B34C->unk144, 1, 1); - SetMainMenuItems(); - gUnknown_203B34C->currMenuChoice = -1; - - if(SetMainMenuText() != 0) - { - sub_8035CF4(&gUnknown_203B34C->unk4,2,0); - } - - sub_8035CF4(&gUnknown_203B34C->unk4,0,1); - gUnknown_203B34C->unk0 = 1; -} - -void CleanMainMenu(void) -{ - ResetUnusedInputStruct(); - sub_800641C(NULL, 1, 1); - if(gUnknown_203B34C != NULL) - { - MemoryFree(gUnknown_203B34C); - gUnknown_203B34C = NULL; - } -} |