summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/watanabe_debug_menu.s151
-rw-r--r--src/debug/watanabe_debug_menu.c58
2 files changed, 58 insertions, 151 deletions
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s
index 8580cc3d1..f02f6f702 100644
--- a/asm/watanabe_debug_menu.s
+++ b/asm/watanabe_debug_menu.s
@@ -5,157 +5,6 @@
.text
- thumb_func_start debug_80C47BC
-debug_80C47BC:
- push {r4, r5, r6, r7, lr}
- add sp, sp, #0xffffffc0
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r1, ._224 @ gUnknown_Debug_083F81C7
- mov r0, sp
- mov r2, #0xf
- bl memcpy
- add r4, sp, #0x10
- ldr r1, ._224 + 4 @ gUnknown_Debug_083F81A0
- add r0, r4, #0
- mov r2, #0xd
- bl memcpy
- add r6, sp, #0x20
- ldr r1, ._224 + 8 @ gUnknown_Debug_083F81D6
- add r0, r6, #0
- mov r2, #0xf
- bl memcpy
- add r5, sp, #0x30
- ldr r1, ._224 + 12 @ gUnknown_Debug_083F81E5
- add r0, r5, #0
- mov r2, #0x10
- bl memcpy
- mov r0, #0x0
- mov r1, #0x10
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r0, sp
- mov r1, #0x1
- mov r2, #0x11
- bl Menu_PrintText
- add r0, r4, #0
- mov r1, #0x14
- mov r2, #0x11
- bl Menu_PrintText
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- add r0, r6, #0
- mov r1, #0x2
- mov r2, #0x1
- bl Menu_PrintText
- mov r4, #0x0
- ldr r6, ._224 + 16 @ gUnknown_Debug_083F8068
-._223:
- lsl r0, r4, #0x3
- add r0, r0, r6
- ldr r0, [r0]
- lsl r2, r4, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r2, r2, r1
- lsr r2, r2, #0x18
- mov r1, #0x2
- bl Menu_PrintText
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x4
- bls ._223 @cond_branch
- mov r0, #0xf
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- add r0, r5, #0
- mov r1, #0x11
- mov r2, #0x1
- bl Menu_PrintText
- ldr r0, ._224 + 20 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x4]
- bl debug_80C4C44
- ldr r1, ._224 + 24 @ gTasks
- lsl r0, r7, #0x2
- add r0, r0, r7
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._224 + 28 @ debug_80C48A0
- str r1, [r0]
- add sp, sp, #0x40
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._225:
- .align 2, 0
-._224:
- .word gUnknown_Debug_083F81C7
- .word gUnknown_Debug_083F81A0
- .word gUnknown_Debug_083F81D6
- .word gUnknown_Debug_083F81E5
- .word gUnknown_Debug_083F8068
- .word gUnknown_Debug_2038A0C
- .word gTasks
- .word debug_80C48A0+1
-
- thumb_func_end debug_80C47BC
-
- thumb_func_start debug_80C48A0
-debug_80C48A0:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r0, ._226 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x3]
- lsl r0, r0, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r0, r0, r1
- lsr r0, r0, #0x18
- mov r1, #0x1
- str r1, [sp]
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r1, ._226 + 4 @ 0x4000042
- ldr r2, ._226 + 8 @ 0x177
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- add r2, r2, #0x8
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._226 + 12 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._226 + 16 @ debug_80C4900
- str r1, [r0]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._227:
- .align 2, 0
-._226:
- .word gUnknown_Debug_2038A0C
- .word 0x4000042
- .word 0x177
- .word gTasks
- .word debug_80C4900+1
-
- thumb_func_end debug_80C48A0
-
thumb_func_start debug_80C4900
debug_80C4900:
push {r4, r5, lr}
diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c
index dbb086469..112fd7e13 100644
--- a/src/debug/watanabe_debug_menu.c
+++ b/src/debug/watanabe_debug_menu.c
@@ -26,6 +26,11 @@ EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 };
EWRAM_DATA u8 gUnknown_Debug_2038A1C[4] = { 0 };
EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 };
+struct WatanabeDebugMenuItem {
+ const u8 * text;
+ u32 value;
+};
+
u32 byte_3005E30;
void debug_80C3A50(u8 taskId);
@@ -40,10 +45,15 @@ void debug_80C4694(void);
void debug_80C4704(void);
bool8 debug_80C4774(void);
void debug_80C47BC(u8 taskId);
+void debug_80C48A0(u8 taskId);
+void debug_80C4900(u8 taskId);
+void debug_80C4C44(u8);
void debug_80C4D14(u8 taskId);
void debug_80C4F48(u8 taskId);
void debug_80C68CC(u16, u8, u8, u8);
+extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5];
+
extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶");
extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08};
extern const u8 gUnknown_Debug_083F7FDA[4]; // = _("ひりつ");
@@ -60,6 +70,9 @@ extern const u8 gUnknown_Debug_083F8194[12]; // = _("ポケモンを えらん
extern const u8 gUnknown_Debug_083F81A0[13]; // = _("{COLOR RED}START:つぎへ");
extern const u8 gUnknown_Debug_083F81AD[13]; // = _("{COLOR RED}じぶんの ポケモン");
extern const u8 gUnknown_Debug_083F81BA[13]; // = _("{COLOR RED}あいての ポケモン");
+extern const u8 gUnknown_Debug_083F81C7[15]; // = _("たいせんモードを えらんでね");
+extern const u8 gUnknown_Debug_083F81D6[15]; // = _("{COLOR RED}バトルモード せんたく");
+extern const u8 gUnknown_Debug_083F81E5[16]; // = _("{COLOR RED}トレーナーAI せんたく");
extern const struct SpriteSheet stru_83F8828[2];
extern const struct SpritePalette stru_83F8838[2];
@@ -1083,4 +1096,49 @@ bool8 debug_80C4774(void)
return FALSE;
}
+void debug_80C47BC(u8 taskId)
+{
+ u8 i;
+
+ // u8 sp00[] = _("{COLOR RED}あいての ポケモン");
+ // u8 sp10[] = _("たいせんモードを えらんでね");
+ // u8 sp20[] = _("{COLOR RED}バトルモード せんたく");
+ // u8 sp30[] = _("{COLOR RED}トレーナーAI せんたく");
+
+ u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81C7)];
+ u8 sp10[ARRAY_COUNT(gUnknown_Debug_083F81A0)];
+ u8 sp20[ARRAY_COUNT(gUnknown_Debug_083F81D6)];
+ u8 sp30[ARRAY_COUNT(gUnknown_Debug_083F81E5)];
+
+ memcpy(sp00, gUnknown_Debug_083F81C7, sizeof(gUnknown_Debug_083F81C7));
+ memcpy(sp10, gUnknown_Debug_083F81A0, sizeof(gUnknown_Debug_083F81A0));
+ memcpy(sp20, gUnknown_Debug_083F81D6, sizeof(gUnknown_Debug_083F81D6));
+ memcpy(sp30, gUnknown_Debug_083F81E5, sizeof(gUnknown_Debug_083F81E5));
+
+ Menu_DrawStdWindowFrame(0, 16, 29, 19);
+ Menu_PrintText(sp00, 1, 17);
+ Menu_PrintText(sp10, 20, 17);
+
+ Menu_DrawStdWindowFrame(0, 0, 14, 15);
+ Menu_PrintText(sp20, 2, 1);
+
+ for (i = 0; i < ARRAY_COUNT(gUnknown_Debug_083F8068); i++)
+ Menu_PrintText(gUnknown_Debug_083F8068[i].text, 2, 2 * i + 3);
+
+ Menu_DrawStdWindowFrame(15, 0, 29, 15);
+ Menu_PrintText(sp30, 17, 1);
+
+ debug_80C4C44(gUnknown_Debug_2038A0C[4]);
+
+ gTasks[taskId].func = debug_80C48A0;
+}
+
+void debug_80C48A0(u8 taskId)
+{
+ debug_80C38E4(2 * gUnknown_Debug_2038A0C[3] + 3, 1, 1, 14, 1);
+ REG_WIN1H = 0x0177;
+ REG_WIN1V = 0x017F;
+ gTasks[taskId].func = debug_80C4900;
+}
+
#endif // DEBUG