summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-04-02 10:58:51 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-04-02 10:58:51 -0400
commit28b5a25d69d8627c66ced0d47f5bf540ac81a76a (patch)
tree38cab048dfc9cc710f023c59a88f1750c7a2ef08
parente83a8d3454a451eb57a6c6d5e41cd64d3517ba40 (diff)
through debug_sub_8160498
-rw-r--r--asm/nakamura_debug_menu.s339
-rw-r--r--src/debug/nakamura_debug_menu.c132
2 files changed, 132 insertions, 339 deletions
diff --git a/asm/nakamura_debug_menu.s b/asm/nakamura_debug_menu.s
index 76684feef..1564cf784 100644
--- a/asm/nakamura_debug_menu.s
+++ b/asm/nakamura_debug_menu.s
@@ -5,345 +5,6 @@
.text
- thumb_func_start debug_sub_81603B8
-debug_sub_81603B8:
- push {r4, r5, r6, r7, lr}
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- mov r0, #0x5
- bl PlaySE
- ldr r7, ._259 @ _nakamuraData4
- ldrb r4, [r7]
- add r0, r4, #0
- mov r1, #0x6
- bl __udivsi3
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- add r0, r4, #0
- mov r1, #0x6
- bl __umodsi3
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r0, ._259 + 4 @ _843E5D1
- add r0, r5, r0
- ldrb r2, [r0]
- lsl r3, r4, #0x1
- add r1, r3, #1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r3, r3, #0x2
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- add r0, r2, #0
- bl Menu_BlankWindowRect
- cmp r6, #0
- bne ._256 @cond_branch
- cmp r4, #0
- beq ._257 @cond_branch
- ldrb r0, [r7]
- sub r0, r0, #0x1
- b ._258
-._260:
- .align 2, 0
-._259:
- .word _nakamuraData4
- .word _843E5D1
-._257:
- lsl r0, r5, #0x1
- add r0, r0, r5
- lsl r0, r0, #0x1
- add r0, r0, #0x5
-._258:
- strb r0, [r7]
-._256:
- ldr r1, ._264 @ _nakamuraData4
- cmp r6, #0x1
- bne ._261 @cond_branch
- cmp r4, #0x5
- beq ._262 @cond_branch
- ldrb r0, [r1]
- add r0, r0, #0x1
- b ._263
-._265:
- .align 2, 0
-._264:
- .word _nakamuraData4
-._262:
- lsl r0, r5, #0x1
- add r0, r0, r5
- lsl r0, r0, #0x1
-._263:
- strb r0, [r1]
-._261:
- cmp r6, #0x2
- bne ._266 @cond_branch
- cmp r5, #0
- beq ._267 @cond_branch
- ldrb r0, [r1]
- sub r0, r0, #0x6
- b ._268
-._267:
- add r0, r4, #0
- add r0, r0, #0xc
-._268:
- strb r0, [r1]
-._266:
- cmp r6, #0x3
- bne ._271 @cond_branch
- cmp r5, #0x2
- beq ._270 @cond_branch
- ldrb r0, [r1]
- add r0, r0, #0x6
- strb r0, [r1]
- b ._271
-._270:
- strb r4, [r1]
-._271:
- ldrb r4, [r1]
- add r0, r4, #0
- mov r1, #0x6
- bl __udivsi3
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- add r0, r4, #0
- mov r1, #0x6
- bl __umodsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- ldr r0, ._272 @ _843E5D1
- add r0, r5, r0
- ldrb r0, [r0]
- lsr r1, r1, #0x17
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- mov r2, #0xff
- bl PrintTriangleCursorWithPalette
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._273:
- .align 2, 0
-._272:
- .word _843E5D1
-
- thumb_func_end debug_sub_81603B8
-
- thumb_func_start debug_sub_8160498
-debug_sub_8160498:
- push {r4, lr}
- ldr r1, ._276 @ gMain
- ldrh r2, [r1, #0x2e]
- mov r0, #0x40
- and r0, r0, r2
- cmp r0, #0
- beq ._274 @cond_branch
- mov r0, #0x0
- b ._281
-._277:
- .align 2, 0
-._276:
- .word gMain
-._274:
- mov r0, #0x80
- and r0, r0, r2
- cmp r0, #0
- beq ._278 @cond_branch
- mov r0, #0x1
- b ._281
-._278:
- mov r0, #0x20
- and r0, r0, r2
- cmp r0, #0
- beq ._280 @cond_branch
- mov r0, #0x2
- b ._281
-._280:
- mov r0, #0x10
- and r0, r0, r2
- cmp r0, #0
- beq ._282 @cond_branch
- mov r0, #0x3
-._281:
- bl debug_sub_81603B8
- mov r0, #0x0
- b ._311
-._282:
- ldrh r1, [r1, #0x30]
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._284 @cond_branch
- ldr r4, ._289 @ _nakamuraData4
- ldrb r0, [r4]
- cmp r0, #0x5
- bhi ._285 @cond_branch
- mov r1, #0x1
- bl debug_sub_81601C8
-._285:
- ldrb r0, [r4]
- sub r0, r0, #0x6
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x5
- bhi ._286 @cond_branch
- ldrb r0, [r4]
- mov r1, #0x6
- bl __umodsi3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl debug_sub_8160258
-._286:
- ldrb r0, [r4]
- sub r0, r0, #0xc
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x5
- bhi ._306 @cond_branch
- ldrb r0, [r4]
- mov r1, #0x6
- bl __umodsi3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x1
- b ._300
-._290:
- .align 2, 0
-._289:
- .word _nakamuraData4
-._284:
- mov r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._291 @cond_branch
- ldr r4, ._294 @ _nakamuraData4
- ldrb r0, [r4]
- cmp r0, #0x5
- bhi ._304 @cond_branch
- mov r1, #0x1
- neg r1, r1
- b ._293
-._295:
- .align 2, 0
-._294:
- .word _nakamuraData4
-._291:
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._296 @cond_branch
- ldr r4, ._301 @ _nakamuraData4
- ldrb r0, [r4]
- cmp r0, #0x5
- bhi ._297 @cond_branch
- mov r1, #0xa
- bl debug_sub_81601C8
-._297:
- ldrb r0, [r4]
- sub r0, r0, #0x6
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x5
- bhi ._298 @cond_branch
- ldrb r0, [r4]
- mov r1, #0x6
- bl __umodsi3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl debug_sub_8160258
-._298:
- ldrb r0, [r4]
- sub r0, r0, #0xc
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x5
- bhi ._306 @cond_branch
- ldrb r0, [r4]
- mov r1, #0x6
- bl __umodsi3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x1
- b ._300
-._302:
- .align 2, 0
-._301:
- .word _nakamuraData4
-._296:
- mov r0, #0x80
- lsl r0, r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._303 @cond_branch
- ldr r4, ._308 @ _nakamuraData4
- ldrb r0, [r4]
- cmp r0, #0x5
- bhi ._304 @cond_branch
- mov r1, #0xa
- neg r1, r1
-._293:
- bl debug_sub_81601C8
-._304:
- ldrb r0, [r4]
- sub r0, r0, #0x6
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x5
- bhi ._305 @cond_branch
- ldrb r0, [r4]
- mov r1, #0x6
- bl __umodsi3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl debug_sub_8160258
-._305:
- ldrb r0, [r4]
- sub r0, r0, #0xc
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x5
- bhi ._306 @cond_branch
- ldrb r0, [r4]
- mov r1, #0x6
- bl __umodsi3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x1
- neg r1, r1
-._300:
- bl debug_sub_816027C
-._306:
- ldrb r0, [r4]
- mov r1, #0x6
- bl __umodsi3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl debug_sub_816017C
- mov r0, #0x0
- b ._311
-._309:
- .align 2, 0
-._308:
- .word _nakamuraData4
-._303:
- mov r0, #0x8
- and r0, r0, r2
- cmp r0, #0
- bne ._310 @cond_branch
- mov r0, #0x0
- b ._311
-._310:
- bl debug_sub_8160308
- bl CloseMenu
- mov r0, #0x1
-._311:
- pop {r4}
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_8160498
-
thumb_func_start debug_sub_816062C
debug_sub_816062C:
push {r4, r5, r6, r7, lr}
diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c
index 5840a5ebf..1b640f7bb 100644
--- a/src/debug/nakamura_debug_menu.c
+++ b/src/debug/nakamura_debug_menu.c
@@ -2,6 +2,8 @@
#include "global.h"
#include "constants/items.h"
#include "constants/species.h"
+#include "constants/songs.h"
+#include "sound.h"
#include "data2.h"
#include "strings.h"
#include "random.h"
@@ -991,4 +993,134 @@ void debug_sub_8160308(void)
}
}
+void debug_sub_81603B8(u8 i)
+{
+ u8 q;
+ u8 r;
+ PlaySE(SE_SELECT);
+ q = _nakamuraData4 / 6;
+ r = _nakamuraData4 % 6;
+ Menu_BlankWindowRect(_843E5D1[q], r * 2 + 1, _843E5D1[q], r * 2 + 2);
+
+ if (i == 0)
+ {
+ if (r != 0)
+ _nakamuraData4--;
+ else
+ _nakamuraData4 = q * 6 + 5;
+ }
+
+ if (i == 1)
+ {
+ if (r != 5)
+ _nakamuraData4++;
+ else
+ _nakamuraData4 = q * 6;
+ }
+
+ if (i == 2)
+ {
+ if (q != 0)
+ _nakamuraData4 -= 6;
+ else
+ _nakamuraData4 = 12 + r;
+ }
+
+ if (i == 3)
+ {
+ if (q != 2)
+ _nakamuraData4 += 6;
+ else
+ _nakamuraData4 = r;
+ }
+
+ q = _nakamuraData4 / 6;
+ r = _nakamuraData4 % 6;
+ PrintTriangleCursorWithPalette(_843E5D1[q], r * 2 + 1, 0xFF);
+}
+
+bool8 debug_sub_8160498(void)
+{
+ if (gMain.newKeys & DPAD_UP)
+ {
+ debug_sub_81603B8(0);
+ return FALSE;
+ }
+
+ if (gMain.newKeys & DPAD_DOWN)
+ {
+ debug_sub_81603B8(1);
+ return FALSE;
+ }
+
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ debug_sub_81603B8(2);
+ return FALSE;
+ }
+
+ if (gMain.newKeys & DPAD_RIGHT)
+ {
+ debug_sub_81603B8(3);
+ return FALSE;
+ }
+
+ if (gMain.newAndRepeatedKeys & A_BUTTON)
+ {
+ if (_nakamuraData4 < 6)
+ debug_sub_81601C8(_nakamuraData4, +1);
+ if (_nakamuraData4 >= 6 && _nakamuraData4 < 12)
+ debug_sub_8160258(_nakamuraData4 % 6);
+ if (_nakamuraData4 >= 12 && _nakamuraData4 < 18)
+ debug_sub_816027C(_nakamuraData4 % 6, +1);
+ debug_sub_816017C(_nakamuraData4 % 6);
+ return FALSE;
+ }
+
+ if (gMain.newAndRepeatedKeys & B_BUTTON)
+ {
+ if (_nakamuraData4 < 6)
+ debug_sub_81601C8(_nakamuraData4, -1);
+ if (_nakamuraData4 >= 6 && _nakamuraData4 < 12)
+ debug_sub_8160258(_nakamuraData4 % 6);
+ if (_nakamuraData4 >= 12 && _nakamuraData4 < 18)
+ debug_sub_816027C(_nakamuraData4 % 6, -1);
+ debug_sub_816017C(_nakamuraData4 % 6);
+ return FALSE;
+ }
+
+ if (gMain.newAndRepeatedKeys & R_BUTTON)
+ {
+ if (_nakamuraData4 < 6)
+ debug_sub_81601C8(_nakamuraData4, +10);
+ if (_nakamuraData4 >= 6 && _nakamuraData4 < 12)
+ debug_sub_8160258(_nakamuraData4 % 6);
+ if (_nakamuraData4 >= 12 && _nakamuraData4 < 18)
+ debug_sub_816027C(_nakamuraData4 % 6, +1);
+ debug_sub_816017C(_nakamuraData4 % 6);
+ return FALSE;
+ }
+
+ if (gMain.newAndRepeatedKeys & L_BUTTON)
+ {
+ if (_nakamuraData4 < 6)
+ debug_sub_81601C8(_nakamuraData4, -10);
+ if (_nakamuraData4 >= 6 && _nakamuraData4 < 12)
+ debug_sub_8160258(_nakamuraData4 % 6);
+ if (_nakamuraData4 >= 12 && _nakamuraData4 < 18)
+ debug_sub_816027C(_nakamuraData4 % 6, -1);
+ debug_sub_816017C(_nakamuraData4 % 6);
+ return FALSE;
+ }
+
+ if (gMain.newKeys & START_BUTTON)
+ {
+ debug_sub_8160308();
+ CloseMenu();
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
#endif // DEBUG