summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-04-12 08:45:40 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-04-12 08:45:40 -0400
commitbbab3e05fb5f459bbdefcc4dc3a0ea7a60c96f67 (patch)
tree22333ba26968a239707bb9ff30e0986ee06f97a8
parent95bf34a6d4af0eca83d9ca3bf7e9a898e00429c8 (diff)
through debug_80C376C
-rw-r--r--asm/watanabe_debug_menu.s144
-rw-r--r--src/debug/watanabe_debug_menu.c69
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