diff options
Diffstat (limited to 'asm/taya_debug_window.s')
-rw-r--r-- | asm/taya_debug_window.s | 2054 |
1 files changed, 2054 insertions, 0 deletions
diff --git a/asm/taya_debug_window.s b/asm/taya_debug_window.s new file mode 100644 index 000000000..68d27390d --- /dev/null +++ b/asm/taya_debug_window.s @@ -0,0 +1,2054 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start TayaDebugMenu_Trend +TayaDebugMenu_Trend: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xffffffd8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1e + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r5, ._3 @ gSaveBlock1 + mov r7, #0x0 + mov r0, #0x1 + add r0, r0, sp + mov sl, r0 + mov r9, sp + mov r0, #0x0 + mov r8, r0 + add r6, sp, #0x20 +._2: + ldrb r1, [r5, #0x1] + mov r0, #0x40 + and r0, r0, r1 + mov r1, #0xa1 + cmp r0, #0 + beq ._1 @cond_branch + mov r1, #0xa2 +._1: + mov r0, r9 + strb r1, [r0] + ldrh r1, [r5, #0x4] + add r0, r6, #0 + bl EasyChat_GetWordText + mov r0, sl + add r1, r6, #0 + mov r2, #0x0 + mov r3, #0x7 + bl StringCopyPadded + add r4, r0, #0 + ldrh r1, [r5, #0x6] + add r0, r6, #0 + bl EasyChat_GetWordText + add r0, r4, #0 + add r1, r6, #0 + mov r2, #0x0 + mov r3, #0x8 + bl StringCopyPadded + add r4, r0, #0 + ldrb r1, [r5] + lsl r1, r1, #0x19 + lsr r1, r1, #0x19 + mov r2, #0x1 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r4, r0, #0 + mov r0, r8 + strb r0, [r4] + add r4, r4, #0x1 + ldrh r1, [r5] + lsl r1, r1, #0x12 + lsr r1, r1, #0x19 + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r4, r0, #0 + mov r0, r8 + strb r0, [r4] + add r4, r4, #0x1 + ldrh r1, [r5, #0x2] + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + lsl r2, r7, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x1 + bl Menu_PrintText + add r5, r5, #0x8 + add r0, r7, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + cmp r7, #0x4 + bls ._2 @cond_branch + ldr r1, ._3 + 4 @ gMenuCallback + ldr r0, ._3 + 8 @ debug_sub_8090808 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x28 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._4: + .align 2, 0 +._3: + .word gSaveBlock1+0x2dd4 + .word gMenuCallback + .word debug_sub_8090808+1 + + thumb_func_end TayaDebugMenu_Trend + + thumb_func_start debug_sub_8090808 +debug_sub_8090808: + push {lr} + ldr r0, ._7 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x3 + and r0, r0, r1 + cmp r0, #0 + bne ._5 @cond_branch + mov r0, #0x0 + b ._6 +._8: + .align 2, 0 +._7: + .word gMain +._5: + bl Menu_EraseScreen + bl CloseMenu + mov r0, #0x1 +._6: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090808 + + thumb_func_start TayaDebugMenu_TrendR +TayaDebugMenu_TrendR: + push {r4, r5, r6, r7, lr} + mov r0, #0x0 + ldr r7, ._11 @ gSaveBlock1 +._10: + mov r4, #0x0 + lsl r5, r0, #0x3 + add r6, r0, #1 +._9: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x16 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_80EB72C + lsl r1, r4, #0x1 + add r1, r1, r5 + add r1, r1, r7 + strh r0, [r1] + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x1 + bls ._9 @cond_branch + lsl r0, r6, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x4 + bls ._10 @cond_branch + bl Menu_EraseScreen + bl CloseMenu + mov r0, #0x1 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._12: + .align 2, 0 +._11: + .word gSaveBlock1+0x2dd8 + + thumb_func_end TayaDebugMenu_TrendR + + thumb_func_start debug_sub_8090880 +debug_sub_8090880: + push {lr} + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._13 @cond_branch + mov r0, #0x0 + b ._14 +._13: + bl sub_80E60D8 + mov r0, #0x1 +._14: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090880 + + thumb_func_start debug_sub_809089C +debug_sub_809089C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._15 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + bne ._16 @cond_branch + bl CloseMenu + mov r0, #0x1 + b ._17 +._16: + ldr r2, ._19 @ gSpecialVar_0x8004 + ldr r0, ._19 + 4 @ gUnknown_Debug_083C4EC0 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + strh r0, [r2] + ldrh r0, [r2] + sub r0, r0, #0x5 + cmp r0, #0x7 + bhi ._27 @cond_branch + lsl r0, r0, #0x2 + ldr r1, ._19 + 8 @ + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._20: + .align 2, 0 +._19: + .word gSpecialVar_0x8004 + .word gUnknown_Debug_083C4EC0 + .word ._21 +._21: + .word ._29 + .word ._27 + .word ._29 + .word ._29 + .word ._27 + .word ._27 + .word ._29 + .word ._29 +._29: + ldr r0, ._30 @ gSpecialVar_0x8005 + mov r1, #0x0 + strh r1, [r0] + ldr r0, ._30 + 4 @ gSpecialVar_0x8006 + strh r1, [r0] +._27: + mov r0, #0x1 + mov r1, #0x0 + bl FadeScreen + ldr r1, ._30 + 8 @ gMenuCallback + ldr r0, ._30 + 12 @ debug_sub_8090880 + str r0, [r1] +._15: + mov r0, #0x0 +._17: + pop {r1} + bx r1 +._31: + .align 2, 0 +._30: + .word gSpecialVar_0x8005 + .word gSpecialVar_0x8006 + .word gMenuCallback + .word debug_sub_8090880+1 + + thumb_func_end debug_sub_809089C + + thumb_func_start TayaDebugMenu_SimpleText +TayaDebugMenu_SimpleText: + push {lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._32 @ gUnknown_Debug_083C4EC0 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._32 + 4 @ gMenuCallback + ldr r0, ._32 + 8 @ debug_sub_809089C + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._33: + .align 2, 0 +._32: + .word gUnknown_Debug_083C4EC0 + .word gMenuCallback + .word debug_sub_809089C+1 + + thumb_func_end TayaDebugMenu_SimpleText + + thumb_func_start debug_sub_8090984 +debug_sub_8090984: + push {r4, r5, r6, r7, lr} + bl Menu_ProcessInput + lsl r2, r0, #0x18 + asr r1, r2, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._34 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + beq ._46 @cond_branch + cmp r1, #0x4 + bgt ._36 @cond_branch + lsr r0, r2, #0x18 + bl debug_sub_810B32C + b ._46 +._34: + mov r0, #0x0 + b ._38 +._36: + cmp r1, #0x5 + bne ._39 @cond_branch + bl sub_80F7F30 + b ._46 +._39: + cmp r1, #0x6 + bne ._41 @cond_branch + mov r4, #0x0 + ldr r0, ._44 @ gSaveBlock1 + add r1, r0, #2 + mov ip, r1 + ldr r7, ._44 + 4 @ gUnknown_Debug_083C4F08 + ldr r1, ._44 + 8 @ 0xfffffd94 + add r6, r0, r1 + add r5, r0, #0 + add r5, r5, #0xe +._42: + lsl r1, r4, #0x1 + mov r0, ip + add r3, r1, r0 + add r0, r1, r7 + ldrh r2, [r0] + strh r2, [r3] + add r0, r1, r5 + strh r2, [r0] + add r1, r6, r1 + strh r2, [r1] + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x2 + bls ._42 @cond_branch + b ._46 +._45: + .align 2, 0 +._44: + .word gSaveBlock1+0x2d94 + .word gUnknown_Debug_083C4F08 + .word 0xfffffd94 +._41: + cmp r1, #0x7 + bne ._46 @cond_branch + mov r4, #0x0 +._47: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_80EB890 + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x20 + bls ._47 @cond_branch +._46: + bl CloseMenu + mov r0, #0x1 +._38: + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090984 + + thumb_func_start TayaDebugMenu_OldMan +TayaDebugMenu_OldMan: + push {lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xa + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + ldr r3, ._48 @ gUnknown_Debug_083C4F54 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x8 + bl Menu_PrintItems + bl GetCurrentMauvilleOldMan + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + mov r0, #0x9 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x8 + bl InitMenu + ldr r1, ._48 + 4 @ gMenuCallback + ldr r0, ._48 + 8 @ debug_sub_8090984 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._49: + .align 2, 0 +._48: + .word gUnknown_Debug_083C4F54 + .word gMenuCallback + .word debug_sub_8090984+1 + + thumb_func_end TayaDebugMenu_OldMan + + thumb_func_start TayaDebugMenu_LanettesPC +TayaDebugMenu_LanettesPC: + push {lr} + bl Menu_EraseScreen + bl ShowPokemonStorageSystem + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end TayaDebugMenu_LanettesPC + + thumb_func_start TayaDebugMenu_TownFlags +TayaDebugMenu_TownFlags: + push {lr} + ldr r0, ._50 @ 0x80f + bl FlagSet + mov r0, #0x81 + lsl r0, r0, #0x4 + bl FlagSet + ldr r0, ._50 + 4 @ 0x811 + bl FlagSet + ldr r0, ._50 + 8 @ 0x812 + bl FlagSet + ldr r0, ._50 + 12 @ 0x813 + bl FlagSet + ldr r0, ._50 + 16 @ 0x814 + bl FlagSet + ldr r0, ._50 + 20 @ 0x815 + bl FlagSet + ldr r0, ._50 + 24 @ 0x816 + bl FlagSet + ldr r0, ._50 + 28 @ 0x817 + bl FlagSet + ldr r0, ._50 + 32 @ 0x818 + bl FlagSet + ldr r0, ._50 + 36 @ 0x819 + bl FlagSet + ldr r0, ._50 + 40 @ 0x81a + bl FlagSet + ldr r0, ._50 + 44 @ 0x81b + bl FlagSet + ldr r0, ._50 + 48 @ 0x81c + bl FlagSet + ldr r0, ._50 + 52 @ 0x81d + bl FlagSet + ldr r0, ._50 + 56 @ 0x81e + bl FlagSet + ldr r0, ._50 + 60 @ 0x848 + bl FlagSet + ldr r0, ._50 + 64 @ 0x849 + bl FlagSet + ldr r0, ._50 + 68 @ 0x84a + bl FlagSet + ldr r0, ._50 + 72 @ 0x854 + bl FlagSet + ldr r0, ._50 + 76 @ 0x855 + bl FlagSet + ldr r0, ._50 + 80 @ 0x856 + bl FlagSet + ldr r0, ._50 + 84 @ 0x857 + bl FlagSet + ldr r0, ._50 + 88 @ 0x858 + bl FlagSet + ldr r0, ._50 + 92 @ 0x859 + bl FlagSet + ldr r0, ._50 + 96 @ 0x85a + bl FlagSet + ldr r0, ._50 + 100 @ 0x85b + bl FlagSet + ldr r0, ._50 + 104 @ 0x85c + bl FlagSet + ldr r0, ._50 + 108 @ 0x83c + bl FlagSet + ldr r0, ._50 + 112 @ 0x83d + bl FlagSet + ldr r0, ._50 + 116 @ 0x83e + bl FlagSet + ldr r0, ._50 + 120 @ 0x83f + bl FlagSet + mov r0, #0x84 + lsl r0, r0, #0x4 + bl FlagSet + ldr r0, ._50 + 124 @ 0x841 + bl FlagSet + ldr r0, ._50 + 128 @ 0x842 + bl FlagSet + ldr r0, ._50 + 132 @ 0x843 + bl FlagSet + ldr r0, ._50 + 136 @ 0x844 + bl FlagSet + ldr r0, ._50 + 140 @ 0x845 + bl FlagSet + ldr r0, ._50 + 144 @ 0x846 + bl FlagSet + ldr r0, ._50 + 148 @ 0x847 + bl FlagSet + ldr r0, ._50 + 152 @ 0x83b + bl FlagSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._51: + .align 2, 0 +._50: + .word 0x80f + .word 0x811 + .word 0x812 + .word 0x813 + .word 0x814 + .word 0x815 + .word 0x816 + .word 0x817 + .word 0x818 + .word 0x819 + .word 0x81a + .word 0x81b + .word 0x81c + .word 0x81d + .word 0x81e + .word 0x848 + .word 0x849 + .word 0x84a + .word 0x854 + .word 0x855 + .word 0x856 + .word 0x857 + .word 0x858 + .word 0x859 + .word 0x85a + .word 0x85b + .word 0x85c + .word 0x83c + .word 0x83d + .word 0x83e + .word 0x83f + .word 0x841 + .word 0x842 + .word 0x843 + .word 0x844 + .word 0x845 + .word 0x846 + .word 0x847 + .word 0x83b + + thumb_func_end TayaDebugMenu_TownFlags + + thumb_func_start TayaDebugMenu_AwardARibbon +TayaDebugMenu_AwardARibbon: + push {lr} + mov r0, #0x1 + neg r0, r0 + mov r1, #0x10 + mov r2, #0x0 + bl BlendPalettes + ldr r0, ._52 @ debug_sub_80915BC + bl SetMainCallback2 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._53: + .align 2, 0 +._52: + .word debug_sub_80915BC+1 + + thumb_func_end TayaDebugMenu_AwardARibbon + + thumb_func_start debug_sub_8090C44 +debug_sub_8090C44: + push {r4, r5, lr} + ldr r4, ._54 @ gSharedMem + sub r5, r4, #1 + ldrh r1, [r5, #0x8] + add r0, r4, #0 + mov r2, #0x2 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0x0 + mov r2, #0x5 + bl StringFill + ldrb r0, [r5] + add r0, r0, r4 + mov r1, #0x79 + strb r1, [r0] + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintText + pop {r4, r5} + pop {r0} + bx r0 +._55: + .align 2, 0 +._54: + .word gSharedMem+1 + + thumb_func_end debug_sub_8090C44 + + thumb_func_start debug_sub_8090C88 +debug_sub_8090C88: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffffc + mov r0, #0x1 + mov r8, r0 + ldr r2, ._59 @ gMain + ldrh r1, [r2, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + add r3, r2, #0 + cmp r0, #0 + beq ._57 @cond_branch + ldr r1, ._59 + 4 @ gSharedMem + ldrb r0, [r1] + cmp r0, #0 + beq ._57 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + b ._62 +._60: + .align 2, 0 +._59: + .word gMain + .word gSharedMem +._67: + add r0, r0, #0x1 + strb r0, [r1] + b ._62 +._77: + strh r1, [r7, #0x8] + b ._62 +._79: + ldr r0, ._64 @ gSharedMem + ldrh r0, [r0, #0x8] + bl SetLotteryNumber16_Unused +._78: + bl CloseMenu + mov r0, #0x1 + b ._63 +._65: + .align 2, 0 +._64: + .word gSharedMem +._57: + ldrh r1, [r3, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._66 @cond_branch + ldr r1, ._81 @ gSharedMem + ldrb r0, [r1] + cmp r0, #0x3 + bls ._67 @cond_branch +._66: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._68 @cond_branch + ldr r0, ._81 @ gSharedMem + ldrh r1, [r0, #0x8] + str r1, [r0, #0xc] + ldr r1, ._81 + 4 @ 0x2710 + strh r1, [r0, #0x10] + mov r4, #0x0 + ldrb r1, [r0] + add r7, r0, #0 + cmp r4, r1 + bcs ._69 @cond_branch + add r5, r7, #0 + add r6, r1, #0 +._70: + ldrh r0, [r5, #0x10] + mov r1, #0xa + str r3, [sp] + bl __udivsi3 + strh r0, [r5, #0x10] + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r3, [sp] + cmp r4, r6 + bcc ._70 @cond_branch +._69: + ldrh r1, [r7, #0x10] + ldr r0, [r7, #0xc] + add r0, r0, r1 + str r0, [r7, #0xc] + ldr r1, ._81 + 8 @ 0xffff + cmp r0, r1 + ble ._71 @cond_branch + str r1, [r7, #0xc] +._71: + ldrh r0, [r7, #0x8] + ldr r1, [r7, #0xc] + cmp r0, r1 + bne ._77 @cond_branch +._68: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._73 @cond_branch + ldr r0, ._81 @ gSharedMem + ldrh r1, [r0, #0x8] + str r1, [r0, #0xc] + ldr r1, ._81 + 4 @ 0x2710 + strh r1, [r0, #0x10] + mov r4, #0x0 + ldrb r1, [r0] + add r7, r0, #0 + cmp r4, r1 + bcs ._74 @cond_branch + add r5, r7, #0 + add r6, r1, #0 +._75: + ldrh r0, [r5, #0x10] + mov r1, #0xa + str r3, [sp] + bl __udivsi3 + strh r0, [r5, #0x10] + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r3, [sp] + cmp r4, r6 + bcc ._75 @cond_branch +._74: + add r2, r7, #0 + ldrh r1, [r2, #0x10] + ldr r0, [r2, #0xc] + sub r0, r0, r1 + str r0, [r2, #0xc] + cmp r0, #0 + bge ._76 @cond_branch + mov r0, #0x0 + str r0, [r2, #0xc] +._76: + ldrh r0, [r2, #0x8] + ldr r1, [r2, #0xc] + cmp r0, r1 + bne ._77 @cond_branch +._73: + ldrh r2, [r3, #0x2e] + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + bne ._78 @cond_branch + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + bne ._79 @cond_branch + mov r0, #0x0 + mov r8, r0 +._62: + mov r0, r8 + cmp r0, #0 + beq ._80 @cond_branch + bl debug_sub_8090C44 +._80: + mov r0, #0x0 +._63: + add sp, sp, #0x4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._82: + .align 2, 0 +._81: + .word gSharedMem + .word 0x2710 + .word 0xffff + + thumb_func_end debug_sub_8090C88 + + thumb_func_start TayaDebugMenu_PKMNLottery +TayaDebugMenu_PKMNLottery: + push {lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x6 + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + bl RetrieveLotteryNumber + ldr r2, ._83 @ gSharedMem + ldr r0, ._83 + 4 @ gSpecialVar_Result + ldrh r0, [r0] + mov r1, #0x0 + strh r0, [r2, #0x8] + strb r1, [r2] + bl debug_sub_8090C44 + ldr r1, ._83 + 8 @ gMenuCallback + ldr r0, ._83 + 12 @ debug_sub_8090C88 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._84: + .align 2, 0 +._83: + .word gSharedMem + .word gSpecialVar_Result + .word gMenuCallback + .word debug_sub_8090C88+1 + + thumb_func_end TayaDebugMenu_PKMNLottery + + thumb_func_start TayaDebugMenu_Trainer +TayaDebugMenu_Trainer: + push {r4, r5, lr} + mov r4, #0x0 + ldr r5, ._86 @ gTrainerEyeTrainers +._85: + lsl r0, r4, #0x4 + add r0, r0, r5 + ldrh r0, [r0] + bl SetTrainerFlag + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x37 + bls ._85 @cond_branch + ldr r0, ._86 + 4 @ 0x109 + bl SetTrainerFlag + mov r0, #0x85 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 8 @ 0x10b + bl SetTrainerFlag + mov r0, #0x86 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 12 @ 0x10d + bl SetTrainerFlag + mov r0, #0x87 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 16 @ 0x10f + bl SetTrainerFlag + mov r0, #0x88 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 20 @ 0x105 + bl SetTrainerFlag + mov r0, #0x83 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 24 @ 0x107 + bl SetTrainerFlag + mov r0, #0x84 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 28 @ 0x14f + bl SetTrainerFlag + bl CloseMenu + mov r0, #0x1 + pop {r4, r5} + pop {r1} + bx r1 +._87: + .align 2, 0 +._86: + .word gTrainerEyeTrainers + .word 0x109 + .word 0x10b + .word 0x10d + .word 0x10f + .word 0x105 + .word 0x107 + .word 0x14f + + thumb_func_end TayaDebugMenu_Trainer + + thumb_func_start TayaDebugMenu_PokenavD +TayaDebugMenu_PokenavD: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xffffffe4 + bl Menu_DisplayDialogueFrame + mov r0, #0x0 + mov sl, r0 + mov r6, #0x1 + mov r7, #0xff + mov r1, #0x3 + mov r9, r1 +._93: + ldr r4, ._94 @ gSharedMem + add r0, r4, #0 + ldr r1, ._94 + 4 @ gUnknown_Debug_083C4F94 + bl StringCopy + mov r5, sl + add r5, r5, #0x1 + add r1, r5, r4 + mov r0, #0xff + strb r0, [r1] + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0xf + bl Menu_PrintText + mov r0, #0x0 + mov r8, r0 + str r5, [sp, #0x14] + mov r1, sl + lsl r1, r1, #0x2 + str r1, [sp, #0x18] +._91: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r0, r0, #0x1 + str r0, [sp, #0x10] + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x64 + bl __umodsi3 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xc1 + lsl r1, r1, #0x1 + bl __umodsi3 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0xfb + bls ._89 @cond_branch + add r0, r3, #0 + add r0, r0, #0x19 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + ldr r0, ._94 + 8 @ 0x19b + cmp r3, r0 + bls ._89 @cond_branch + mov r3, #0x1 +._89: + ldr r0, [sp, #0x18] + add r0, r0, sl + lsl r4, r0, #0x4 + sub r4, r4, r0 + lsl r4, r4, #0x5 + mov r1, r8 + lsl r0, r1, #0x2 + add r0, r0, r8 + lsl r0, r0, #0x4 + ldr r1, ._94 + 12 @ gPokemonStorage + add r0, r0, r1 + add r4, r4, r0 + lsl r2, r5, #0x18 + lsr r2, r2, #0x18 + mov r0, #0x0 + str r0, [sp] + str r0, [sp, #0x4] + str r6, [sp, #0x8] + ldr r0, [sp, #0x10] + str r0, [sp, #0xc] + add r0, r4, #0 + add r1, r3, #0 + mov r3, #0x20 + bl CreateBoxMon + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x16 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x17 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x18 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x21 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x2f + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x30 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x32 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x33 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x34 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x36 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x35 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x43 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x44 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x45 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x46 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x47 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x48 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x49 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4a + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4b + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4c + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4d + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4e + add r2, sp, #0x10 + bl SetBoxMonData + mov r0, r8 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r8, r0 + cmp r0, #0x1d + bhi ._90 @cond_branch + b ._91 +._90: + ldr r1, [sp, #0x14] + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + mov sl, r0 + cmp r0, #0xd + bhi ._92 @cond_branch + b ._93 +._92: + bl TayaDebugMenu_TownFlags + bl TayaDebugMenu_Trainer + bl CloseMenu + mov r0, #0x1 + add sp, sp, #0x1c + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._95: + .align 2, 0 +._94: + .word gSharedMem + .word gUnknown_Debug_083C4F94 + .word 0x19b + .word gPokemonStorage+0x4 + + thumb_func_end TayaDebugMenu_PokenavD + + thumb_func_start TayaDebugMenu_8091190 +TayaDebugMenu_8091190: + push {r4, r5, lr} + add sp, sp, #0xfffffff8 + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r3, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r3, r0 + beq ._96 @cond_branch + add r0, r0, #0x1 + cmp r3, r0 + beq ._97 @cond_branch + ldr r2, ._99 @ gMenuCallback + ldr r1, ._99 + 4 @ gUnknown_Debug_83C5068 + ldr r0, ._99 + 8 @ unk_2030224 + ldrb r0, [r0] + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, [r0] + lsl r0, r3, #0x3 + add r0, r0, r1 + ldr r0, [r0, #0x4] + str r0, [r2] +._106: + mov r0, #0x0 + b ._98 +._100: + .align 2, 0 +._99: + .word gMenuCallback + .word gUnknown_Debug_83C5068 + .word unk_2030224 +._96: + ldr r3, ._107 @ unk_2030224 + ldrb r4, [r3] + ldr r2, ._107 + 4 @ gMain + ldrh r1, [r2, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + add r5, r3, #0 + cmp r0, #0 + beq ._102 @cond_branch + sub r0, r4, #1 + strb r0, [r5] + lsl r0, r0, #0x18 + cmp r0, #0 + bge ._102 @cond_branch + mov r0, #0x1 + strb r0, [r5] +._102: + ldrh r1, [r2, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._104 @cond_branch + ldrb r0, [r5] + add r0, r0, #0x1 + strb r0, [r5] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bls ._104 @cond_branch + mov r0, #0x0 + strb r0, [r5] +._104: + lsl r0, r4, #0x18 + asr r0, r0, #0x18 + mov r1, #0x0 + ldrsb r1, [r5, r1] + cmp r0, r1 + beq ._106 @cond_branch + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r4, ._107 + 8 @ gUnknown_Debug_83C5068 + mov r0, #0x0 + ldrsb r0, [r5, r0] + lsl r0, r0, #0x3 + add r0, r0, r4 + ldrb r2, [r0, #0x4] + ldr r3, [r0] + mov r0, #0x1 + mov r1, #0x1 + bl Menu_PrintItems + mov r0, #0x0 + ldrsb r0, [r5, r0] + lsl r0, r0, #0x3 + add r0, r0, r4 + ldrb r3, [r0, #0x4] + mov r0, #0x0 + str r0, [sp] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + bl InitMenu + b ._106 +._108: + .align 2, 0 +._107: + .word unk_2030224 + .word gMain + .word gUnknown_Debug_83C5068 +._97: + bl CloseMenu + mov r0, #0x1 +._98: + add sp, sp, #0x8 + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end TayaDebugMenu_8091190 + + thumb_func_start InitTayaDebugWindow +InitTayaDebugWindow: + push {lr} + add sp, sp, #0xfffffff8 + ldr r1, ._109 @ unk_2030224 + mov r0, #0x0 + strb r0, [r1] + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._109 + 4 @ gUnknown_Debug_83C5068 + ldr r3, [r0] + 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, ._109 + 8 @ gMenuCallback + ldr r0, ._109 + 12 @ TayaDebugMenu_8091190 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._110: + .align 2, 0 +._109: + .word unk_2030224 + .word gUnknown_Debug_83C5068 + .word gMenuCallback + .word TayaDebugMenu_8091190+1 + + thumb_func_end InitTayaDebugWindow + + thumb_func_start debug_sub_80912D8 +debug_sub_80912D8: + push {lr} + ldr r0, ._113 @ gPaletteFade + ldrb r1, [r0, #0x7] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._111 @cond_branch + mov r0, #0x0 + b ._112 +._114: + .align 2, 0 +._113: + .word gPaletteFade +._111: + ldr r0, ._115 @ debug_sub_8110F28 + bl SetMainCallback2 + mov r0, #0x1 +._112: + pop {r1} + bx r1 +._116: + .align 2, 0 +._115: + .word debug_sub_8110F28+1 + + thumb_func_end debug_sub_80912D8 + + thumb_func_start debug_sub_8091300 +debug_sub_8091300: + push {lr} + mov r0, #0x1 + mov r1, #0x0 + bl FadeScreen + ldr r1, ._117 @ gMenuCallback + ldr r0, ._117 + 4 @ debug_sub_80912D8 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._118: + .align 2, 0 +._117: + .word gMenuCallback + .word debug_sub_80912D8+1 + + thumb_func_end debug_sub_8091300 + + thumb_func_start debug_sub_8091320 +debug_sub_8091320: + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + + thumb_func_end debug_sub_8091320 + + thumb_func_start debug_sub_8091334 +debug_sub_8091334: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + bl AnimateSprites + bl BuildOamBuffer + ldr r3, ._123 @ gSharedMem + add r0, r3, #0 + add r0, r0, #0x52 + ldrb r4, [r0] + cmp r4, #0 + beq ._119 @cond_branch + cmp r4, #0x1 + bne ._120 @cond_branch + b ._121 +._120: + b ._162 +._124: + .align 2, 0 +._123: + .word gSharedMem +._119: + add r5, r3, #0 + add r5, r5, #0x55 + strb r4, [r5] + ldr r2, ._131 @ gMain + ldrh r1, [r2, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + mov r9, r2 + cmp r0, #0 + beq ._126 @cond_branch + add r1, r3, #0 + add r1, r1, #0x54 + ldrb r0, [r1] + cmp r0, #0 + beq ._126 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x1 + strb r0, [r5] +._126: + mov r0, r9 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + ldr r5, ._131 + 4 @ gSharedMem + cmp r0, #0 + beq ._133 @cond_branch + add r0, r5, #0 + add r0, r0, #0x53 + ldrb r0, [r0] + cmp r0, #0x2 + beq ._128 @cond_branch + add r1, r5, #0 + add r1, r1, #0x54 + ldrb r0, [r1] + cmp r0, #0x4 + bhi ._133 @cond_branch + b ._130 +._132: + .align 2, 0 +._131: + .word gMain + .word gSharedMem +._128: + add r1, r5, #0 + add r1, r1, #0x54 + ldrb r0, [r1] + cmp r0, #0x3 + bhi ._133 @cond_branch +._130: + add r0, r0, #0x1 + strb r0, [r1] + add r1, r1, #0x1 + mov r0, #0x1 + strb r0, [r1] +._133: + mov r2, r9 + ldrh r1, [r2, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._135 @cond_branch + add r1, r5, #0 + add r1, r1, #0x53 + ldrb r0, [r1] + cmp r0, #0 + beq ._135 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1 + strb r0, [r1] +._135: + mov r3, r9 + ldrh r1, [r3, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._140 @cond_branch + add r0, r5, #0 + add r0, r0, #0x54 + ldrb r0, [r0] + cmp r0, #0x5 + beq ._137 @cond_branch + add r1, r5, #0 + add r1, r1, #0x53 + ldrb r0, [r1] + cmp r0, #0x1 + bhi ._140 @cond_branch + b ._139 +._137: + add r1, r5, #0 + add r1, r1, #0x53 + ldrb r0, [r1] + cmp r0, #0 + bne ._140 @cond_branch +._139: + add r0, r0, #0x1 + strb r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1 + strb r0, [r1] +._140: + add r0, r5, #0 + add r0, r0, #0x55 + ldrb r0, [r0] + cmp r0, #0 + bne ._141 @cond_branch + mov r0, r9 + ldrh r2, [r0, #0x2e] + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + beq ._142 @cond_branch + ldr r2, ._145 @ gUnknown_Debug_083C50EC + add r3, r5, #0 + add r3, r3, #0x53 + add r0, r5, #0 + add r0, r0, #0x54 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r0, r0, r1 + ldrb r3, [r3] + add r0, r0, r3 + lsl r0, r0, #0x3 + add r0, r0, r2 + ldrh r0, [r0, #0x4] + sub r0, r0, #0x32 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x4 + bhi ._143 @cond_branch + add r1, r5, #0 + add r1, r1, #0x56 + mov r0, #0x4 + b ._144 +._146: + .align 2, 0 +._145: + .word gUnknown_Debug_083C50EC +._143: + add r1, r5, #0 + add r1, r1, #0x56 + mov r0, #0x1 +._144: + strb r0, [r1] + add r1, r5, #0 + add r1, r1, #0x52 + mov r0, #0x1 + strb r0, [r1] + b ._162 +._142: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + bne ._148 @cond_branch + b ._162 +._148: + mov r0, #0x1 + neg r0, r0 + mov r1, #0x10 + mov r2, #0x0 + bl BlendPalettes + ldr r0, ._151 @ sub_80546F0 + bl SetMainCallback2 + b ._162 +._152: + .align 2, 0 +._151: + .word sub_80546F0+1 +._121: + add r5, r3, #0 + add r5, r5, #0x55 + mov r0, #0x0 + strb r0, [r5] + ldr r2, ._159 @ gMain + ldrh r1, [r2, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + mov r9, r2 + cmp r0, #0 + beq ._154 @cond_branch + add r2, r3, #0 + add r2, r2, #0x53 + add r0, r3, #0 + add r0, r0, #0x54 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r0, r0, r1 + ldrb r2, [r2] + add r0, r0, r2 + add r2, r0, r3 + add r0, r3, #0 + add r0, r0, #0x56 + ldrb r1, [r2] + ldrb r0, [r0] + cmp r1, r0 + bcs ._154 @cond_branch + add r0, r1, #1 + strb r0, [r2] + strb r4, [r5] +._154: + mov r2, r9 + ldrh r1, [r2, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + ldr r5, ._159 + 4 @ gSharedMem + cmp r0, #0 + beq ._156 @cond_branch + add r2, r5, #0 + add r2, r2, #0x53 + add r0, r5, #0 + add r0, r0, #0x54 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r0, r0, r1 + ldrb r2, [r2] + add r0, r0, r2 + add r1, r0, r5 + ldrb r0, [r1] + cmp r0, #0 + beq ._156 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + add r1, r5, #0 + add r1, r1, #0x55 + mov r0, #0x1 + strb r0, [r1] +._156: + add r6, r5, #0 + add r0, r6, #0 + add r0, r0, #0x55 + ldrb r7, [r0] + cmp r7, #0 + beq ._157 @cond_branch +._141: + bl debug_sub_80916AC + b ._162 +._160: + .align 2, 0 +._159: + .word gMain + .word gSharedMem +._157: + mov r3, r9 + ldrh r1, [r3, #0x2e] + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._161 @cond_branch + ldr r0, ._164 @ gPlayerParty + ldr r1, ._164 + 4 @ gUnknown_Debug_083C50EC + mov ip, r1 + mov r2, #0x53 + add r2, r2, r6 + mov r8, r2 + add r4, r6, #0 + add r4, r4, #0x54 + ldrb r2, [r4] + lsl r1, r2, #0x1 + add r1, r1, r2 + mov r3, r8 + ldrb r3, [r3] + add r1, r1, r3 + lsl r1, r1, #0x3 + add r1, r1, ip + ldrh r1, [r1, #0x4] + bl GetMonData + ldrb r2, [r4] + lsl r1, r2, #0x1 + add r1, r1, r2 + mov r2, r8 + ldrb r2, [r2] + add r1, r1, r2 + add r1, r1, r6 + strb r0, [r1] + bl debug_sub_80916AC + add r0, r6, #0 + add r0, r0, #0x52 + strb r7, [r0] +._161: + mov r3, r9 + ldrh r1, [r3, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._162 @cond_branch + ldr r2, ._164 + 4 @ gUnknown_Debug_083C50EC + add r0, r6, #0 + add r0, r0, #0x53 + ldrb r4, [r0] + add r0, r0, #0x1 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r3, r0, r1 + add r0, r3, r4 + lsl r0, r0, #0x3 + add r1, r0, r2 + ldrh r0, [r1, #0x4] + cmp r0, #0 + beq ._163 @cond_branch + ldr r0, ._164 @ gPlayerParty + ldrh r1, [r1, #0x4] + add r2, r4, r6 + add r2, r3, r2 + bl SetMonData +._163: + add r0, r5, #0 + add r0, r0, #0x52 + strb r7, [r0] +._162: + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._165: + .align 2, 0 +._164: + .word gPlayerParty + .word gUnknown_Debug_083C50EC + + thumb_func_end debug_sub_8091334 + + thumb_func_start debug_sub_80915BC +debug_sub_80915BC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, ._168 @ 0x4000010 + mov r1, #0x0 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + mov r1, #0x0 + ldr r0, ._168 + 4 @ gUnknown_Debug_083C50EC + mov r8, r0 + ldr r7, ._168 + 8 @ gSharedMem +._171: + mov r4, #0x0 + lsl r0, r1, #0x1 + add r6, r1, #1 + add r5, r0, r1 +._170: + add r0, r5, r4 + lsl r0, r0, #0x3 + add r0, r0, r8 + ldrh r1, [r0, #0x4] + cmp r1, #0 + beq ._166 @cond_branch + ldr r0, ._168 + 12 @ gPlayerParty + bl GetMonData + add r1, r4, r5 + add r1, r1, r7 + strb r0, [r1] + b ._167 +._169: + .align 2, 0 +._168: + .word 0x4000010 + .word gUnknown_Debug_083C50EC + .word gSharedMem + .word gPlayerParty +._166: + add r0, r4, r5 + add r0, r0, r7 + strb r1, [r0] +._167: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x2 + bls ._170 @cond_branch + lsl r0, r6, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x5 + bls ._171 @cond_branch + ldr r4, ._172 @ gWindowTemplate_81E7224 + add r0, r4, #0 + bl Text_LoadWindowTemplate + add r0, r4, #0 + bl InitMenuWindow + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + ldr r0, ._172 + 4 @ gUnknown_Debug_083C517C + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0x4 + mov r2, #0x1d + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0x12 + mov r2, #0x1d + mov r3, #0x15 + bl Menu_DrawStdWindowFrame + mov r1, #0x80 + lsl r1, r1, #0x13 + mov r2, #0x8a + lsl r2, r2, #0x5 + add r0, r2, #0 + strh r0, [r1] + ldr r2, ._172 + 8 @ gSharedMem + add r0, r2, #0 + add r0, r0, #0x53 + mov r1, #0x0 + strb r1, [r0] + add r0, r0, #0x1 + strb r1, [r0] + sub r0, r0, #0x2 + strb r1, [r0] + bl debug_sub_80916AC + ldr r0, ._172 + 12 @ debug_sub_8091320 + bl SetVBlankCallback + ldr r0, ._172 + 16 @ debug_sub_8091334 + bl SetMainCallback2 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._173: + .align 2, 0 +._172: + .word gWindowTemplate_81E7224 + .word gUnknown_Debug_083C517C + .word gSharedMem + .word debug_sub_8091320+1 + .word debug_sub_8091334+1 + + thumb_func_end debug_sub_80915BC + + thumb_func_start debug_sub_80916AC +debug_sub_80916AC: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xfffffffc + mov r6, #0x0 + ldr r0, ._177 @ gSharedMem + mov sl, r0 + mov r1, #0x0 + mov r8, r1 +._182: + ldr r2, ._177 + 4 @ gSharedMem + mov r5, #0x0 + lsl r0, r6, #0x1 + mov r9, r0 + add r1, r6, #1 + str r1, [sp] +._181: + mov r0, sl + add r0, r0, #0x53 + ldrb r0, [r0] + cmp r0, r5 + bne ._175 @cond_branch + ldr r1, ._177 + 8 @ gSharedMem + ldrb r0, [r1] + cmp r0, r6 + bne ._175 @cond_branch + mov r0, #0xef + b ._176 +._178: + .align 2, 0 +._177: + .word gSharedMem + .word gSharedMem+0x12 + .word gSharedMem+0x54 +._175: + mov r0, r8 + strb r0, [r2] + add r2, r2, #0x1 +._176: + strb r0, [r2] + add r2, r2, #0x1 + mov r1, r9 + add r4, r1, r6 + add r0, r4, r5 + lsl r0, r0, #0x3 + ldr r1, ._183 @ gUnknown_Debug_083C50EC + add r0, r0, r1 + ldr r1, [r0] + add r0, r2, #0 + bl StringCopy + add r2, r0, #0 + mov r0, r8 + strb r0, [r2] + add r2, r2, #0x1 + ldr r7, ._183 + 4 @ gSharedMem + add r4, r5, r4 + add r4, r4, r7 + ldrb r1, [r4] + add r0, r2, #0 + mov r2, #0x0 + mov r3, #0x1 + bl ConvertIntToDecimalStringN + add r2, r0, #0 + mov r1, r8 + strb r1, [r2] + add r2, r2, #0x1 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x2 + bhi ._179 @cond_branch + cmp r6, #0x5 + bne ._181 @cond_branch + cmp r5, #0x2 + bne ._181 @cond_branch +._179: + sub r1, r2, #1 + mov r0, #0xff + strb r0, [r1] + mov r2, r9 + add r2, r2, #0x5 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + add r0, r7, #0 + add r0, r0, #0x12 + mov r1, #0x1 + bl Menu_PrintText + ldr r1, [sp] + lsl r0, r1, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x5 + bls ._182 @cond_branch + add sp, sp, #0x4 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._184: + .align 2, 0 +._183: + .word gUnknown_Debug_083C50EC + .word gSharedMem + + thumb_func_end debug_sub_80916AC + + .align 2, 0 + +.endif |