diff options
-rw-r--r-- | asm/nohara_debug_menu.s | 2198 | ||||
-rw-r--r-- | data/debug_menu_nohara.s | 253 | ||||
-rw-r--r-- | include/field_specials.h | 7 | ||||
-rw-r--r-- | include/global.h | 2 | ||||
-rw-r--r-- | include/tv.h | 2 | ||||
-rw-r--r-- | ld_script.txt | 3 | ||||
-rw-r--r-- | src/debug/nohara_debug_menu.c | 965 | ||||
-rw-r--r-- | src/field_specials.c | 2 | ||||
-rw-r--r-- | src/tv.c | 14 |
9 files changed, 978 insertions, 2468 deletions
diff --git a/asm/nohara_debug_menu.s b/asm/nohara_debug_menu.s deleted file mode 100644 index 1bc077b90..000000000 --- a/asm/nohara_debug_menu.s +++ /dev/null @@ -1,2198 +0,0 @@ -.if DEBUG - - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .text - - thumb_func_start InitNoharaDebugMenu -InitNoharaDebugMenu: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x13 - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._1 @ gUnknown_Debug_083C4938 - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x12 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._1 + 4 @ gMenuCallback - ldr r0, ._1 + 8 @ debug_sub_808F414 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._2: - .align 2, 0 -._1: - .word gUnknown_Debug_083C4938 - .word gMenuCallback - .word debug_sub_808F414+1 - - thumb_func_end InitNoharaDebugMenu - - thumb_func_start debug_sub_808F414 -debug_sub_808F414: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._3 @cond_branch - add r0, r0, #0x1 - cmp r1, r0 - beq ._4 @cond_branch - ldr r2, ._6 @ gMenuCallback - ldr r0, ._6 + 4 @ gUnknown_Debug_083C4938 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] -._3: - mov r0, #0x0 - b ._5 -._7: - .align 2, 0 -._6: - .word gMenuCallback - .word gUnknown_Debug_083C4938 -._4: - bl CloseMenu - mov r0, #0x1 -._5: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808F414 - - thumb_func_start NoharaDebugMenu_TV -NoharaDebugMenu_TV: - push {lr} - add sp, sp, #0xfffffff8 - ldr r1, ._8 @ gDebug_03000726 - mov r0, #0x0 - strb r0, [r1] - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xa - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._8 + 4 @ gUnknown_Debug_083C4B8C - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x9 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._8 + 8 @ gMenuCallback - ldr r0, ._8 + 12 @ debug_sub_808F4AC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._9: - .align 2, 0 -._8: - .word gDebug_03000726 - .word gUnknown_Debug_083C4B8C - .word gMenuCallback - .word debug_sub_808F4AC+1 - - thumb_func_end NoharaDebugMenu_TV - - thumb_func_start debug_sub_808F4AC -debug_sub_808F4AC: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._10 @cond_branch - add r0, r0, #0x1 - cmp r1, r0 - beq ._11 @cond_branch - ldr r2, ._13 @ gMenuCallback - ldr r0, ._13 + 4 @ gUnknown_Debug_083C4B8C - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] -._10: - mov r0, #0x0 - b ._12 -._14: - .align 2, 0 -._13: - .word gMenuCallback - .word gUnknown_Debug_083C4B8C -._11: - bl CloseMenu - mov r0, #0x1 -._12: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808F4AC - - thumb_func_start debug_sub_808F4EC -debug_sub_808F4EC: - push {lr} - bl debug_sub_808F6BC - ldr r0, ._15 @ gUnknown_Debug_083C4980 - bl sub_8071F40 - mov r0, #0x3 - mov r1, #0x3 - mov r2, #0x1 - bl DisplayYesNoMenu - ldr r1, ._15 + 4 @ gMenuCallback - ldr r0, ._15 + 8 @ debug_sub_808F648 - str r0, [r1] - pop {r0} - bx r0 -._16: - .align 2, 0 -._15: - .word gUnknown_Debug_083C4980 - .word gMenuCallback - .word debug_sub_808F648+1 - - thumb_func_end debug_sub_808F4EC - - thumb_func_start debug_sub_808F518 -debug_sub_808F518: - push {r4, lr} - mov r2, #0x0 - ldr r4, ._20 @ gSaveBlock1 - ldr r3, ._20 + 4 @ 0x2738 -._19: - lsl r0, r2, #0x3 - add r0, r0, r2 - lsl r0, r0, #0x2 - add r1, r0, r4 - add r0, r1, r3 - ldrb r0, [r0] - sub r0, r0, #0x15 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x13 - bhi ._18 @cond_branch - ldr r0, ._20 + 8 @ 0x2739 - add r1, r1, r0 - ldrb r0, [r1] - cmp r0, #0 - bne ._18 @cond_branch - mov r0, #0x1 - strb r0, [r1] -._18: - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x17 - bls ._19 @cond_branch - pop {r4} - pop {r0} - bx r0 -._21: - .align 2, 0 -._20: - .word gSaveBlock1 - .word 0x2738 - .word 0x2739 - - thumb_func_end debug_sub_808F518 - - thumb_func_start debug_sub_808F560 -debug_sub_808F560: - push {r4, lr} - mov r1, #0x0 - ldr r4, ._23 @ gSaveBlock1 - ldr r3, ._23 + 4 @ 0x2739 - mov r2, #0x0 -._22: - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r4 - add r0, r0, r3 - strb r2, [r0] - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - cmp r1, #0x17 - bls ._22 @cond_branch - bl CloseMenu - mov r0, #0x1 - pop {r4} - pop {r1} - bx r1 -._24: - .align 2, 0 -._23: - .word gSaveBlock1 - .word 0x2739 - - thumb_func_end debug_sub_808F560 - - thumb_func_start debug_sub_808F594 -debug_sub_808F594: - push {r4, r5, r6, lr} - mov r2, #0x0 - ldr r6, ._27 @ gSaveBlock1 - ldr r5, ._27 + 4 @ 0x2738 - ldr r4, ._27 + 8 @ 0x2739 - mov r3, #0x1 -._26: - lsl r0, r2, #0x3 - add r0, r0, r2 - lsl r0, r0, #0x2 - add r1, r0, r6 - add r0, r1, r5 - ldrb r0, [r0] - cmp r0, #0 - beq ._25 @cond_branch - add r0, r1, r4 - strb r3, [r0] -._25: - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x17 - bls ._26 @cond_branch - bl CloseMenu - mov r0, #0x1 - pop {r4, r5, r6} - pop {r1} - bx r1 -._28: - .align 2, 0 -._27: - .word gSaveBlock1 - .word 0x2738 - .word 0x2739 - - thumb_func_end debug_sub_808F594 - - thumb_func_start debug_sub_808F5D8 -debug_sub_808F5D8: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r4, #0x0 - ldr r6, ._30 @ gStringVar1 - ldr r7, ._30 + 4 @ gUnknown_Debug_083C4BD4 - add r0, r7, #1 - mov r8, r0 -._29: - ldr r5, ._30 + 8 @ gSpecialVar_0x8004 - strh r4, [r5] - bl GetSlotMachineId - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r6, #0 - mov r2, #0x0 - mov r3, #0x1 - bl ConvertIntToDecimalStringN - lsl r0, r4, #0x1 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r1, r0, r7 - ldrb r1, [r1] - add r0, r0, r8 - ldrb r2, [r0] - add r0, r6, #0 - bl Menu_PrintText - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0xb - bls ._29 @cond_branch - mov r0, #0x0 - strh r0, [r5] - ldr r1, ._30 + 12 @ gMenuCallback - ldr r0, ._30 + 16 @ debug_sub_8090278 - str r0, [r1] - mov r0, #0x0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._31: - .align 2, 0 -._30: - .word gStringVar1 - .word gUnknown_Debug_083C4BD4 - .word gSpecialVar_0x8004 - .word gMenuCallback - .word debug_sub_8090278+1 - - thumb_func_end debug_sub_808F5D8 - - thumb_func_start debug_sub_808F648 -debug_sub_808F648: - push {lr} - ldr r0, ._35 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._32 @cond_branch - mov r0, #0xa - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xd - bl Menu_EraseWindowRect - ldr r0, ._35 + 4 @ gDebug_03000726 - ldrb r1, [r0] - mov r2, #0x1 - eor r1, r1, r2 - strb r1, [r0] - cmp r1, #0 - beq ._33 @cond_branch - bl debug_sub_808F7B4 - b ._40 -._36: - .align 2, 0 -._35: - .word gMain - .word gDebug_03000726 -._33: - bl debug_sub_808F6BC - b ._40 -._32: - bl Menu_ProcessInputNoWrap_ - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._43 @cond_branch - cmp r1, r0 - bgt ._39 @cond_branch - sub r0, r0, #0x1 - cmp r1, r0 - beq ._40 @cond_branch - b ._43 -._39: - cmp r1, #0 - beq ._42 @cond_branch - b ._43 -._40: - mov r0, #0x0 - b ._44 -._42: - bl debug_sub_808F518 -._43: - bl CloseMenu - mov r0, #0x1 -._44: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808F648 - - 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} - mov r7, r9 - mov r6, r8 - push {r6, r7} - add sp, sp, #0xffffffcc - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - lsl r1, r1, #0x18 - lsr r7, r1, #0x18 - bl GetLeadMonIndex - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r9, r0 - ldr r3, ._92 @ gSaveBlock1 - lsl r4, r6, #0x3 - add r2, r4, r6 - lsl r2, r2, #0x2 - add r0, r2, r3 - ldr r5, ._92 + 4 @ 0x2738 - add r1, r0, r5 - strb r7, [r1] - ldr r1, ._92 + 8 @ 0x2739 - add r0, r0, r1 - mov r1, #0x1 - strb r1, [r0] - mov r1, #0x0 - ldr r0, ._92 + 12 @ 0x273a - add r5, r3, r0 - mov r3, #0x1 -._87: - add r0, r1, r2 - add r0, r0, r5 - strb r3, [r0] - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - cmp r1, #0x21 - bls ._87 @cond_branch - add r0, r7, #0 - bl GetTVChannelByShowType - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - add r1, r0, #0 - cmp r0, #0x3 - beq ._88 @cond_branch - cmp r0, #0x3 - bgt ._89 @cond_branch - cmp r0, #0x2 - beq ._90 @cond_branch - b ._95 -._93: - .align 2, 0 -._92: - .word gSaveBlock1 - .word 0x2738 - .word 0x2739 - .word 0x273a -._89: - cmp r1, #0x4 - bne ._95 @cond_branch -._90: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._96 @ gSaveBlock1 - add r0, r0, r1 - bl sub_80BE160 - b ._95 -._97: - .align 2, 0 -._96: - .word gSaveBlock1+0x2738 -._88: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._100 @ gSaveBlock1 - add r0, r0, r1 - bl sub_80BE138 -._95: - sub r0, r7, #1 - cmp r0, #0x28 - bls ._98 @cond_branch - b ._173 -._98: - lsl r0, r0, #0x2 - ldr r1, ._100 + 4 @ - add r0, r0, r1 - ldr r0, [r0] - mov pc, r0 -._101: - .align 2, 0 -._100: - .word gSaveBlock1+0x2738 - .word ._102 -._102: - .word ._104 - .word ._104 - .word ._105 - .word ._173 - .word ._107 - .word ._108 - .word ._109 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._123 - .word ._124 - .word ._125 - .word ._126 - .word ._127 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._143 -._104: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._145 @ gSaveBlock1 - add r4, r0, r1 - mov r2, #0x1 - strh r2, [r4, #0x2] - add r1, r1, #0x10 - add r0, r0, r1 - ldr r1, ._145 + 4 @ gSaveBlock2 - bl StringCopy - mov r0, #0x5 - strb r0, [r4, #0x18] - b ._173 -._146: - .align 2, 0 -._145: - .word gSaveBlock1+0x2738 - .word gSaveBlock2 -._105: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r6, ._148 @ gSaveBlock1 - add r1, r4, r6 - mov r8, r1 - mov r0, #0x1 - strh r0, [r1, #0x2] - add r0, r6, #5 - add r0, r4, r0 - ldr r1, ._148 + 4 @ gSaveBlock2 - bl StringCopy - mov r0, #0x64 - mov r5, r9 - mul r5, r5, r0 - ldr r0, ._148 + 8 @ gPlayerParty - add r5, r5, r0 - add r6, r6, #0x10 - add r4, r4, r6 - add r0, r5, #0 - mov r1, #0x2 - add r2, r4, #0 - bl GetMonData - mov r0, #0x5 - mov r1, r8 - strb r0, [r1, #0xd] - add r0, r5, #0 - mov r1, #0x3 - bl GetMonData - mov r5, r8 - strb r0, [r5, #0xe] - b ._173 -._149: - .align 2, 0 -._148: - .word gSaveBlock1+0x2738 - .word gSaveBlock2 - .word gPlayerParty -._107: - mov r0, #0x64 - mov r1, r9 - mul r1, r1, r0 - mov r8, r1 - ldr r0, ._151 @ gPlayerParty - add r8, r8, r0 - mov r0, r8 - mov r1, #0xb - bl GetMonData - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r5, ._151 + 4 @ gSaveBlock1 - add r6, r4, r5 - strh r0, [r6, #0x2] - mov r0, #0x1 - strh r0, [r6, #0x1c] - add r0, r5, #0 - add r0, r0, #0xf - add r0, r4, r0 - ldr r1, ._151 + 8 @ gSaveBlock2 - bl StringCopy - add r5, r5, #0x4 - add r4, r4, r5 - mov r0, r8 - mov r1, #0x2 - add r2, r4, #0 - bl GetMonData - mov r0, #0x5 - strb r0, [r6, #0x1e] - mov r0, r8 - mov r1, #0x3 - bl GetMonData - strb r0, [r6, #0x1f] - b ._173 -._152: - .align 2, 0 -._151: - .word gPlayerParty - .word gSaveBlock1+0x2738 - .word gSaveBlock2 -._108: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r6, ._154 @ gSaveBlock1 - add r5, r4, r6 - mov r8, r5 - mov r0, #0x1 - strh r0, [r5, #0x2] - add r0, r6, #0 - add r0, r0, #0x16 - add r0, r4, r0 - ldr r1, ._154 + 4 @ gSaveBlock2 - bl StringCopy - mov r0, #0x64 - mov r5, r9 - mul r5, r5, r0 - ldr r0, ._154 + 8 @ gPlayerParty - add r5, r5, r0 - add r6, r6, #0x8 - add r4, r4, r6 - add r0, r5, #0 - mov r1, #0x2 - add r2, r4, #0 - bl GetMonData - mov r0, #0x5 - mov r1, r8 - strb r0, [r1, #0x1e] - add r0, r5, #0 - mov r1, #0x3 - bl GetMonData - mov r5, r8 - strb r0, [r5, #0x1f] - b ._173 -._155: - .align 2, 0 -._154: - .word gSaveBlock1+0x2738 - .word gSaveBlock2 - .word gPlayerParty -._109: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r5, ._157 @ gSaveBlock1 - add r6, r4, r5 - mov r0, #0x1 - strh r0, [r6, #0xa] - strh r0, [r6, #0x14] - add r0, r5, #2 - add r0, r4, r0 - ldr r1, ._157 + 4 @ gSaveBlock2 - mov r8, r1 - bl StringCopy - add r5, r5, #0xc - add r4, r4, r5 - add r0, r4, #0 - mov r1, r8 - bl StringCopy - mov r0, #0x5 - strb r0, [r6, #0x1d] - b ._173 -._158: - .align 2, 0 -._157: - .word gSaveBlock1+0x2738 - .word gSaveBlock2 -._143: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._160 @ gSaveBlock1 - add r0, r0, r1 - mov r1, #0x1 - strh r1, [r0, #0xc] - strh r1, [r0, #0x16] - b ._173 -._161: - .align 2, 0 -._160: - .word gSaveBlock1+0x2738 -._123: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r0, ._163 @ gSaveBlock1 - add r4, r4, r0 - ldr r1, ._163 + 4 @ gUnknown_Debug_083C4C64 - mov r0, sp - mov r2, #0x8 - bl memcpy - add r5, sp, #0x8 - ldr r1, ._163 + 8 @ gUnknown_Debug_083C4C6C - add r0, r5, #0 - mov r2, #0xb - bl memcpy - mov r0, #0xff - strb r0, [r4, #0x12] - add r0, r4, #0 - add r0, r0, #0x13 - mov r1, sp - bl StringCopy - add r0, r4, #4 - add r1, r5, #0 - bl StringCopy - mov r0, #0xc - strb r0, [r4, #0xf] - mov r0, #0x28 - strh r0, [r4, #0x10] - mov r0, #0x5 - strb r0, [r4, #0x2] - strb r0, [r4, #0x3] - b ._173 -._164: - .align 2, 0 -._163: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 - .word gUnknown_Debug_083C4C6C -._124: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._168 @ gSaveBlock1 - add r5, r0, r1 - add r4, sp, #0x14 - ldr r1, ._168 + 4 @ gUnknown_Debug_083C4C64 - add r0, r4, #0 - mov r2, #0x8 - bl memcpy - add r1, r4, #0 - mov r3, #0xfe - mov r2, #0x2 - add r0, r5, #0 - add r0, r0, #0x10 -._165: - strh r3, [r0] - sub r0, r0, #0x2 - sub r2, r2, #0x1 - cmp r2, #0 - bge ._165 @cond_branch - mov r0, #0x1 - strb r0, [r5, #0x2] - mov r0, #0x28 - strb r0, [r5, #0x12] - add r0, r5, #0 - add r0, r0, #0x13 - add r3, r5, #6 - mov r6, #0x1e - add r2, r5, #0 - add r2, r2, #0xa -._166: - strh r6, [r2] - sub r2, r2, #0x2 - cmp r2, r3 - bge ._166 @cond_branch - bl StringCopy - mov r0, #0x5 - strb r0, [r5, #0x3] - b ._173 -._169: - .align 2, 0 -._168: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 -._125: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r0, ._171 @ gSaveBlock1 - add r4, r4, r0 - add r5, sp, #0x1c - ldr r1, ._171 + 4 @ gUnknown_Debug_083C4C64 - add r0, r5, #0 - mov r2, #0x8 - bl memcpy - mov r0, #0x28 - strh r0, [r4, #0xc] - strh r0, [r4, #0xe] - mov r0, #0x3 - strb r0, [r4, #0x12] - mov r0, #0xff - strb r0, [r4, #0x10] - mov r0, #0x1 - strb r0, [r4, #0x11] - add r0, r4, #0 - add r0, r0, #0x13 - add r1, r5, #0 - bl StringCopy - mov r0, #0x5 - strb r0, [r4, #0x2] - b ._173 -._172: - .align 2, 0 -._171: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 -._126: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r0, ._174 @ gSaveBlock1 - add r4, r4, r0 - add r5, sp, #0x24 - ldr r1, ._174 + 4 @ gUnknown_Debug_083C4C64 - add r0, r5, #0 - mov r2, #0x8 - bl memcpy - mov r0, #0xff - strb r0, [r4, #0x2] - mov r0, #0x0 - strb r0, [r4, #0x3] - mov r0, #0x28 - strh r0, [r4, #0x4] - add r0, r4, #0 - add r0, r0, #0x13 - add r1, r5, #0 - bl StringCopy - mov r0, #0x5 - strb r0, [r4, #0x6] - b ._173 -._175: - .align 2, 0 -._174: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 -._127: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r0, ._176 @ gSaveBlock1 - add r4, r4, r0 - add r5, sp, #0x2c - ldr r1, ._176 + 4 @ gUnknown_Debug_083C4C64 - add r0, r5, #0 - mov r2, #0x8 - bl memcpy - ldr r0, ._176 + 8 @ 0xffff - strh r0, [r4, #0x2] - mov r0, #0x1 - neg r0, r0 - strh r0, [r4, #0x6] - mov r0, #0x28 - strh r0, [r4, #0x4] - strh r0, [r4, #0x8] - mov r0, #0x3 - strb r0, [r4, #0xa] - add r0, r4, #0 - add r0, r0, #0x13 - add r1, r5, #0 - bl StringCopy - mov r0, #0x5 - strb r0, [r4, #0xb] -._173: - add sp, sp, #0x34 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._177: - .align 2, 0 -._176: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 - .word 0xffff - - thumb_func_end debug_sub_808FA88 - - thumb_func_start debug_sub_808FEBC -debug_sub_808FEBC: - push {lr} - bl ClearTVShowData - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_808FEBC - - thumb_func_start debug_sub_808FECC -debug_sub_808FECC: - push {r4, lr} - ldr r1, ._178 @ gDebug_03000724 - mov r0, #0x0 - strb r0, [r1] - ldr r0, ._178 + 4 @ gUnknown_Debug_083C49CA - bl sub_8071F40 - mov r0, #0xd - mov r1, #0x6 - mov r2, #0x17 - mov r3, #0x8 - bl Menu_BlankWindowRect - ldr r0, ._178 + 8 @ gUnknown_Debug_083C4B24 - 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, ._178 + 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, ._178 + 16 @ gMenuCallback - ldr r0, ._178 + 20 @ debug_sub_808FF3C - str r0, [r1] - pop {r4} - pop {r0} - bx r0 -._179: - .align 2, 0 -._178: - .word gDebug_03000724 - .word gUnknown_Debug_083C49CA - .word gUnknown_Debug_083C4B24 - .word gStringVar1 - .word gMenuCallback - .word debug_sub_808FF3C+1 - - thumb_func_end debug_sub_808FECC - - thumb_func_start debug_sub_808FF3C -debug_sub_808FF3C: - push {r4, lr} - mov r2, #0x0 - ldr r0, ._192 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._180 @cond_branch - ldr r1, ._192 + 4 @ gDebug_03000725 - ldrb r0, [r1] - add r0, r0, #0x1 - strb r0, [r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x10 - bne ._181 @cond_branch - strb r2, [r1] -._181: - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._180: - ldr r0, ._192 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._182 @cond_branch - ldr r1, ._192 + 4 @ gDebug_03000725 - ldrb r0, [r1] - cmp r0, #0 - bne ._183 @cond_branch - mov r0, #0x10 - strb r0, [r1] -._183: - ldrb r0, [r1] - sub r0, r0, #0x1 - strb r0, [r1] - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._182: - ldr r0, ._192 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._184 @cond_branch - ldr r1, ._192 + 8 @ gDebug_03000724 - ldrb r0, [r1] - add r0, r0, #0x1 - strb r0, [r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x3 - bne ._185 @cond_branch - mov r0, #0x0 - strb r0, [r1] -._185: - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._184: - ldr r0, ._192 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._186 @cond_branch - ldr r1, ._192 + 8 @ gDebug_03000724 - ldrb r0, [r1] - cmp r0, #0 - bne ._187 @cond_branch - mov r0, #0x3 - strb r0, [r1] -._187: - ldrb r0, [r1] - sub r0, r0, #0x1 - strb r0, [r1] - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._186: - cmp r2, #0 - beq ._188 @cond_branch - mov r0, #0xd - mov r1, #0x6 - mov r2, #0x17 - mov r3, #0x8 - bl Menu_BlankWindowRect - ldr r1, ._192 + 12 @ gUnknown_Debug_083C4B24 - ldr r0, ._192 + 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, ._192 + 16 @ gStringVar1 - ldr r0, ._192 + 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 -._188: - ldr r4, ._192 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._189 @cond_branch - mov r0, #0x15 - bl PlaySE - ldr r0, ._192 + 4 @ gDebug_03000725 - ldrb r0, [r0] - ldr r2, ._192 + 20 @ gUnknown_Debug_083C4B20 - ldr r1, ._192 + 8 @ gDebug_03000724 - ldrb r1, [r1] - add r1, r1, r2 - ldrb r1, [r1] - bl debug_sub_8090080 -._189: - ldrh r1, [r4, #0x2e] - mov r0, #0xa - and r0, r0, r1 - cmp r0, #0 - bne ._190 @cond_branch - mov r0, #0x0 - b ._191 -._193: - .align 2, 0 -._192: - .word gMain - .word gDebug_03000725 - .word gDebug_03000724 - .word gUnknown_Debug_083C4B24 - .word gStringVar1 - .word gUnknown_Debug_083C4B20 -._190: - bl sub_80BEC40 - bl CloseMenu - mov r0, #0x1 -._191: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808FF3C - - thumb_func_start debug_sub_8090080 -debug_sub_8090080: - lsl r0, r0, #0x18 - ldr r2, ._194 @ gSaveBlock1 - lsr r0, r0, #0x16 - add r0, r0, r2 - ldr r3, ._194 + 4 @ 0x2abc - add r2, r0, r3 - strb r1, [r2] - ldr r1, ._194 + 8 @ 0x2abd - add r2, r0, r1 - mov r1, #0x1 - strb r1, [r2] - add r3, r3, #0x2 - add r0, r0, r3 - mov r1, #0x4 - strh r1, [r0] - bx lr -._195: - .align 2, 0 -._194: - .word gSaveBlock1 - .word 0x2abc - .word 0x2abd - - thumb_func_end debug_sub_8090080 - - thumb_func_start debug_sub_80900AC -debug_sub_80900AC: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r7, #0x0 - mov r5, #0x0 - ldr r0, ._202 @ gSaveBlock1 - mov r8, r0 -._198: - lsl r0, r5, #0x3 - add r0, r0, r5 - lsl r0, r0, #0x2 - mov r1, r8 - add r6, r0, r1 - ldr r1, ._202 + 4 @ 0x2738 - add r0, r6, r1 - ldrb r4, [r0] - cmp r4, #0 - bne ._196 @cond_branch - cmp r7, #0xc - bne ._197 @cond_branch - mov r7, #0x0 -._197: - ldr r0, ._202 + 8 @ gUnknown_Debug_083C4ABD - add r0, r7, r0 - ldrb r1, [r0] - add r0, r5, #0 - bl debug_sub_808FA88 - ldr r1, ._202 + 12 @ 0x2739 - add r0, r6, r1 - strb r4, [r0] - add r0, r7, #1 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._196: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x17 - bls ._198 @cond_branch - mov r7, #0x0 - mov r5, #0x0 -._201: - ldr r0, ._202 @ gSaveBlock1 - lsl r1, r5, #0x2 - add r1, r1, r0 - ldr r0, ._202 + 16 @ 0x2abc - add r1, r1, r0 - ldrb r0, [r1] - cmp r0, #0 - bne ._199 @cond_branch - cmp r7, #0x3 - bne ._200 @cond_branch - mov r7, #0x0 -._200: - ldr r0, ._202 + 20 @ gUnknown_Debug_083C4B20 - add r0, r7, r0 - ldrb r1, [r0] - add r0, r5, #0 - bl debug_sub_8090080 - add r0, r7, #1 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._199: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0xf - bls ._201 @cond_branch - bl CloseMenu - mov r0, #0x1 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._203: - .align 2, 0 -._202: - .word gSaveBlock1 - .word 0x2738 - .word gUnknown_Debug_083C4ABD - .word 0x2739 - .word 0x2abc - .word gUnknown_Debug_083C4B20 - - thumb_func_end debug_sub_80900AC - - thumb_func_start NoharaDebugMenu_Fan -NoharaDebugMenu_Fan: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xb - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._204 @ gUnknown_Debug_083C4D28 - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0xa - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._204 + 4 @ gMenuCallback - ldr r0, ._204 + 8 @ debug_sub_80901A4 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._205: - .align 2, 0 -._204: - .word gUnknown_Debug_083C4D28 - .word gMenuCallback - .word debug_sub_80901A4+1 - - thumb_func_end NoharaDebugMenu_Fan - - thumb_func_start debug_sub_80901A4 -debug_sub_80901A4: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._206 @cond_branch - add r0, r0, #0x1 - cmp r1, r0 - beq ._207 @cond_branch - ldr r2, ._209 @ gMenuCallback - ldr r0, ._209 + 4 @ gUnknown_Debug_083C4D28 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] -._206: - mov r0, #0x0 - b ._208 -._210: - .align 2, 0 -._209: - .word gMenuCallback - .word gUnknown_Debug_083C4D28 -._207: - bl CloseMenu - mov r0, #0x1 -._208: - pop {r1} - bx r1 - - thumb_func_end debug_sub_80901A4 - - thumb_func_start debug_sub_80901E4 -debug_sub_80901E4: - push {lr} - bl ResetFanClub - bl sub_810FAA0 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_80901E4 - - thumb_func_start debug_sub_80901F8 -debug_sub_80901F8: - push {lr} - bl sub_810FB9C - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._211 @ gUnknown_Debug_083C4CA8 - ldr r1, ._211 + 4 @ gUnknown_083F8408 - add r0, r0, r1 - ldrb r0, [r0] - sub r0, r0, #0x8 - lsl r0, r0, #0x2 - add r0, r0, r2 - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - ldr r1, ._211 + 8 @ gMenuCallback - ldr r0, ._211 + 12 @ debug_sub_8090278 - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._212: - .align 2, 0 -._211: - .word gUnknown_Debug_083C4CA8 - .word gUnknown_083F8408 - .word gMenuCallback - .word debug_sub_8090278+1 - - thumb_func_end debug_sub_80901F8 - - thumb_func_start debug_sub_8090238 -debug_sub_8090238: - push {lr} - bl sub_810FC18 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._213 @ gUnknown_Debug_083C4CA8 - ldr r1, ._213 + 4 @ gUnknown_083F8410 - add r0, r0, r1 - ldrb r0, [r0] - sub r0, r0, #0x8 - lsl r0, r0, #0x2 - add r0, r0, r2 - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - ldr r1, ._213 + 8 @ gMenuCallback - ldr r0, ._213 + 12 @ debug_sub_8090278 - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._214: - .align 2, 0 -._213: - .word gUnknown_Debug_083C4CA8 - .word gUnknown_083F8410 - .word gMenuCallback - .word debug_sub_8090278+1 - - thumb_func_end debug_sub_8090238 - - thumb_func_start debug_sub_8090278 -debug_sub_8090278: - push {lr} - ldr r0, ._217 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - bne ._215 @cond_branch - mov r0, #0x0 - b ._216 -._218: - .align 2, 0 -._217: - .word gMain -._215: - bl CloseMenu - mov r0, #0x1 -._216: - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090278 - - thumb_func_start debug_sub_809029C -debug_sub_809029C: - push {r4, lr} - ldr r4, ._219 @ gStringVar1 - ldr r0, ._219 + 4 @ gSaveBlock1 - ldr r1, ._219 + 8 @ 0x13c2 - add r0, r0, r1 - ldrh r0, [r0] - mov r1, #0x7f - and r1, r1, r0 - add r0, r4, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x10 - mov r2, #0x7 - bl Menu_PrintText - ldr r1, ._219 + 12 @ gMenuCallback - ldr r0, ._219 + 16 @ debug_sub_8090278 - str r0, [r1] - mov r0, #0x0 - pop {r4} - pop {r1} - bx r1 -._220: - .align 2, 0 -._219: - .word gStringVar1 - .word gSaveBlock1 - .word 0x13c2 - .word gMenuCallback - .word debug_sub_8090278+1 - - thumb_func_end debug_sub_809029C - - thumb_func_start debug_sub_80902E4 -debug_sub_80902E4: - push {lr} - ldr r1, ._221 @ gSaveBlock2 - ldrh r0, [r1, #0xe] - add r0, r0, #0x6 - strh r0, [r1, #0xe] - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._222: - .align 2, 0 -._221: - .word gSaveBlock2 - - thumb_func_end debug_sub_80902E4 - - thumb_func_start debug_sub_80902FC -debug_sub_80902FC: - push {lr} - mov r0, #0x0 - bl sub_810FB10 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_80902FC - - thumb_func_start debug_sub_8090310 -debug_sub_8090310: - push {lr} - mov r0, #0x1 - bl sub_810FB10 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090310 - - thumb_func_start debug_sub_8090324 -debug_sub_8090324: - push {lr} - mov r0, #0x2 - bl sub_810FB10 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090324 - - thumb_func_start debug_sub_8090338 -debug_sub_8090338: - push {lr} - mov r0, #0x3 - bl sub_810FB10 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090338 - - thumb_func_start NoharaDebugMenu_BattleVSDad -NoharaDebugMenu_BattleVSDad: - push {lr} - ldr r0, ._223 @ 0x4085 - mov r1, #0x6 - bl VarSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._224: - .align 2, 0 -._223: - .word 0x4085 - - thumb_func_end NoharaDebugMenu_BattleVSDad - - thumb_func_start NoharaDebugMenu_DadAfterBattle -NoharaDebugMenu_DadAfterBattle: - push {lr} - ldr r0, ._225 @ 0x4085 - mov r1, #0x7 - bl VarSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._226: - .align 2, 0 -._225: - .word 0x4085 - - thumb_func_end NoharaDebugMenu_DadAfterBattle - - thumb_func_start NoharaDebugMenu_SootopolisCity -NoharaDebugMenu_SootopolisCity: - push {lr} - mov r0, #0x81 - bl FlagSet - mov r0, #0x71 - bl FlagSet - ldr r0, ._227 @ 0x32f - bl FlagClear - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._228: - .align 2, 0 -._227: - .word 0x32f - - thumb_func_end NoharaDebugMenu_SootopolisCity - - thumb_func_start NoharaDebugMenu_Embark -NoharaDebugMenu_Embark: - push {lr} - ldr r0, ._229 @ 0x2e3 - bl FlagClear - ldr r0, ._229 + 4 @ 0x4090 - mov r1, #0x1 - bl VarSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._230: - .align 2, 0 -._229: - .word 0x2e3 - .word 0x4090 - - thumb_func_end NoharaDebugMenu_Embark - - thumb_func_start NoharaDebugMenu_Yes9999 -NoharaDebugMenu_Yes9999: - push {lr} - ldr r0, ._231 @ 0x4048 - ldr r1, ._231 + 4 @ 0x270f - bl VarSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._232: - .align 2, 0 -._231: - .word 0x4048 - .word 0x270f - - thumb_func_end NoharaDebugMenu_Yes9999 - - thumb_func_start NoharaDebugMenu_LegendsFlagOn -NoharaDebugMenu_LegendsFlagOn: - push {lr} - mov r0, #0xe4 - bl FlagSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end NoharaDebugMenu_LegendsFlagOn - - thumb_func_start NoharaDebugMenu_AddNumWinningStreaks -NoharaDebugMenu_AddNumWinningStreaks: - push {lr} - ldr r0, ._235 @ gSaveBlock2 - ldr r1, ._235 + 4 @ 0x572 - add r2, r0, r1 - ldrh r1, [r2] - cmp r1, #0x31 - bhi ._233 @cond_branch - mov r0, #0x32 - b ._244 -._236: - .align 2, 0 -._235: - .word gSaveBlock2 - .word 0x572 -._233: - cmp r1, #0x63 - bhi ._237 @cond_branch - mov r0, #0x64 - b ._244 -._237: - ldr r0, ._241 @ 0x3e7 - cmp r1, r0 - bhi ._239 @cond_branch - add r0, r0, #0x1 - b ._244 -._242: - .align 2, 0 -._241: - .word 0x3e7 -._239: - ldr r0, ._245 @ 0x1387 - cmp r1, r0 - bhi ._243 @cond_branch - ldr r0, ._245 + 4 @ 0x2706 - b ._244 -._246: - .align 2, 0 -._245: - .word 0x1387 - .word 0x2706 -._243: - ldr r0, ._248 @ 0x2705 - cmp r1, r0 - bhi ._247 @cond_branch - add r0, r0, #0xa -._244: - strh r0, [r2] -._247: - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._249: - .align 2, 0 -._248: - .word 0x2705 - - thumb_func_end NoharaDebugMenu_AddNumWinningStreaks - - .align 2, 0 - -.endif diff --git a/data/debug_menu_nohara.s b/data/debug_menu_nohara.s deleted file mode 100644 index 8556d0ff4..000000000 --- a/data/debug_menu_nohara.s +++ /dev/null @@ -1,253 +0,0 @@ - .include "include/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .if DEBUG - - .align 2 -gUnknown_Debug_083C48C4:: @ 0x83C48C4 - .string "TV$" - -gUnknown_Debug_083C48C7:: @ 0x83C48C7 - .string "Fan$" - -gUnknown_Debug_083C48CB:: @ 0x83C48CB - .string "Battle (vs Dad)$" - -gUnknown_Debug_083C48DB:: @ 0x83C48DB - .string "Dad after battle$" - -gUnknown_Debug_083C48EC:: @ 0x83C48EC - .string "SOOTOPOLIS CITY$" - -gUnknown_Debug_083C48FC:: @ 0x83C48FC - .string "Embark$" - -gUnknown_Debug_083C4903:: @ 0x83C4903 - .string "Yes 9999$" - -gUnknown_Debug_083C490C:: @ 0x83C490C - .string "Legends flag ON$" - -gUnknown_Debug_083C491C:: @ 0x83C491C - .string "Add num of winning streaks$" - - .align 2 -gUnknown_Debug_083C4938:: @ 0x83C4938 - .4byte gUnknown_Debug_083C48C4, NoharaDebugMenu_TV+1 - .4byte gUnknown_Debug_083C48C7, NoharaDebugMenu_Fan+1 - .4byte gUnknown_Debug_083C48CB, NoharaDebugMenu_BattleVSDad+1 - .4byte gUnknown_Debug_083C48DB, NoharaDebugMenu_DadAfterBattle+1 - .4byte gUnknown_Debug_083C48EC, NoharaDebugMenu_SootopolisCity+1 - .4byte gUnknown_Debug_083C48FC, NoharaDebugMenu_Embark+1 - .4byte gUnknown_Debug_083C4903, NoharaDebugMenu_Yes9999+1 - .4byte gUnknown_Debug_083C490C, NoharaDebugMenu_LegendsFlagOn+1 - .4byte gUnknown_Debug_083C491C, NoharaDebugMenu_AddNumWinningStreaks+1 - -gUnknown_Debug_083C4980:: @ 0x83C4980 - .string "Want to change data type{CLEAR_TO 143}Press Left\n" - .string "to see secret type now?{CLEAR_TO 143}to switch$" - -gUnknown_Debug_083C49CA:: @ 0x83C49CA - .string "Choose the TV data you wish to\n" - .string "create to check a transmission。$" - -gUnknown_Debug_083C4A09:: @ 0x83C4A09 - .string "ほうそうの はっせいりつを セット\n" - .string "してください ?ぶんの1に なります$" - -gUnknown_Debug_083C4A2E:: @ 0x83C4A2E - .string "SURVEY$" - -gUnknown_Debug_083C4A35:: @ 0x83C4A35 - .string "RECENT HAPPENINGS$" - -gUnknown_Debug_083C4A47:: @ 0x83C4A47 - .string "POKひMON FAN CLUB$" - -gUnknown_Debug_083C4A58:: @ 0x83C4A58 - .string "ジム$" - -gUnknown_Debug_083C4A5B:: @ 0x83C4A5B - .string "OUTBREAKS$" - -gUnknown_Debug_083C4A65:: @ 0x83C4A65 - .string "NAME RATER$" - -gUnknown_Debug_083C4A70:: @ 0x83C4A70 - .string "CONTEST$" - -gUnknown_Debug_083C4A78:: @ 0x83C4A78 - .string "INTRODUCTION$" - -gUnknown_Debug_083C4A85:: @ 0x83C4A85 - .string "SHOPPING$" - -gUnknown_Debug_083C4A8E:: @ 0x83C4A8E - .string "MISFORTUNE$" - -gUnknown_Debug_083C4A99:: @ 0x83C4A99 - .string "FISHING$" - -gUnknown_Debug_083C4AA1:: @ 0x83C4AA1 - .string "MEMORABLE DAY$" - -gUnknown_Debug_083C4AAF:: @ 0x83C4AAF - .string "BRAVO TRAINER$" - -gUnknown_Debug_083C4ABD:: @ 0x83C4ABD - .byte 1, 2, 3, 41, 5, 6, 21, 22, 23, 24, 25, 7, 0 - - .align 2 -gUnknown_Debug_083C4ACC:: - .4byte gUnknown_Debug_083C4A2E - .4byte gUnknown_Debug_083C4A35 - .4byte gUnknown_Debug_083C4A47 - .4byte gUnknown_Debug_083C4A5B - .4byte gUnknown_Debug_083C4A65 - .4byte gUnknown_Debug_083C4A70 - .4byte gUnknown_Debug_083C4A78 - .4byte gUnknown_Debug_083C4A85 - .4byte gUnknown_Debug_083C4A8E - .4byte gUnknown_Debug_083C4A99 - .4byte gUnknown_Debug_083C4AA1 - .4byte gUnknown_Debug_083C4AAF - -gDebugText_BigSale: - .string "BIG SALE$" - -gUnknown_Debug_083C4B05:: @ 0x83C4B05 - .string "SERVICE DAY$" - -gUnknown_Debug_083C4B11:: @ 0x83C4B11 - .string "CLEARーOUT SALE$" - -gUnknown_Debug_083C4B20:: @ 0x83C4B20 - .byte 1, 2, 3, 0 - - .align 2 -gUnknown_Debug_083C4B24:: - .4byte gDebugText_BigSale - .4byte gUnknown_Debug_083C4B05 - .4byte gUnknown_Debug_083C4B11 - -gUnknown_Debug_083C4B30:: @ 0x83C4B30 - .string "Secret type$" - -gUnknown_Debug_083C4B3C:: @ 0x83C4B3C - .string "Start$" - -gUnknown_Debug_083C4B42:: @ 0x83C4B42 - .string "Create TV$" - -gUnknown_Debug_083C4B4C:: @ 0x83C4B4C - .string "All clear$" - -gUnknown_Debug_083C4B56:: @ 0x83C4B56 - .string "All seen$" - -gUnknown_Debug_083C4B5F:: @ 0x83C4B5F - .string "Create CM$" - -gUnknown_Debug_083C4B69:: @ 0x83C4B69 - .string "Not yet seen$" - -gUnknown_Debug_083C4B76:: @ 0x83C4B76 - .string "Hit Table$" - -gUnknown_Debug_083C4B80:: @ 0x83C4B80 - .string "Set full$" - - .align 2 -gUnknown_Debug_083C4B8C:: @ 0x83C4B8C - .4byte gUnknown_Debug_083C4B30, debug_sub_808F4EC+1 - .4byte gUnknown_Debug_083C4B3C, debug_sub_808F8AC+1 - .4byte gUnknown_Debug_083C4B42, debug_sub_808F8CC+1 - .4byte gUnknown_Debug_083C4B4C, debug_sub_808FEBC+1 - .4byte gUnknown_Debug_083C4B56, debug_sub_808F560+1 - .4byte gUnknown_Debug_083C4B5F, debug_sub_808FECC+1 - .4byte gUnknown_Debug_083C4B69, debug_sub_808F594+1 - .4byte gUnknown_Debug_083C4B76, debug_sub_808F5D8+1 - .4byte gUnknown_Debug_083C4B80, debug_sub_80900AC+1 - -gUnknown_Debug_083C4BD4:: @ 0x83C4BD4 - .byte 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -gUnknown_Debug_083C4C64:: @ 0x83C4C64 - .string "TERUKUN$" - -gUnknown_Debug_083C4C6C:: @ 0x83C4C6C - .string "TERUTERUDA$" - -gUnknown_Debug_083C4C77:: @ 0x83C4C77 - .string "1 スクル$" - -gUnknown_Debug_083C4C7D:: @ 0x83C4C7D - .string "2 ミドル$" - -gUnknown_Debug_083C4C83:: @ 0x83C4C83 - .string "3 オジヨ$" - -gUnknown_Debug_083C4C89:: @ 0x83C4C89 - .string "4 ボーヤ$" - -gUnknown_Debug_083C4C8F:: @ 0x83C4C8F - .string "5 ボーイ$" - -gUnknown_Debug_083C4C95:: @ 0x83C4C95 - .string "6 ヤング$" - -gUnknown_Debug_083C4C9B:: @ 0x83C4C9B - .string "7 ヲーカ$" - -gUnknown_Debug_083C4CA1:: @ 0x83C4CA1 - .string "8 オルド$" - - .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 - -gUnknown_Debug_083C4CC8:: @ 0x83C4CC8 - .string "Start$" - -gUnknown_Debug_083C4CCE:: @ 0x83C4CCE - .string "Increase$" - -gUnknown_Debug_083C4CD7:: @ 0x83C4CD7 - .string "Reduce$" - -gUnknown_Debug_083C4CDE:: @ 0x83C4CDE - .string "Points$" - -gUnknown_Debug_083C4CE5:: @ 0x83C4CE5 - .string "Play time 6$" - -gUnknown_Debug_083C4CF1:: @ 0x83C4CF1 - .string "P ELITE FOUR$" - -gUnknown_Debug_083C4CFE:: @ 0x83C4CFE - .string "P SECRET BASE$" - -gUnknown_Debug_083C4D0C:: @ 0x83C4D0C - .string "P CONTEST$" - -gUnknown_Debug_083C4D16:: @ 0x83C4D16 - .string "P BATTLE TOWER$" - - .align 2 -gUnknown_Debug_083C4D28:: @ 0x83C4D28 - .4byte gUnknown_Debug_083C4CC8, debug_sub_80901E4+1 - .4byte gUnknown_Debug_083C4CCE, debug_sub_80901F8+1 - .4byte gUnknown_Debug_083C4CD7, debug_sub_8090238+1 - .4byte gUnknown_Debug_083C4CDE, debug_sub_809029C+1 - .4byte gUnknown_Debug_083C4CE5, debug_sub_80902E4+1 - .4byte gUnknown_Debug_083C4CF1, debug_sub_80902FC+1 - .4byte gUnknown_Debug_083C4CFE, debug_sub_8090310+1 - .4byte gUnknown_Debug_083C4D0C, debug_sub_8090324+1 - .4byte gUnknown_Debug_083C4D16, debug_sub_8090338+1 - - .endif diff --git a/include/field_specials.h b/include/field_specials.h index a8e8d3da7..6802fdafd 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -17,6 +17,9 @@ extern u8 gUnknown_0203925A; extern u8 gUnknown_0203925B; extern u8 gUnknown_0203925C; +extern const u8 gUnknown_083F8408[]; +extern const u8 gUnknown_083F8410[]; + void ResetCyclingRoadChallengeData(void); bool32 CountSSTidalStep(u16); u8 GetSSTidalLocation(s8 *, s8 *, s16 *, s16 *); @@ -27,5 +30,9 @@ u8 GetLeadMonIndex(void); void ResetFanClub(void); u8 sub_810FB10(u8 a0); void sub_810FEFC(void); +u16 GetSlotMachineId(void); +void sub_810FAA0(void); +int sub_810FB9C(void); +int sub_810FC18(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/global.h b/include/global.h index b61488545..38ba50a2c 100644 --- a/include/global.h +++ b/include/global.h @@ -337,7 +337,7 @@ struct TVShowBravoTrainerBattleTowerSpotlight /*0x01*/ bool8 active; /*0x02*/ u8 trainerName[8]; /*0x0A*/ u16 species; - /*0x0C*/ u8 pokemonName[8]; + /*0x0C*/ u8 enemyTrainerName[8]; /*0x14*/ u16 defeatedSpecies; /*0x16*/ u16 var16; /*0x18*/ u16 var18[1]; diff --git a/include/tv.h b/include/tv.h index 2edccb365..787f0e9c4 100644 --- a/include/tv.h +++ b/include/tv.h @@ -108,5 +108,7 @@ void sub_80C045C(); void sub_80BF088(u8, s32); void sub_80BFD20(void); void PutPokemonTodayCaughtOnAir(void); +u8 GetTVChannelByShowType(u8); +void sub_80BEC40(void); #endif // GUARD_TV_H diff --git a/ld_script.txt b/ld_script.txt index 0bacb1d50..33fdee0eb 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -116,7 +116,6 @@ SECTIONS { src/cable_club.o(.text); src/debug/tomomichi_debug_menu.o(.text); src/debug/nohara_debug_menu.o(.text); - asm/nohara_debug_menu.o(.text); src/debug/mori_debug_menu.o(.text); asm/taya_debug_window.o(.text); src/debug/taya_debug_window.o(.text); @@ -560,7 +559,7 @@ SECTIONS { src/battle/battle_setup.o(.rodata); src/cable_club.o(.rodata); src/debug/tomomichi_debug_menu.o(.rodata); - data/debug_menu_nohara.o(.rodata); + src/debug/nohara_debug_menu.o(.rodata); src/debug/mori_debug_menu.o(.rodata); data/debug_menu_taya.o(.rodata); src/trainer_see.o(.rodata); diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index b3885ff76..349e5111f 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -1,12 +1,965 @@ #if DEBUG #include "global.h" +#include "constants/flags.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/items.h" +#include "main.h" +#include "menu.h" +#include "start_menu.h" +#include "tv.h" +#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; -__attribute__((unused)) static u8 gDebug_03000726; +static u8 gDebug_03000724; +static u8 gDebug_03000725; +static u8 gDebug_03000726; -asm(".global gDebug_03000724"); -asm(".global gDebug_03000725"); -asm(".global gDebug_03000726"); +bool8 debug_sub_808F414(void); +bool8 NoharaDebugMenu_TV(void); +bool8 debug_sub_808F4AC(void); +void debug_sub_808F4EC(void); +bool8 debug_sub_808F560(void); +bool8 debug_sub_808F594(void); +bool8 debug_sub_808F5D8(void); +bool8 debug_sub_808F648(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); +bool8 debug_sub_808FEBC(void); +void debug_sub_808FECC(void); +bool8 debug_sub_808FF3C(void); +void debug_sub_8090080(u8, u8); +bool8 debug_sub_80900AC(void); +bool8 NoharaDebugMenu_Fan(void); +bool8 debug_sub_80901A4(void); +bool8 debug_sub_80901E4(void); +bool8 debug_sub_80901F8(void); +bool8 debug_sub_8090238(void); +bool8 debug_sub_809029C(void); +bool8 debug_sub_80902E4(void); +bool8 debug_sub_80902FC(void); +bool8 debug_sub_8090310(void); +bool8 debug_sub_8090324(void); +bool8 debug_sub_8090338(void); +bool8 debug_sub_8090278(void); +bool8 NoharaDebugMenu_BattleVSDad(void); +bool8 NoharaDebugMenu_DadAfterBattle(void); +bool8 NoharaDebugMenu_SootopolisCity(void); +bool8 NoharaDebugMenu_Embark(void); +bool8 NoharaDebugMenu_Yes9999(void); +bool8 NoharaDebugMenu_LegendsFlagOn(void); +bool8 NoharaDebugMenu_AddNumWinningStreaks(void); + +const u8 gUnknown_Debug_083C48C4[] = _("TV"); +const u8 gUnknown_Debug_083C48C7[] = _("Fan"); +const u8 gUnknown_Debug_083C48CB[] = _("Battle (vs Dad)"); +const u8 gUnknown_Debug_083C48DB[] = _("Dad after battle"); +const u8 gUnknown_Debug_083C48EC[] = _("SOOTOPOLIS CITY"); +const u8 gUnknown_Debug_083C48FC[] = _("Embark"); +const u8 gUnknown_Debug_083C4903[] = _("Yes 9999"); +const u8 gUnknown_Debug_083C490C[] = _("Legends flag ON"); +const u8 gUnknown_Debug_083C491C[] = _("Add num of winning streaks"); + +const struct MenuAction gUnknown_Debug_083C4938[] = { + {gUnknown_Debug_083C48C4, NoharaDebugMenu_TV}, + {gUnknown_Debug_083C48C7, NoharaDebugMenu_Fan}, + {gUnknown_Debug_083C48CB, NoharaDebugMenu_BattleVSDad}, + {gUnknown_Debug_083C48DB, NoharaDebugMenu_DadAfterBattle}, + {gUnknown_Debug_083C48EC, NoharaDebugMenu_SootopolisCity}, + {gUnknown_Debug_083C48FC, NoharaDebugMenu_Embark}, + {gUnknown_Debug_083C4903, NoharaDebugMenu_Yes9999}, + {gUnknown_Debug_083C490C, NoharaDebugMenu_LegendsFlagOn}, + {gUnknown_Debug_083C491C, NoharaDebugMenu_AddNumWinningStreaks} +}; + +bool8 InitNoharaDebugMenu(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 19, 19); + Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4938), gUnknown_Debug_083C4938); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4938), 0, 18); + gMenuCallback = debug_sub_808F414; + return FALSE; +} + +bool8 debug_sub_808F414(void) +{ + s8 input = Menu_ProcessInput(); + switch (input) + { + default: + gMenuCallback = gUnknown_Debug_083C4938[input].func; + return FALSE; + case -2: + return FALSE; + case -1: + CloseMenu(); + return TRUE; + } +} + +const u8 gUnknown_Debug_083C4980[] = _("Want to change data type{CLEAR_TO 143}Press Left\n" + "to see secret type now?{CLEAR_TO 143}to switch"); + +const u8 gUnknown_Debug_083C49CA[] = _("Choose the TV data you wish to\n" + "create to check a transmission。"); + +const u8 gUnknown_Debug_083C4A09[] = _("ほうそうの はっせいりつを セット\n" + "してください ?ぶんの1に なります"); + +const u8 gUnknown_Debug_083C4A2E[] = _("SURVEY"); +const u8 gUnknown_Debug_083C4A35[] = _("RECENT HAPPENINGS"); +const u8 gUnknown_Debug_083C4A47[] = _("POKひMON FAN CLUB"); +const u8 gUnknown_Debug_083C4A58[] = _("ジム"); +const u8 gUnknown_Debug_083C4A5B[] = _("OUTBREAKS"); +const u8 gUnknown_Debug_083C4A65[] = _("NAME RATER"); +const u8 gUnknown_Debug_083C4A70[] = _("CONTEST"); +const u8 gUnknown_Debug_083C4A78[] = _("INTRODUCTION"); +const u8 gUnknown_Debug_083C4A85[] = _("SHOPPING"); +const u8 gUnknown_Debug_083C4A8E[] = _("MISFORTUNE"); +const u8 gUnknown_Debug_083C4A99[] = _("FISHING"); +const u8 gUnknown_Debug_083C4AA1[] = _("MEMORABLE DAY"); +const u8 gUnknown_Debug_083C4AAF[] = _("BRAVO TRAINER"); + +const u8 gUnknown_Debug_083C4ABD[] = { + TVSHOW_FAN_CLUB_LETTER, + TVSHOW_RECENT_HAPPENINGS, + TVSHOW_PKMN_FAN_CLUB_OPINIONS, + TVSHOW_MASS_OUTBREAK, + TVSHOW_NAME_RATER_SHOW, + TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE, + TVSHOW_POKEMON_TODAY_CAUGHT, + TVSHOW_SMART_SHOPPER, + TVSHOW_POKEMON_TODAY_FAILED, + TVSHOW_FISHING_ADVICE, + TVSHOW_WORLD_OF_MASTERS, + TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE +}; + +const u8 *const gUnknown_Debug_083C4ACC[] = { + gUnknown_Debug_083C4A2E, + gUnknown_Debug_083C4A35, + gUnknown_Debug_083C4A47, + gUnknown_Debug_083C4A5B, + gUnknown_Debug_083C4A65, + gUnknown_Debug_083C4A70, + gUnknown_Debug_083C4A78, + gUnknown_Debug_083C4A85, + gUnknown_Debug_083C4A8E, + gUnknown_Debug_083C4A99, + gUnknown_Debug_083C4AA1, + gUnknown_Debug_083C4AAF +}; + +const u8 gDebugText_BigSale[] = _("BIG SALE"); + +const u8 gUnknown_Debug_083C4B05[] = _("SERVICE DAY"); +const u8 gUnknown_Debug_083C4B11[] = _("CLEARーOUT SALE"); +const u8 gUnknown_Debug_083C4B20[] = {1, 2, 3}; + +const u8 *const gUnknown_Debug_083C4B24[] = { + gDebugText_BigSale, + gUnknown_Debug_083C4B05, + gUnknown_Debug_083C4B11 +}; + +const u8 gUnknown_Debug_083C4B30[] = _("Secret type"); +const u8 gUnknown_Debug_083C4B3C[] = _("Start"); +const u8 gUnknown_Debug_083C4B42[] = _("Create TV"); +const u8 gUnknown_Debug_083C4B4C[] = _("All clear"); +const u8 gUnknown_Debug_083C4B56[] = _("All seen"); +const u8 gUnknown_Debug_083C4B5F[] = _("Create CM"); +const u8 gUnknown_Debug_083C4B69[] = _("Not yet seen"); +const u8 gUnknown_Debug_083C4B76[] = _("Hit Table"); +const u8 gUnknown_Debug_083C4B80[] = _("Set full"); + +// Normaly these would be struct MenuAction, but the prototype of +// member .func is not consistent. +const struct { + const u8 * text; + void *func; +} gUnknown_Debug_083C4B8C[] = { + {gUnknown_Debug_083C4B30, debug_sub_808F4EC}, + {gUnknown_Debug_083C4B3C, debug_sub_808F8AC}, + {gUnknown_Debug_083C4B42, debug_sub_808F8CC}, + {gUnknown_Debug_083C4B4C, debug_sub_808FEBC}, + {gUnknown_Debug_083C4B56, debug_sub_808F560}, + {gUnknown_Debug_083C4B5F, debug_sub_808FECC}, + {gUnknown_Debug_083C4B69, debug_sub_808F594}, + {gUnknown_Debug_083C4B76, debug_sub_808F5D8}, + {gUnknown_Debug_083C4B80, debug_sub_80900AC} +}; + +bool8 NoharaDebugMenu_TV(void) +{ + gDebug_03000726 = 0; + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 10, 19); + Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4B8C), gUnknown_Debug_083C4B8C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4B8C), 0, 9); + gMenuCallback = debug_sub_808F4AC; + return FALSE; +} + +bool8 debug_sub_808F4AC(void) +{ + s8 input = Menu_ProcessInput(); + switch (input) + { + default: + gMenuCallback = (MenuFunc)gUnknown_Debug_083C4B8C[input].func; + return FALSE; + case -2: + return FALSE; + case -1: + CloseMenu(); + return TRUE; + } +} + +void debug_sub_808F4EC(void) +{ + debug_sub_808F6BC(); + sub_8071F40(gUnknown_Debug_083C4980); + DisplayYesNoMenu(3, 3, 1); + gMenuCallback = debug_sub_808F648; +} + +void debug_sub_808F518(void) +{ + u8 i; + + for (i = 0; i < 24; i++) + { + if (gSaveBlock1.tvShows[i].common.kind >= TVSHOW_POKEMON_TODAY_CAUGHT && + gSaveBlock1.tvShows[i].common.kind < TVSHOW_MASS_OUTBREAK && + !gSaveBlock1.tvShows[i].common.active) + gSaveBlock1.tvShows[i].common.active = TRUE; + } +} + +bool8 debug_sub_808F560(void) +{ + u8 i; + + for (i = 0; i < 24; i++) + gSaveBlock1.tvShows[i].common.active = FALSE; + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808F594(void) +{ + u8 i; + + for (i = 0; i < 24; i++) + { + if (gSaveBlock1.tvShows[i].common.kind != 0) + gSaveBlock1.tvShows[i].common.active = TRUE; + } + CloseMenu(); + return TRUE; +} + +const u8 gUnknown_Debug_083C4BD4[][12] = { + {0x0C, 0x04}, + {0x0C, 0x08}, + {0x0C, 0x0A}, + {0x0E, 0x06}, + {0x0E, 0x08}, + {0x0E, 0x0A}, + {0x10, 0x04}, + {0x10, 0x06}, + {0x10, 0x0A}, + {0x12, 0x04}, + {0x12, 0x06}, + {0x12, 0x0A} +}; + +bool8 debug_sub_808F5D8(void) +{ + u8 i; + + for (i = 0; i < 12; i++) + { + gSpecialVar_0x8004 = i; + ConvertIntToDecimalStringN(gStringVar1, GetSlotMachineId(), STR_CONV_MODE_LEFT_ALIGN, 1); + Menu_PrintText(gStringVar1, gUnknown_Debug_083C4BD4[i][0], gUnknown_Debug_083C4BD4[i][1]); + } + gSpecialVar_0x8004 = 0; + gMenuCallback = debug_sub_8090278; + return FALSE; +} + +bool8 debug_sub_808F648(void) +{ + if (gMain.newKeys & DPAD_LEFT) + { + Menu_EraseWindowRect(10, 0, 29, 13); + gDebug_03000726 ^= 1; + if (gDebug_03000726) + debug_sub_808F7B4(); + else + debug_sub_808F6BC(); + return FALSE; + } + else + { + s8 input = Menu_ProcessInputNoWrap_(); + switch (input) + { + case -2: + return FALSE; + case 0: + debug_sub_808F518(); + // fallthrough + case -1: + default: + CloseMenu(); + return TRUE; + } + } +} + +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; +} + +void debug_sub_808FA88(u8 a0, u8 a1) +{ + u8 i; + u8 leadMonIndex = GetLeadMonIndex(); + u8 channel; + + gSaveBlock1.tvShows[a0].common.kind = a1; + gSaveBlock1.tvShows[a0].common.active = TRUE; + for (i = 0; i < 0x22; i++) + gSaveBlock1.tvShows[a0].common.pad02[i] = 1; + + channel = GetTVChannelByShowType(a1); + switch (channel) + { + case 2: + case 4: + sub_80BE160(gSaveBlock1.tvShows + a0); + break; + case 3: + sub_80BE138(gSaveBlock1.tvShows + a0); + break; + } + + switch (a1) + { + case TVSHOW_FAN_CLUB_LETTER: + case TVSHOW_RECENT_HAPPENINGS: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->fanclubLetter.species = SPECIES_BULBASAUR; + StringCopy(gSaveBlock1.tvShows[a0].fanclubLetter.playerName, gSaveBlock2.playerName); + show->fanclubLetter.language = GAME_LANGUAGE; + break; + } + case TVSHOW_PKMN_FAN_CLUB_OPINIONS: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->fanclubOpinions.var02 = 1; + StringCopy(gSaveBlock1.tvShows[a0].fanclubOpinions.playerName, gSaveBlock2.playerName); + GetMonData(gPlayerParty + leadMonIndex, MON_DATA_NICKNAME, gSaveBlock1.tvShows[a0].fanclubOpinions.var10); + show->fanclubOpinions.language = GAME_LANGUAGE; + show->fanclubOpinions.var0E = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_LANGUAGE); + break; + } + case TVSHOW_UNKN_SHOWTYPE_04: + { + break; + } + case TVSHOW_NAME_RATER_SHOW: + { + u16 species = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_SPECIES); + TVShow * show = gSaveBlock1.tvShows + a0; + + show->nameRaterShow.species = species; + show->nameRaterShow.var1C = 1; + StringCopy(gSaveBlock1.tvShows[a0].nameRaterShow.trainerName, gSaveBlock2.playerName); + GetMonData(gPlayerParty + leadMonIndex, MON_DATA_NICKNAME, gSaveBlock1.tvShows[a0].nameRaterShow.pokemonName); + show->nameRaterShow.language = GAME_LANGUAGE; + show->nameRaterShow.pokemonNameLanguage = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_LANGUAGE); + break; + } + case TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->bravoTrainer.species = SPECIES_BULBASAUR; + StringCopy(gSaveBlock1.tvShows[a0].bravoTrainer.playerName, gSaveBlock2.playerName); + GetMonData(gPlayerParty + leadMonIndex, MON_DATA_NICKNAME, gSaveBlock1.tvShows[a0].bravoTrainer.pokemonNickname); + show->bravoTrainer.language = GAME_LANGUAGE; + show->bravoTrainer.var1f = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_LANGUAGE); + break; + } + case TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->bravoTrainerTower.species = SPECIES_BULBASAUR; + show->bravoTrainerTower.defeatedSpecies = SPECIES_BULBASAUR; + StringCopy(gSaveBlock1.tvShows[a0].bravoTrainerTower.trainerName, gSaveBlock2.playerName); + StringCopy(gSaveBlock1.tvShows[a0].bravoTrainerTower.enemyTrainerName, gSaveBlock2.playerName); + show->bravoTrainerTower.language = GAME_LANGUAGE; + break; + } + case TVSHOW_MASS_OUTBREAK: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->massOutbreak.species = SPECIES_BULBASAUR; + show->massOutbreak.daysLeft = 1; + break; + } + case TVSHOW_POKEMON_TODAY_CAUGHT: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + u8 gUnknown_Debug_083C4C6C[] = _("TERUTERUDA"); + + show->pokemonToday.var12 = 255; + StringCopy(show->pokemonToday.playerName, gUnknown_Debug_083C4C64); + StringCopy(show->pokemonToday.nickname, gUnknown_Debug_083C4C6C); + show->pokemonToday.ball = ITEM_PREMIER_BALL; + show->pokemonToday.species = SPECIES_WIGGLYTUFF; + show->pokemonToday.language = GAME_LANGUAGE; + show->pokemonToday.language2 = GAME_LANGUAGE; + break; + } + case TVSHOW_SMART_SHOPPER: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + int ii; + + for (ii = 0; ii < 3; ii++) + show->smartshopperShow.itemAmounts[ii] = 254; + show->smartshopperShow.priceReduced = TRUE; + show->smartshopperShow.shopLocation = 40; + for (ii = 0; ii < 3; ii++) + show->smartshopperShow.itemIds[ii] = ITEM_ENERGY_POWDER; + StringCopy(show->smartshopperShow.playerName, gUnknown_Debug_083C4C64); + show->smartshopperShow.language = GAME_LANGUAGE; + break; + } + case TVSHOW_POKEMON_TODAY_FAILED: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + + show->pokemonTodayFailed.species = SPECIES_WIGGLYTUFF; + show->pokemonTodayFailed.species2 = SPECIES_WIGGLYTUFF; + show->pokemonTodayFailed.var12 = 3; + show->pokemonTodayFailed.var10 = 0xff; + show->pokemonTodayFailed.var11 = 1; + StringCopy(show->pokemonTodayFailed.playerName, gUnknown_Debug_083C4C64); + show->pokemonTodayFailed.language = GAME_LANGUAGE; + break; + } + case TVSHOW_FISHING_ADVICE: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + + show->pokemonAngler.var02 = 0xff; + show->pokemonAngler.var03 = 0; + show->pokemonAngler.var04 = 40; + StringCopy(show->pokemonAngler.playerName, gUnknown_Debug_083C4C64); + show->pokemonAngler.language = GAME_LANGUAGE; + break; + } + case TVSHOW_WORLD_OF_MASTERS: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + + show->worldOfMasters.var02 = 0xffff; + show->worldOfMasters.var06 = 0xffff; + show->worldOfMasters.var04 = 40; + show->worldOfMasters.var08 = 40; + show->worldOfMasters.var0a = 3; + StringCopy(show->worldOfMasters.playerName, gUnknown_Debug_083C4C64); + show->worldOfMasters.language = GAME_LANGUAGE; + break; + } + + } +} + +bool8 debug_sub_808FEBC(void) +{ + ClearTVShowData(); + CloseMenu(); + return TRUE; +} + +void debug_sub_808FECC(void) +{ + gDebug_03000724 = 0; + sub_8071F40(gUnknown_Debug_083C49CA); + Menu_BlankWindowRect(13, 6, 23, 8); + Menu_PrintText(gUnknown_Debug_083C4B24[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_808FF3C; +} + +bool8 debug_sub_808FF3C(void) +{ + bool8 updateDisplay = FALSE; + + if (gMain.newKeys & DPAD_UP) + { + gDebug_03000725++; + if (gDebug_03000725 == 16) + gDebug_03000725 = 0; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + + if (gMain.newKeys & DPAD_DOWN) + { + if (gDebug_03000725 == 0) + gDebug_03000725 = 16; + gDebug_03000725--; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + + if (gMain.newKeys & DPAD_RIGHT) + { + gDebug_03000724++; + if (gDebug_03000724 == 3) + gDebug_03000724 = 0; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + + if (gMain.newKeys & DPAD_LEFT) + { + if (gDebug_03000724 == 0) + gDebug_03000724 = 3; + gDebug_03000724--; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + + if (updateDisplay) + { + Menu_BlankWindowRect(13, 6, 23, 8); + Menu_PrintText(gUnknown_Debug_083C4B24[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_8090080(gDebug_03000725, gUnknown_Debug_083C4B20[gDebug_03000724]); + } + + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + sub_80BEC40(); + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +void debug_sub_8090080(u8 a0, u8 a1) +{ + gSaveBlock1.pokeNews[a0].kind = a1; + gSaveBlock1.pokeNews[a0].state = 1; + gSaveBlock1.pokeNews[a0].days = 4; +} + +bool8 debug_sub_80900AC(void) +{ + u8 i; + u8 j; + + j = 0; + for (i = 0; i < 24; i++) + { + if (gSaveBlock1.tvShows[i].common.kind == 0) + { + if (j == 12) + j = 0; + debug_sub_808FA88(i, gUnknown_Debug_083C4ABD[j]); + gSaveBlock1.tvShows[i].common.active = FALSE; + j++; + } + } + + j = 0; + for (i = 0; i < 16; i++) + { + if (gSaveBlock1.pokeNews[i].kind == 0) + { + if (j == 3) + j = 0; + debug_sub_8090080(i, gUnknown_Debug_083C4B20[j]); + j++; + } + } + + CloseMenu(); + return TRUE; +} + +const u8 gUnknown_Debug_083C4C77[] = _("1 スクル"); +const u8 gUnknown_Debug_083C4C7D[] = _("2 ミドル"); +const u8 gUnknown_Debug_083C4C83[] = _("3 オジヨ"); +const u8 gUnknown_Debug_083C4C89[] = _("4 ボーヤ"); +const u8 gUnknown_Debug_083C4C8F[] = _("5 ボーイ"); +const u8 gUnknown_Debug_083C4C95[] = _("6 ヤング"); +const u8 gUnknown_Debug_083C4C9B[] = _("7 ヲーカ"); +const u8 gUnknown_Debug_083C4CA1[] = _("8 オルド"); + +const u8 *const gUnknown_Debug_083C4CA8[] = { + gUnknown_Debug_083C4C77, + gUnknown_Debug_083C4C7D, + gUnknown_Debug_083C4C83, + gUnknown_Debug_083C4C89, + gUnknown_Debug_083C4C8F, + gUnknown_Debug_083C4C95, + gUnknown_Debug_083C4C9B, + gUnknown_Debug_083C4CA1 +}; + +const u8 gUnknown_Debug_083C4CC8[] = _("Start"); +const u8 gUnknown_Debug_083C4CCE[] = _("Increase"); +const u8 gUnknown_Debug_083C4CD7[] = _("Reduce"); +const u8 gUnknown_Debug_083C4CDE[] = _("Points"); +const u8 gUnknown_Debug_083C4CE5[] = _("Play time 6"); +const u8 gUnknown_Debug_083C4CF1[] = _("P ELITE FOUR"); +const u8 gUnknown_Debug_083C4CFE[] = _("P SECRET BASE"); +const u8 gUnknown_Debug_083C4D0C[] = _("P CONTEST"); +const u8 gUnknown_Debug_083C4D16[] = _("P BATTLE TOWER"); + +const struct MenuAction gUnknown_Debug_083C4D28[] = { + {gUnknown_Debug_083C4CC8, debug_sub_80901E4}, + {gUnknown_Debug_083C4CCE, debug_sub_80901F8}, + {gUnknown_Debug_083C4CD7, debug_sub_8090238}, + {gUnknown_Debug_083C4CDE, debug_sub_809029C}, + {gUnknown_Debug_083C4CE5, debug_sub_80902E4}, + {gUnknown_Debug_083C4CF1, debug_sub_80902FC}, + {gUnknown_Debug_083C4CFE, debug_sub_8090310}, + {gUnknown_Debug_083C4D0C, debug_sub_8090324}, + {gUnknown_Debug_083C4D16, debug_sub_8090338} +}; + +bool8 NoharaDebugMenu_Fan(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 11, 19); + Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4D28), gUnknown_Debug_083C4D28); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4D28), 0, 10); + gMenuCallback = debug_sub_80901A4; + return FALSE; +} + +bool8 debug_sub_80901A4(void) +{ + s8 input = Menu_ProcessInput(); + switch (input) + { + default: + gMenuCallback = gUnknown_Debug_083C4D28[input].func; + return FALSE; + case -2: + return FALSE; + case -1: + CloseMenu(); + return TRUE; + } +} + +bool8 debug_sub_80901E4(void) +{ + ResetFanClub(); + sub_810FAA0(); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_80901F8(void) +{ + u8 r0 = sub_810FB9C(); + Menu_PrintText(gUnknown_Debug_083C4CA8[gUnknown_083F8408[r0] - 8], 14, 7); + gMenuCallback = debug_sub_8090278; + return FALSE; +} + +bool8 debug_sub_8090238(void) +{ + u8 r0 = sub_810FC18(); + Menu_PrintText(gUnknown_Debug_083C4CA8[gUnknown_083F8410[r0] - 8], 14, 7); + gMenuCallback = debug_sub_8090278; + return FALSE; +} + +bool8 debug_sub_8090278(void) +{ + if (gMain.newKeys & A_BUTTON) + { + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +bool8 debug_sub_809029C(void) +{ + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 16, 7); + gMenuCallback = debug_sub_8090278; + return FALSE; +} + +bool8 debug_sub_80902E4(void) +{ + gSaveBlock2.playTimeHours += 6; + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_80902FC(void) +{ + sub_810FB10(0); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_8090310(void) +{ + sub_810FB10(1); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_8090324(void) +{ + sub_810FB10(2); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_8090338(void) +{ + sub_810FB10(3); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_BattleVSDad(void) +{ + VarSet(VAR_PETALBURG_GYM_STATE, 6); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_DadAfterBattle(void) +{ + VarSet(VAR_PETALBURG_GYM_STATE, 7); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_SootopolisCity(void) +{ + FlagSet(FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN); + FlagSet(FLAG_LEGENDARY_BATTLE_COMPLETED); + FlagClear(FLAG_HIDE_WALLACE_SOOTOPOLIS_GYM); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_Embark(void) +{ + FlagClear(FLAG_HIDE_MR_BRINEY_ROUTE104_HOUSE); + VarSet(VAR_BRINEY_HOUSE_STATE, 1); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_Yes9999(void) +{ + VarSet(VAR_ASH_GATHER_COUNT, 9999); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_LegendsFlagOn(void) +{ + FlagSet(FLAG_REGI_DOORS_OPENED); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_AddNumWinningStreaks(void) +{ + if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 50) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 50; + else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 100) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 100; + else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 1000) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 1000; + else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 5000) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9990; + else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 9990) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9999; + CloseMenu(); + return TRUE; +} #endif diff --git a/src/field_specials.c b/src/field_specials.c index eff623548..a4b891dbe 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1793,7 +1793,7 @@ const u8 gUnknown_083F83E0[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; const u8 gUnknown_083F83EC[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; const u8 gUnknown_083F83F8[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; -u8 GetSlotMachineId(void) +u16 GetSlotMachineId(void) { u32 v0 = gSaveBlock1.easyChatPairs[0].unk0_0 + gSaveBlock1.easyChatPairs[0].unk2 + gUnknown_083F83E0[gSpecialVar_0x8004]; if (GetPriceReduction(2)) @@ -1004,7 +1004,7 @@ void InterviewAfter_BravoTrainerBattleTowerProfile(void) bravoTrainerTower->kind = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE; bravoTrainerTower->active = 1; StringCopy(bravoTrainerTower->trainerName, gSaveBlock2.playerName); - StringCopy(bravoTrainerTower->pokemonName, gSaveBlock2.battleTower.defeatedByTrainerName); + StringCopy(bravoTrainerTower->enemyTrainerName, gSaveBlock2.battleTower.defeatedByTrainerName); bravoTrainerTower->species = gSaveBlock2.battleTower.firstMonSpecies; bravoTrainerTower->defeatedSpecies = gSaveBlock2.battleTower.defeatedBySpecies; bravoTrainerTower->var16 = GetCurrentBattleTowerWinStreak(gSaveBlock2.battleTower.lastStreakLevelType); @@ -2968,7 +2968,7 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) sTVShowState = 4; break; case 2: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); sub_80BF088(1, bravoTrainerTower->var16 + 1); if (bravoTrainerTower->var1b == 0) sTVShowState = 5; @@ -2976,7 +2976,7 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) sTVShowState = 6; break; case 3: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); StringCopy(gStringVar2, gSpeciesNames[bravoTrainerTower->defeatedSpecies]); if (bravoTrainerTower->var1b == 0) sTVShowState = 5; @@ -2984,7 +2984,7 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) sTVShowState = 6; break; case 4: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); StringCopy(gStringVar2, gSpeciesNames[bravoTrainerTower->defeatedSpecies]); if (bravoTrainerTower->var1b == 0) sTVShowState = 5; @@ -2992,11 +2992,11 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) sTVShowState = 6; break; case 5: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); sTVShowState = 11; break; case 6: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); sTVShowState = 11; break; case 7: @@ -3019,7 +3019,7 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) case 13: EasyChat_GetWordText(gStringVar1, bravoTrainerTower->var18[0]); TVShowConvertInternationalString(gStringVar2, bravoTrainerTower->trainerName, bravoTrainerTower->language); - TVShowConvertInternationalString(gStringVar3, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar3, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); sTVShowState = 14; break; case 14: |