diff options
-rw-r--r-- | asm/watanabe_debug_menu.s | 695 | ||||
-rw-r--r-- | src/debug/watanabe_debug_menu.c | 186 |
2 files changed, 186 insertions, 695 deletions
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s index b8618a780..64cc54a0c 100644 --- a/asm/watanabe_debug_menu.s +++ b/asm/watanabe_debug_menu.s @@ -5,701 +5,6 @@ .text - thumb_func_start debug_80C55E4 -debug_80C55E4: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - add r6, r3, #0 - ldr r1, ._405 @ gUnknown_Debug_083F8698 - ldr r2, ._405 + 4 @ gUnknown_Debug_2038A1C - ldr r0, [r2] - mov ip, r0 - mov r0, #0xb4 - lsl r0, r0, #0x1 - add r0, r0, ip - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._405 + 8 @ 0x169 - add r1, r1, ip - ldrb r1, [r1] - ldr r0, [r0] - add r0, r0, r1 - ldrb r5, [r0] - add r7, r5, #0 - ldr r1, ._405 + 12 @ gMain - ldrh r4, [r1, #0x2e] - mov r0, #0x1 - and r0, r0, r4 - mov r8, r2 - add r2, r1, #0 - cmp r0, #0 - beq ._403 @cond_branch - ldr r0, ._405 + 16 @ gTasks - lsl r1, r3, #0x2 - add r1, r1, r3 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._405 + 20 @ debug_80C53C0 - str r0, [r1] - b ._422 -._406: - .align 2, 0 -._405: - .word gUnknown_Debug_083F8698 - .word gUnknown_Debug_2038A1C - .word 0x169 - .word gMain - .word gTasks - .word debug_80C53C0+1 -._403: - mov r0, #0x2 - and r0, r0, r4 - cmp r0, #0 - beq ._407 @cond_branch - lsl r1, r5, #0x2 - mov r0, ip - add r0, r0, #0x64 - add r0, r0, r1 - mov r1, #0xb2 - lsl r1, r1, #0x1 - add r1, r1, ip - ldr r1, [r1] - str r1, [r0] - ldr r1, ._409 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._409 + 4 @ debug_80C53C0 - str r1, [r0] - b ._422 -._410: - .align 2, 0 -._409: - .word gTasks - .word debug_80C53C0+1 -._407: - ldrh r1, [r2, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._411 @cond_branch - mov r0, #0x1 - b ._412 -._411: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._413 @cond_branch - mov r0, #0x2 -._412: - bl debug_80C6544 - bl debug_80C643C - b ._422 -._413: - ldr r0, ._419 @ gUnknown_Debug_083F8554 - lsl r1, r7, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r1, [r1] - ldrb r0, [r1, #0x9] - cmp r0, #0xff - beq ._422 @cond_branch - mov r0, #0x20 - and r0, r0, r4 - cmp r0, #0 - beq ._417 @cond_branch - mov r0, #0xb5 - lsl r0, r0, #0x1 - add ip, ip, r0 - mov r0, ip - ldrb r3, [r0] - ldrb r0, [r1, #0x9] - sub r0, r0, #0x1 - cmp r3, r0 - bge ._417 @cond_branch - add r0, r3, #1 - mov r1, ip - strb r0, [r1] - bl debug_80C643C - b ._422 -._420: - .align 2, 0 -._419: - .word gUnknown_Debug_083F8554 -._417: - ldrh r1, [r2, #0x2e] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._422 @cond_branch - mov r2, r8 - ldr r0, [r2] - mov r2, #0xb5 - lsl r2, r2, #0x1 - add r1, r0, r2 - ldrb r0, [r1] - cmp r0, #0 - beq ._422 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] - bl debug_80C643C -._422: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_end debug_80C55E4 - - thumb_func_start debug_80C5708 -debug_80C5708: - push {lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - ldr r0, ._424 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._423 @cond_branch - ldr r0, ._424 + 4 @ gTasks - lsl r1, r2, #0x2 - add r1, r1, r2 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._424 + 8 @ debug_80C53C0 - str r0, [r1] -._423: - pop {r0} - bx r0 -._425: - .align 2, 0 -._424: - .word gMain - .word gTasks - .word debug_80C53C0+1 - - thumb_func_end debug_80C5708 - - thumb_func_start debug_80C5738 -debug_80C5738: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - add r6, r0, #0 - lsl r1, r1, #0x18 - lsr r4, r1, #0x18 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - mov r8, r2 - cmp r4, #0xfe - bne ._426 @cond_branch - ldr r1, ._428 @ gUnknown_Debug_083F850A - mov r2, #0x7 - bl debug_80C689C - add r0, r6, #7 - ldr r7, ._428 + 4 @ gUnknown_Debug_2038A1C - ldr r1, [r7] - add r1, r1, #0xf0 - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - mov r4, #0x0 - strb r4, [r6, #0x13] - strb r4, [r6, #0x14] - add r0, r6, #0 - add r0, r0, #0x15 - ldr r1, ._428 + 8 @ gUnknown_Debug_083F8514 - mov r2, #0x7 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x1c - ldr r1, [r7] - add r1, r1, #0xf4 - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - add r0, r6, #0 - add r0, r0, #0x28 - strb r4, [r0] - add r0, r0, #0x1 - strb r4, [r0] - add r0, r0, #0x1 - ldr r1, ._428 + 12 @ gUnknown_Debug_083F851C - mov r2, #0x9 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x31 - ldr r1, [r7] - add r1, r1, #0xf8 -._431: - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - b ._517 -._429: - .align 2, 0 -._428: - .word gUnknown_Debug_083F850A - .word gUnknown_Debug_2038A1C - .word gUnknown_Debug_083F8514 - .word gUnknown_Debug_083F851C -._426: - cmp r4, #0xfd - bne ._430 @cond_branch - ldr r1, ._432 @ gUnknown_Debug_083F8524 - add r0, r6, #0 - mov r2, #0x9 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x9 - ldr r7, ._432 + 4 @ gUnknown_Debug_2038A1C - ldr r1, [r7] - add r1, r1, #0xfc - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - mov r4, #0x0 - strb r4, [r6, #0x15] - strb r4, [r6, #0x16] - add r0, r6, #0 - add r0, r0, #0x17 - ldr r1, ._432 + 8 @ gUnknown_Debug_083F852D - mov r2, #0x9 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x20 - ldr r1, [r7] - mov r2, #0x80 - lsl r2, r2, #0x1 - add r1, r1, r2 - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - add r0, r6, #0 - add r0, r0, #0x2c - strb r4, [r0] - add r0, r0, #0x1 - strb r4, [r0] - add r0, r0, #0x1 - ldr r1, ._432 + 12 @ gUnknown_Debug_083F8537 - mov r2, #0x9 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x37 - ldr r1, [r7] - mov r3, #0x82 - lsl r3, r3, #0x1 - add r1, r1, r3 - b ._431 -._433: - .align 2, 0 -._432: - .word gUnknown_Debug_083F8524 - .word gUnknown_Debug_2038A1C - .word gUnknown_Debug_083F852D - .word gUnknown_Debug_083F8537 -._430: - mov r1, #0x0 - lsl r5, r4, #0x3 - mov r2, #0x0 -._434: - add r0, r6, r1 - strb r2, [r0] - add r0, r1, #1 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - cmp r1, #0xb - bls ._434 @cond_branch - ldr r0, ._437 @ gUnknown_Debug_083F8554 - add r0, r5, r0 - ldr r1, [r0] - add r0, r6, #0 - mov r2, #0xb - bl debug_80C689C - mov r1, #0xc - mov r2, #0xff -._435: - add r0, r6, r1 - strb r2, [r0] - add r0, r1, #1 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - cmp r1, #0xff - bls ._435 @cond_branch - ldr r0, ._437 @ gUnknown_Debug_083F8554 - add r0, r0, #0x4 - add r0, r5, r0 - ldr r0, [r0] - ldrb r2, [r0, #0x9] - lsl r0, r2, #0x1a - lsr r5, r0, #0x18 - cmp r4, #0x22 - bhi ._436 @cond_branch - lsl r0, r4, #0x2 - ldr r1, ._437 + 4 @ - add r1, r0, r1 - ldr r1, [r1] - add r7, r0, #0 - mov pc, r1 -._438: - .align 2, 0 -._437: - .word gUnknown_Debug_083F8554 - .word ._439 -._439: - .word ._440 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._445 - .word ._446 - .word ._450 - .word ._450 - .word ._450 - .word ._450 - .word ._451 - .word ._452 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._473 - .word ._474 -._436: - mov r0, #0xff - strb r0, [r6] - b ._517 -._440: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._477 @ gUnknown_Debug_2038A1C - mov r9, r1 - ldr r1, [r1] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - mov r3, r8 - bl debug_80C6678 - add r1, r5, r6 - mov r0, #0x0 - strb r0, [r1, #0xa] - mov r0, #0xfc - strb r0, [r1, #0xb] - mov r0, #0x1 - strb r0, [r1, #0xc] - mov r2, r8 - strb r2, [r1, #0xd] - add r4, r5, #0 - add r4, r4, #0xe - add r4, r6, r4 - mov r3, r9 - ldr r0, [r3] - add r0, r0, #0x64 - add r0, r0, r7 - ldrh r0, [r0] - bl NationalPokedexNumToSpecies - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0xb - mul r1, r1, r0 - ldr r0, ._477 + 4 @ gSpeciesNames - add r1, r1, r0 - add r0, r4, #0 - mov r2, #0xa - bl debug_80C689C - b ._517 -._478: - .align 2, 0 -._477: - .word gUnknown_Debug_2038A1C - .word gSpeciesNames -._445: - ldr r0, ._483 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - add r0, r0, #0x64 - add r0, r0, r7 - ldr r0, [r0] - cmp r0, #0x1 - beq ._479 @cond_branch - cmp r0, #0x1 - bcc ._480 @cond_branch - cmp r0, #0x2 - beq ._481 @cond_branch - b ._517 -._484: - .align 2, 0 -._483: - .word gUnknown_Debug_2038A1C -._480: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._486 @ gUnknown_Debug_083F8546 - b ._488 -._487: - .align 2, 0 -._486: - .word gUnknown_Debug_083F8546 -._479: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._489 @ gUnknown_Debug_083F8541 - b ._488 -._490: - .align 2, 0 -._489: - .word gUnknown_Debug_083F8541 -._481: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._492 @ gUnknown_Debug_083F8544 -._488: - mov r2, #0x2 - bl debug_80C689C - b ._517 -._493: - .align 2, 0 -._492: - .word gUnknown_Debug_083F8544 -._450: - add r0, r6, #0 - add r0, r0, #0xa - ldr r4, ._495 @ gUnknown_Debug_2038A1C - ldr r1, [r4] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - mov r3, r8 - bl debug_80C6678 - add r1, r5, r6 - mov r0, #0x0 - strb r0, [r1, #0xa] - mov r0, #0xfc - strb r0, [r1, #0xb] - mov r0, #0x1 - strb r0, [r1, #0xc] - mov r0, r8 - strb r0, [r1, #0xd] - add r0, r5, #0 - add r0, r0, #0xe - add r0, r6, r0 - ldr r1, [r4] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r2, [r1] - mov r1, #0xd - mul r1, r1, r2 - ldr r2, ._495 + 4 @ gMoveNames - add r1, r1, r2 - b ._494 -._496: - .align 2, 0 -._495: - .word gUnknown_Debug_2038A1C - .word gMoveNames -._451: - add r0, r6, #0 - add r0, r0, #0xa - ldr r4, ._499 @ gUnknown_Debug_2038A1C - ldr r1, [r4] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - mov r3, r8 - bl debug_80C6678 - add r1, r5, r6 - mov r0, #0x0 - strb r0, [r1, #0xa] - mov r0, #0xfc - strb r0, [r1, #0xb] - mov r0, #0x1 - strb r0, [r1, #0xc] - mov r2, r8 - strb r2, [r1, #0xd] - ldr r0, [r4] - add r0, r0, #0x64 - add r0, r0, r7 - ldr r0, [r0] - cmp r0, #0 - beq ._497 @cond_branch - add r4, r5, #0 - add r4, r4, #0xe - add r4, r6, r4 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl ItemId_GetName - add r1, r0, #0 - add r0, r4, #0 - b ._498 -._500: - .align 2, 0 -._499: - .word gUnknown_Debug_2038A1C -._497: - add r0, r5, #0 - add r0, r0, #0xe - add r0, r6, r0 - ldr r1, ._502 @ gUnknown_Debug_083F8541 -._498: - mov r2, #0x9 - bl debug_80C689C - b ._517 -._503: - .align 2, 0 -._502: - .word gUnknown_Debug_083F8541 -._452: - add r6, r6, #0xc - ldr r4, ._505 @ gUnknown_Debug_2038A1C - ldr r0, [r4] - ldr r0, [r0, #0x64] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl NationalPokedexNumToSpecies - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - ldr r1, [r4] - add r1, r1, #0x64 - add r1, r1, r7 - ldrb r1, [r1] - bl GetAbilityBySpecies - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0xd - mul r1, r1, r0 - ldr r0, ._505 + 4 @ gAbilityNames - add r1, r1, r0 - add r0, r6, #0 -._494: - mov r2, #0xc - bl debug_80C689C - b ._517 -._506: - .align 2, 0 -._505: - .word gUnknown_Debug_2038A1C - .word gAbilityNames -._474: - add r0, r6, #0 - add r0, r0, #0xa - ldr r2, ._508 @ gUnknown_Debug_083F86E8 - ldr r1, ._508 + 4 @ gUnknown_Debug_2038A1C - ldr r1, [r1] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - lsl r1, r1, #0x3 - add r1, r1, r2 - ldr r1, [r1] - b ._514 -._509: - .align 2, 0 -._508: - .word gUnknown_Debug_083F86E8 - .word gUnknown_Debug_2038A1C -._472: - add r0, r6, #0 - add r0, r0, #0xc - ldr r1, ._511 @ gUnknown_Debug_2038A1C - ldr r1, [r1] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - mov r3, r8 - bl debug_80C6678 - b ._517 -._512: - .align 2, 0 -._511: - .word gUnknown_Debug_2038A1C -._473: - ldr r0, ._515 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - add r0, r0, #0x64 - add r0, r0, r7 - ldr r0, [r0] - cmp r0, #0 - beq ._513 @cond_branch - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._515 + 4 @ gUnknown_Debug_083F854A - b ._514 -._516: - .align 2, 0 -._515: - .word gUnknown_Debug_2038A1C - .word gUnknown_Debug_083F854A -._513: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._518 @ gUnknown_Debug_083F854D -._514: - mov r2, #0x4 - bl debug_80C689C - b ._517 -._519: - .align 2, 0 -._518: - .word gUnknown_Debug_083F854D -._446: - add r0, r6, #0 - add r0, r0, #0xa - ldr r2, ._520 @ gNatureNames - ldr r1, ._520 + 4 @ gUnknown_Debug_2038A1C - ldr r1, [r1] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - lsl r1, r1, #0x2 - add r1, r1, r2 - ldr r1, [r1] - mov r2, #0x5 - bl debug_80C689C -._517: - mov r0, #0x0 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._521: - .align 2, 0 -._520: - .word gNatureNames - .word gUnknown_Debug_2038A1C - - thumb_func_end debug_80C5738 - thumb_func_start debug_80C5B60 debug_80C5B60: lsl r0, r0, #0x18 diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 5ed067651..2b2da4951 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -3,6 +3,7 @@ #include "ewram.h" #include "random.h" #include "gba/flash_internal.h" +#include "constants/items.h" #include "constants/species.h" #include "constants/songs.h" #include "debug.h" @@ -24,6 +25,14 @@ #include "pokemon_storage_system.h" #include "battle.h" #include "battle_bg.h" +#include "item.h" +#include "pokemon_summary_screen.h" + +struct WatanabeDebugMenuItemSubstruct { + u32 unk0; + u8 fill4[5]; + u8 unk9; +}; struct WatanabeDebugMenuItem { const u8 * text; @@ -31,6 +40,7 @@ struct WatanabeDebugMenuItem { u8 type1[2]; u32 type2; u8 type3; + const struct WatanabeDebugMenuItemSubstruct *type4; } data; }; @@ -41,6 +51,10 @@ struct WatanabeEwram18000 { u8 unk168; u8 unk169; u8 unk16a; + u8 unk16b; + u8 unk16c; + u8 unk16d; + u8 unk16e[256]; }; #define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000)) @@ -94,13 +108,18 @@ void debug_80C5FFC(void); void debug_80C627C(u8); void debug_80C6384(void); void debug_80C643C(void); +void debug_80C6544(u8); +void debug_80C689C(u8 *, const u8 *, u8); +void debug_80C6678(u8 *, u32, u8, u8); void debug_80C68CC(u16, u8, u8, u8); void debug_80C7584(struct Sprite *); 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 struct WatanabeDebugMenuItem gUnknown_Debug_083F8554[35]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8698[6]; +extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F86E8[7]; extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; @@ -130,6 +149,17 @@ extern const u8 gUnknown_Debug_083F8233[4]; // = _("おんな"); extern const u8 gUnknown_Debug_083F8720[10]; extern const u8 gUnknown_Debug_083F872A[9]; extern const u8 gUnknown_Debug_083F8733[37]; // = _("Create POKひMON LR:Shift START:Add"); +extern const u8 gUnknown_Debug_083F850A[10]; // = _("{COLOR RED}HP "); +extern const u8 gUnknown_Debug_083F8514[8]; // = _("{COLOR RED}ATK "); +extern const u8 gUnknown_Debug_083F851C[8]; // = _("{COLOR RED}DEF "); +extern const u8 gUnknown_Debug_083F8524[9]; // = _("{COLOR RED}SPEED"); +extern const u8 gUnknown_Debug_083F852D[10]; // = _("{COLOR RED}SP。ATK"); +extern const u8 gUnknown_Debug_083F8537[10]; // = _("{COLOR RED}SP。DEF"); +extern const u8 gUnknown_Debug_083F8541[3]; // = _("なし"); +extern const u8 gUnknown_Debug_083F8544[2]; // = _("♂"); +extern const u8 gUnknown_Debug_083F8546[2]; // = _("♀"); +extern const u8 gUnknown_Debug_083F854A[3]; // = _("ON"); +extern const u8 gUnknown_Debug_083F854D[4]; // = _("OFF"); #define SPRITETAG_WATANABE 0x1000 @@ -1717,6 +1747,162 @@ void debug_80C53F0(u8 taskId) } } +void debug_80C55E4(u8 taskId) +{ + u8 r7 = gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]; + if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].func = debug_80C53C0; + } + else if (gMain.newKeys & B_BUTTON) + { + gUnknown_Debug_2038A1C->unk64[r7] = gUnknown_Debug_2038A1C->unk164; + gTasks[taskId].func = debug_80C53C0; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + debug_80C6544(1); + debug_80C643C(); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + debug_80C6544(2); + debug_80C643C(); + } + else if (gUnknown_Debug_083F8554[r7].data.type4->unk9 != 0xFF) + { + if (gMain.newKeys & DPAD_LEFT && gUnknown_Debug_2038A1C->unk16a < gUnknown_Debug_083F8554[r7].data.type4->unk9 - 1) + { + gUnknown_Debug_2038A1C->unk16a++; + debug_80C643C(); + } + else if (gMain.newKeys & DPAD_RIGHT && gUnknown_Debug_2038A1C->unk16a > 0) + { + gUnknown_Debug_2038A1C->unk16a--; + debug_80C643C(); + } + } +} + +void debug_80C5708(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].func = debug_80C53C0; + } +} + +u8 debug_80C5738(u8 * a0, u8 a1, u8 a2) +{ + u16 i; + u8 r5; + u8 r2; + + if (a1 == 0xfe) + { + debug_80C689C(a0, gUnknown_Debug_083F850A, 7); + debug_80C6678(a0 + 7, gUnknown_Debug_2038A1C->unk64[35], 3, 1); + a0[19] = CHAR_SPACE; + a0[20] = CHAR_SPACE; + debug_80C689C(a0 + 21, gUnknown_Debug_083F8514, 7); + debug_80C6678(a0 + 28, gUnknown_Debug_2038A1C->unk64[36], 3, 1); + a0[40] = CHAR_SPACE; + a0[41] = CHAR_SPACE; + debug_80C689C(a0 + 42, gUnknown_Debug_083F851C, 9); + debug_80C6678(a0 + 49, gUnknown_Debug_2038A1C->unk64[37], 3, 1); + return 0; + } + if (a1 == 0xfd) + { + debug_80C689C(a0, gUnknown_Debug_083F8524, 9); + debug_80C6678(a0 + 9, gUnknown_Debug_2038A1C->unk64[38], 3, 1); + a0[21] = CHAR_SPACE; + a0[22] = CHAR_SPACE; + debug_80C689C(a0 + 23, gUnknown_Debug_083F852D, 9); + debug_80C6678(a0 + 32, gUnknown_Debug_2038A1C->unk64[39], 3, 1); + a0[44] = CHAR_SPACE; + a0[45] = CHAR_SPACE; + debug_80C689C(a0 + 46, gUnknown_Debug_083F8537, 9); + debug_80C6678(a0 + 55, gUnknown_Debug_2038A1C->unk64[40], 3, 1); + return 0; + } + for (i = 0; i < 12; i++) + a0[i] = CHAR_SPACE; + debug_80C689C(a0, gUnknown_Debug_083F8554[a1].text, 11); + for (i = 12; i < 256; i++) + a0[i] = EOS; + r2 = gUnknown_Debug_083F8554[a1].data.type4->unk9; + r5 = r2 * 4; + switch (a1) + { + default: + a0[0] = EOS; + break; + case 0: + debug_80C6678(a0 + 10, gUnknown_Debug_2038A1C->unk64[a1], r2, a2); + a0[10 + r5] = CHAR_SPACE; + a0[11 + r5] = EXT_CTRL_CODE_BEGIN; + a0[12 + r5] = 0x01; + a0[13 + r5] = a2; + debug_80C689C(a0 + 14 + r5, gSpeciesNames[NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[a1])], 10); + break; + case 5: + switch (gUnknown_Debug_2038A1C->unk64[a1]) + { + case 0: + debug_80C689C(a0 + 10, gUnknown_Debug_083F8546, 2); + break; + case 1: + debug_80C689C(a0 + 10, gUnknown_Debug_083F8541, 2); + break; + case 2: + debug_80C689C(a0 + 10, gUnknown_Debug_083F8544, 2); + break; + } + break; + case 7 ... 10: + debug_80C6678(a0 + 10, gUnknown_Debug_2038A1C->unk64[a1], r2, a2); + a0[10 + r5] = CHAR_SPACE; + a0[11 + r5] = EXT_CTRL_CODE_BEGIN; + a0[12 + r5] = 0x01; + a0[13 + r5] = a2; + debug_80C689C(a0 + 14 + r5, gMoveNames[gUnknown_Debug_2038A1C->unk64[a1]], 12); + break; + case 11: + debug_80C6678(a0 + 10, gUnknown_Debug_2038A1C->unk64[a1], r2, a2); + a0[10 + r5] = CHAR_SPACE; + a0[11 + r5] = EXT_CTRL_CODE_BEGIN; + a0[12 + r5] = 0x01; + a0[13 + r5] = a2; + if (gUnknown_Debug_2038A1C->unk64[a1] != ITEM_NONE) + debug_80C689C(a0 + 14 + r5, ItemId_GetName(gUnknown_Debug_2038A1C->unk64[a1]), 9); + else + debug_80C689C(a0 + 14 + r5, gUnknown_Debug_083F8541, 9); + break; + case 12: + a0 += 12; + debug_80C689C(a0, gAbilityNames[GetAbilityBySpecies(NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[0]), gUnknown_Debug_2038A1C->unk64[a1])], 12); + break; + case 34: + debug_80C689C(a0 + 10, gUnknown_Debug_083F86E8[gUnknown_Debug_2038A1C->unk64[a1]].text, 4); + break; + case 1 ... 4: + case 13 ... 32: + debug_80C6678(a0 + 12, gUnknown_Debug_2038A1C->unk64[a1], r2, a2); + break; + case 33: + if (gUnknown_Debug_2038A1C->unk64[a1]) + debug_80C689C(a0 + 10, gUnknown_Debug_083F854A, 4); + else + debug_80C689C(a0 + 10, gUnknown_Debug_083F854D, 4); + break; + case 6: + debug_80C689C(a0 + 10, gNatureNames[gUnknown_Debug_2038A1C->unk64[a1]], 5); + break; + } + return 0; +} + u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp"); |