summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-04-02 21:17:15 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-04-02 21:17:15 -0400
commitbaf1430f2449fa79727109c83d39bfbecbdd00c9 (patch)
tree87263182b426212f78f4dc4a3ae96e92f83da420
parenta33981df888b712db43d5aeb3d1c332810a67353 (diff)
through debug_sub_8161028
-rw-r--r--asm/nakamura_debug_menu.s466
-rw-r--r--include/strings.h1
-rw-r--r--src/debug/nakamura_debug_menu.c159
3 files changed, 159 insertions, 467 deletions
diff --git a/asm/nakamura_debug_menu.s b/asm/nakamura_debug_menu.s
index 6f86ee268..9e4e2975b 100644
--- a/asm/nakamura_debug_menu.s
+++ b/asm/nakamura_debug_menu.s
@@ -5,472 +5,6 @@
.text
- thumb_func_start debug_sub_8160CF4
-debug_sub_8160CF4:
- push {lr}
- ldr r2, ._473 @ gMain
- ldrh r1, [r2, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._471 @cond_branch
- mov r0, #0x1
- neg r0, r0
- b ._472
-._474:
- .align 2, 0
-._473:
- .word gMain
-._471:
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._475 @cond_branch
- mov r0, #0x1
-._472:
- bl Menu_MoveCursor
- mov r0, #0x0
- b ._484
-._475:
- mov r0, #0x20
- and r0, r0, r1
- cmp r0, #0
- beq ._477 @cond_branch
- bl Menu_GetCursorPos
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x1
- neg r1, r1
- b ._478
-._477:
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._479 @cond_branch
- bl Menu_GetCursorPos
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x1
-._478:
- bl debug_sub_8160B50
- bl Menu_GetCursorPos
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl debug_sub_8160A80
- bl debug_sub_8160BB0
- mov r0, #0x0
- b ._484
-._479:
- ldrh r1, [r2, #0x2e]
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._481 @cond_branch
- bl debug_sub_8160C7C
- mov r0, #0x5
- bl PlaySE
- mov r0, #0x0
- b ._484
-._481:
- mov r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- bne ._483 @cond_branch
- mov r0, #0x0
- b ._484
-._483:
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_EraseWindowRect
- bl CloseMenu
- mov r0, #0x1
-._484:
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_8160CF4
-
- thumb_func_start debug_sub_8160D98
-debug_sub_8160D98:
- push {lr}
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_EraseWindowRect
- bl debug_sub_8160BE4
- ldr r1, ._485 @ gMenuCallback
- ldr r0, ._485 + 4 @ debug_sub_8160CF4
- str r0, [r1]
- mov r0, #0x0
- pop {r1}
- bx r1
-._486:
- .align 2, 0
-._485:
- .word gMenuCallback
- .word debug_sub_8160CF4+1
-
- thumb_func_end debug_sub_8160D98
-
- thumb_func_start debug_sub_8160DC0
-debug_sub_8160DC0:
- push {lr}
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x16
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- ldr r0, ._487 @ gOtherText_Slash
- mov r1, #0xb
- mov r2, #0x1
- bl Menu_PrintText
- ldr r0, ._487 + 4 @ Str_843E5F2
- mov r1, #0x2
- mov r2, #0x3
- bl Menu_PrintText
- ldr r0, ._487 + 8 @ Str_843E5FB
- mov r1, #0x2
- mov r2, #0x5
- bl Menu_PrintText
- ldr r0, ._487 + 12 @ Str_843E606
- mov r1, #0x2
- mov r2, #0x7
- bl Menu_PrintText
- ldr r0, ._487 + 16 @ Str_843E611
- mov r1, #0x2
- mov r2, #0x9
- bl Menu_PrintText
- ldr r0, ._487 + 20 @ Str_843E61C
- mov r1, #0x2
- mov r2, #0xb
- bl Menu_PrintText
- ldr r0, ._487 + 24 @ Str_843E627
- mov r1, #0x2
- mov r2, #0xd
- bl Menu_PrintText
- ldr r0, ._487 + 28 @ Str_843E637
- mov r1, #0x2
- mov r2, #0xf
- bl Menu_PrintText
- ldr r0, ._487 + 32 @ Str_843E632
- mov r1, #0x2
- mov r2, #0x11
- bl Menu_PrintText
- pop {r0}
- bx r0
-._488:
- .align 2, 0
-._487:
- .word gOtherText_Slash
- .word Str_843E5F2
- .word Str_843E5FB
- .word Str_843E606
- .word Str_843E611
- .word Str_843E61C
- .word Str_843E627
- .word Str_843E637
- .word Str_843E632
-
- thumb_func_end debug_sub_8160DC0
-
- thumb_func_start debug_sub_8160E50
-debug_sub_8160E50:
- push {r4, r5, r6, lr}
- add r6, r0, #0
- mov r0, #0x1
- mov r1, #0x1
- mov r2, #0xa
- mov r3, #0x2
- bl Menu_BlankWindowRect
- ldr r5, ._489 @ gStringVar1
- add r0, r6, #0
- mov r1, #0x2
- add r2, r5, #0
- bl GetMonData
- add r0, r5, #0
- mov r1, #0x1
- mov r2, #0x1
- bl Menu_PrintText
- mov r0, #0xc
- mov r1, #0x1
- mov r2, #0x15
- mov r3, #0x2
- bl Menu_BlankWindowRect
- add r0, r6, #0
- mov r1, #0xb
- bl GetMonData
- mov r1, #0xb
- mul r0, r0, r1
- ldr r1, ._489 + 4 @ gSpeciesNames
- add r0, r0, r1
- mov r1, #0xc
- mov r2, #0x1
- bl Menu_PrintText
- add r0, r6, #0
- mov r1, #0x1a
- bl GetMonData
- add r4, r0, #0
- lsl r4, r4, #0x10
- lsr r4, r4, #0x10
- add r0, r5, #0
- add r1, r4, #0
- mov r2, #0x0
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- mov r0, #0xd
- mov r1, #0x3
- mov r2, #0x11
- mov r3, #0x4
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0xd
- mov r2, #0x3
- bl Menu_PrintText
- add r0, r6, #0
- mov r1, #0x1b
- bl GetMonData
- add r1, r0, #0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r4, r4, r1
- lsl r4, r4, #0x10
- lsr r4, r4, #0x10
- add r0, r5, #0
- mov r2, #0x0
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- mov r0, #0xd
- mov r1, #0x5
- mov r2, #0x11
- mov r3, #0x6
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0xd
- mov r2, #0x5
- bl Menu_PrintText
- add r0, r6, #0
- mov r1, #0x1c
- bl GetMonData
- add r1, r0, #0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r4, r4, r1
- lsl r4, r4, #0x10
- lsr r4, r4, #0x10
- add r0, r5, #0
- mov r2, #0x0
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- mov r0, #0xd
- mov r1, #0x7
- mov r2, #0x11
- mov r3, #0x8
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0xd
- mov r2, #0x7
- bl Menu_PrintText
- add r0, r6, #0
- mov r1, #0x1d
- bl GetMonData
- add r1, r0, #0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r4, r4, r1
- lsl r4, r4, #0x10
- lsr r4, r4, #0x10
- add r0, r5, #0
- mov r2, #0x0
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- mov r0, #0xd
- mov r1, #0x9
- mov r2, #0x11
- mov r3, #0xa
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0xd
- mov r2, #0x9
- bl Menu_PrintText
- add r0, r6, #0
- mov r1, #0x1e
- bl GetMonData
- add r1, r0, #0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r4, r4, r1
- lsl r4, r4, #0x10
- lsr r4, r4, #0x10
- add r0, r5, #0
- mov r2, #0x0
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- mov r0, #0xd
- mov r1, #0xb
- mov r2, #0x11
- mov r3, #0xc
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0xd
- mov r2, #0xb
- bl Menu_PrintText
- add r0, r6, #0
- mov r1, #0x1f
- bl GetMonData
- add r1, r0, #0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r4, r4, r1
- lsl r4, r4, #0x10
- lsr r4, r4, #0x10
- add r0, r5, #0
- mov r2, #0x0
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- mov r0, #0xd
- mov r1, #0xd
- mov r2, #0x11
- mov r3, #0xe
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0xd
- mov r2, #0xd
- bl Menu_PrintText
- add r0, r5, #0
- add r1, r4, #0
- mov r2, #0x0
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- mov r0, #0xd
- mov r1, #0xf
- mov r2, #0x11
- mov r3, #0x10
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0xd
- mov r2, #0xf
- bl Menu_PrintText
- add r0, r6, #0
- mov r1, #0x20
- bl GetMonData
- add r1, r0, #0
- add r0, r5, #0
- mov r2, #0x0
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- mov r0, #0xd
- mov r1, #0x11
- mov r2, #0x11
- mov r3, #0x12
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0xd
- mov r2, #0x11
- bl Menu_PrintText
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._490:
- .align 2, 0
-._489:
- .word gStringVar1
- .word gSpeciesNames
-
- thumb_func_end debug_sub_8160E50
-
- thumb_func_start debug_sub_8161028
-debug_sub_8161028:
- push {r4, r5, r6, lr}
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- asr r1, r0, #0x18
- mov r0, #0x1
- neg r0, r0
- cmp r1, r0
- bne ._491 @cond_branch
- ldr r0, ._496 @ _nakamuraData5
- ldrb r0, [r0]
- cmp r0, #0
- bne ._492 @cond_branch
- mov r5, #0x5
-._494:
- lsl r0, r5, #0x10
- asr r4, r0, #0x10
- mov r0, #0x64
- mul r0, r0, r4
- ldr r1, ._496 + 4 @ gPlayerParty
- add r0, r0, r1
- mov r1, #0xb
- bl GetMonData
- cmp r0, #0
- bne ._493 @cond_branch
- sub r0, r4, #1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r0, #0
- bge ._494 @cond_branch
-._492:
- ldr r1, ._496 @ _nakamuraData5
- ldrb r0, [r1]
- add r0, r0, r6
- strb r0, [r1]
- b ._506
-._497:
- .align 2, 0
-._496:
- .word _nakamuraData5
- .word gPlayerParty
-._491:
- cmp r1, #0x1
- bne ._506 @cond_branch
- ldr r4, ._501 @ _nakamuraData5
- ldrb r0, [r4]
- add r0, r0, r6
- strb r0, [r4]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x6
- bne ._499 @cond_branch
- mov r0, #0x0
- b ._500
-._502:
- .align 2, 0
-._501:
- .word _nakamuraData5
-._493:
- ldr r0, ._504 @ _nakamuraData5
- strb r5, [r0]
- b ._506
-._505:
- .align 2, 0
-._504:
- .word _nakamuraData5
-._499:
- ldrb r1, [r4]
- mov r0, #0x64
- mul r0, r0, r1
- ldr r1, ._507 @ gPlayerParty
- add r0, r0, r1
- mov r1, #0xb
- bl GetMonData
- cmp r0, #0
- bne ._506 @cond_branch
-._500:
- strb r0, [r4]
-._506:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._508:
- .align 2, 0
-._507:
- .word gPlayerParty
-
- thumb_func_end debug_sub_8161028
-
thumb_func_start debug_sub_81610BC
debug_sub_81610BC:
push {lr}
diff --git a/include/strings.h b/include/strings.h
index 7b97ec6ef..240e212ac 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -165,6 +165,7 @@ extern const u8 gOtherText_None[];
extern const u8 gOtherText_ThreeQuestions2[];
extern const u8 gOtherText_FiveQuestions[];
+extern const u8 gOtherText_Slash[];
extern const u8 gOtherText_OneDash[];
extern const u8 gOtherText_TwoDashes[];
diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c
index 97e1d4678..d2854e629 100644
--- a/src/debug/nakamura_debug_menu.c
+++ b/src/debug/nakamura_debug_menu.c
@@ -208,7 +208,6 @@ const u8 Str_843E5D4[] = _(
"  Bボタン ー\n"
"START けってい");
-// The following may be defined in the functions in which they are invoked
const u8 Str_843E5F0[] = _("?");
const u8 Str_843E5F2[] = _("HP どりょくち");
const u8 Str_843E5FB[] = _("こうげき どりょくち");
@@ -1839,4 +1838,162 @@ void debug_sub_8160C7C(void)
debug_sub_8160A80(i);
}
+bool8 debug_sub_8160CF4(void)
+{
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ Menu_MoveCursor(-1);
+ return FALSE;
+ }
+
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ Menu_MoveCursor(+1);
+ return FALSE;
+ }
+
+ if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ debug_sub_8160B50(Menu_GetCursorPos(), -1);
+ debug_sub_8160A80(Menu_GetCursorPos());
+ debug_sub_8160BB0();
+ return FALSE;
+ }
+
+ if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ debug_sub_8160B50(Menu_GetCursorPos(), +1);
+ debug_sub_8160A80(Menu_GetCursorPos());
+ debug_sub_8160BB0();
+ return FALSE;
+ }
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ debug_sub_8160C7C();
+ PlaySE(SE_SELECT);
+ return FALSE;
+ }
+
+ if (gMain.newKeys & B_BUTTON)
+ {
+ Menu_EraseWindowRect(0, 0, 29, 19);
+ CloseMenu();
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+bool8 debug_sub_8160D98(void)
+{
+ Menu_EraseWindowRect(0, 0, 29, 19);
+ debug_sub_8160BE4();
+ gMenuCallback = debug_sub_8160CF4;
+ return FALSE;
+}
+
+void debug_sub_8160DC0(void)
+{
+ Menu_DrawStdWindowFrame(0, 0, 22, 19);
+ Menu_PrintText(gOtherText_Slash, 11, 1);
+ Menu_PrintText(Str_843E5F2, 2, 3);
+ Menu_PrintText(Str_843E5FB, 2, 5);
+ Menu_PrintText(Str_843E606, 2, 7);
+ Menu_PrintText(Str_843E611, 2, 9);
+ Menu_PrintText(Str_843E61C, 2, 11);
+ Menu_PrintText(Str_843E627, 2, 13);
+ Menu_PrintText(Str_843E637, 2, 15);
+ Menu_PrintText(Str_843E632, 2, 17);
+}
+
+void debug_sub_8160E50(struct Pokemon *pokemon)
+{
+ u16 evTotal;
+ u16 curEv;
+
+ Menu_BlankWindowRect(1, 1, 10, 2);
+ GetMonData(pokemon, MON_DATA_NICKNAME, gStringVar1);
+ Menu_PrintText(gStringVar1, 1, 1);
+
+ Menu_BlankWindowRect(12, 1, 21, 2);
+ Menu_PrintText(gSpeciesNames[GetMonData(pokemon, MON_DATA_SPECIES)], 12, 1);
+
+ curEv = GetMonData(pokemon, MON_DATA_HP_EV);
+ evTotal = curEv;
+ ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5);
+ Menu_BlankWindowRect(13, 3, 17, 4);
+ Menu_PrintText(gStringVar1, 13, 3);
+
+ curEv = GetMonData(pokemon, MON_DATA_ATK_EV);
+ evTotal += curEv;
+ ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5);
+ Menu_BlankWindowRect(13, 5, 17, 6);
+ Menu_PrintText(gStringVar1, 13, 5);
+
+ curEv = GetMonData(pokemon, MON_DATA_DEF_EV);
+ evTotal += curEv;
+ ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5);
+ Menu_BlankWindowRect(13, 7, 17, 8);
+ Menu_PrintText(gStringVar1, 13, 7);
+
+ curEv = GetMonData(pokemon, MON_DATA_SPEED_EV);
+ evTotal += curEv;
+ ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5);
+ Menu_BlankWindowRect(13, 9, 17, 10);
+ Menu_PrintText(gStringVar1, 13, 9);
+
+ curEv = GetMonData(pokemon, MON_DATA_SPATK_EV);
+ evTotal += curEv;
+ ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5);
+ Menu_BlankWindowRect(13, 11, 17, 12);
+ Menu_PrintText(gStringVar1, 13, 11);
+
+ curEv = GetMonData(pokemon, MON_DATA_SPDEF_EV);
+ evTotal += curEv;
+ ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5);
+ Menu_BlankWindowRect(13, 13, 17, 14);
+ Menu_PrintText(gStringVar1, 13, 13);
+
+ ConvertIntToDecimalStringN(gStringVar1, evTotal, STR_CONV_MODE_LEFT_ALIGN, 5);
+ Menu_BlankWindowRect(13, 15, 17, 16);
+ Menu_PrintText(gStringVar1, 13, 15);
+
+ ConvertIntToDecimalStringN(gStringVar1, GetMonData(pokemon, MON_DATA_FRIENDSHIP), STR_CONV_MODE_LEFT_ALIGN, 5);
+ Menu_BlankWindowRect(13, 17, 17, 18);
+ Menu_PrintText(gStringVar1, 13, 17);
+}
+
+void debug_sub_8161028(s8 a0)
+{
+ s16 i;
+ if (a0 == -1)
+ {
+ if (_nakamuraData5 == 0)
+ {
+ for (i = 5; i >= 0; i--)
+ {
+ if (GetMonData(gPlayerParty + i, MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ _nakamuraData5 = i;
+ return;
+ }
+ }
+ }
+ _nakamuraData5 += a0;
+ return;
+ }
+
+ if (a0 == 1)
+ {
+ _nakamuraData5 += a0;
+ if (_nakamuraData5 == 6)
+ _nakamuraData5 = 0;
+ else if (GetMonData(gPlayerParty + _nakamuraData5, MON_DATA_SPECIES) == SPECIES_NONE)
+ _nakamuraData5 = 0;
+ }
+
+
+}
+
#endif // DEBUG