diff options
-rw-r--r-- | asm/tomomichi_debug_menu.s | 320 | ||||
-rw-r--r-- | src/debug/tomomichi_debug_menu.c | 152 |
2 files changed, 152 insertions, 320 deletions
diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s index fcccecc10..44f3a3480 100644 --- a/asm/tomomichi_debug_menu.s +++ b/asm/tomomichi_debug_menu.s @@ -3,326 +3,6 @@ .include "constants/gba_constants.inc" .include "include/macros.inc" - thumb_func_start debug_sub_808C064 -debug_sub_808C064: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._103 @cond_branch - mov r0, #0x0 - b ._106 -._103: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._105 @cond_branch - ldr r2, ._107 @ gMenuCallback - ldr r0, ._107 + 4 @ gUnknown_Debug_083C0F79 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._106 -._108: - .align 2, 0 -._107: - .word gMenuCallback - .word gUnknown_Debug_083C0F79 -._105: - bl CloseMenu - mov r0, #0x1 -._106: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808C064 - - thumb_func_start debug_sub_808C0A8 -debug_sub_808C0A8: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._109 @cond_branch - mov r0, #0x0 - b ._112 -._109: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._111 @cond_branch - ldr r2, ._113 @ gMenuCallback - ldr r0, ._113 + 4 @ gUnknown_Debug_083C0FFC - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._112 -._114: - .align 2, 0 -._113: - .word gMenuCallback - .word gUnknown_Debug_083C0FFC -._111: - bl CloseMenu - mov r0, #0x1 -._112: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808C0A8 - - thumb_func_start debug_sub_808C0EC -debug_sub_808C0EC: - push {lr} - ldr r0, ._115 @ DebugScript_081C1CFE - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._116: - .align 2, 0 -._115: - .word DebugScript_081C1CFE - - thumb_func_end debug_sub_808C0EC - - thumb_func_start debug_sub_808C104 -debug_sub_808C104: - push {lr} - ldr r0, ._117 @ DebugScript_081C1D07 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._118: - .align 2, 0 -._117: - .word DebugScript_081C1D07 - - thumb_func_end debug_sub_808C104 - - thumb_func_start debug_sub_808C11C -debug_sub_808C11C: - push {lr} - ldr r0, ._119 @ DebugScript_081C1D1E - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._120: - .align 2, 0 -._119: - .word DebugScript_081C1D1E - - thumb_func_end debug_sub_808C11C - - thumb_func_start debug_sub_808C134 -debug_sub_808C134: - push {lr} - ldr r0, ._121 @ DebugScript_081C1D24 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._122: - .align 2, 0 -._121: - .word DebugScript_081C1D24 - - thumb_func_end debug_sub_808C134 - - thumb_func_start debug_sub_808C14C -debug_sub_808C14C: - push {lr} - ldr r0, ._123 @ DebugScript_081C1D2A - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._124: - .align 2, 0 -._123: - .word DebugScript_081C1D2A - - thumb_func_end debug_sub_808C14C - - thumb_func_start debug_sub_808C164 -debug_sub_808C164: - push {lr} - ldr r0, ._125 @ DebugScript_081C1D35 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._126: - .align 2, 0 -._125: - .word DebugScript_081C1D35 - - thumb_func_end debug_sub_808C164 - - thumb_func_start debug_sub_808C17C -debug_sub_808C17C: - push {lr} - ldr r0, ._127 @ DebugScript_081C1D46 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._128: - .align 2, 0 -._127: - .word DebugScript_081C1D46 - - thumb_func_end debug_sub_808C17C - - thumb_func_start debug_sub_808C194 -debug_sub_808C194: - push {lr} - ldr r0, ._129 @ DebugScript_081C221F - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._130: - .align 2, 0 -._129: - .word DebugScript_081C221F - - thumb_func_end debug_sub_808C194 - - thumb_func_start debug_sub_808C1AC -debug_sub_808C1AC: - push {lr} - ldr r0, ._131 @ DebugScript_081C23E2 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._132: - .align 2, 0 -._131: - .word DebugScript_081C23E2 - - thumb_func_end debug_sub_808C1AC - - thumb_func_start debug_sub_808C1C4 -debug_sub_808C1C4: - push {lr} - ldr r0, ._133 @ DebugScript_081C23E6 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._134: - .align 2, 0 -._133: - .word DebugScript_081C23E6 - - thumb_func_end debug_sub_808C1C4 - - thumb_func_start debug_sub_808C1DC -debug_sub_808C1DC: - push {lr} - ldr r0, ._135 @ DebugScript_081C23F6 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._136: - .align 2, 0 -._135: - .word DebugScript_081C23F6 - - thumb_func_end debug_sub_808C1DC - - thumb_func_start debug_sub_808C1F4 -debug_sub_808C1F4: - push {lr} - ldr r0, ._137 @ DebugScript_081C2482 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._138: - .align 2, 0 -._137: - .word DebugScript_081C2482 - - thumb_func_end debug_sub_808C1F4 - - thumb_func_start debug_sub_808C20C -debug_sub_808C20C: - push {lr} - ldr r0, ._139 @ DebugScript_081C23FD - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._140: - .align 2, 0 -._139: - .word DebugScript_081C23FD - - thumb_func_end debug_sub_808C20C - - thumb_func_start debug_sub_808C224 -debug_sub_808C224: - push {lr} - ldr r0, ._141 @ DebugScript_081C2518 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._142: - .align 2, 0 -._141: - .word DebugScript_081C2518 - - thumb_func_end debug_sub_808C224 - - thumb_func_start debug_sub_808C23C -debug_sub_808C23C: - push {lr} - ldr r0, ._143 @ DebugScript_081C2507 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._144: - .align 2, 0 -._143: - .word DebugScript_081C2507 - - thumb_func_end debug_sub_808C23C - thumb_func_start TomomichiDebugMenu_ContestGraphics_Show TomomichiDebugMenu_ContestGraphics_Show: push {lr} diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index a5f7964a1..9db8898e2 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -2,6 +2,7 @@ #include "global.h" #include "constants/songs.h" #include "overworld.h" +#include "script.h" #include "menu.h" #include "start_menu.h" #include "main.h" @@ -97,6 +98,22 @@ bool8 debug_sub_808D1B4(void); bool8 debug_sub_808D20C(void); bool8 debug_sub_808D264(void); +extern const u8 DebugScript_081C1CFE[]; +extern const u8 DebugScript_081C1D07[]; +extern const u8 DebugScript_081C1D1E[]; +extern const u8 DebugScript_081C1D24[]; +extern const u8 DebugScript_081C1D2A[]; +extern const u8 DebugScript_081C1D35[]; +extern const u8 DebugScript_081C1D46[]; +extern const u8 DebugScript_081C221F[]; +extern const u8 DebugScript_081C23E2[]; +extern const u8 DebugScript_081C23E6[]; +extern const u8 DebugScript_081C23F6[]; +extern const u8 DebugScript_081C2482[]; +extern const u8 DebugScript_081C23FD[]; +extern const u8 DebugScript_081C2518[]; +extern const u8 DebugScript_081C2507[]; + const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); const u8 gUnknown_Debug_083C0C65[] = _("Art Mus. graphics"); const u8 gUnknown_Debug_083C0C77[] = _("Preview data"); @@ -992,4 +1009,139 @@ bool8 debug_sub_808C014(void) return FALSE; } +bool8 debug_sub_808C064(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C0F79[input].func; + return FALSE; +} + +bool8 debug_sub_808C0A8(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C0FFC[input].func; + return FALSE; +} + +bool8 debug_sub_808C0EC(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1CFE); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C104(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D07); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C11C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D1E); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C134(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D24); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C14C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D2A); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C164(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D35); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C17C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D46); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C194(void) +{ + ScriptContext1_SetupScript(DebugScript_081C221F); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C1AC(void) +{ + ScriptContext1_SetupScript(DebugScript_081C23E2); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C1C4(void) +{ + ScriptContext1_SetupScript(DebugScript_081C23E6); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C1DC(void) +{ + ScriptContext1_SetupScript(DebugScript_081C23F6); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C1F4(void) +{ + ScriptContext1_SetupScript(DebugScript_081C2482); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C20C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C23FD); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C224(void) +{ + ScriptContext1_SetupScript(DebugScript_081C2518); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C23C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C2507); + CloseMenu(); + return TRUE; +} + #endif |