diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-12 08:45:40 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-12 08:45:40 -0400 |
commit | bbab3e05fb5f459bbdefcc4dc3a0ea7a60c96f67 (patch) | |
tree | 22333ba26968a239707bb9ff30e0986ee06f97a8 | |
parent | 95bf34a6d4af0eca83d9ca3bf7e9a898e00429c8 (diff) |
through debug_80C376C
-rw-r--r-- | asm/watanabe_debug_menu.s | 144 | ||||
-rw-r--r-- | src/debug/watanabe_debug_menu.c | 69 |
2 files changed, 69 insertions, 144 deletions
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s index 8c482e10a..80ed3f7b9 100644 --- a/asm/watanabe_debug_menu.s +++ b/asm/watanabe_debug_menu.s @@ -5,150 +5,6 @@ .text - thumb_func_start debug_80C36F4 -debug_80C36F4: - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - - thumb_func_end debug_80C36F4 - - thumb_func_start debug_80C370C -debug_80C370C: - push {lr} - ldr r0, ._6 @ gPaletteFade - ldrb r1, [r0, #0x7] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - bne ._4 @cond_branch - ldr r0, ._6 + 4 @ debug_80C36F4 - bl SetMainCallback2 - b ._5 -._7: - .align 2, 0 -._6: - .word gPaletteFade - .word debug_80C36F4+1 -._4: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade -._5: - pop {r0} - bx r0 - - thumb_func_end debug_80C370C - - thumb_func_start debug_80C373C -debug_80C373C: - push {lr} - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl DestroyTask - bl ScriptContext2_Disable - ldr r0, ._8 @ sub_80546F0 - bl SetMainCallback2 - pop {r0} - bx r0 -._9: - .align 2, 0 -._8: - .word sub_80546F0+1 - - thumb_func_end debug_80C373C - - thumb_func_start debug_80C3758 -debug_80C3758: - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - - thumb_func_end debug_80C3758 - - thumb_func_start debug_80C376C -debug_80C376C: - push {r4, r5, r6, r7, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - lsl r1, r1, #0x18 - lsr r7, r1, #0x18 - lsl r2, r2, #0x18 - lsr r6, r2, #0x18 - mov r1, #0x0 - mov r2, #0x0 -._10: - mov r3, sp - add r0, r3, r1 - strb r2, [r0] - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - cmp r1, #0x2 - bls ._10 @cond_branch - mov r1, sp - mov r0, #0xff - strb r0, [r1, #0x3] - mov r4, #0x0 - add r0, r5, #0 - mov r1, #0x64 - bl __udivsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0 - beq ._11 @cond_branch - mov r1, sp - add r0, r0, #0xa1 - strb r0, [r1] - mov r4, #0x1 -._11: - add r0, r5, #0 - mov r1, #0x64 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0xa - bl __udivsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0 - bne ._12 @cond_branch - cmp r4, #0 - beq ._13 @cond_branch -._12: - mov r1, sp - add r0, r0, #0xa1 - strb r0, [r1, #0x1] -._13: - mov r4, sp - add r0, r5, #0 - mov r1, #0x64 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0xa - bl __umodsi3 - add r0, r0, #0xa1 - strb r0, [r4, #0x2] - mov r0, sp - add r1, r7, #0 - add r2, r6, #0 - bl Menu_PrintText - add sp, sp, #0x4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_end debug_80C376C - thumb_func_start debug_80C3800 debug_80C3800: push {r4, r5, r6, r7, lr} diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 8423ba685..43d63dce4 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -8,6 +8,8 @@ #include "sprite.h" #include "text.h" #include "menu.h" +#include "script.h" +#include "overworld.h" EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; @@ -55,4 +57,71 @@ void debug_80C35DC(void) InitMenuWindow(&gWindowTemplate_81E6CE4); } +void debug_80C36F4(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void debug_80C370C(void) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(debug_80C36F4); + } + + else + { + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + } +} + +void debug_80C373C(u8 taskId) +{ + DestroyTask(taskId); + ScriptContext2_Disable(); + SetMainCallback2(sub_80546F0); +} + +void debug_80C3758(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void debug_80C376C(u16 a0, u8 a1, u8 a2) +{ + u8 i; + u8 divresult; + u8 sp00[4]; + bool8 r4; + + for (i = 0; i < 3; i++) + sp00[i] = 0; + sp00[3] = EOS; + + r4 = FALSE; + divresult = a0 / 100; + if (divresult) + { + sp00[0] = CHAR_0 + divresult; + r4 = TRUE; + } + + divresult = (a0 % 100) / 10; + if (divresult || r4) + { + sp00[1] = CHAR_0 + divresult; + } + + sp00[2] = CHAR_0 + ((a0 % 100) % 10); + + Menu_PrintText(sp00, a1, a2); +} + #endif |