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