summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/tomomichi_debug_menu.s320
-rw-r--r--src/debug/tomomichi_debug_menu.c152
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