summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-04-16 23:20:01 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-04-16 23:20:01 -0400
commitd86e8008b34c9fffad032cb3b212399f79bfbcd3 (patch)
tree44e4ea5890a9326e29bb99fba8ebd97670a2ee5e
parentdc8dba69491585097dc41ad33ff8006820ec8fd4 (diff)
through debug_80C4F48
-rw-r--r--asm/watanabe_debug_menu.s513
-rw-r--r--data/debug_menu_watanabe.s39
-rw-r--r--include/battle.h1
-rw-r--r--ld_script.txt1
-rw-r--r--src/debug/watanabe_debug_menu.c239
5 files changed, 226 insertions, 567 deletions
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s
index 7260c0bc4..bcc85ff17 100644
--- a/asm/watanabe_debug_menu.s
+++ b/asm/watanabe_debug_menu.s
@@ -5,519 +5,6 @@
.text
- thumb_func_start debug_80C4C44
-debug_80C4C44:
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, r9
- mov r5, r8
- push {r5, r6, r7}
- add sp, sp, #0xfffffff0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov sl, r0
- mov r2, #0x0
- mov r5, sp
-._290:
- mov r0, sl
- add r6, r2, r0
- add r4, r6, #0
- add r1, r2, #1
- mov r8, r1
- cmp r4, #0x9
- bgt ._280 @cond_branch
- mov r3, #0x0
- ldr r1, ._288 @ gUnknown_Debug_083F80D8
- lsl r0, r4, #0x3
- add r0, r0, r1
- ldr r0, [r0]
- ldrb r0, [r0]
- ldr r7, ._288 + 4 @ byte_3005E30
- mov r9, r7
- lsl r2, r2, #0x1
- mov ip, r2
- cmp r0, #0xff
- beq ._282 @cond_branch
- add r7, r1, #0
-._283:
- add r0, r3, #3
- mov r1, sp
- add r2, r1, r0
- lsl r1, r6, #0x3
- add r1, r1, r7
- ldr r0, [r1]
- add r0, r0, r3
- ldrb r0, [r0]
- strb r0, [r2]
- add r0, r3, #1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- ldr r0, [r1]
- add r0, r0, r3
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._282 @cond_branch
- cmp r3, #0xb
- bls ._283 @cond_branch
-._282:
- cmp r3, #0xb
- bhi ._284 @cond_branch
- mov r1, #0x0
-._285:
- add r0, r3, #3
- add r0, r0, sp
- strb r1, [r0]
- add r0, r3, #1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- cmp r3, #0xb
- bls ._285 @cond_branch
-._284:
- mov r0, #0xff
- strb r0, [r5, #0xe]
- mov r0, #0xfc
- strb r0, [r5]
- mov r2, #0x1
- strb r2, [r5, #0x1]
- add r1, r2, #0
- LSL r1, r4
- mov r3, r9
- ldr r0, [r3]
- and r0, r0, r1
- cmp r0, #0
- beq ._286 @cond_branch
- mov r0, #0x3
- strb r0, [r5, #0x2]
- b ._287
-._289:
- .align 2, 0
-._288:
- .word gUnknown_Debug_083F80D8
- .word byte_3005E30
-._286:
- strb r2, [r5, #0x2]
-._287:
- mov r2, ip
- add r2, r2, #0x3
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- mov r0, sp
- mov r1, #0x11
- bl Menu_PrintText
-._280:
- mov r7, r8
- lsl r0, r7, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x5
- bls ._290 @cond_branch
- add sp, sp, #0x10
- pop {r3, r4, r5}
- mov r8, r3
- mov r9, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C4C44
-
- thumb_func_start debug_80C4D14
-debug_80C4D14:
- push {r4, r5, r6, lr}
- add sp, sp, #0xffffffd0
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r1, ._291 @ gUnknown_Debug_083F81C7
- mov r0, sp
- mov r2, #0xf
- bl memcpy
- add r5, sp, #0x10
- ldr r1, ._291 + 4 @ gUnknown_Debug_083F81F5
- add r0, r5, #0
- mov r2, #0xd
- bl memcpy
- add r6, sp, #0x20
- ldr r1, ._291 + 8 @ gUnknown_Debug_083F8202
- add r0, r6, #0
- mov r2, #0xf
- 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, r5, #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
- ldr r0, ._291 + 12 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x6]
- bl debug_80C4F00
- mov r0, #0xf
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- ldr r1, ._291 + 16 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._291 + 20 @ debug_80C4DB8
- str r1, [r0]
- add sp, sp, #0x30
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._292:
- .align 2, 0
-._291:
- .word gUnknown_Debug_083F81C7
- .word gUnknown_Debug_083F81F5
- .word gUnknown_Debug_083F8202
- .word gUnknown_Debug_2038A0C
- .word gTasks
- .word debug_80C4DB8+1
-
- thumb_func_end debug_80C4D14
-
- thumb_func_start debug_80C4DB8
-debug_80C4DB8:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r0, ._293 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x7]
- 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, ._293 + 4 @ 0x4000042
- ldr r2, ._293 + 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, ._293 + 12 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._293 + 16 @ debug_80C4E18
- str r1, [r0]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._294:
- .align 2, 0
-._293:
- .word gUnknown_Debug_2038A0C
- .word 0x4000042
- .word 0x177
- .word gTasks
- .word debug_80C4E18+1
-
- thumb_func_end debug_80C4DB8
-
- thumb_func_start debug_80C4E18
-debug_80C4E18:
- push {r4, r5, r6, r7, lr}
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r5, ._297 @ gUnknown_Debug_2038A0C
- ldrb r3, [r5, #0x6]
- ldrb r2, [r5, #0x7]
- add r0, r3, r2
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r7, ._297 + 4 @ gMain
- ldrh r1, [r7, #0x2e]
- mov r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._295 @cond_branch
- ldr r0, ._297 + 8 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._297 + 12 @ debug_80C42B8
- b ._296
-._298:
- .align 2, 0
-._297:
- .word gUnknown_Debug_2038A0C
- .word gMain
- .word gTasks
- .word debug_80C42B8+1
-._295:
- mov r0, #0x8
- and r0, r0, r1
- cmp r0, #0
- bne ._299 @cond_branch
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._300 @cond_branch
-._299:
- mov r0, #0x5
- bl PlaySE
- ldr r2, ._302 @ gBattleTerrain
- ldr r1, ._302 + 4 @ gUnknown_Debug_083F814C
- lsl r0, r6, #0x3
- add r0, r0, r1
- ldrb r0, [r0, #0x4]
- strb r0, [r2]
- ldr r1, ._302 + 8 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._302 + 12 @ debug_80C5158
- str r1, [r0]
- b ._310
-._303:
- .align 2, 0
-._302:
- .word gBattleTerrain
- .word gUnknown_Debug_083F814C
- .word gTasks
- .word debug_80C5158+1
-._300:
- ldrh r1, [r7, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._304 @cond_branch
- lsl r0, r2, #0x18
- cmp r0, #0
- beq ._305 @cond_branch
- sub r0, r2, #1
- strb r0, [r5, #0x7]
- b ._313
-._305:
- lsl r0, r3, #0x18
- cmp r0, #0
- beq ._313 @cond_branch
- sub r0, r3, #1
- b ._308
-._304:
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._310 @cond_branch
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x7
- bhi ._310 @cond_branch
- cmp r0, #0x4
- bhi ._311 @cond_branch
- add r0, r2, #1
- strb r0, [r5, #0x7]
- b ._313
-._311:
- lsl r0, r3, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x2
- bhi ._313 @cond_branch
- add r0, r3, #1
-._308:
- strb r0, [r5, #0x6]
- ldrb r0, [r5, #0x6]
- bl debug_80C4F00
-._313:
- ldr r0, ._314 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._314 + 4 @ debug_80C4DB8
-._296:
- str r0, [r1]
-._310:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._315:
- .align 2, 0
-._314:
- .word gTasks
- .word debug_80C4DB8+1
-
- thumb_func_end debug_80C4E18
-
- thumb_func_start debug_80C4F00
-debug_80C4F00:
- push {r4, r5, r6, lr}
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- mov r0, #0x1
- mov r1, #0x3
- mov r2, #0xd
- mov r3, #0xe
- bl Menu_BlankWindowRect
- mov r4, #0x0
- ldr r6, ._318 @ gUnknown_Debug_083F814C
-._317:
- cmp r4, #0x8
- bhi ._316 @cond_branch
- add r0, r4, r5
- lsl r0, r0, #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
-._316:
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x5
- bls ._317 @cond_branch
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._319:
- .align 2, 0
-._318:
- .word gUnknown_Debug_083F814C
-
- thumb_func_end debug_80C4F00
-
- thumb_func_start debug_80C4F48
-debug_80C4F48:
- push {r4, r5, r6, lr}
- mov r6, r9
- mov r5, r8
- push {r5, r6}
- add sp, sp, #0xffffffc4
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r1, ._320 @ gUnknown_Debug_083F8211
- mov r0, sp
- mov r2, #0x11
- bl memcpy
- add r6, sp, #0x14
- ldr r1, ._320 + 4 @ gUnknown_Debug_083F81A0
- add r0, r6, #0
- mov r2, #0xd
- bl memcpy
- add r5, sp, #0x24
- ldr r1, ._320 + 8 @ gUnknown_Debug_083F8222
- add r0, r5, #0
- mov r2, #0xd
- bl memcpy
- add r0, sp, #0x34
- mov r9, r0
- ldr r1, ._320 + 12 @ gUnknown_Debug_083F822F
- mov r2, #0x4
- bl memcpy
- add r0, sp, #0x38
- mov r8, r0
- ldr r1, ._320 + 16 @ gUnknown_Debug_083F8233
- mov r2, #0x4
- 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, r6, #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, r5, #0
- mov r1, #0x2
- mov r2, #0x1
- bl Menu_PrintText
- mov r0, #0x1
- mov r1, #0x3
- mov r2, #0xd
- mov r3, #0xe
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0x2
- mov r2, #0x1
- bl Menu_PrintText
- mov r0, r9
- mov r1, #0x2
- mov r2, #0x3
- bl Menu_PrintText
- mov r0, r8
- mov r1, #0x2
- mov r2, #0x5
- bl Menu_PrintText
- mov r0, #0xf
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- ldr r1, ._320 + 20 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._320 + 24 @ debug_80C5038
- str r1, [r0]
- add sp, sp, #0x3c
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._321:
- .align 2, 0
-._320:
- .word gUnknown_Debug_083F8211
- .word gUnknown_Debug_083F81A0
- .word gUnknown_Debug_083F8222
- .word gUnknown_Debug_083F822F
- .word gUnknown_Debug_083F8233
- .word gTasks
- .word debug_80C5038+1
-
- thumb_func_end debug_80C4F48
-
thumb_func_start debug_80C5038
debug_80C5038:
push {r4, lr}
diff --git a/data/debug_menu_watanabe.s b/data/debug_menu_watanabe.s
index 5b99533da..50cc210d7 100644
--- a/data/debug_menu_watanabe.s
+++ b/data/debug_menu_watanabe.s
@@ -716,43 +716,4 @@ gUnknown_Debug_083F8815::
.byte 0x20
.byte 0x21
- .align 2
-stru_83F8828::
- obj_tiles byte_83F88EC, 0x800, 0x1000
- null_obj_tiles
-
-stru_83F8838::
- obj_pal word_83F888C, 0x1000
- null_obj_pal
-
-gOamData_83F8848:
- .2byte 0x00a0
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83F8850:
- obj_image_anim_frame 38, 30
- obj_image_anim_end
-
-gSpriteAnim_83F8858:
- obj_image_anim_frame 39, 30
- obj_image_anim_end
-
-gSpriteAnim_83F8860:
- obj_image_anim_frame 40, 30
- obj_image_anim_end
-
-gSpriteAnimTable_83F8868::
- .4byte gSpriteAnim_83F8850, gSpriteAnim_83F8858, gSpriteAnim_83F8860
-
-gSpriteTemplate_83F8874::
- spr_template 0x1000, 0x1000, gOamData_83F8848, gSpriteAnimTable_83F8868, 0, gDummySpriteAffineAnimTable, debug_80C7584
-
-word_83F888C::
- .incbin "graphics/debug/sprite_browser.gbapal"
-
-byte_83F88EC::
- .incbin "graphics/debug/sprite_browser.4bpp"
-
.endif
diff --git a/include/battle.h b/include/battle.h
index e63560421..2af4bd19d 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -724,6 +724,7 @@ extern u8 gBattleTextBuff1[];
extern u16 gBattleTypeFlags;
extern u8 gUnknown_02023A14_50;
extern u16 gTrainerBattleOpponent;
+extern u8 gBattleTerrain;
// src/battle_bg.o
void sub_800D6D4();
diff --git a/ld_script.txt b/ld_script.txt
index e45408439..df91d85cc 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -589,6 +589,7 @@ SECTIONS {
src/berry.o(.rodata);
src/debug/watanabe_debug_menu.o(.rodata);
data/debug_menu_watanabe.o(.rodata);
+ src/debug/watanabe_debug_menu.o(.data);
src/script_menu.o(.rodata);
src/naming_screen.o(.rodata);
src/money.o(.rodata);
diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c
index dcb74b870..a4002e325 100644
--- a/src/debug/watanabe_debug_menu.c
+++ b/src/debug/watanabe_debug_menu.c
@@ -28,15 +28,13 @@ 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 WatanabeDebugMenuItem1 {
+struct WatanabeDebugMenuItem {
const u8 * text;
- u8 battleTypeFlags;
- u8 unk5;
-};
-
-struct WatanabeDebugMenuItem2 {
- const u8 * text;
- u32 mask;
+ union {
+ u8 type1[2];
+ u32 type2;
+ u8 type3;
+ } data;
};
u32 byte_3005E30;
@@ -59,11 +57,18 @@ void debug_80C4A60(u8 taskId);
void debug_80C4AC4(u8 taskId);
void debug_80C4C44(u8);
void debug_80C4D14(u8 taskId);
+void debug_80C4DB8(u8 taskId);
+void debug_80C4E18(u8 taskId);
+void debug_80C4F00(u8);
void debug_80C4F48(u8 taskId);
+void debug_80C5038(u8 taskId);
+void debug_80C5158(u8 taskId);
void debug_80C68CC(u16, u8, u8, u8);
+void debug_80C7584(struct Sprite *);
-extern const struct WatanabeDebugMenuItem1 gUnknown_Debug_083F8068[5];
-extern const struct WatanabeDebugMenuItem2 gUnknown_Debug_083F80D8[10];
+extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5];
+extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[10];
+extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F814C[9];
extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶");
extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08};
@@ -84,9 +89,61 @@ 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 u8 gUnknown_Debug_083F81F5[13]; // = _("{COLOR RED}START:かいし");
+extern const u8 gUnknown_Debug_083F8202[15]; // =_("{COLOR RED}バトルちけい せんたく");
+extern const u8 gUnknown_Debug_083F8211[17]; // = _("じぶんの せいべつを えらんでね");
+extern const u8 gUnknown_Debug_083F8222[13]; // = _("{COLOR RED}せいべつ せんたく");
+extern const u8 gUnknown_Debug_083F822F[4]; // = _("おとこ");
+extern const u8 gUnknown_Debug_083F8233[4]; // = _("おんな");
+
+#define SPRITETAG_WATANABE 0x1000
+
+u8 byte_83F88EC[];
+u16 word_83F888C[];
+
+struct SpriteSheet stru_83F8828[] = {
+ {byte_83F88EC, 0x800, SPRITETAG_WATANABE},
+ {}
+};
+struct SpritePalette stru_83F8838[] = {
+ {word_83F888C, SPRITETAG_WATANABE},
+ {}
+};
+
+struct OamData gOamData_83F8848 = {
+ .y = 0xa0
+};
-extern const struct SpriteSheet stru_83F8828[2];
-extern const struct SpritePalette stru_83F8838[2];
+union AnimCmd gSpriteAnim_83F8850[] = {
+ ANIMCMD_FRAME(38, 30),
+ ANIMCMD_END
+};
+
+union AnimCmd gSpriteAnim_83F8858[] = {
+ ANIMCMD_FRAME(39, 30),
+ ANIMCMD_END
+};
+
+union AnimCmd gSpriteAnim_83F8860[] = {
+ ANIMCMD_FRAME(40, 30),
+ ANIMCMD_END
+};
+
+const union AnimCmd *gSpriteAnimTable_83F8868[] = {
+ gSpriteAnim_83F8850,
+ gSpriteAnim_83F8858,
+ gSpriteAnim_83F8860
+};
+
+struct SpriteTemplate gSpriteTemplate_83F8874 = {
+ SPRITETAG_WATANABE,
+ SPRITETAG_WATANABE,
+ &gOamData_83F8848,
+ gSpriteAnimTable_83F8868,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ debug_80C7584
+};
void debug_69(struct Sprite *sprite)
{
@@ -1168,9 +1225,9 @@ void debug_80C4900(u8 taskId)
else if (gMain.newKeys & START_BUTTON || gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- gBattleTypeFlags = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].battleTypeFlags;
+ gBattleTypeFlags = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].data.type1[0];
gUnknown_02023A14_50 = 8;
- gUnknown_Debug_2038A0C[12] = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].unk5;
+ gUnknown_Debug_2038A0C[12] = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].data.type1[1];
if (gUnknown_Debug_2038A0C[3] == 1 || gUnknown_Debug_2038A0C[3] == 2)
{
debug_80C38E4(0, 1, 1, 14, 0);
@@ -1223,7 +1280,7 @@ void debug_80C4AC4(u8 taskId)
if (gMain.newKeys & A_BUTTON)
{
- u32 mask = gUnknown_Debug_083F80D8[r1].mask;
+ u32 mask = gUnknown_Debug_083F80D8[r1].data.type2;
if (byte_3005E30 & mask)
byte_3005E30 &= (mask ^ 0xFFFF);
else
@@ -1273,4 +1330,156 @@ void debug_80C4AC4(u8 taskId)
}
}
+void debug_80C4C44(u8 a0)
+{
+ u8 i;
+ u8 j;
+ u8 sp00[15];
+
+ for (i = 0; i < 6; i++)
+ {
+ if (i + a0 < 10)
+ {
+ for (j = 0; gUnknown_Debug_083F80D8[i + a0].text[j] != EOS && j < 12; j++)
+ {
+ sp00[j + 3] = gUnknown_Debug_083F80D8[i + a0].text[j];
+ }
+ for (; j < 12; j++)
+ {
+ sp00[j + 3] = CHAR_SPACE;
+ }
+ sp00[14] = EOS;
+ sp00[0] = EXT_CTRL_CODE_BEGIN;
+ sp00[1] = 0x01;
+ if (byte_3005E30 & (1 << (i + a0)))
+ sp00[2] = 0x03;
+ else
+ sp00[2] = 0x01;
+ Menu_PrintText(sp00, 17, 2 * i + 3);
+ }
+ }
+}
+
+void debug_80C4D14(u8 taskId)
+{
+ // u8 sp00[] = _("たいせんモードを えらんでね");
+ // u8 sp10[] = _("{COLOR RED}START:かいし");
+ // u8 sp20[] = _("{COLOR RED}バトルちけい せんたく");
+
+ u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81C7)];
+ u8 sp10[ARRAY_COUNT(gUnknown_Debug_083F81F5)];
+ u8 sp20[ARRAY_COUNT(gUnknown_Debug_083F8202)];
+
+ memcpy(sp00, gUnknown_Debug_083F81C7, sizeof(gUnknown_Debug_083F81C7));
+ memcpy(sp10, gUnknown_Debug_083F81F5, sizeof(gUnknown_Debug_083F81F5));
+ memcpy(sp20, gUnknown_Debug_083F8202, sizeof(gUnknown_Debug_083F8202));
+
+ 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);
+ debug_80C4F00(gUnknown_Debug_2038A0C[6]);
+
+ Menu_DrawStdWindowFrame(15, 0, 29,15);
+ gTasks[taskId].func = debug_80C4DB8;
+}
+
+void debug_80C4DB8(u8 taskId)
+{
+ debug_80C38E4(2 * gUnknown_Debug_2038A0C[7] + 3, 1, 1, 14, 1);
+ REG_WIN1H = 0x0177;
+ REG_WIN1V = 0x017F;
+ gTasks[taskId].func = debug_80C4E18;
+}
+
+void debug_80C4E18(u8 taskId)
+{
+ u8 r6 = gUnknown_Debug_2038A0C[6] + gUnknown_Debug_2038A0C[7];
+ if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].func = debug_80C42B8;
+ }
+ else if (gMain.newKeys & START_BUTTON || gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gBattleTerrain = gUnknown_Debug_083F814C[r6].data.type3;
+ gTasks[taskId].func = debug_80C5158;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (gUnknown_Debug_2038A0C[7] > 0)
+ gUnknown_Debug_2038A0C[7]--;
+ else if (gUnknown_Debug_2038A0C[6] > 0)
+ {
+ gUnknown_Debug_2038A0C[6]--;
+ debug_80C4F00(gUnknown_Debug_2038A0C[6]);
+ }
+ gTasks[taskId].func = debug_80C4DB8;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[7] < 8)
+ {
+ if (gUnknown_Debug_2038A0C[7] < 5)
+ gUnknown_Debug_2038A0C[7]++;
+ else if (gUnknown_Debug_2038A0C[6] < 3)
+ {
+ gUnknown_Debug_2038A0C[6]++;
+ debug_80C4F00(gUnknown_Debug_2038A0C[6]);
+ }
+ gTasks[taskId].func = debug_80C4DB8;
+ }
+}
+
+void debug_80C4F00(u8 a0)
+{
+ u8 i;
+ Menu_BlankWindowRect(1, 3, 13, 14);
+
+ for (i = 0; i < 6; i++)
+ {
+ if (i < 9)
+ Menu_PrintText(gUnknown_Debug_083F814C[i + a0].text, 2, 2 * i + 3);
+ }
+}
+
+void debug_80C4F48(u8 taskId)
+{
+ // u8 sp00[] = _("じぶんの せいべつを えらんでね");
+ // u8 sp14[] = _("{COLOR RED}START:つぎへ");
+ // u8 sp24[] = _("{COLOR RED}せいべつ せんたく");
+ // u8 sp34[] = _("おとこ");
+ // u8 sp38[] = _("おんな");
+
+ u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8211)];
+ u8 sp14[ARRAY_COUNT(gUnknown_Debug_083F81A0)];
+ u8 sp24[ARRAY_COUNT(gUnknown_Debug_083F8222)];
+ u8 sp34[ARRAY_COUNT(gUnknown_Debug_083F822F)];
+ u8 sp38[ARRAY_COUNT(gUnknown_Debug_083F8233)];
+
+ memcpy(sp00, gUnknown_Debug_083F8211, sizeof(gUnknown_Debug_083F8211));
+ memcpy(sp14, gUnknown_Debug_083F81A0, sizeof(gUnknown_Debug_083F81A0));
+ memcpy(sp24, gUnknown_Debug_083F8222, sizeof(gUnknown_Debug_083F8222));
+ memcpy(sp34, gUnknown_Debug_083F822F, sizeof(gUnknown_Debug_083F822F));
+ memcpy(sp38, gUnknown_Debug_083F8233, sizeof(gUnknown_Debug_083F8233));
+
+ Menu_DrawStdWindowFrame(0, 16, 29, 19);
+ Menu_PrintText(sp00, 1, 17);
+ Menu_PrintText(sp14, 20, 17);
+
+ Menu_DrawStdWindowFrame(0, 0, 14, 15);
+ Menu_PrintText(sp24, 2, 1);
+
+ Menu_BlankWindowRect(1, 3, 13, 14);
+ Menu_PrintText(sp24, 2, 1);
+ Menu_PrintText(sp34, 2, 3);
+ Menu_PrintText(sp38, 2, 5);
+
+ Menu_DrawStdWindowFrame(15, 0, 29, 15);
+ gTasks[taskId].func = debug_80C5038;
+}
+
+u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal");
+u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp");
+
#endif // DEBUG