diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-09 15:58:02 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-09 15:58:02 -0400 |
commit | 2caef5b2b488e2a5bd88031ca747c62d376d1da8 (patch) | |
tree | 6a80a1360e47d4d4ea6e60ca6a831b9e17cc3a4b | |
parent | 9b961c030b28170731844916dd03caf8d0bfce1b (diff) |
through debug_sub_808F93C
-rw-r--r-- | asm/nohara_debug_menu.s | 489 | ||||
-rw-r--r-- | data/debug_menu_nohara.s | 12 | ||||
-rw-r--r-- | src/debug/nohara_debug_menu.c | 158 |
3 files changed, 157 insertions, 502 deletions
diff --git a/asm/nohara_debug_menu.s b/asm/nohara_debug_menu.s index eca535f89..f31592e6c 100644 --- a/asm/nohara_debug_menu.s +++ b/asm/nohara_debug_menu.s @@ -5,495 +5,6 @@ .text - thumb_func_start debug_sub_808F6BC -debug_sub_808F6BC: - push {r4, r5, r6, lr} - mov r4, #0x0 - ldr r5, ._48 @ gStringVar1 - ldr r6, ._48 + 4 @ gSaveBlock1 -._45: - lsl r0, r4, #0x3 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldr r1, ._48 + 8 @ 0x2738 - add r0, r0, r1 - ldrb r1, [r0] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - lsl r1, r4, #0x19 - mov r0, #0xa0 - lsl r0, r0, #0x14 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x0 - bl Menu_PrintText - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x4 - bls ._45 @cond_branch - mov r4, #0x5 - ldr r5, ._48 @ gStringVar1 - ldr r6, ._48 + 4 @ gSaveBlock1 -._50: - lsl r0, r4, #0x3 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldr r1, ._48 + 8 @ 0x2738 - add r0, r0, r1 - ldrb r1, [r0] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - cmp r4, #0xe - bhi ._46 @cond_branch - lsl r1, r4, #0x19 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x3 - bl Menu_PrintText - b ._47 -._49: - .align 2, 0 -._48: - .word gStringVar1 - .word gSaveBlock1 - .word 0x2738 -._46: - lsl r1, r4, #0x19 - mov r0, #0xec - lsl r0, r0, #0x18 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x6 - bl Menu_PrintText -._47: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x17 - bls ._50 @cond_branch - mov r4, #0x0 - ldr r5, ._53 @ gStringVar1 -._55: - ldr r0, ._53 + 4 @ gSaveBlock1 - lsl r1, r4, #0x2 - add r1, r1, r0 - ldr r0, ._53 + 8 @ 0x2abc - add r1, r1, r0 - ldrb r1, [r1] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - cmp r4, #0x7 - bhi ._51 @cond_branch - lsl r1, r4, #0x19 - mov r0, #0xa0 - lsl r0, r0, #0x14 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x9 - bl Menu_PrintText - b ._52 -._54: - .align 2, 0 -._53: - .word gStringVar1 - .word gSaveBlock1 - .word 0x2abc -._51: - lsl r1, r4, #0x19 - mov r0, #0xfa - lsl r0, r0, #0x18 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0xc - bl Menu_PrintText -._52: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0xf - bls ._55 @cond_branch - pop {r4, r5, r6} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808F6BC - - thumb_func_start debug_sub_808F7B4 -debug_sub_808F7B4: - push {r4, r5, r6, lr} - mov r4, #0x0 - ldr r5, ._59 @ gStringVar1 - ldr r6, ._59 + 4 @ gSaveBlock1 -._56: - lsl r0, r4, #0x3 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldr r1, ._59 + 8 @ 0x2739 - add r0, r0, r1 - ldrb r1, [r0] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - lsl r1, r4, #0x19 - mov r0, #0xa0 - lsl r0, r0, #0x14 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x0 - bl Menu_PrintText - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x4 - bls ._56 @cond_branch - mov r4, #0x5 - ldr r5, ._59 @ gStringVar1 - ldr r6, ._59 + 4 @ gSaveBlock1 -._61: - lsl r0, r4, #0x3 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldr r1, ._59 + 8 @ 0x2739 - add r0, r0, r1 - ldrb r1, [r0] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - cmp r4, #0xe - bhi ._57 @cond_branch - lsl r1, r4, #0x19 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x3 - bl Menu_PrintText - b ._58 -._60: - .align 2, 0 -._59: - .word gStringVar1 - .word gSaveBlock1 - .word 0x2739 -._57: - lsl r1, r4, #0x19 - mov r0, #0xec - lsl r0, r0, #0x18 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x6 - bl Menu_PrintText -._58: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x17 - bls ._61 @cond_branch - mov r4, #0x0 - ldr r5, ._64 @ gStringVar1 -._66: - ldr r0, ._64 + 4 @ gSaveBlock1 - lsl r1, r4, #0x2 - add r1, r1, r0 - ldr r0, ._64 + 8 @ 0x2abd - add r1, r1, r0 - ldrb r1, [r1] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - cmp r4, #0x7 - bhi ._62 @cond_branch - lsl r1, r4, #0x19 - mov r0, #0xa0 - lsl r0, r0, #0x14 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x9 - bl Menu_PrintText - b ._63 -._65: - .align 2, 0 -._64: - .word gStringVar1 - .word gSaveBlock1 - .word 0x2abd -._62: - lsl r1, r4, #0x19 - mov r0, #0xfa - lsl r0, r0, #0x18 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0xc - bl Menu_PrintText -._63: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0xf - bls ._66 @cond_branch - pop {r4, r5, r6} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808F7B4 - - thumb_func_start debug_sub_808F8AC -debug_sub_808F8AC: - push {lr} - ldr r0, ._67 @ 0x832 - bl FlagSet - ldr r0, ._67 + 4 @ 0x818 - bl FlagSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._68: - .align 2, 0 -._67: - .word 0x832 - .word 0x818 - - thumb_func_end debug_sub_808F8AC - - thumb_func_start debug_sub_808F8CC -debug_sub_808F8CC: - push {r4, lr} - ldr r1, ._69 @ gDebug_03000724 - mov r0, #0x0 - strb r0, [r1] - ldr r0, ._69 + 4 @ gUnknown_Debug_083C49CA - bl sub_8071F40 - mov r0, #0xd - mov r1, #0x6 - mov r2, #0x1a - mov r3, #0x8 - bl Menu_BlankWindowRect - ldr r0, ._69 + 8 @ gUnknown_Debug_083C4ACC - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - mov r0, #0x16 - mov r1, #0x1 - mov r2, #0x18 - mov r3, #0x2 - bl Menu_BlankWindowRect - ldr r4, ._69 + 12 @ gStringVar1 - add r0, r4, #0 - mov r1, #0x0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x17 - mov r2, #0x1 - bl Menu_PrintText - ldr r1, ._69 + 16 @ gMenuCallback - ldr r0, ._69 + 20 @ debug_sub_808F93C - str r0, [r1] - pop {r4} - pop {r0} - bx r0 -._70: - .align 2, 0 -._69: - .word gDebug_03000724 - .word gUnknown_Debug_083C49CA - .word gUnknown_Debug_083C4ACC - .word gStringVar1 - .word gMenuCallback - .word debug_sub_808F93C+1 - - thumb_func_end debug_sub_808F8CC - - thumb_func_start debug_sub_808F93C -debug_sub_808F93C: - push {r4, lr} - mov r2, #0x0 - ldr r0, ._83 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._71 @cond_branch - ldr r1, ._83 + 4 @ gDebug_03000725 - ldrb r0, [r1] - add r0, r0, #0x1 - strb r0, [r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x18 - bne ._72 @cond_branch - strb r2, [r1] -._72: - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._71: - ldr r0, ._83 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._73 @cond_branch - ldr r1, ._83 + 4 @ gDebug_03000725 - ldrb r0, [r1] - cmp r0, #0 - bne ._74 @cond_branch - mov r0, #0x18 - strb r0, [r1] -._74: - ldrb r0, [r1] - sub r0, r0, #0x1 - strb r0, [r1] - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._73: - ldr r0, ._83 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._75 @cond_branch - ldr r1, ._83 + 8 @ gDebug_03000724 - ldrb r0, [r1] - add r0, r0, #0x1 - strb r0, [r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0xc - bne ._76 @cond_branch - mov r0, #0x0 - strb r0, [r1] -._76: - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._75: - ldr r0, ._83 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._77 @cond_branch - ldr r1, ._83 + 8 @ gDebug_03000724 - ldrb r0, [r1] - cmp r0, #0 - bne ._78 @cond_branch - mov r0, #0xc - strb r0, [r1] -._78: - ldrb r0, [r1] - sub r0, r0, #0x1 - strb r0, [r1] - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._77: - cmp r2, #0 - beq ._79 @cond_branch - mov r0, #0xd - mov r1, #0x6 - mov r2, #0x1a - mov r3, #0x8 - bl Menu_BlankWindowRect - ldr r1, ._83 + 12 @ gUnknown_Debug_083C4ACC - ldr r0, ._83 + 8 @ gDebug_03000724 - ldrb r0, [r0] - lsl r0, r0, #0x2 - add r0, r0, r1 - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - mov r0, #0x16 - mov r1, #0x1 - mov r2, #0x18 - mov r3, #0x2 - bl Menu_BlankWindowRect - ldr r4, ._83 + 16 @ gStringVar1 - ldr r0, ._83 + 4 @ gDebug_03000725 - ldrb r1, [r0] - add r0, r4, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x17 - mov r2, #0x1 - bl Menu_PrintText -._79: - ldr r4, ._83 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._80 @cond_branch - mov r0, #0x15 - bl PlaySE - ldr r0, ._83 + 4 @ gDebug_03000725 - ldrb r0, [r0] - ldr r2, ._83 + 20 @ gUnknown_Debug_083C4ABD - ldr r1, ._83 + 8 @ gDebug_03000724 - ldrb r1, [r1] - add r1, r1, r2 - ldrb r1, [r1] - bl debug_sub_808FA88 -._80: - ldrh r1, [r4, #0x2e] - mov r0, #0xa - and r0, r0, r1 - cmp r0, #0 - bne ._81 @cond_branch - mov r0, #0x0 - b ._82 -._84: - .align 2, 0 -._83: - .word gMain - .word gDebug_03000725 - .word gDebug_03000724 - .word gUnknown_Debug_083C4ACC - .word gStringVar1 - .word gUnknown_Debug_083C4ABD -._81: - ldr r0, ._85 @ gSaveBlock1 - bl sub_80BF588 - bl CloseMenu - mov r0, #0x1 -._82: - pop {r4} - pop {r1} - bx r1 -._86: - .align 2, 0 -._85: - .word gSaveBlock1+0x2738 - - thumb_func_end debug_sub_808F93C - thumb_func_start debug_sub_808FA88 debug_sub_808FA88: push {r4, r5, r6, r7, lr} diff --git a/data/debug_menu_nohara.s b/data/debug_menu_nohara.s index 859c63e6d..1231dc0ed 100644 --- a/data/debug_menu_nohara.s +++ b/data/debug_menu_nohara.s @@ -39,10 +39,14 @@ gUnknown_Debug_083C4CA1:: @ 0x83C4CA1 .align 2 gUnknown_Debug_083C4CA8:: @ 0x83C4CA8 - .4byte gUnknown_Debug_083C4C77, gUnknown_Debug_083C4C7D - .4byte gUnknown_Debug_083C4C83, gUnknown_Debug_083C4C89 - .4byte gUnknown_Debug_083C4C8F, gUnknown_Debug_083C4C95 - .4byte gUnknown_Debug_083C4C9B, gUnknown_Debug_083C4CA1 + .4byte gUnknown_Debug_083C4C77 + .4byte gUnknown_Debug_083C4C7D + .4byte gUnknown_Debug_083C4C83 + .4byte gUnknown_Debug_083C4C89 + .4byte gUnknown_Debug_083C4C8F + .4byte gUnknown_Debug_083C4C95 + .4byte gUnknown_Debug_083C4C9B + .4byte gUnknown_Debug_083C4CA1 gUnknown_Debug_083C4CC8:: @ 0x83C4CC8 .string "Start$" diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index dbe79dc72..1d52e70eb 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -1,5 +1,7 @@ #if DEBUG #include "global.h" +#include "constants/flags.h" +#include "constants/songs.h" #include "main.h" #include "menu.h" #include "start_menu.h" @@ -7,9 +9,10 @@ #include "event_data.h" #include "string_util.h" #include "field_specials.h" +#include "sound.h" -__attribute__((unused)) static u8 gDebug_03000724; -__attribute__((unused)) static u8 gDebug_03000725; +static u8 gDebug_03000724; +static u8 gDebug_03000725; static u8 gDebug_03000726; asm(".global gDebug_03000724"); @@ -24,7 +27,15 @@ bool8 debug_sub_808F560(void); bool8 debug_sub_808F594(void); bool8 debug_sub_808F5D8(void); bool8 debug_sub_808F648(void); -bool8 debug_sub_808F7B4(void); +void debug_sub_808F6BC(void); +void debug_sub_808F7B4(void); +bool8 debug_sub_808F8AC(void); +void debug_sub_808F8CC(void); +bool8 debug_sub_808F93C(void); +void debug_sub_808FA88(u8, u8); +void debug_sub_808FEBC(void); +void debug_sub_808FECC(void); +void debug_sub_80900AC(void); bool8 debug_sub_8090278(void); bool8 NoharaDebugMenu_Fan(void); bool8 NoharaDebugMenu_BattleVSDad(void); @@ -34,12 +45,6 @@ bool8 NoharaDebugMenu_Embark(void); bool8 NoharaDebugMenu_Yes9999(void); bool8 NoharaDebugMenu_LegendsFlagOn(void); bool8 NoharaDebugMenu_AddNumWinningStreaks(void); -void debug_sub_808F6BC(void); -void debug_sub_808F8AC(void); -void debug_sub_808F8CC(void); -void debug_sub_808FEBC(void); -void debug_sub_808FECC(void); -void debug_sub_80900AC(void); const u8 gUnknown_Debug_083C48C4[] = _("TV"); const u8 gUnknown_Debug_083C48C7[] = _("Fan"); @@ -312,4 +317,139 @@ bool8 debug_sub_808F648(void) } } +void debug_sub_808F6BC(void) +{ + u8 i; + + for (i = 0; i < 5; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.tvShows[i].common.kind, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, i * 2 + 10, 0); + } + + for (i = 5; i < 24; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.tvShows[i].common.kind, STR_CONV_MODE_LEFT_ALIGN, 2); + if (i < 15) + Menu_PrintText(gStringVar1, i * 2, 3); + else + Menu_PrintText(gStringVar1, i * 2 - 20, 6); + } + + for (i = 0; i < 16; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.pokeNews[i].kind, STR_CONV_MODE_LEFT_ALIGN, 2); + if (i < 8) + Menu_PrintText(gStringVar1, i * 2 + 10, 9); + else + Menu_PrintText(gStringVar1, i * 2 - 6, 12); + } +} + +void debug_sub_808F7B4(void) +{ + u8 i; + + for (i = 0; i < 5; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.tvShows[i].common.active, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, i * 2 + 10, 0); + } + + for (i = 5; i < 24; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.tvShows[i].common.active, STR_CONV_MODE_LEFT_ALIGN, 2); + if (i < 15) + Menu_PrintText(gStringVar1, i * 2, 3); + else + Menu_PrintText(gStringVar1, i * 2 - 20, 6); + } + + for (i = 0; i < 16; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.pokeNews[i].state, STR_CONV_MODE_LEFT_ALIGN, 2); + if (i < 8) + Menu_PrintText(gStringVar1, i * 2 + 10, 9); + else + Menu_PrintText(gStringVar1, i * 2 - 6, 12); + } +} + +bool8 debug_sub_808F8AC(void) +{ + FlagSet(FLAG_SYS_TV_START); + FlagSet(FLAG_VISITED_MAUVILLE_CITY); + CloseMenu(); + return TRUE; +} + +void debug_sub_808F8CC(void) +{ + gDebug_03000724 = 0; + sub_8071F40(gUnknown_Debug_083C49CA); + Menu_BlankWindowRect(13, 6, 26, 8); + Menu_PrintText(gUnknown_Debug_083C4ACC[0], 14, 7); + Menu_BlankWindowRect(22, 1, 24, 2); + ConvertIntToDecimalStringN(gStringVar1, 0, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 23, 1); + gMenuCallback = debug_sub_808F93C; +} + +bool8 debug_sub_808F93C(void) +{ + bool8 updateDisplay = FALSE; + if (gMain.newKeys & DPAD_UP) + { + gDebug_03000725++; + if (gDebug_03000725 == 24) + gDebug_03000725 = 0; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + if (gMain.newKeys & DPAD_DOWN) + { + if (gDebug_03000725 == 0) + gDebug_03000725 = 24; + gDebug_03000725--; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + if (gMain.newKeys & DPAD_RIGHT) + { + gDebug_03000724++; + if (gDebug_03000724 == 12) + gDebug_03000724 = 0; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + if (gMain.newKeys & DPAD_LEFT) + { + if (gDebug_03000724 == 0) + gDebug_03000724 = 12; + gDebug_03000724--; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + if (updateDisplay) + { + Menu_BlankWindowRect(13, 6, 26, 8); + Menu_PrintText(gUnknown_Debug_083C4ACC[gDebug_03000724], 14, 7); + Menu_BlankWindowRect(22, 1, 24, 2); + ConvertIntToDecimalStringN(gStringVar1, gDebug_03000725, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 23, 1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_PIN); + debug_sub_808FA88(gDebug_03000725, gUnknown_Debug_083C4ABD[gDebug_03000724]); + } + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + sub_80BF588(gSaveBlock1.tvShows); + CloseMenu(); + return TRUE; + } + return FALSE; +} + #endif |