diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-21 11:18:33 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-21 11:18:33 -0400 |
commit | 8528e529dac0ee23a1ffe9c8f7177c6c32825fa8 (patch) | |
tree | 4d36e582381b7da2764454aa226eecb168e6c592 | |
parent | f2adb8e246e5d850c6fdf51e5ba113b13640888c (diff) |
copypasta through debug_80C7A54
-rw-r--r-- | asm/watanabe_debug_menu.s | 426 | ||||
-rw-r--r-- | src/debug/watanabe_debug_menu.c | 80 |
2 files changed, 80 insertions, 426 deletions
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s index e7ae5d91f..cb801d86b 100644 --- a/asm/watanabe_debug_menu.s +++ b/asm/watanabe_debug_menu.s @@ -5,432 +5,6 @@ .text - thumb_func_start debug_80C777C -debug_80C777C: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add sp, sp, #0xffffffec - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r1, ._784 @ gUnknown_Debug_083F8815 - mov r0, sp - mov r2, #0x12 - bl memcpy - mov r0, #0x9 - mov r1, #0x0 - mov r2, #0xe - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x9 - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0xa - mov r2, #0x9 - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r0, #0xe - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - ldr r0, ._784 + 4 @ gUnknown_Debug_083F87D0 - mov r1, #0xf - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._784 + 8 @ gUnknown_Debug_083F87D8 - mov r1, #0x19 - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._784 + 12 @ gUnknown_Debug_083F87E0 - mov r1, #0xf - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0xa - mov r1, #0x8 - mov r2, #0x1d - mov r3, #0xc - bl Menu_DrawStdWindowFrame - mov r2, #0x0 - ldr r4, ._784 + 16 @ 0x600fa56 - ldr r0, ._784 + 20 @ 0xa311 - add r3, r0, #0 -._779: - lsl r0, r2, #0x1 - add r0, r0, r4 - add r1, r2, r3 - strh r1, [r0] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0xe - bls ._779 @cond_branch - mov r2, #0x0 - ldr r5, ._784 + 24 @ gUnknown_Debug_083F87F4 - lsl r6, r7, #0x2 - mov r8, r6 - ldr r4, ._784 + 28 @ 0x600f256 - ldr r0, ._784 + 32 @ 0x8301 - add r3, r0, #0 -._780: - lsl r0, r2, #0x1 - add r0, r0, r4 - add r1, r2, r3 - strh r1, [r0] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0xe - bls ._780 @cond_branch - add r0, r5, #0 - mov r1, #0x14 - mov r2, #0xa - bl Menu_PrintText - mov r0, #0xa - mov r1, #0xd - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r1, sp - mov r0, #0x23 - strb r0, [r1] - mov r2, #0x0 - ldr r4, ._784 + 36 @ 0x600f396 - mov r5, #0x93 - lsl r5, r5, #0x8 - add r3, r5, #0 -._781: - lsl r1, r2, #0x1 - add r1, r1, r4 - mov r6, sp - add r0, r6, r2 - ldrb r0, [r0] - add r0, r0, r3 - strh r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x11 - bls ._781 @cond_branch - mov r1, sp - mov r0, #0x24 - strb r0, [r1] - mov r2, #0x0 - ldr r5, ._784 + 40 @ gUnknown_Debug_083F8801 - ldr r4, ._784 + 44 @ 0x600f3d6 - mov r0, #0x93 - lsl r0, r0, #0x8 - add r3, r0, #0 -._782: - lsl r1, r2, #0x1 - add r1, r1, r4 - mov r6, sp - add r0, r6, r2 - ldrb r0, [r0] - add r0, r0, r3 - strh r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x11 - bls ._782 @cond_branch - mov r1, sp - mov r0, #0x25 - strb r0, [r1] - mov r2, #0x0 - ldr r4, ._784 + 48 @ 0x600f416 - mov r0, #0x93 - lsl r0, r0, #0x8 - add r3, r0, #0 -._783: - lsl r1, r2, #0x1 - add r1, r1, r4 - mov r6, sp - add r0, r6, r2 - ldrb r0, [r0] - add r0, r0, r3 - strh r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x11 - bls ._783 @cond_branch - add r0, r5, #0 - mov r1, #0xf - mov r2, #0x11 - bl Menu_PrintText - ldr r1, ._784 + 52 @ 0x4000040 - ldr r2, ._784 + 56 @ 0x51ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r5, ._784 + 60 @ 0x699f - add r0, r5, #0 - strh r0, [r1] - ldr r1, ._784 + 64 @ gTasks - mov r6, r8 - add r0, r6, r7 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._784 + 68 @ debug_80C7934 - str r1, [r0] - add sp, sp, #0x14 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._785: - .align 2, 0 -._784: - .word gUnknown_Debug_083F8815 - .word gUnknown_Debug_083F87D0 - .word gUnknown_Debug_083F87D8 - .word gUnknown_Debug_083F87E0 - .word 0x600fa56 - .word 0xa311 - .word gUnknown_Debug_083F87F4 - .word 0x600f256 - .word 0x8301 - .word 0x600f396 - .word gUnknown_Debug_083F8801 - .word 0x600f3d6 - .word 0x600f416 - .word 0x4000040 - .word 0x51ef - .word 0x699f - .word gTasks - .word debug_80C7934+1 - - thumb_func_end debug_80C777C - - thumb_func_start debug_80C7934 -debug_80C7934: - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - add sp, sp, #0xfffffff8 - mov r8, r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r8, r0 - ldr r5, ._786 @ gUnknown_Debug_2038A20 - ldr r6, [r5] - ldrh r2, [r6] - lsl r0, r2, #0x3 - ldr r1, ._786 + 4 @ gTrainerFrontPicTable - add r0, r0, r1 - ldr r1, ._786 + 8 @ gTrainerFrontPicCoords - lsl r2, r2, #0x2 - add r2, r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, #0x1] - ldr r4, ._786 + 12 @ gUnknown_081FAF4C - ldr r3, [r4] - ldr r4, [r4, #0x4] - str r4, [sp] - ldrh r4, [r6] - str r4, [sp, #0x4] - bl DecompressPicFromTable_2 - ldr r0, [r5] - ldrh r0, [r0] - lsl r0, r0, #0x3 - ldr r1, ._786 + 16 @ gTrainerFrontPicPaletteTable - add r0, r0, r1 - bl LoadCompressedObjectPalette - ldr r0, [r5] - ldrh r0, [r0] - mov r1, #0x1 - bl GetMonSpriteTemplate_803C5A0 - ldr r0, ._786 + 20 @ gUnknown_02024E8C - mov r1, #0x28 - mov r2, #0x28 - mov r3, #0x0 - bl CreateSprite - ldr r1, [r5] - mov r6, #0x0 - strb r0, [r1, #0x2] - ldr r4, ._786 + 24 @ gSprites - ldr r2, [r5] - ldrb r1, [r2, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r1, r4, #0 - add r1, r1, #0x1c - add r0, r0, r1 - ldr r1, ._786 + 28 @ debug_69 - str r1, [r0] - ldrb r0, [r2, #0x2] - lsl r1, r0, #0x4 - add r1, r1, r0 - lsl r1, r1, #0x2 - add r1, r1, r4 - ldrb r2, [r1, #0x5] - mov r0, #0xd - neg r0, r0 - and r0, r0, r2 - strb r0, [r1, #0x5] - ldr r0, [r5] - ldrh r0, [r0] - mov r1, #0x1a - mov r2, #0x5 - bl debug_80C376C - ldr r2, [r5] - ldrb r1, [r2, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r4 - ldrb r0, [r0, #0x5] - lsr r0, r0, #0x4 - strb r0, [r2, #0x6] - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - ldr r4, ._786 + 32 @ gPlttBufferUnfaded - add r0, r0, r4 - ldr r2, ._786 + 36 @ 0xffffff00 - add r1, r4, r2 - mov r2, #0x10 - bl CpuSet - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - add r0, r0, r4 - ldr r1, ._786 + 40 @ gPlttBufferFaded - mov r2, #0x10 - bl CpuSet - ldr r1, ._786 + 44 @ gTasks - mov r2, r8 - lsl r0, r2, #0x2 - add r0, r0, r8 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._786 + 48 @ debug_80C7A54 - str r1, [r0] - ldr r0, [r5] - strb r6, [r0, #0x9] - add sp, sp, #0x8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 -._787: - .align 2, 0 -._786: - .word gUnknown_Debug_2038A20 - .word gTrainerFrontPicTable - .word gTrainerFrontPicCoords - .word gUnknown_081FAF4C - .word gTrainerFrontPicPaletteTable - .word gUnknown_02024E8C - .word gSprites - .word debug_69+1 - .word gPlttBufferUnfaded+0x200 - .word 0xffffff00 - .word gPlttBufferFaded+0x100 - .word gTasks - .word debug_80C7A54+1 - - thumb_func_end debug_80C7934 - - thumb_func_start debug_80C7A54 -debug_80C7A54: - push {r4, r5, r6, lr} - add r6, r0, #0 - lsl r6, r6, #0x18 - lsr r6, r6, #0x18 - ldr r4, ._788 @ gPlttBufferUnfaded - ldr r5, ._788 + 4 @ gUnknown_Debug_2038A20 - ldr r1, [r5] - add r1, r1, #0x10 - add r0, r4, #0 - mov r2, #0x10 - bl CpuSet - ldr r0, ._788 + 8 @ 0xffffff00 - add r4, r4, r0 - ldr r3, [r5] - ldrb r0, [r3, #0x7] - add r0, r0, #0x81 - lsl r0, r0, #0x1 - add r0, r0, r4 - ldrh r4, [r0] - mov r1, #0x1f - and r1, r1, r4 - ldrb r2, [r3, #0xc] - mov r0, #0x20 - neg r0, r0 - and r0, r0, r2 - orr r0, r0, r1 - strb r0, [r3, #0xc] - ldr r3, [r5] - mov r1, #0xf8 - lsl r1, r1, #0x2 - and r1, r1, r4 - ldrh r2, [r3, #0xc] - ldr r0, ._788 + 12 @ 0xfffffc1f - and r0, r0, r2 - orr r0, r0, r1 - strh r0, [r3, #0xc] - mov r1, #0xf8 - lsl r1, r1, #0x7 - and r1, r1, r4 - lsr r1, r1, #0x8 - ldrb r2, [r3, #0xd] - mov r0, #0x7d - neg r0, r0 - and r0, r0, r2 - orr r0, r0, r1 - strb r0, [r3, #0xd] - ldr r2, [r5] - ldrb r1, [r2, #0xd] - mov r0, #0x7f - and r0, r0, r1 - strb r0, [r2, #0xd] - ldr r0, [r5] - ldrb r0, [r0, #0x7] - add r0, r0, #0x1 - mov r1, #0xb - mov r2, #0xa - mov r3, #0x2 - bl debug_80C68CC - ldr r0, ._788 + 16 @ gUnknown_Debug_083F8813 - mov r1, #0xd - mov r2, #0xa - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0xe - mov r2, #0xa - mov r3, #0x4 - bl debug_80C68CC - ldr r1, ._788 + 20 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._788 + 24 @ debug_80C7B14 - str r1, [r0] - pop {r4, r5, r6} - pop {r0} - bx r0 -._789: - .align 2, 0 -._788: - .word gPlttBufferUnfaded+0x100 - .word gUnknown_Debug_2038A20 - .word 0xffffff00 - .word 0xfffffc1f - .word gUnknown_Debug_083F8813 - .word gTasks - .word debug_80C7B14+1 - - thumb_func_end debug_80C7A54 - thumb_func_start debug_80C7B14 debug_80C7B14: push {r4, r5, r6, lr} diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 7bb182be8..b1f7cbe54 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -141,6 +141,9 @@ void debug_80C7294(u8 taskId); void debug_80C74E4(u8 taskId); void debug_80C7584(struct Sprite *); void debug_80C777C(u8 taskId); +void debug_80C7934(u8 taskId); +void debug_80C7A54(u8 taskId); +void debug_80C7B14(u8 taskId); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[10]; @@ -3017,4 +3020,81 @@ void InitSeeTrainers(void) StartSpriteAnim(gSprites + spriteId, 2); } +void debug_80C777C(u8 taskId) +{ + // u8 sp00[] = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21}; + u8 i; + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8815)]; + memcpy(sp00, gUnknown_Debug_083F8815, sizeof(gUnknown_Debug_083F8815)); + + Menu_DrawStdWindowFrame(9, 0, 14, 7); + Menu_DrawStdWindowFrame(0, 0, 9, 9); + Menu_DrawStdWindowFrame(0, 10, 9, 19); + Menu_DrawStdWindowFrame(14, 0, 29, 7); + Menu_PrintText(gUnknown_Debug_083F87D0, 15, 1); + Menu_PrintText(gUnknown_Debug_083F87D8, 25, 1); + Menu_PrintText(gUnknown_Debug_083F87E0, 15, 5); + + Menu_DrawStdWindowFrame(10, 8, 29, 12); + for (i = 0; i < 15; i++) + ((u16 *)(VRAM + 0xFA56))[i] = 0xA311 + i; + for (i = 0; i < 15; i++) + ((u16 *)(VRAM + 0xF256))[i] = 0x8301 + i; + + Menu_PrintText(gUnknown_Debug_083F87F4, 20, 10); + Menu_DrawStdWindowFrame(10, 13, 29, 19); + + sp00[0] = 0x23; + for (i = 0; i < 18; i++) + ((u16 *)(VRAM + 0xF396))[i] = 0x9300 + sp00[i]; + sp00[0] = 0x24; + for (i = 0; i < 18; i++) + ((u16 *)(VRAM + 0xF3D6))[i] = 0x9300 + sp00[i]; + sp00[0] = 0x25; + for (i = 0; i < 18; i++) + ((u16 *)(VRAM + 0xF416))[i] = 0x9300 + sp00[i]; + + Menu_PrintText(gUnknown_Debug_083F8801, 15, 17); + + REG_WIN0H = 0x51EF; + REG_WIN0V = 0x699F; + + gTasks[taskId].func = debug_80C7934; +} + +void debug_80C7934(u8 taskId) +{ + DecompressPicFromTable_2(gTrainerFrontPicTable + gUnknown_Debug_2038A20->unk0, gTrainerFrontPicCoords[gUnknown_Debug_2038A20->unk0].coords, gTrainerFrontPicCoords[gUnknown_Debug_2038A20->unk0].y_offset, gUnknown_081FAF4C[0], gUnknown_081FAF4C[1], gUnknown_Debug_2038A20->unk0); + LoadCompressedObjectPalette(gTrainerFrontPicPaletteTable + gUnknown_Debug_2038A20->unk0); + GetMonSpriteTemplate_803C5A0(gUnknown_Debug_2038A20->unk0, 1); + gUnknown_Debug_2038A20->unk2 = CreateSprite(&gUnknown_02024E8C, 0x28, 0x28, 0); + gSprites[gUnknown_Debug_2038A20->unk2].callback = debug_69; + gSprites[gUnknown_Debug_2038A20->unk2].oam.priority = 0; + + debug_80C376C(gUnknown_Debug_2038A20->unk0, 26, 5); + + gUnknown_Debug_2038A20->unk6 = gSprites[gUnknown_Debug_2038A20->unk2].oam.paletteNum; + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferUnfaded + 0x80, 0x20); + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferFaded + 0x80, 0x20); + + gTasks[taskId].func = debug_80C7A54; + + gUnknown_Debug_2038A20->unk9 = 0; +} + +void debug_80C7A54(u8 taskId) +{ + u16 hue; + CpuCopy16(gPlttBufferUnfaded + 0x80, gUnknown_Debug_2038A20->unk10, 32); + hue = gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81]; + gUnknown_Debug_2038A20->unkC.r = hue & 0x1f; + gUnknown_Debug_2038A20->unkC.g = (hue & 0x3e0) >> 5; + gUnknown_Debug_2038A20->unkC.b = (hue & 0x7c00) >> 10; + gUnknown_Debug_2038A20->unkC.unused_15 = 0; + debug_80C68CC(gUnknown_Debug_2038A20->unk7 + 1, 11, 10, 2); + Menu_PrintText(gUnknown_Debug_083F8813, 13, 10); + debug_80C68CC(hue, 14, 10, 4); + gTasks[taskId].func = debug_80C7B14; +} + #endif // DEBUG |