mirror of
https://github.com/pret/pokeruby.git
synced 2026-10-14 03:32:16 -04:00
6134 lines
141 KiB
C
6134 lines
141 KiB
C
#if DEBUG
|
|
|
|
__attribute__((naked))
|
|
void debug_sub_8076AC8()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add sp, sp, #0xfffffff8\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" ldr r2, ._3\n"
|
|
" lsl r1, r0, #0x2\n"
|
|
" add r1, r1, r0\n"
|
|
" lsl r1, r1, #0x1\n"
|
|
" ldr r0, ._3 + 4\n"
|
|
" add r1, r1, r0\n"
|
|
" str r1, [r2]\n"
|
|
" mov r4, #0x0\n"
|
|
" ldrb r0, [r1]\n"
|
|
" cmp r0, #0xff\n"
|
|
" beq ._1 @cond_branch\n"
|
|
"._2:\n"
|
|
" add r4, r4, #0x1\n"
|
|
" add r0, r1, r4\n"
|
|
" ldrb r0, [r0]\n"
|
|
" cmp r0, #0xff\n"
|
|
" bne ._2 @cond_branch\n"
|
|
"._1:\n"
|
|
" mov r0, #0x10\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r2, #0x1d\n"
|
|
" mov r3, #0x13\n"
|
|
" bl Menu_EraseWindowRect\n"
|
|
" lsl r3, r4, #0x1\n"
|
|
" add r3, r3, #0x1\n"
|
|
" lsl r3, r3, #0x18\n"
|
|
" lsr r3, r3, #0x18\n"
|
|
" mov r0, #0x10\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r2, #0x1d\n"
|
|
" bl Menu_DrawStdWindowFrame\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" ldr r3, ._3 + 8\n"
|
|
" ldr r0, ._3\n"
|
|
" ldr r0, [r0]\n"
|
|
" str r0, [sp]\n"
|
|
" mov r0, #0x11\n"
|
|
" mov r1, #0x1\n"
|
|
" add r2, r4, #0\n"
|
|
" bl Menu_PrintItemsReordered\n"
|
|
" mov r0, #0x0\n"
|
|
" str r0, [sp]\n"
|
|
" mov r0, #0xc\n"
|
|
" str r0, [sp, #0x4]\n"
|
|
" mov r0, #0x0\n"
|
|
" mov r1, #0x11\n"
|
|
" mov r2, #0x1\n"
|
|
" add r3, r4, #0\n"
|
|
" bl InitMenu\n"
|
|
" add sp, sp, #0x8\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._4:\n"
|
|
" .align 2, 0\n"
|
|
"._3:\n"
|
|
" .word 0x30006c4 @ gTileset1AnimLength\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x153\n"
|
|
" .word gUnknown_Debug_0839BBC1+0xd3\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void debug_sub_8076B4C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._6\n"
|
|
" bl FindTaskIdByFunc\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" cmp r0, #0xff\n"
|
|
" beq ._5 @cond_branch\n"
|
|
" bl DestroyTask\n"
|
|
"._5:\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._7:\n"
|
|
" .align 2, 0\n"
|
|
"._6:\n"
|
|
" .word debug_sub_8076BB4+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void debug_sub_8076B68()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._8\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0x1\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldr r0, ._8 + 4\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0x3\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldr r0, ._8 + 8\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0x9\n"
|
|
" bl Menu_PrintText\n"
|
|
" mov r0, #0x4\n"
|
|
" mov r1, #0xb\n"
|
|
" bl debug_sub_8077CF4\n"
|
|
" mov r0, #0x0\n"
|
|
" bl debug_sub_8076AC8\n"
|
|
" ldr r0, ._8 + 12\n"
|
|
" mov r1, #0x1\n"
|
|
" bl CreateTask\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._9:\n"
|
|
" .align 2, 0\n"
|
|
"._8:\n"
|
|
" .word gUnknown_Debug_0839BBB6\n"
|
|
" .word gUnknown_Debug_0839BBC1\n"
|
|
" .word gUnknown_Debug_0839BBA4\n"
|
|
" .word debug_sub_8076BB4+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void debug_sub_8076BB4()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r1, r0, #0x2\n"
|
|
" add r1, r1, r0\n"
|
|
" lsl r1, r1, #0x3\n"
|
|
" ldr r0, ._13\n"
|
|
" add r5, r1, r0\n"
|
|
" bl Menu_ProcessInput\n"
|
|
" add r4, r0, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" bl Menu_GetCursorPos\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r1, r0, #0x18\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" asr r4, r4, #0x18\n"
|
|
" mov r0, #0x2\n"
|
|
" neg r0, r0\n"
|
|
" cmp r4, r0\n"
|
|
" beq ._10 @cond_branch\n"
|
|
" add r0, r0, #0x1\n"
|
|
" cmp r4, r0\n"
|
|
" beq ._11 @cond_branch\n"
|
|
" ldr r2, ._13 + 4\n"
|
|
" lsl r1, r1, #0x18\n"
|
|
" asr r1, r1, #0x18\n"
|
|
" ldr r0, ._13 + 8\n"
|
|
" ldr r0, [r0]\n"
|
|
" add r0, r0, r1\n"
|
|
" ldrb r0, [r0]\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" add r2, r2, #0x4\n"
|
|
" add r0, r0, r2\n"
|
|
" ldr r0, [r0]\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x3cf4\n"
|
|
" b ._24\n"
|
|
"._14:\n"
|
|
" .align 2, 0\n"
|
|
"._13:\n"
|
|
" .word gTasks+0x8\n"
|
|
" .word gUnknown_Debug_0839BBC1+0xd3\n"
|
|
" .word 0x30006c4 @ gTileset1AnimLength\n"
|
|
"._10:\n"
|
|
" ldr r0, ._18\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x20\n"
|
|
" and r0, r0, r1\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" lsr r2, r0, #0x10\n"
|
|
" cmp r2, #0\n"
|
|
" beq ._15 @cond_branch\n"
|
|
" ldrh r1, [r5]\n"
|
|
" mov r2, #0x0\n"
|
|
" ldsh r0, [r5, r2]\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._16 @cond_branch\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._20\n"
|
|
"._19:\n"
|
|
" .align 2, 0\n"
|
|
"._18:\n"
|
|
" .word gMain\n"
|
|
"._16:\n"
|
|
" sub r0, r1, #1\n"
|
|
" b ._20\n"
|
|
"._15:\n"
|
|
" mov r0, #0x10\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._24 @cond_branch\n"
|
|
" ldrh r1, [r5]\n"
|
|
" mov r3, #0x0\n"
|
|
" ldsh r0, [r5, r3]\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._22 @cond_branch\n"
|
|
" strh r2, [r5]\n"
|
|
" b ._23\n"
|
|
"._22:\n"
|
|
" add r0, r1, #1\n"
|
|
"._20:\n"
|
|
" strh r0, [r5]\n"
|
|
"._23:\n"
|
|
" ldrb r0, [r5]\n"
|
|
" bl debug_sub_8076AC8\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" b ._24\n"
|
|
"._11:\n"
|
|
" bl DoSoftReset\n"
|
|
"._24:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076C6C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._25\n"
|
|
" bl SetMainCallback2\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._26:\n"
|
|
" .align 2, 0\n"
|
|
"._25:\n"
|
|
" .word debug_sub_8010800+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076C80()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_8076B4C\n"
|
|
" bl DebugMenu_8076FEC\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076C90()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._29\n"
|
|
" ldrh r0, [r0]\n"
|
|
" cmp r0, #0xff\n"
|
|
" bne ._27 @cond_branch\n"
|
|
" mov r0, #0x16\n"
|
|
" bl PlaySE\n"
|
|
" b ._28\n"
|
|
"._30:\n"
|
|
" .align 2, 0\n"
|
|
"._29:\n"
|
|
" .word gSaveFileStatus\n"
|
|
"._27:\n"
|
|
" bl debug_sub_8076B4C\n"
|
|
" ldr r0, ._31\n"
|
|
" bl SetMainCallback2\n"
|
|
"._28:\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._32:\n"
|
|
" .align 2, 0\n"
|
|
"._31:\n"
|
|
" .word CB2_ContinueSavedGame+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076CBC()
|
|
{
|
|
asm(
|
|
" mov r0, #0x0\n"
|
|
" bx lr\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076CC0()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._33\n"
|
|
" bl SetMainCallback2\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._34:\n"
|
|
" .align 2, 0\n"
|
|
"._33:\n"
|
|
" .word debug_nullsub_66+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076CD4()
|
|
{
|
|
asm(
|
|
" mov r0, #0x0\n"
|
|
" bx lr\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076CD8()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._35\n"
|
|
" bl SetMainCallback2\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._36:\n"
|
|
" .align 2, 0\n"
|
|
"._35:\n"
|
|
" .word unref_sub_80524BC+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076CEC()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._37\n"
|
|
" bl SetMainCallback2\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._38:\n"
|
|
" .align 2, 0\n"
|
|
"._37:\n"
|
|
" .word CB2_InitMysteryEventMenu+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076D00()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._39\n"
|
|
" bl SetMainCallback2\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._40:\n"
|
|
" .align 2, 0\n"
|
|
"._39:\n"
|
|
" .word debug_sub_815D15C+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076D14()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._41\n"
|
|
" bl SetMainCallback2\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._42:\n"
|
|
" .align 2, 0\n"
|
|
"._41:\n"
|
|
" .word sub_804B790+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076D28()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._43\n"
|
|
" bl SetMainCallback2\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._44:\n"
|
|
" .align 2, 0\n"
|
|
"._43:\n"
|
|
" .word LinkTestScreen+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076D3C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._45\n"
|
|
" bl SetMainCallback2\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._46:\n"
|
|
" .align 2, 0\n"
|
|
"._45:\n"
|
|
" .word CB2_StartSoundCheckMenu+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076D50()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Save_EraseAllData\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076D5C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_8076B4C\n"
|
|
" bl debug_sub_806F8F8\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076D6C()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r3, r0, #0x18\n"
|
|
" lsl r0, r3, #0x2\n"
|
|
" add r0, r0, r3\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" ldr r1, ._51\n"
|
|
" add r4, r0, r1\n"
|
|
" mov r0, #0x0\n"
|
|
" ldsh r1, [r4, r0]\n"
|
|
" cmp r1, #0x1\n"
|
|
" beq ._47 @cond_branch\n"
|
|
" cmp r1, #0x1\n"
|
|
" bgt ._48 @cond_branch\n"
|
|
" cmp r1, #0\n"
|
|
" beq ._49 @cond_branch\n"
|
|
" b ._64\n"
|
|
"._52:\n"
|
|
" .align 2, 0\n"
|
|
"._51:\n"
|
|
" .word gTasks+0x8\n"
|
|
"._48:\n"
|
|
" cmp r1, #0x2\n"
|
|
" beq ._53 @cond_branch\n"
|
|
" b ._64\n"
|
|
"._49:\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" ldr r0, ._56\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" b ._55\n"
|
|
"._57:\n"
|
|
" .align 2, 0\n"
|
|
"._56:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x16b\n"
|
|
"._47:\n"
|
|
" ldr r0, ._60\n"
|
|
" ldrh r2, [r0, #0x2e]\n"
|
|
" and r1, r1, r2\n"
|
|
" cmp r1, #0\n"
|
|
" beq ._58 @cond_branch\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" ldr r0, ._60 + 4\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" mov r0, #0x49\n"
|
|
" bl PlaySE\n"
|
|
" bl RtcReset\n"
|
|
"._55:\n"
|
|
" ldrh r0, [r4]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" strh r0, [r4]\n"
|
|
" b ._64\n"
|
|
"._61:\n"
|
|
" .align 2, 0\n"
|
|
"._60:\n"
|
|
" .word gMain\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x18b\n"
|
|
"._58:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r2\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._64 @cond_branch\n"
|
|
" add r0, r3, #0\n"
|
|
" bl DestroyTask\n"
|
|
" bl DoSoftReset\n"
|
|
" b ._64\n"
|
|
"._53:\n"
|
|
" ldr r0, ._65\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._64 @cond_branch\n"
|
|
" add r0, r3, #0\n"
|
|
" bl DestroyTask\n"
|
|
" bl DoSoftReset\n"
|
|
"._64:\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._66:\n"
|
|
" .align 2, 0\n"
|
|
"._65:\n"
|
|
" .word gMain\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076E18()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_8076B4C\n"
|
|
" ldr r0, ._67\n"
|
|
" mov r1, #0xa\n"
|
|
" bl CreateTask\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._68:\n"
|
|
" .align 2, 0\n"
|
|
"._67:\n"
|
|
" .word DebugMenu_8076D6C+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076E30()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r3, r0, #0x18\n"
|
|
" lsl r0, r3, #0x2\n"
|
|
" add r0, r0, r3\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" ldr r1, ._73\n"
|
|
" add r4, r0, r1\n"
|
|
" mov r0, #0x0\n"
|
|
" ldsh r1, [r4, r0]\n"
|
|
" cmp r1, #0x1\n"
|
|
" beq ._69 @cond_branch\n"
|
|
" cmp r1, #0x1\n"
|
|
" bgt ._70 @cond_branch\n"
|
|
" cmp r1, #0\n"
|
|
" beq ._71 @cond_branch\n"
|
|
" b ._86\n"
|
|
"._74:\n"
|
|
" .align 2, 0\n"
|
|
"._73:\n"
|
|
" .word gTasks+0x8\n"
|
|
"._70:\n"
|
|
" cmp r1, #0x2\n"
|
|
" beq ._75 @cond_branch\n"
|
|
" b ._86\n"
|
|
"._71:\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" ldr r0, ._78\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" b ._77\n"
|
|
"._79:\n"
|
|
" .align 2, 0\n"
|
|
"._78:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x199\n"
|
|
"._69:\n"
|
|
" ldr r0, ._82\n"
|
|
" ldrh r2, [r0, #0x2e]\n"
|
|
" and r1, r1, r2\n"
|
|
" cmp r1, #0\n"
|
|
" beq ._80 @cond_branch\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" bl sub_813B79C\n"
|
|
" ldr r0, ._82 + 4\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" mov r0, #0x49\n"
|
|
" bl PlaySE\n"
|
|
"._77:\n"
|
|
" ldrh r0, [r4]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" strh r0, [r4]\n"
|
|
" b ._86\n"
|
|
"._83:\n"
|
|
" .align 2, 0\n"
|
|
"._82:\n"
|
|
" .word gMain\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x1bc\n"
|
|
"._80:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r2\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._86 @cond_branch\n"
|
|
" add r0, r3, #0\n"
|
|
" bl DestroyTask\n"
|
|
" bl DoSoftReset\n"
|
|
" b ._86\n"
|
|
"._75:\n"
|
|
" ldr r0, ._87\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._86 @cond_branch\n"
|
|
" add r0, r3, #0\n"
|
|
" bl DestroyTask\n"
|
|
" bl DoSoftReset\n"
|
|
"._86:\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._88:\n"
|
|
" .align 2, 0\n"
|
|
"._87:\n"
|
|
" .word gMain\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076EDC()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_8076B4C\n"
|
|
" ldr r0, ._89\n"
|
|
" mov r1, #0xa\n"
|
|
" bl CreateTask\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._90:\n"
|
|
" .align 2, 0\n"
|
|
"._89:\n"
|
|
" .word DebugMenu_8076E30+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076EF4()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" add sp, sp, #0xfffffff8\n"
|
|
" mov r0, #0x0\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r2, #0xb\n"
|
|
" mov r3, #0x11\n"
|
|
" bl Menu_DrawStdWindowFrame\n"
|
|
" ldr r4, ._93\n"
|
|
" mov r0, #0x2\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0x8\n"
|
|
" add r3, r4, #0\n"
|
|
" bl Menu_PrintItems\n"
|
|
" mov r5, #0x0\n"
|
|
" add r4, r4, #0x4\n"
|
|
"._92:\n"
|
|
" lsl r0, r5, #0x3\n"
|
|
" add r0, r0, r4\n"
|
|
" ldr r1, [r0]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r1, r1, r0\n"
|
|
" mov r0, #0xb6\n"
|
|
" cmp r1, #0\n"
|
|
" bne ._91 @cond_branch\n"
|
|
" mov r0, #0xb5\n"
|
|
"._91:\n"
|
|
" lsl r2, r5, #0x1\n"
|
|
" add r2, r2, #0x1\n"
|
|
" lsl r2, r2, #0x18\n"
|
|
" lsr r2, r2, #0x18\n"
|
|
" mov r1, #0xa\n"
|
|
" bl sub_8071F60\n"
|
|
" add r0, r5, #1\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r5, r0, #0x18\n"
|
|
" cmp r5, #0x7\n"
|
|
" bls ._92 @cond_branch\n"
|
|
" mov r0, #0x0\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"
|
|
" add sp, sp, #0x8\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._94:\n"
|
|
" .align 2, 0\n"
|
|
"._93:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x203\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076F60()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r5, r0, #0x18\n"
|
|
" bl Menu_ProcessInput\n"
|
|
" add r4, r0, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" bl Menu_GetCursorPos\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r2, r0, #0x18\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" asr r4, r4, #0x18\n"
|
|
" mov r0, #0x2\n"
|
|
" neg r0, r0\n"
|
|
" cmp r4, r0\n"
|
|
" beq ._97 @cond_branch\n"
|
|
" add r0, r0, #0x1\n"
|
|
" cmp r4, r0\n"
|
|
" bne ._96 @cond_branch\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl debug_sub_8076B68\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DestroyTask\n"
|
|
" b ._97\n"
|
|
"._96:\n"
|
|
" ldr r3, ._100\n"
|
|
" lsl r2, r2, #0x18\n"
|
|
" asr r2, r2, #0x15\n"
|
|
" add r0, r3, #4\n"
|
|
" add r0, r2, r0\n"
|
|
" ldrb r4, [r0]\n"
|
|
" ldr r0, ._100 + 4\n"
|
|
" mov r1, #0x1\n"
|
|
" and r1, r1, r4\n"
|
|
" strb r1, [r0, #0x8]\n"
|
|
" add r2, r2, r3\n"
|
|
" ldr r1, [r2]\n"
|
|
" bl StringCopy\n"
|
|
" mov r0, #0x80\n"
|
|
" and r4, r4, r0\n"
|
|
" cmp r4, #0\n"
|
|
" bne ._98 @cond_branch\n"
|
|
" mov r0, #0x0\n"
|
|
" bl debug_sub_8057508\n"
|
|
" b ._99\n"
|
|
"._101:\n"
|
|
" .align 2, 0\n"
|
|
"._100:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x203\n"
|
|
" .word gSaveBlock2\n"
|
|
"._98:\n"
|
|
" mov r0, #0x1\n"
|
|
" bl debug_sub_8057508\n"
|
|
"._99:\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DestroyTask\n"
|
|
" ldr r0, ._102\n"
|
|
" bl SetMainCallback2\n"
|
|
"._97:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._103:\n"
|
|
" .align 2, 0\n"
|
|
"._102:\n"
|
|
" .word debug_sub_8058C00+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8076FEC()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl DebugMenu_8076EF4\n"
|
|
" ldr r0, ._104\n"
|
|
" mov r1, #0xa\n"
|
|
" bl CreateTask\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._105:\n"
|
|
" .align 2, 0\n"
|
|
"._104:\n"
|
|
" .word DebugMenu_8076F60+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077004()
|
|
{
|
|
asm(
|
|
" ldr r2, ._106\n"
|
|
" ldr r0, ._106 + 4\n"
|
|
" ldrb r0, [r0]\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" ldr r1, ._106 + 8\n"
|
|
" add r0, r0, r1\n"
|
|
" str r0, [r2]\n"
|
|
" bx lr\n"
|
|
"._107:\n"
|
|
" .align 2, 0\n"
|
|
"._106:\n"
|
|
" .word 0x30006c4 @ gTileset1AnimLength\n"
|
|
" .word 0x030006c0+0x1 @ gNumTilesetAnimDmas+0x1\n"
|
|
" .word gDebug0x839B9BC+0x1a8\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077020()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r4, r0, #0x18\n"
|
|
" ldr r0, ._109\n"
|
|
" ldr r0, [r0]\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x3cf4\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._108 @cond_branch\n"
|
|
" add r0, r4, #0\n"
|
|
" bl DestroyTask\n"
|
|
"._108:\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._110:\n"
|
|
" .align 2, 0\n"
|
|
"._109:\n"
|
|
" .word gMenuCallback\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077048()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._111\n"
|
|
" ldr r1, ._111 + 4\n"
|
|
" str r1, [r0]\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" ldr r0, ._111 + 8\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._112:\n"
|
|
" .align 2, 0\n"
|
|
"._111:\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_807706C+1\n"
|
|
" .word DebugMenu_8077020+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807706C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._113\n"
|
|
" bl InitMenuWindow\n"
|
|
" bl DebugMenu_8077004\n"
|
|
" bl DebugMenu_807719C\n"
|
|
" bl DebugMenu_80771EC\n"
|
|
" bl DebugMenu_8077238\n"
|
|
" ldr r1, ._113 + 4\n"
|
|
" ldr r0, ._113 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._114:\n"
|
|
" .align 2, 0\n"
|
|
"._113:\n"
|
|
" .word gWindowTemplate_81E6CE4\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_807709C+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807709C()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" ldr r4, ._120\n"
|
|
" ldrh r1, [r4, #0x2e]\n"
|
|
" mov r0, #0x40\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._115 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" mov r0, #0x1\n"
|
|
" neg r0, r0\n"
|
|
" bl Menu_MoveCursor\n"
|
|
" ldr r1, ._120 + 4\n"
|
|
" strb r0, [r1]\n"
|
|
"._115:\n"
|
|
" ldrh r1, [r4, #0x2e]\n"
|
|
" mov r0, #0x80\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._116 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" mov r0, #0x1\n"
|
|
" bl Menu_MoveCursor\n"
|
|
" ldr r1, ._120 + 4\n"
|
|
" strb r0, [r1]\n"
|
|
"._116:\n"
|
|
" ldrh r1, [r4, #0x2e]\n"
|
|
" mov r0, #0x20\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._117 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" ldr r1, ._120 + 8\n"
|
|
" ldrb r0, [r1]\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._118 @cond_branch\n"
|
|
" mov r0, #0x7\n"
|
|
" b ._119\n"
|
|
"._121:\n"
|
|
" .align 2, 0\n"
|
|
"._120:\n"
|
|
" .word gMain\n"
|
|
" .word 0x030006c0 @ gNumTilesetAnimDmas\n"
|
|
" .word 0x030006c0+0x1 @ gNumTilesetAnimDmas+0x1\n"
|
|
"._118:\n"
|
|
" sub r0, r0, #0x1\n"
|
|
"._119:\n"
|
|
" strb r0, [r1]\n"
|
|
" bl DebugMenu_8077004\n"
|
|
" bl DebugMenu_807719C\n"
|
|
"._117:\n"
|
|
" ldr r0, ._125\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x10\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._122 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" ldr r1, ._125 + 4\n"
|
|
" ldrb r0, [r1]\n"
|
|
" cmp r0, #0x7\n"
|
|
" bne ._123 @cond_branch\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._124\n"
|
|
"._126:\n"
|
|
" .align 2, 0\n"
|
|
"._125:\n"
|
|
" .word gMain\n"
|
|
" .word 0x030006c0+0x1 @ gNumTilesetAnimDmas+0x1\n"
|
|
"._123:\n"
|
|
" add r0, r0, #0x1\n"
|
|
"._124:\n"
|
|
" strb r0, [r1]\n"
|
|
" bl DebugMenu_8077004\n"
|
|
" bl DebugMenu_807719C\n"
|
|
"._122:\n"
|
|
" ldr r0, ._129\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._127 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" ldr r1, ._129 + 4\n"
|
|
" ldr r0, ._129 + 8\n"
|
|
" ldrb r2, [r0]\n"
|
|
" ldr r0, ._129 + 12\n"
|
|
" ldr r0, [r0]\n"
|
|
" add r0, r0, r2\n"
|
|
" ldrb r0, [r0]\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" add r1, r1, #0x4\n"
|
|
" add r0, r0, r1\n"
|
|
" ldr r0, [r0]\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x3cf4\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" b ._132\n"
|
|
"._130:\n"
|
|
" .align 2, 0\n"
|
|
"._129:\n"
|
|
" .word gMain\n"
|
|
" .word gDebug0x839B9BC\n"
|
|
" .word 0x030006c0 @ gNumTilesetAnimDmas\n"
|
|
" .word 0x30006c4 @ gTileset1AnimLength\n"
|
|
"._127:\n"
|
|
" mov r0, #0xa\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._131 @cond_branch\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._132\n"
|
|
"._131:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
"._132:\n"
|
|
" pop {r4}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807719C()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add sp, sp, #0xfffffff8\n"
|
|
" mov r0, #0x0\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r2, #0xe\n"
|
|
" mov r3, #0x11\n"
|
|
" bl Menu_DrawStdWindowFrame\n"
|
|
" ldr r3, ._133\n"
|
|
" ldr r0, ._133 + 4\n"
|
|
" ldr r0, [r0]\n"
|
|
" str r0, [sp]\n"
|
|
" mov r0, #0x1\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0x8\n"
|
|
" bl Menu_PrintItemsReordered\n"
|
|
" ldr r4, ._133 + 8\n"
|
|
" ldrb r0, [r4]\n"
|
|
" str r0, [sp]\n"
|
|
" mov r0, #0xd\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"
|
|
" strb r0, [r4]\n"
|
|
" add sp, sp, #0x8\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._134:\n"
|
|
" .align 2, 0\n"
|
|
"._133:\n"
|
|
" .word gDebug0x839B9BC\n"
|
|
" .word 0x30006c4 @ gTileset1AnimLength\n"
|
|
" .word 0x030006c0 @ gNumTilesetAnimDmas\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80771EC()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" ldr r0, ._135\n"
|
|
" ldr r1, ._135 + 4\n"
|
|
" bl StringCopy\n"
|
|
" ldr r4, ._135 + 8\n"
|
|
" mov r1, #0x4\n"
|
|
" ldsb r1, [r4, r1]\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" mov r1, #0x5\n"
|
|
" ldsb r1, [r4, r1]\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" mov r0, #0x13\n"
|
|
" mov r1, #0xc\n"
|
|
" mov r2, #0x1d\n"
|
|
" mov r3, #0xf\n"
|
|
" bl Menu_DrawStdWindowFrame\n"
|
|
" ldr r0, ._135\n"
|
|
" mov r1, #0x14\n"
|
|
" mov r2, #0xd\n"
|
|
" bl Menu_PrintText\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._136:\n"
|
|
" .align 2, 0\n"
|
|
"._135:\n"
|
|
" .word gStringVar4\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x243\n"
|
|
" .word gSaveBlock1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077238()
|
|
{
|
|
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, #0xffffffe8\n"
|
|
" ldr r1, ._139\n"
|
|
" mov r0, sp\n"
|
|
" mov r2, #0x2\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x5bc4\n"
|
|
" add r0, sp, #0x4\n"
|
|
" mov r9, r0\n"
|
|
" ldr r1, ._139 + 4\n"
|
|
" mov r2, #0x3\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x5bc4\n"
|
|
" add r1, sp, #0x8\n"
|
|
" mov sl, r1\n"
|
|
" ldr r1, ._139 + 8\n"
|
|
" mov r0, sl\n"
|
|
" mov r2, #0x3\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x5bc4\n"
|
|
" mov r2, #0x0\n"
|
|
" str r2, [sp, #0x14]\n"
|
|
" add r4, sp, #0x10\n"
|
|
" mov r6, sp\n"
|
|
" add r6, r6, #0x12\n"
|
|
" add r0, r4, #0\n"
|
|
" add r1, r6, #0\n"
|
|
" bl PlayerGetDestCoords\n"
|
|
" mov r1, #0x0\n"
|
|
" ldsh r0, [r4, r1]\n"
|
|
" mov r2, #0x0\n"
|
|
" ldsh r1, [r6, r2]\n"
|
|
" bl MapGridGetZCoordAt\n"
|
|
" mov r8, r0\n"
|
|
" mov r0, r8\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" mov r8, r0\n"
|
|
" ldrh r0, [r4]\n"
|
|
" sub r0, r0, #0x7\n"
|
|
" strh r0, [r4]\n"
|
|
" ldrh r0, [r6]\n"
|
|
" sub r0, r0, #0x7\n"
|
|
" strh r0, [r6]\n"
|
|
" ldr r7, ._139 + 12\n"
|
|
" add r0, r7, #0\n"
|
|
" mov r1, sp\n"
|
|
" bl StringCopy\n"
|
|
" add r5, sp, #0xc\n"
|
|
" mov r2, #0x0\n"
|
|
" ldsh r1, [r4, r2]\n"
|
|
" add r0, r5, #0\n"
|
|
" mov r2, #0x0\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r7, #0\n"
|
|
" add r1, r5, #0\n"
|
|
" bl StringAppend\n"
|
|
" add r0, r7, #0\n"
|
|
" mov r1, r9\n"
|
|
" bl StringAppend\n"
|
|
" mov r0, #0x0\n"
|
|
" ldsh r1, [r6, r0]\n"
|
|
" add r0, r5, #0\n"
|
|
" mov r2, #0x0\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r7, #0\n"
|
|
" add r1, r5, #0\n"
|
|
" bl StringAppend\n"
|
|
" add r0, r7, #0\n"
|
|
" mov r1, sl\n"
|
|
" bl StringAppend\n"
|
|
" add r0, r5, #0\n"
|
|
" mov r1, r8\n"
|
|
" mov r2, #0x0\n"
|
|
" mov r3, #0x2\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r7, #0\n"
|
|
" add r1, r5, #0\n"
|
|
" bl StringAppend\n"
|
|
" ldrb r0, [r7]\n"
|
|
" cmp r0, #0xff\n"
|
|
" beq ._137 @cond_branch\n"
|
|
" add r1, r7, #0\n"
|
|
"._138:\n"
|
|
" ldr r0, [sp, #0x14]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" lsr r0, r0, #0x10\n"
|
|
" str r0, [sp, #0x14]\n"
|
|
" add r0, r0, r1\n"
|
|
" ldrb r0, [r0]\n"
|
|
" cmp r0, #0xff\n"
|
|
" bne ._138 @cond_branch\n"
|
|
"._137:\n"
|
|
" mov r0, #0x1c\n"
|
|
" ldr r1, [sp, #0x14]\n"
|
|
" sub r0, r0, r1\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" mov r1, #0x10\n"
|
|
" mov r2, #0x1d\n"
|
|
" mov r3, #0x13\n"
|
|
" bl Menu_DrawStdWindowFrame\n"
|
|
" ldr r0, ._139 + 12\n"
|
|
" mov r1, #0x1d\n"
|
|
" ldr r2, [sp, #0x14]\n"
|
|
" sub r1, r1, r2\n"
|
|
" lsl r1, r1, #0x18\n"
|
|
" lsr r1, r1, #0x18\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
" add sp, sp, #0x18\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"
|
|
"._140:\n"
|
|
" .align 2, 0\n"
|
|
"._139:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x246\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x248\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x24b\n"
|
|
" .word gStringVar4\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_Exit()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenSogabe()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl unref_sub_814A414\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenTamada()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_8075C30\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenKagaya()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl InitKagayaDebugMenu_A\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenMatsuda()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl unref_sub_80A9B28\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenNohara()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl InitNoharaDebugMenu\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenWatanabe()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._141\n"
|
|
" bl SetMainCallback2\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._142:\n"
|
|
" .align 2, 0\n"
|
|
"._141:\n"
|
|
" .word InitWatanabeDebugMenu+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_EndSequenceDemo()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._143\n"
|
|
" bl SetMainCallback2\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._144:\n"
|
|
" .align 2, 0\n"
|
|
"._143:\n"
|
|
" .word sub_81439D0+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_HallOfFame()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" bl GameClear\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenSizeComparison()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" bl InitSizeComparison\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_HoennNationalDex()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl IsNationalPokedexEnabled\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._145 @cond_branch\n"
|
|
" bl DisableNationalPokedex\n"
|
|
" b ._146\n"
|
|
"._145:\n"
|
|
" bl EnableNationalPokedex\n"
|
|
"._146:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077434()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" add sp, sp, #0xfffffff8\n"
|
|
" bl Menu_GetCursorPos\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" cmp r0, #0x4\n"
|
|
" bhi ._165 @cond_branch\n"
|
|
" lsl r0, r0, #0x2\n"
|
|
" ldr r1, ._149\n"
|
|
" add r0, r0, r1\n"
|
|
" ldr r0, [r0]\n"
|
|
" mov pc, r0\n"
|
|
"._150:\n"
|
|
" .align 2, 0\n"
|
|
"._149:\n"
|
|
" .word ._148\n"
|
|
"._148:\n"
|
|
" .word ._151\n"
|
|
" .word ._152\n"
|
|
" .word ._153\n"
|
|
" .word ._154\n"
|
|
" .word ._155\n"
|
|
"._151:\n"
|
|
" ldr r0, ._157\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0x4\n"
|
|
" bl GetEnigmaBerryChecksum\n"
|
|
" mov r0, #0xff\n"
|
|
" str r0, [sp]\n"
|
|
" str r0, [sp, #0x4]\n"
|
|
" mov r1, #0xff\n"
|
|
" mov r2, #0xff\n"
|
|
" mov r3, #0x0\n"
|
|
" bl debug_sub_80C2D24\n"
|
|
" b ._165\n"
|
|
"._158:\n"
|
|
" .align 2, 0\n"
|
|
"._157:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x24e\n"
|
|
"._152:\n"
|
|
" ldr r0, ._160\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0x0\n"
|
|
" bl GetEnigmaBerryChecksum\n"
|
|
" mov r0, #0xff\n"
|
|
" str r0, [sp]\n"
|
|
" str r0, [sp, #0x4]\n"
|
|
" mov r1, #0xff\n"
|
|
" mov r2, #0x0\n"
|
|
" b ._159\n"
|
|
"._161:\n"
|
|
" .align 2, 0\n"
|
|
"._160:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x251\n"
|
|
"._153:\n"
|
|
" ldr r0, ._163\n"
|
|
" mov r1, #0x3\n"
|
|
" mov r2, #0x0\n"
|
|
" bl GetEnigmaBerryChecksum\n"
|
|
" mov r0, #0xff\n"
|
|
" str r0, [sp]\n"
|
|
" str r0, [sp, #0x4]\n"
|
|
" mov r1, #0x0\n"
|
|
" b ._162\n"
|
|
"._164:\n"
|
|
" .align 2, 0\n"
|
|
"._163:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x255\n"
|
|
"._154:\n"
|
|
" ldr r0, ._166\n"
|
|
" mov r1, #0x4\n"
|
|
" mov r2, #0x0\n"
|
|
" bl GetEnigmaBerryChecksum\n"
|
|
" mov r0, #0xff\n"
|
|
" str r0, [sp]\n"
|
|
" str r0, [sp, #0x4]\n"
|
|
" mov r0, #0x0\n"
|
|
" mov r1, #0xff\n"
|
|
"._162:\n"
|
|
" mov r2, #0xff\n"
|
|
"._159:\n"
|
|
" mov r3, #0xff\n"
|
|
" bl debug_sub_80C2D24\n"
|
|
" b ._165\n"
|
|
"._167:\n"
|
|
" .align 2, 0\n"
|
|
"._166:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x259\n"
|
|
"._155:\n"
|
|
" ldr r0, ._168\n"
|
|
" mov r1, #0x4\n"
|
|
" mov r2, #0x0\n"
|
|
" bl GetEnigmaBerryChecksum\n"
|
|
" mov r0, #0xff\n"
|
|
" str r0, [sp]\n"
|
|
" str r0, [sp, #0x4]\n"
|
|
" mov r1, #0xff\n"
|
|
" mov r2, #0xff\n"
|
|
" mov r3, #0xff\n"
|
|
" bl debug_sub_80C2D24\n"
|
|
"._165:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" add sp, sp, #0x8\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._169:\n"
|
|
" .align 2, 0\n"
|
|
"._168:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x25d\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807750C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._170\n"
|
|
" bl DebugMenu_8077D78\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._171:\n"
|
|
" .align 2, 0\n"
|
|
"._170:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x263\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_SetRamBerry()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._172\n"
|
|
" mov r1, #0xc\n"
|
|
" mov r2, #0x5\n"
|
|
" bl DebugMenu_8077D24\n"
|
|
" ldr r1, ._172 + 4\n"
|
|
" ldr r0, ._172 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._173:\n"
|
|
" .align 2, 0\n"
|
|
"._172:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x263\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_807750C+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_ToggleBGM()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r2, ._175\n"
|
|
" mov r1, #0x0\n"
|
|
" ldrb r0, [r2]\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._174 @cond_branch\n"
|
|
" mov r1, #0x1\n"
|
|
"._174:\n"
|
|
" strb r1, [r2]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._176:\n"
|
|
" .align 2, 0\n"
|
|
"._175:\n"
|
|
" .word gDisableMusic\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_BattleForDebug()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" bl InitBattleForDebug\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_NationalDex()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" mov r4, #0x0\n"
|
|
" ldr r5, ._178\n"
|
|
"._177:\n"
|
|
" add r4, r4, #0x1\n"
|
|
" lsl r4, r4, #0x10\n"
|
|
" lsr r4, r4, #0x10\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x2\n"
|
|
" bl GetSetPokedexFlag\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x3\n"
|
|
" bl GetSetPokedexFlag\n"
|
|
" cmp r4, r5\n"
|
|
" bls ._177 @cond_branch\n"
|
|
" ldr r1, ._178 + 4\n"
|
|
" mov r0, #0x1\n"
|
|
" strb r0, [r1]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._179:\n"
|
|
" .align 2, 0\n"
|
|
"._178:\n"
|
|
" .word 0x181\n"
|
|
" .word gUnknown_03005CE8\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_HoennDex()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" mov r5, #0x0\n"
|
|
"._180:\n"
|
|
" add r5, r5, #0x1\n"
|
|
" lsl r5, r5, #0x10\n"
|
|
" lsr r5, r5, #0x10\n"
|
|
" add r0, r5, #0\n"
|
|
" bl HoennToNationalOrder\n"
|
|
" add r4, r0, #0\n"
|
|
" lsl r4, r4, #0x10\n"
|
|
" lsr r4, r4, #0x10\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x2\n"
|
|
" bl GetSetPokedexFlag\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x3\n"
|
|
" bl GetSetPokedexFlag\n"
|
|
" cmp r5, #0xc9\n"
|
|
" bls ._180 @cond_branch\n"
|
|
" ldr r1, ._181\n"
|
|
" mov r0, #0x1\n"
|
|
" strb r0, [r1]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._182:\n"
|
|
" .align 2, 0\n"
|
|
"._181:\n"
|
|
" .word gUnknown_03005CE8\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_CreatePKMN()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" bl InitCreatePokemon\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_ViewPokemonGraphics()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" bl InitSeePokemonGraphics\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenSeeTrainers()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" bl InitSeeTrainers\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenMori()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl InitMoriDebugMenu\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenTomomichi()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl InitTomomichiDebugWindow\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenAoki()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenTaya()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl InitTayaDebugWindow\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenNakamura()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl InitNakamuraDebugMenu\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenIwasawa()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_8138CC4\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_Teleport()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Overworld_SetWarpDestToLastHealLoc\n"
|
|
" bl sub_8080E88\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_EditPKMN()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl debug_sub_815FFDC\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80776B4()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" add sp, sp, #0xfffffff8\n"
|
|
" add r4, r0, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" ldr r1, ._183\n"
|
|
" mov r0, sp\n"
|
|
" mov r2, #0x7\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x5bc4\n"
|
|
" lsl r3, r4, #0x1\n"
|
|
" lsl r5, r4, #0x19\n"
|
|
" lsr r5, r5, #0x18\n"
|
|
" add r3, r3, #0x1\n"
|
|
" lsl r3, r3, #0x18\n"
|
|
" lsr r3, r3, #0x18\n"
|
|
" mov r0, #0x19\n"
|
|
" add r1, r5, #0\n"
|
|
" mov r2, #0x1d\n"
|
|
" bl Menu_BlankWindowRect\n"
|
|
" ldr r0, ._183 + 4\n"
|
|
" ldrb r0, [r0]\n"
|
|
" ASR r0, r4\n"
|
|
" mov r1, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" lsl r0, r0, #0x2\n"
|
|
" add r0, r0, sp\n"
|
|
" mov r1, #0x19\n"
|
|
" add r2, r5, #0\n"
|
|
" bl Menu_PrintText\n"
|
|
" add sp, sp, #0x8\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._184:\n"
|
|
" .align 2, 0\n"
|
|
"._183:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x28b\n"
|
|
" .word 0x30006c8 @ gTileset2AnimLength\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077704()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" add sp, sp, #0xffffffec\n"
|
|
" ldr r1, ._185\n"
|
|
" mov r0, sp\n"
|
|
" mov r2, #0x11\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x5bc4\n"
|
|
" mov r0, #0x13\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r2, #0x1d\n"
|
|
" mov r3, #0x8\n"
|
|
" bl Menu_BlankWindowRect\n"
|
|
" mov r0, sp\n"
|
|
" mov r1, #0x15\n"
|
|
" mov r2, #0x0\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldr r2, ._185 + 4\n"
|
|
" mov r0, #0x80\n"
|
|
" lsl r0, r0, #0x13\n"
|
|
" ldrh r0, [r0]\n"
|
|
" lsr r0, r0, #0x8\n"
|
|
" mov r1, #0xf\n"
|
|
" and r0, r0, r1\n"
|
|
" strb r0, [r2]\n"
|
|
" mov r0, #0x0\n"
|
|
" bl DebugMenu_80776B4\n"
|
|
" mov r0, #0x1\n"
|
|
" bl DebugMenu_80776B4\n"
|
|
" mov r0, #0x2\n"
|
|
" bl DebugMenu_80776B4\n"
|
|
" mov r0, #0x3\n"
|
|
" bl DebugMenu_80776B4\n"
|
|
" add sp, sp, #0x14\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._186:\n"
|
|
" .align 2, 0\n"
|
|
"._185:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x292\n"
|
|
" .word 0x30006c8 @ gTileset2AnimLength\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077760()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" ldr r2, ._190\n"
|
|
" ldrh r1, [r2, #0x2e]\n"
|
|
" mov r0, #0x40\n"
|
|
" and r0, r0, r1\n"
|
|
" add r5, r2, #0\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._187 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" mov r0, #0x1\n"
|
|
" neg r0, r0\n"
|
|
" bl Menu_MoveCursor\n"
|
|
" ldr r1, ._190 + 4\n"
|
|
" ldrb r0, [r1]\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._188 @cond_branch\n"
|
|
" sub r0, r0, #0x1\n"
|
|
" b ._189\n"
|
|
"._191:\n"
|
|
" .align 2, 0\n"
|
|
"._190:\n"
|
|
" .word gMain\n"
|
|
" .word 0x030006b0+0x8 @ gMenu+0x8\n"
|
|
"._188:\n"
|
|
" mov r0, #0x3\n"
|
|
"._189:\n"
|
|
" strb r0, [r1]\n"
|
|
"._187:\n"
|
|
" ldrh r1, [r5, #0x2e]\n"
|
|
" mov r0, #0x80\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._192 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" mov r0, #0x1\n"
|
|
" bl Menu_MoveCursor\n"
|
|
" ldr r1, ._195\n"
|
|
" ldrb r0, [r1]\n"
|
|
" cmp r0, #0x3\n"
|
|
" beq ._193 @cond_branch\n"
|
|
" add r0, r0, #0x1\n"
|
|
" b ._194\n"
|
|
"._196:\n"
|
|
" .align 2, 0\n"
|
|
"._195:\n"
|
|
" .word 0x030006b0+0x8 @ gMenu+0x8\n"
|
|
"._193:\n"
|
|
" mov r0, #0x0\n"
|
|
"._194:\n"
|
|
" strb r0, [r1]\n"
|
|
"._192:\n"
|
|
" ldrh r1, [r5, #0x2e]\n"
|
|
" mov r0, #0x30\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._197 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" ldr r4, ._201\n"
|
|
" bl Menu_GetCursorPos\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" mov r1, #0x1\n"
|
|
" LSL r1, r0\n"
|
|
" ldrb r0, [r4]\n"
|
|
" eor r1, r1, r0\n"
|
|
" strb r1, [r4]\n"
|
|
" bl Menu_GetCursorPos\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" bl DebugMenu_80776B4\n"
|
|
"._197:\n"
|
|
" ldrh r2, [r5, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r2\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._198 @cond_branch\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r2\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._199 @cond_branch\n"
|
|
"._198:\n"
|
|
" mov r2, #0x80\n"
|
|
" lsl r2, r2, #0x13\n"
|
|
" ldrh r0, [r2]\n"
|
|
" ldr r1, ._201 + 4\n"
|
|
" and r1, r1, r0\n"
|
|
" ldr r0, ._201\n"
|
|
" ldrb r0, [r0]\n"
|
|
" lsl r0, r0, #0x8\n"
|
|
" add r1, r1, r0\n"
|
|
" strh r1, [r2]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._200\n"
|
|
"._202:\n"
|
|
" .align 2, 0\n"
|
|
"._201:\n"
|
|
" .word 0x30006c8 @ gTileset2AnimLength\n"
|
|
" .word 0xf0ff\n"
|
|
"._199:\n"
|
|
" mov r0, #0x0\n"
|
|
"._200:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_SwitchBG()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" add sp, sp, #0xfffffff8\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl DebugMenu_8077704\n"
|
|
" mov r0, #0x0\n"
|
|
" str r0, [sp]\n"
|
|
" mov r0, #0x6\n"
|
|
" str r0, [sp, #0x4]\n"
|
|
" mov r0, #0x0\n"
|
|
" mov r1, #0x14\n"
|
|
" mov r2, #0x0\n"
|
|
" mov r3, #0x4\n"
|
|
" bl InitMenu\n"
|
|
" ldr r1, ._203\n"
|
|
" ldr r0, ._203 + 4\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" add sp, sp, #0x8\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._204:\n"
|
|
" .align 2, 0\n"
|
|
"._203:\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8077760+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807786C()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add sp, sp, #0xfffffff8\n"
|
|
" add r4, r0, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" ldr r1, ._205\n"
|
|
" mov r0, sp\n"
|
|
" mov r2, #0x7\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x5bc4\n"
|
|
" mov r0, #0x19\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r2, #0x1d\n"
|
|
" mov r3, #0x3\n"
|
|
" bl Menu_DrawStdWindowFrame\n"
|
|
" lsl r0, r4, #0x1\n"
|
|
" add r0, r0, r4\n"
|
|
" add r0, r0, sp\n"
|
|
" mov r1, #0x1a\n"
|
|
" mov r2, #0x1\n"
|
|
" bl Menu_PrintText\n"
|
|
" add sp, sp, #0x8\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._206:\n"
|
|
" .align 2, 0\n"
|
|
"._205:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x2a3\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80778A8()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" ldr r4, ._211\n"
|
|
" ldrh r1, [r4, #0x2e]\n"
|
|
" mov r0, #0x30\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._207 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" ldr r2, ._211 + 4\n"
|
|
" ldrb r0, [r2]\n"
|
|
" mov r1, #0x1\n"
|
|
" eor r0, r0, r1\n"
|
|
" strb r0, [r2]\n"
|
|
" ldrb r0, [r2]\n"
|
|
" bl DebugMenu_807786C\n"
|
|
"._207:\n"
|
|
" ldrh r1, [r4, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._208 @cond_branch\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._209 @cond_branch\n"
|
|
"._208:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._210\n"
|
|
"._212:\n"
|
|
" .align 2, 0\n"
|
|
"._211:\n"
|
|
" .word gMain\n"
|
|
" .word sWildEncountersDisabled\n"
|
|
"._209:\n"
|
|
" mov r0, #0x0\n"
|
|
"._210:\n"
|
|
" pop {r4}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_ControlEncounter()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r0, ._213\n"
|
|
" ldrb r0, [r0]\n"
|
|
" bl DebugMenu_807786C\n"
|
|
" ldr r1, ._213 + 4\n"
|
|
" ldr r0, ._213 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._214:\n"
|
|
" .align 2, 0\n"
|
|
"._213:\n"
|
|
" .word sWildEncountersDisabled\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_80778A8+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_UseHM()
|
|
{
|
|
asm(
|
|
" ldr r1, ._215\n"
|
|
" ldr r0, ._215 + 4\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" bx lr\n"
|
|
"._216:\n"
|
|
" .align 2, 0\n"
|
|
"._215:\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8077C14+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077934()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" mov r1, #0x0\n"
|
|
" ldr r3, ._218\n"
|
|
" mov r2, #0x1\n"
|
|
"._217:\n"
|
|
" add r0, r1, r3\n"
|
|
" strb r2, [r0]\n"
|
|
" add r1, r1, #0x1\n"
|
|
" cmp r1, #0x63\n"
|
|
" bls ._217 @cond_branch\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._219:\n"
|
|
" .align 2, 0\n"
|
|
"._218:\n"
|
|
" .word gSaveBlock1+0x97a\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077954()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" mov r1, #0x0\n"
|
|
" ldr r3, ._222\n"
|
|
" mov r2, #0x0\n"
|
|
"._221:\n"
|
|
" add r0, r1, r3\n"
|
|
" strb r2, [r0]\n"
|
|
" add r1, r1, #0x1\n"
|
|
" cmp r1, #0x63\n"
|
|
" bls ._221 @cond_branch\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._223:\n"
|
|
" .align 2, 0\n"
|
|
"._222:\n"
|
|
" .word gSaveBlock1+0x97a\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077974()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r1, ._226\n"
|
|
" mov r0, #0x4\n"
|
|
" ldsb r0, [r1, r0]\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" lsr r0, r0, #0x10\n"
|
|
" ldrb r1, [r1, #0x5]\n"
|
|
" lsl r1, r1, #0x18\n"
|
|
" asr r1, r1, #0x18\n"
|
|
" lsl r1, r1, #0x10\n"
|
|
" lsr r1, r1, #0x10\n"
|
|
" bl IsRematchTrainerIn\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._224 @cond_branch\n"
|
|
" ldr r0, ._226 + 4\n"
|
|
" ldr r1, ._226 + 8\n"
|
|
" bl StringCopy\n"
|
|
" b ._225\n"
|
|
"._227:\n"
|
|
" .align 2, 0\n"
|
|
"._226:\n"
|
|
" .word gSaveBlock1\n"
|
|
" .word gStringVar1\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x2cc\n"
|
|
"._224:\n"
|
|
" ldr r0, ._230\n"
|
|
" ldr r1, ._230 + 4\n"
|
|
" bl StringCopy\n"
|
|
"._225:\n"
|
|
" ldr r1, ._230 + 8\n"
|
|
" mov r0, #0x4\n"
|
|
" ldsb r0, [r1, r0]\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" lsr r0, r0, #0x10\n"
|
|
" ldrb r1, [r1, #0x5]\n"
|
|
" lsl r1, r1, #0x18\n"
|
|
" asr r1, r1, #0x18\n"
|
|
" lsl r1, r1, #0x10\n"
|
|
" lsr r1, r1, #0x10\n"
|
|
" bl DoesSomeoneWantRematchIn\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._228 @cond_branch\n"
|
|
" ldr r0, ._230 + 12\n"
|
|
" ldr r1, ._230 + 16\n"
|
|
" bl StringCopy\n"
|
|
" b ._229\n"
|
|
"._231:\n"
|
|
" .align 2, 0\n"
|
|
"._230:\n"
|
|
" .word gStringVar1\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x2cf\n"
|
|
" .word gSaveBlock1\n"
|
|
" .word gStringVar2\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x2cc\n"
|
|
"._228:\n"
|
|
" ldr r0, ._232\n"
|
|
" ldr r1, ._232 + 4\n"
|
|
" bl StringCopy\n"
|
|
"._229:\n"
|
|
" ldr r0, ._232 + 8\n"
|
|
" bl sub_8071F40\n"
|
|
" ldr r1, ._232 + 12\n"
|
|
" ldr r0, ._232 + 16\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._233:\n"
|
|
" .align 2, 0\n"
|
|
"._232:\n"
|
|
" .word gStringVar2\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x2cf\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x2aa\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8077DB4+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077A20()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._234\n"
|
|
" ldr r1, ._234 + 4\n"
|
|
" add r0, r0, r1\n"
|
|
" mov r1, #0xff\n"
|
|
" strh r1, [r0]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._235:\n"
|
|
" .align 2, 0\n"
|
|
"._234:\n"
|
|
" .word gSaveBlock1\n"
|
|
" .word 0x978\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077A40()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._236\n"
|
|
" ldr r1, ._236 + 4\n"
|
|
" add r0, r0, r1\n"
|
|
" mov r1, #0x0\n"
|
|
" strh r1, [r0]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._237:\n"
|
|
" .align 2, 0\n"
|
|
"._236:\n"
|
|
" .word gSaveBlock1\n"
|
|
" .word 0x978\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077A60()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._238\n"
|
|
" bl DebugMenu_8077D78\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._239:\n"
|
|
" .align 2, 0\n"
|
|
"._238:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x323\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_RematchTrainers()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r0, ._240\n"
|
|
" mov r1, #0xd\n"
|
|
" mov r2, #0x5\n"
|
|
" bl DebugMenu_8077D24\n"
|
|
" ldr r1, ._240 + 4\n"
|
|
" ldr r0, ._240 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._241:\n"
|
|
" .align 2, 0\n"
|
|
"._240:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x323\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8077A60+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077A9C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r1, ._242\n"
|
|
" mov r0, #0x1e\n"
|
|
" strb r0, [r1]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._243:\n"
|
|
" .align 2, 0\n"
|
|
"._242:\n"
|
|
" .word gNumSafariBalls\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077AB4()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r1, ._244\n"
|
|
" mov r0, #0x1\n"
|
|
" strb r0, [r1]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._245:\n"
|
|
" .align 2, 0\n"
|
|
"._244:\n"
|
|
" .word gNumSafariBalls\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077ACC()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r1, ._246\n"
|
|
" mov r2, #0xfa\n"
|
|
" lsl r2, r2, #0x1\n"
|
|
" add r0, r2, #0\n"
|
|
" strh r0, [r1]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._247:\n"
|
|
" .align 2, 0\n"
|
|
"._246:\n"
|
|
" .word gSafariZoneStepCounter\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077AE8()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r1, ._248\n"
|
|
" mov r0, #0x1\n"
|
|
" strh r0, [r1]\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._249:\n"
|
|
" .align 2, 0\n"
|
|
"._248:\n"
|
|
" .word gSafariZoneStepCounter\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077B00()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl unref_sub_80C853C\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._250 @cond_branch\n"
|
|
" ldr r0, ._252\n"
|
|
" bl sub_8071F40\n"
|
|
" b ._251\n"
|
|
"._253:\n"
|
|
" .align 2, 0\n"
|
|
"._252:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x353\n"
|
|
"._250:\n"
|
|
" ldr r0, ._254\n"
|
|
" bl sub_8071F40\n"
|
|
"._251:\n"
|
|
" ldr r1, ._254 + 4\n"
|
|
" ldr r0, ._254 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._255:\n"
|
|
" .align 2, 0\n"
|
|
"._254:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x35e\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8077DB4+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077B3C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._256\n"
|
|
" bl DebugMenu_8077D78\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._257:\n"
|
|
" .align 2, 0\n"
|
|
"._256:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x3ab\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_Safari()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl GetSafariZoneFlag\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._258 @cond_branch\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r0, ._260\n"
|
|
" mov r1, #0xe\n"
|
|
" mov r2, #0x5\n"
|
|
" bl DebugMenu_8077D24\n"
|
|
" ldr r0, ._260 + 4\n"
|
|
" ldr r1, ._260 + 8\n"
|
|
" ldrh r1, [r1]\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" ldr r0, ._260 + 12\n"
|
|
" bl sub_8071F40\n"
|
|
" ldr r1, ._260 + 16\n"
|
|
" ldr r0, ._260 + 20\n"
|
|
" str r0, [r1]\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._259\n"
|
|
"._261:\n"
|
|
" .align 2, 0\n"
|
|
"._260:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x3ab\n"
|
|
" .word gStringVar1\n"
|
|
" .word gSafariZoneStepCounter\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x34b\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8077B3C+1\n"
|
|
"._258:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x16\n"
|
|
" bl PlaySE\n"
|
|
" mov r0, #0x1\n"
|
|
"._259:\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077BB4()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_80AFEE4\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077BC0()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_8122080\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077BCC()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_8120968\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077BD8()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_8130318\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077BE4()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_80986AC\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077BF4()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl debug_sub_80D93F4\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077C00()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._262\n"
|
|
" bl DebugMenu_8077D78\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._263:\n"
|
|
" .align 2, 0\n"
|
|
"._262:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x3d3\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077C14()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r0, ._264\n"
|
|
" mov r1, #0xa\n"
|
|
" mov r2, #0x9\n"
|
|
" bl DebugMenu_8077D24\n"
|
|
" ldr r1, ._264 + 4\n"
|
|
" ldr r0, ._264 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._265:\n"
|
|
" .align 2, 0\n"
|
|
"._264:\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x3d3\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8077C00+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077C3C()
|
|
{
|
|
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 sl, r0\n"
|
|
" add r7, r1, #0\n"
|
|
" ldr r0, ._271\n"
|
|
" ldr r1, ._271 + 4\n"
|
|
" str r1, [r0]\n"
|
|
" mov r1, #0x0\n"
|
|
" strb r1, [r7]\n"
|
|
" add r7, r7, #0x1\n"
|
|
" strb r1, [r7]\n"
|
|
" add r7, r7, #0x1\n"
|
|
" mov r3, #0x0\n"
|
|
" mov r8, r0\n"
|
|
"._269:\n"
|
|
" mov r5, #0x0\n"
|
|
" ldr r1, ._271\n"
|
|
" ldr r0, [r1]\n"
|
|
" ldr r2, [r0, #0x4]\n"
|
|
" mov r4, #0x0\n"
|
|
" ldr r1, [r0, #0x8]\n"
|
|
" add r3, r3, #0x1\n"
|
|
" mov r9, r3\n"
|
|
" cmp r5, r1\n"
|
|
" bge ._266 @cond_branch\n"
|
|
" add r3, r0, #0\n"
|
|
" add r6, r1, #0\n"
|
|
"._267:\n"
|
|
" ldr r0, [r3, #0xc]\n"
|
|
" add r0, r0, r4\n"
|
|
" add r0, r0, sl\n"
|
|
" ldrb r0, [r0]\n"
|
|
" sub r0, r0, #0x30\n"
|
|
" mul r0, r0, r2\n"
|
|
" add r5, r5, r0\n"
|
|
" add r4, r4, #0x1\n"
|
|
" add r0, r2, #0\n"
|
|
" mov r1, #0xa\n"
|
|
" str r3, [sp]\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x3d30\n"
|
|
" add r2, r0, #0\n"
|
|
" ldr r3, [sp]\n"
|
|
" cmp r4, r6\n"
|
|
" blt ._267 @cond_branch\n"
|
|
"._266:\n"
|
|
" mov r0, r8\n"
|
|
" ldr r1, [r0]\n"
|
|
" ldr r0, [r1]\n"
|
|
" cmp r0, r5\n"
|
|
" bcs ._268 @cond_branch\n"
|
|
" add r5, r0, #0\n"
|
|
"._268:\n"
|
|
" ldrb r3, [r1, #0x8]\n"
|
|
" add r0, r7, #0\n"
|
|
" add r1, r5, #0\n"
|
|
" mov r2, #0x2\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r7, r0, #0\n"
|
|
" mov r3, r9\n"
|
|
" mov r1, r8\n"
|
|
" ldr r0, [r1]\n"
|
|
" add r0, r0, #0x10\n"
|
|
" str r0, [r1]\n"
|
|
" cmp r3, #0x1\n"
|
|
" ble ._269 @cond_branch\n"
|
|
" mov r1, sl\n"
|
|
" ldrb r0, [r1, #0x1d]\n"
|
|
" add r0, r0, #0x7a\n"
|
|
" strb r0, [r7]\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" cmp r0, #0xf6\n"
|
|
" bls ._270 @cond_branch\n"
|
|
" mov r0, #0xf6\n"
|
|
" strb r0, [r7]\n"
|
|
"._270:\n"
|
|
" mov r0, #0xff\n"
|
|
" strb r0, [r7, #0x1]\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"
|
|
"._272:\n"
|
|
" .align 2, 0\n"
|
|
"._271:\n"
|
|
" .word 0x030006b0+0xc @ gMenu+0xc\n"
|
|
" .word gUnknown_Debug_0839BBC1+0x427\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void debug_sub_8077CF4()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" add r5, r1, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" lsl r5, r5, #0x18\n"
|
|
" lsr r5, r5, #0x18\n"
|
|
" ldr r0, ._273\n"
|
|
" ldr r6, ._273 + 4\n"
|
|
" add r1, r6, #0\n"
|
|
" bl DebugMenu_8077C3C\n"
|
|
" add r0, r6, #0\n"
|
|
" add r1, r4, #0\n"
|
|
" add r2, r5, #0\n"
|
|
" bl Menu_PrintText\n"
|
|
" pop {r4, r5, r6}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._274:\n"
|
|
" .align 2, 0\n"
|
|
"._273:\n"
|
|
" .word BuildDateTime\n"
|
|
" .word gStringVar4\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077D24()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, lr}\n"
|
|
" add sp, sp, #0xfffffff8\n"
|
|
" add r6, r0, #0\n"
|
|
" add r4, r1, #0\n"
|
|
" add r5, r2, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" lsl r5, r5, #0x18\n"
|
|
" lsr r5, r5, #0x18\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" lsl r3, r5, #0x1\n"
|
|
" add r3, r3, #0x1\n"
|
|
" lsl r3, r3, #0x18\n"
|
|
" lsr r3, r3, #0x18\n"
|
|
" mov r0, #0x0\n"
|
|
" mov r1, #0x0\n"
|
|
" add r2, r4, #0\n"
|
|
" bl Menu_DrawStdWindowFrame\n"
|
|
" mov r0, #0x1\n"
|
|
" mov r1, #0x1\n"
|
|
" add r2, r5, #0\n"
|
|
" add r3, r6, #0\n"
|
|
" bl Menu_PrintItems\n"
|
|
" mov r0, #0x0\n"
|
|
" str r0, [sp]\n"
|
|
" sub r4, r4, #0x1\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" str r4, [sp, #0x4]\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0x1\n"
|
|
" add r3, r5, #0\n"
|
|
" bl InitMenu\n"
|
|
" add sp, sp, #0x8\n"
|
|
" pop {r4, r5, r6}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077D78()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" add r5, r0, #0\n"
|
|
" bl Menu_ProcessInput\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" asr r4, r0, #0x18\n"
|
|
" mov r0, #0x2\n"
|
|
" neg r0, r0\n"
|
|
" cmp r4, r0\n"
|
|
" beq ._275 @cond_branch\n"
|
|
" add r0, r0, #0x1\n"
|
|
" cmp r4, r0\n"
|
|
" beq ._276 @cond_branch\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r0, ._278\n"
|
|
" lsl r1, r4, #0x3\n"
|
|
" add r1, r1, r5\n"
|
|
" ldr r1, [r1, #0x4]\n"
|
|
" str r1, [r0]\n"
|
|
"._275:\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._277\n"
|
|
"._279:\n"
|
|
" .align 2, 0\n"
|
|
"._278:\n"
|
|
" .word gMenuCallback\n"
|
|
"._276:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
"._277:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077DB4()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._282\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._280 @cond_branch\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._281\n"
|
|
"._283:\n"
|
|
" .align 2, 0\n"
|
|
"._282:\n"
|
|
" .word gMain\n"
|
|
"._280:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
"._281:\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077DD8()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" add r5, r1, #0\n"
|
|
" lsl r3, r3, #0x10\n"
|
|
" lsr r3, r3, #0x10\n"
|
|
" add r1, r3, #0\n"
|
|
" mov r0, #0x80\n"
|
|
" and r0, r0, r3\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._284 @cond_branch\n"
|
|
" ldrh r0, [r4]\n"
|
|
" sub r0, r0, #0x1\n"
|
|
" b ._285\n"
|
|
"._284:\n"
|
|
" mov r0, #0x40\n"
|
|
" and r0, r0, r3\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._286 @cond_branch\n"
|
|
" ldrh r0, [r4]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" b ._287\n"
|
|
"._286:\n"
|
|
" mov r0, #0x20\n"
|
|
" and r0, r0, r3\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._288 @cond_branch\n"
|
|
" ldrh r0, [r4]\n"
|
|
" sub r0, r0, #0xa\n"
|
|
"._285:\n"
|
|
" strh r0, [r4]\n"
|
|
" mov r1, #0x0\n"
|
|
" ldsh r0, [r4, r1]\n"
|
|
" cmp r0, r5\n"
|
|
" bge ._293 @cond_branch\n"
|
|
" strh r2, [r4]\n"
|
|
" b ._293\n"
|
|
"._288:\n"
|
|
" mov r0, #0x10\n"
|
|
" and r1, r1, r0\n"
|
|
" cmp r1, #0\n"
|
|
" bne ._291 @cond_branch\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._292\n"
|
|
"._291:\n"
|
|
" ldrh r0, [r4]\n"
|
|
" add r0, r0, #0xa\n"
|
|
"._287:\n"
|
|
" strh r0, [r4]\n"
|
|
" mov r1, #0x0\n"
|
|
" ldsh r0, [r4, r1]\n"
|
|
" cmp r0, r2\n"
|
|
" ble ._293 @cond_branch\n"
|
|
" strh r5, [r4]\n"
|
|
"._293:\n"
|
|
" mov r0, #0x1\n"
|
|
"._292:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077E40()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" ldr r0, ._297\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._294 @cond_branch\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._295 @cond_branch\n"
|
|
"._294:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" neg r0, r0\n"
|
|
" b ._302\n"
|
|
"._298:\n"
|
|
" .align 2, 0\n"
|
|
"._297:\n"
|
|
" .word gMain\n"
|
|
"._295:\n"
|
|
" mov r0, #0x30\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._299 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" cmp r4, #0\n"
|
|
" beq ._300 @cond_branch\n"
|
|
" mov r0, #0x1\n"
|
|
" bl DebugMenu_807786C\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._302\n"
|
|
"._300:\n"
|
|
" mov r0, #0x0\n"
|
|
" bl DebugMenu_807786C\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._302\n"
|
|
"._299:\n"
|
|
" add r0, r4, #0\n"
|
|
"._302:\n"
|
|
" pop {r4}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_MakeItems()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" bl DebugMenu_8077EAC\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077EAC()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" ldr r0, ._303\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" add r4, r0, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r1, ._303 + 4\n"
|
|
" lsl r0, r4, #0x2\n"
|
|
" add r0, r0, r4\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" add r0, r0, r1\n"
|
|
" mov r1, #0x1\n"
|
|
" strh r1, [r0, #0xa]\n"
|
|
" strh r1, [r0, #0xc]\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._304:\n"
|
|
" .align 2, 0\n"
|
|
"._303:\n"
|
|
" .word DebugMenu_8077F40+1\n"
|
|
" .word gTasks\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077EE0()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" add r6, r1, #0\n"
|
|
" lsl r4, r4, #0x10\n"
|
|
" lsr r4, r4, #0x10\n"
|
|
" lsl r6, r6, #0x10\n"
|
|
" lsr r6, r6, #0x10\n"
|
|
" mov r0, #0x4\n"
|
|
" mov r1, #0x11\n"
|
|
" mov r2, #0x16\n"
|
|
" mov r3, #0x12\n"
|
|
" bl Menu_BlankWindowRect\n"
|
|
" ldr r5, ._305\n"
|
|
" add r0, r5, #0\n"
|
|
" add r1, r4, #0\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r5, #0\n"
|
|
" mov r1, #0x4\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
" add r0, r4, #0\n"
|
|
" bl ItemId_GetItem\n"
|
|
" mov r1, #0x8\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
" add r0, r5, #0\n"
|
|
" add r1, r6, #0\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r5, #0\n"
|
|
" mov r1, #0x12\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
" pop {r4, r5, r6}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._306:\n"
|
|
" .align 2, 0\n"
|
|
"._305:\n"
|
|
" .word gStringVar1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077F40()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r4, r0, #0x2\n"
|
|
" add r4, r4, r0\n"
|
|
" lsl r4, r4, #0x3\n"
|
|
" ldr r0, ._307\n"
|
|
" add r4, r4, r0\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" ldr r0, ._307 + 4\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldrh r0, [r4, #0xa]\n"
|
|
" ldrh r1, [r4, #0xc]\n"
|
|
" bl DebugMenu_8077EE0\n"
|
|
" ldr r0, ._307 + 8\n"
|
|
" str r0, [r4]\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._308:\n"
|
|
" .align 2, 0\n"
|
|
"._307:\n"
|
|
" .word gTasks\n"
|
|
" .word gDebug0x839C008\n"
|
|
" .word DebugMenu_8077F7C+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077F7C()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r1, r0, #0x2\n"
|
|
" add r1, r1, r0\n"
|
|
" lsl r1, r1, #0x3\n"
|
|
" ldr r0, ._311\n"
|
|
" add r4, r1, r0\n"
|
|
" ldr r3, ._311 + 4\n"
|
|
" ldrh r1, [r3, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._309 @cond_branch\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" ldr r0, ._311 + 8\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldrh r0, [r4, #0xa]\n"
|
|
" ldrh r1, [r4, #0xc]\n"
|
|
" bl DebugMenu_8077EE0\n"
|
|
" ldr r0, ._311 + 12\n"
|
|
" str r0, [r4]\n"
|
|
" b ._317\n"
|
|
"._312:\n"
|
|
" .align 2, 0\n"
|
|
"._311:\n"
|
|
" .word gTasks\n"
|
|
" .word gMain\n"
|
|
" .word gDebug0x839C008+0xc\n"
|
|
" .word DebugMenu_8077FFC+1\n"
|
|
"._309:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._313 @cond_branch\n"
|
|
" ldr r0, ._315\n"
|
|
" str r0, [r4]\n"
|
|
" b ._317\n"
|
|
"._316:\n"
|
|
" .align 2, 0\n"
|
|
"._315:\n"
|
|
" .word DebugMenu_807806C+1\n"
|
|
"._313:\n"
|
|
" add r0, r4, #0\n"
|
|
" add r0, r0, #0xa\n"
|
|
" mov r2, #0xae\n"
|
|
" lsl r2, r2, #0x1\n"
|
|
" ldrh r3, [r3, #0x30]\n"
|
|
" mov r1, #0x1\n"
|
|
" bl DebugMenu_8077DD8\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._317 @cond_branch\n"
|
|
" ldrh r0, [r4, #0xa]\n"
|
|
" ldrh r1, [r4, #0xc]\n"
|
|
" bl DebugMenu_8077EE0\n"
|
|
"._317:\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8077FFC()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r1, r0, #0x2\n"
|
|
" add r1, r1, r0\n"
|
|
" lsl r1, r1, #0x3\n"
|
|
" ldr r0, ._321\n"
|
|
" add r4, r1, r0\n"
|
|
" ldr r2, ._321 + 4\n"
|
|
" ldrh r1, [r2, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._318 @cond_branch\n"
|
|
" ldrh r0, [r4, #0xa]\n"
|
|
" ldrh r1, [r4, #0xc]\n"
|
|
" bl AddBagItem\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._320 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" b ._320\n"
|
|
"._322:\n"
|
|
" .align 2, 0\n"
|
|
"._321:\n"
|
|
" .word gTasks\n"
|
|
" .word gMain\n"
|
|
"._318:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._323 @cond_branch\n"
|
|
"._320:\n"
|
|
" ldr r0, ._325\n"
|
|
" str r0, [r4]\n"
|
|
" b ._327\n"
|
|
"._326:\n"
|
|
" .align 2, 0\n"
|
|
"._325:\n"
|
|
" .word DebugMenu_8077F40+1\n"
|
|
"._323:\n"
|
|
" add r0, r4, #0\n"
|
|
" add r0, r0, #0xc\n"
|
|
" ldrh r3, [r2, #0x30]\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0x63\n"
|
|
" bl DebugMenu_8077DD8\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._327 @cond_branch\n"
|
|
" ldrh r0, [r4, #0xa]\n"
|
|
" ldrh r1, [r4, #0xc]\n"
|
|
" bl DebugMenu_8077EE0\n"
|
|
"._327:\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807806C()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" add r0, r4, #0\n"
|
|
" bl DestroyTask\n"
|
|
" bl DebugMenu_8077048\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807808C()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" add sp, sp, #0xfffffff4\n"
|
|
" add r4, r0, #0\n"
|
|
" sub r0, r4, #1\n"
|
|
" cmp r0, #0xc\n"
|
|
" bls ._328 @cond_branch\n"
|
|
" mov r4, #0x1\n"
|
|
"._328:\n"
|
|
" lsl r1, r4, #0x5\n"
|
|
" ldr r0, ._331\n"
|
|
" add r5, r1, r0\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" mov r0, #0x0\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r2, #0x13\n"
|
|
" mov r3, #0x11\n"
|
|
" bl Menu_DrawStdWindowFrame\n"
|
|
" ldr r0, ._331 + 4\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0x2\n"
|
|
" bl Menu_PrintText\n"
|
|
" mov r0, sp\n"
|
|
" add r1, r4, #0\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" mov r0, sp\n"
|
|
" mov r1, #0xb\n"
|
|
" mov r2, #0x2\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldrh r1, [r5, #0x8]\n"
|
|
" mov r0, sp\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" mov r0, sp\n"
|
|
" mov r1, #0xb\n"
|
|
" mov r2, #0x4\n"
|
|
" bl Menu_PrintText\n"
|
|
" add r4, r5, #0\n"
|
|
" add r4, r4, #0xb\n"
|
|
" add r0, r4, #0\n"
|
|
" bl StringLength\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" lsr r0, r0, #0x10\n"
|
|
" cmp r0, #0xb\n"
|
|
" bhi ._329 @cond_branch\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0xb\n"
|
|
" mov r2, #0x6\n"
|
|
" bl Menu_PrintText\n"
|
|
" b ._330\n"
|
|
"._332:\n"
|
|
" .align 2, 0\n"
|
|
"._331:\n"
|
|
" .word gSaveBlock1+0x2ddc\n"
|
|
" .word gDebug0x839C008+0x16\n"
|
|
"._329:\n"
|
|
" ldr r0, ._335\n"
|
|
" mov r1, #0xb\n"
|
|
" mov r2, #0x6\n"
|
|
" bl Menu_PrintText\n"
|
|
"._330:\n"
|
|
" add r4, r5, #0\n"
|
|
" add r4, r4, #0x16\n"
|
|
" add r0, r4, #0\n"
|
|
" bl StringLength\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" lsr r0, r0, #0x10\n"
|
|
" cmp r0, #0xb\n"
|
|
" bhi ._333 @cond_branch\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0xb\n"
|
|
" mov r2, #0x8\n"
|
|
" bl Menu_PrintText\n"
|
|
" b ._334\n"
|
|
"._336:\n"
|
|
" .align 2, 0\n"
|
|
"._335:\n"
|
|
" .word gDebug0x839C008+0x45\n"
|
|
"._333:\n"
|
|
" ldr r0, ._337\n"
|
|
" mov r1, #0xb\n"
|
|
" mov r2, #0x8\n"
|
|
" bl Menu_PrintText\n"
|
|
"._334:\n"
|
|
" ldrb r1, [r5, #0xa]\n"
|
|
" mov r0, sp\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" mov r0, sp\n"
|
|
" mov r1, #0xb\n"
|
|
" mov r2, #0xa\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldr r1, [r5]\n"
|
|
" mov r0, sp\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x8\n"
|
|
" bl ConvertIntToHexStringN\n"
|
|
" mov r0, sp\n"
|
|
" mov r1, #0xb\n"
|
|
" mov r2, #0xc\n"
|
|
" bl Menu_PrintText\n"
|
|
" add sp, sp, #0xc\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._338:\n"
|
|
" .align 2, 0\n"
|
|
"._337:\n"
|
|
" .word gDebug0x839C008+0x45\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807817C()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r4, r0, #0x18\n"
|
|
" ldr r0, ._340\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._339 @cond_branch\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" add r0, r4, #0\n"
|
|
" bl DestroyTask\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
"._339:\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._341:\n"
|
|
" .align 2, 0\n"
|
|
"._340:\n"
|
|
" .word gMain\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80781A8()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r1, r0, #0x2\n"
|
|
" add r1, r1, r0\n"
|
|
" lsl r1, r1, #0x3\n"
|
|
" ldr r0, ._344\n"
|
|
" add r5, r1, r0\n"
|
|
" ldrh r1, [r5, #0x8]\n"
|
|
" mov r2, #0x8\n"
|
|
" ldsh r0, [r5, r2]\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._342 @cond_branch\n"
|
|
" add r0, r1, #1\n"
|
|
" strh r0, [r5, #0x8]\n"
|
|
" b ._343\n"
|
|
"._345:\n"
|
|
" .align 2, 0\n"
|
|
"._344:\n"
|
|
" .word gTasks\n"
|
|
"._342:\n"
|
|
" ldr r2, ._348\n"
|
|
" ldrh r1, [r2, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._346 @cond_branch\n"
|
|
" mov r1, #0x8\n"
|
|
" ldsh r0, [r5, r1]\n"
|
|
" bl DebugMenu_807808C\n"
|
|
" ldr r0, ._348 + 4\n"
|
|
" str r0, [r5]\n"
|
|
" b ._350\n"
|
|
"._349:\n"
|
|
" .align 2, 0\n"
|
|
"._348:\n"
|
|
" .word gMain\n"
|
|
" .word DebugMenu_807817C+1\n"
|
|
"._346:\n"
|
|
" add r0, r5, #0\n"
|
|
" add r0, r0, #0x8\n"
|
|
" ldrh r1, [r2, #0x30]\n"
|
|
" mov r3, #0xc0\n"
|
|
" and r3, r3, r1\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0xd\n"
|
|
" bl DebugMenu_8077DD8\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._350 @cond_branch\n"
|
|
"._343:\n"
|
|
" mov r0, #0x4\n"
|
|
" mov r1, #0x11\n"
|
|
" mov r2, #0x16\n"
|
|
" mov r3, #0x12\n"
|
|
" bl Menu_BlankWindowRect\n"
|
|
" ldr r4, ._351\n"
|
|
" mov r2, #0x8\n"
|
|
" ldsh r1, [r5, r2]\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x4\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
"._350:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._352:\n"
|
|
" .align 2, 0\n"
|
|
"._351:\n"
|
|
" .word gStringVar1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_ViewPortraits()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._353\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._354:\n"
|
|
" .align 2, 0\n"
|
|
"._353:\n"
|
|
" .word DebugMenu_80781A8+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078254()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl DebugMenu_807808C\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_AllBadges()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._355\n"
|
|
" bl FlagSet\n"
|
|
" ldr r0, ._355 + 4\n"
|
|
" bl FlagSet\n"
|
|
" ldr r0, ._355 + 8\n"
|
|
" bl FlagSet\n"
|
|
" ldr r0, ._355 + 12\n"
|
|
" bl FlagSet\n"
|
|
" ldr r0, ._355 + 16\n"
|
|
" bl FlagSet\n"
|
|
" ldr r0, ._355 + 20\n"
|
|
" bl FlagSet\n"
|
|
" ldr r0, ._355 + 24\n"
|
|
" bl FlagSet\n"
|
|
" ldr r0, ._355 + 28\n"
|
|
" bl FlagSet\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._356:\n"
|
|
" .align 2, 0\n"
|
|
"._355:\n"
|
|
" .word 0x807\n"
|
|
" .word 0x808\n"
|
|
" .word 0x809\n"
|
|
" .word 0x80a\n"
|
|
" .word 0x80b\n"
|
|
" .word 0x80c\n"
|
|
" .word 0x80d\n"
|
|
" .word 0x80e\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_TimeRecords()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._357\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._358:\n"
|
|
" .align 2, 0\n"
|
|
"._357:\n"
|
|
" .word debug_sub_806F9E4+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_SetTime()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" bl debug_sub_806F99C\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80782EC()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" add r1, r0, #0\n"
|
|
" lsl r1, r1, #0x10\n"
|
|
" lsr r1, r1, #0x10\n"
|
|
" ldr r0, ._359\n"
|
|
" mov r2, #0x0\n"
|
|
" mov r3, #0x4\n"
|
|
" bl ConvertIntToHexStringN\n"
|
|
" ldr r0, ._359 + 4\n"
|
|
" bl sub_8071F40\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._360:\n"
|
|
" .align 2, 0\n"
|
|
"._359:\n"
|
|
" .word gStringVar1\n"
|
|
" .word gDebug0x839C008+0x4b\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078310()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r5, r0, #0x18\n"
|
|
" lsl r0, r5, #0x2\n"
|
|
" add r0, r0, r5\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" ldr r1, ._364\n"
|
|
" add r4, r0, r1\n"
|
|
" mov r1, #0x0\n"
|
|
" ldsh r0, [r4, r1]\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._361 @cond_branch\n"
|
|
" cmp r0, #0x1\n"
|
|
" beq ._362 @cond_branch\n"
|
|
" b ._375\n"
|
|
"._365:\n"
|
|
" .align 2, 0\n"
|
|
"._364:\n"
|
|
" .word gTasks+0x8\n"
|
|
"._361:\n"
|
|
" ldr r0, ._367\n"
|
|
" bl VarGet\n"
|
|
" strh r0, [r4, #0x2]\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" bl DebugMenu_80782EC\n"
|
|
" ldrh r0, [r4]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" strh r0, [r4]\n"
|
|
" b ._375\n"
|
|
"._368:\n"
|
|
" .align 2, 0\n"
|
|
"._367:\n"
|
|
" .word 0x4024\n"
|
|
"._362:\n"
|
|
" ldr r3, ._371\n"
|
|
" ldrh r1, [r3, #0x2e]\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._369 @cond_branch\n"
|
|
" mov r0, #0x49\n"
|
|
" bl PlaySE\n"
|
|
" ldr r0, ._371 + 4\n"
|
|
" bl GetVarPointer\n"
|
|
" ldrh r1, [r4, #0x2]\n"
|
|
" strh r1, [r0]\n"
|
|
" b ._370\n"
|
|
"._372:\n"
|
|
" .align 2, 0\n"
|
|
"._371:\n"
|
|
" .word gMain\n"
|
|
" .word 0x4024\n"
|
|
"._369:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._373 @cond_branch\n"
|
|
"._370:\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DestroyTask\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" b ._375\n"
|
|
"._373:\n"
|
|
" add r0, r4, #2\n"
|
|
" ldr r2, ._376\n"
|
|
" ldrh r3, [r3, #0x30]\n"
|
|
" mov r1, #0x0\n"
|
|
" bl DebugMenu_8077DD8\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._375 @cond_branch\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" bl DebugMenu_80782EC\n"
|
|
"._375:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._377:\n"
|
|
" .align 2, 0\n"
|
|
"._376:\n"
|
|
" .word 0xffff\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_MiragaIslandRND()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._378\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._379:\n"
|
|
" .align 2, 0\n"
|
|
"._378:\n"
|
|
" .word DebugMenu_8078310+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80783C8()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" ldr r0, ._383\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x30\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._382 @cond_branch\n"
|
|
" mov r0, #0x5\n"
|
|
" bl PlaySE\n"
|
|
" ldr r4, ._383 + 4\n"
|
|
" add r0, r4, #0\n"
|
|
" bl FlagGet\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._381 @cond_branch\n"
|
|
" add r0, r4, #0\n"
|
|
" bl FlagSet\n"
|
|
" mov r0, #0x0\n"
|
|
" bl DebugMenu_807786C\n"
|
|
" b ._382\n"
|
|
"._384:\n"
|
|
" .align 2, 0\n"
|
|
"._383:\n"
|
|
" .word gMain\n"
|
|
" .word 0x804\n"
|
|
"._381:\n"
|
|
" add r0, r4, #0\n"
|
|
" bl FlagClear\n"
|
|
" mov r0, #0x1\n"
|
|
" bl DebugMenu_807786C\n"
|
|
"._382:\n"
|
|
" ldr r0, ._388\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._385 @cond_branch\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._386 @cond_branch\n"
|
|
"._385:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._387\n"
|
|
"._389:\n"
|
|
" .align 2, 0\n"
|
|
"._388:\n"
|
|
" .word gMain\n"
|
|
"._386:\n"
|
|
" mov r0, #0x0\n"
|
|
"._387:\n"
|
|
" pop {r4}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_ToggleClearFlag()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r0, ._390\n"
|
|
" bl FlagGet\n"
|
|
" mov r1, #0x1\n"
|
|
" eor r0, r0, r1\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" bl DebugMenu_807786C\n"
|
|
" ldr r1, ._390 + 4\n"
|
|
" ldr r0, ._390 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._391:\n"
|
|
" .align 2, 0\n"
|
|
"._390:\n"
|
|
" .word 0x804\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_80783C8+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078464()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" ldr r4, ._396\n"
|
|
" add r0, r4, #0\n"
|
|
" bl FlagGet\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" bl DebugMenu_8077E40\n"
|
|
" add r1, r0, #0\n"
|
|
" cmp r1, #0\n"
|
|
" beq ._392 @cond_branch\n"
|
|
" cmp r1, #0\n"
|
|
" bgt ._393 @cond_branch\n"
|
|
" mov r0, #0x1\n"
|
|
" neg r0, r0\n"
|
|
" cmp r1, r0\n"
|
|
" beq ._394 @cond_branch\n"
|
|
" b ._401\n"
|
|
"._397:\n"
|
|
" .align 2, 0\n"
|
|
"._396:\n"
|
|
" .word 0x82a\n"
|
|
"._393:\n"
|
|
" cmp r1, #0x1\n"
|
|
" beq ._398 @cond_branch\n"
|
|
" b ._401\n"
|
|
"._392:\n"
|
|
" add r0, r4, #0\n"
|
|
" bl FlagClear\n"
|
|
" b ._401\n"
|
|
"._398:\n"
|
|
" add r0, r4, #0\n"
|
|
" bl FlagSet\n"
|
|
" b ._401\n"
|
|
"._394:\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._402\n"
|
|
"._401:\n"
|
|
" mov r0, #0x0\n"
|
|
"._402:\n"
|
|
" pop {r4}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenWeatherEvents()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r0, ._404\n"
|
|
" bl FlagGet\n"
|
|
" mov r1, #0x0\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._403 @cond_branch\n"
|
|
" mov r1, #0x1\n"
|
|
"._403:\n"
|
|
" add r0, r1, #0\n"
|
|
" bl DebugMenu_807786C\n"
|
|
" ldr r1, ._404 + 4\n"
|
|
" ldr r0, ._404 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._405:\n"
|
|
" .align 2, 0\n"
|
|
"._404:\n"
|
|
" .word 0x82a\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8078464+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80784E8()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl IsMysteryGiftEnabled\n"
|
|
" bl DebugMenu_8077E40\n"
|
|
" add r1, r0, #0\n"
|
|
" cmp r1, #0\n"
|
|
" beq ._406 @cond_branch\n"
|
|
" cmp r1, #0\n"
|
|
" bgt ._407 @cond_branch\n"
|
|
" mov r0, #0x1\n"
|
|
" neg r0, r0\n"
|
|
" cmp r1, r0\n"
|
|
" beq ._408 @cond_branch\n"
|
|
" b ._413\n"
|
|
"._407:\n"
|
|
" cmp r1, #0x1\n"
|
|
" beq ._410 @cond_branch\n"
|
|
" b ._413\n"
|
|
"._406:\n"
|
|
" bl DisableMysteryGift\n"
|
|
" b ._413\n"
|
|
"._410:\n"
|
|
" bl EnableMysteryGift\n"
|
|
" b ._413\n"
|
|
"._408:\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._414\n"
|
|
"._413:\n"
|
|
" mov r0, #0x0\n"
|
|
"._414:\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenMysteryEvent()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl IsMysteryGiftEnabled\n"
|
|
" mov r1, #0x0\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._415 @cond_branch\n"
|
|
" mov r1, #0x1\n"
|
|
"._415:\n"
|
|
" add r0, r1, #0\n"
|
|
" bl DebugMenu_807786C\n"
|
|
" ldr r1, ._416\n"
|
|
" ldr r0, ._416 + 4\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._417:\n"
|
|
" .align 2, 0\n"
|
|
"._416:\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_80784E8+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078550()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, r7, lr}\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" lsr r6, r0, #0x10\n"
|
|
" lsl r0, r6, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" bl GetGameStat\n"
|
|
" add r7, r0, #0\n"
|
|
" ldr r0, ._420\n"
|
|
" add r1, r6, #0\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x2\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" ldr r0, ._420 + 4\n"
|
|
" ldr r5, ._420 + 8\n"
|
|
" lsl r4, r6, #0x3\n"
|
|
" add r1, r5, #4\n"
|
|
" add r1, r4, r1\n"
|
|
" ldr r1, [r1]\n"
|
|
" bl StringCopy\n"
|
|
" add r4, r4, r5\n"
|
|
" ldr r0, [r4]\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._418 @cond_branch\n"
|
|
" ldr r0, ._420 + 12\n"
|
|
" ldr r1, ._420 + 16\n"
|
|
" bl StringCopy\n"
|
|
" b ._423\n"
|
|
"._421:\n"
|
|
" .align 2, 0\n"
|
|
"._420:\n"
|
|
" .word gStringVar1\n"
|
|
" .word gStringVar2\n"
|
|
" .word gDebug0x839C008+0x264\n"
|
|
" .word gStringVar3\n"
|
|
" .word gDebug0x839C008+0x7d\n"
|
|
"._418:\n"
|
|
" cmp r6, #0x1\n"
|
|
" beq ._422 @cond_branch\n"
|
|
" ldr r0, ._424\n"
|
|
" add r1, r7, #0\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0xa\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" b ._423\n"
|
|
"._425:\n"
|
|
" .align 2, 0\n"
|
|
"._424:\n"
|
|
" .word gStringVar3\n"
|
|
"._422:\n"
|
|
" ldr r4, ._426\n"
|
|
" lsr r1, r7, #0x10\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" mov r6, #0xf0\n"
|
|
" strb r6, [r4, #0x3]\n"
|
|
" add r0, r4, #4\n"
|
|
" lsr r1, r7, #0x8\n"
|
|
" mov r5, #0xff\n"
|
|
" and r1, r1, r5\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x2\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" strb r6, [r4, #0x6]\n"
|
|
" add r4, r4, #0x7\n"
|
|
" and r7, r7, r5\n"
|
|
" add r0, r4, #0\n"
|
|
" add r1, r7, #0\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x2\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
"._423:\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" ldr r0, ._426 + 4\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" pop {r4, r5, r6, r7}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._427:\n"
|
|
" .align 2, 0\n"
|
|
"._426:\n"
|
|
" .word gStringVar3\n"
|
|
" .word gDebug0x839C008+0x74\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807860C()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r5, r0, #0x18\n"
|
|
" lsl r0, r5, #0x2\n"
|
|
" add r0, r0, r5\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" ldr r1, ._432\n"
|
|
" add r4, r0, r1\n"
|
|
" mov r1, #0x0\n"
|
|
" ldsh r0, [r4, r1]\n"
|
|
" cmp r0, #0x1\n"
|
|
" beq ._428 @cond_branch\n"
|
|
" cmp r0, #0x1\n"
|
|
" bgt ._429 @cond_branch\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._430 @cond_branch\n"
|
|
" b ._447\n"
|
|
"._433:\n"
|
|
" .align 2, 0\n"
|
|
"._432:\n"
|
|
" .word gTasks+0x8\n"
|
|
"._429:\n"
|
|
" cmp r0, #0x2\n"
|
|
" beq ._434 @cond_branch\n"
|
|
" b ._447\n"
|
|
"._430:\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" bl DebugMenu_8078550\n"
|
|
"._441:\n"
|
|
" ldrh r0, [r4]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" strh r0, [r4]\n"
|
|
" b ._447\n"
|
|
"._428:\n"
|
|
" ldr r3, ._439\n"
|
|
" ldrh r1, [r3, #0x2e]\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._437 @cond_branch\n"
|
|
" ldrh r0, [r4]\n"
|
|
" sub r0, r0, #0x1\n"
|
|
" strh r0, [r4]\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._438\n"
|
|
"._440:\n"
|
|
" .align 2, 0\n"
|
|
"._439:\n"
|
|
" .word gMain\n"
|
|
"._437:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" lsr r2, r0, #0x10\n"
|
|
" cmp r2, #0\n"
|
|
" bne ._441 @cond_branch\n"
|
|
" ldrh r1, [r3, #0x30]\n"
|
|
" mov r0, #0x40\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._442 @cond_branch\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" strh r0, [r4, #0x2]\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" asr r0, r0, #0x10\n"
|
|
" cmp r0, #0x32\n"
|
|
" bne ._446 @cond_branch\n"
|
|
" strh r2, [r4, #0x2]\n"
|
|
" b ._446\n"
|
|
"._442:\n"
|
|
" mov r0, #0x80\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._447 @cond_branch\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" sub r0, r0, #0x1\n"
|
|
" strh r0, [r4, #0x2]\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" cmp r0, #0\n"
|
|
" bge ._446 @cond_branch\n"
|
|
" mov r0, #0x31\n"
|
|
" strh r0, [r4, #0x2]\n"
|
|
"._446:\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" bl DebugMenu_8078550\n"
|
|
" b ._447\n"
|
|
"._434:\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DestroyTask\n"
|
|
"._447:\n"
|
|
" mov r0, #0x0\n"
|
|
"._438:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80786C0()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" bl DebugMenu_807860C\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80786D0()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r4, r0, #0x18\n"
|
|
" add r0, r4, #0\n"
|
|
" bl DebugMenu_807860C\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._449 @cond_branch\n"
|
|
" ldr r1, ._450\n"
|
|
" lsl r0, r4, #0x2\n"
|
|
" add r0, r0, r4\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" add r0, r0, r1\n"
|
|
" ldrb r2, [r0, #0xa]\n"
|
|
" ldr r1, ._450 + 4\n"
|
|
" lsl r0, r2, #0x3\n"
|
|
" add r0, r0, r1\n"
|
|
" ldr r0, [r0]\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._449 @cond_branch\n"
|
|
" sub r1, r0, #1\n"
|
|
" add r0, r2, #0\n"
|
|
" bl SetGameStat\n"
|
|
" mov r0, #0x15\n"
|
|
" bl PlaySE\n"
|
|
"._449:\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._451:\n"
|
|
" .align 2, 0\n"
|
|
"._450:\n"
|
|
" .word gTasks\n"
|
|
" .word gDebug0x839C008+0x264\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078714()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r4, r0, #0x18\n"
|
|
" add r0, r4, #0\n"
|
|
" bl DebugMenu_807860C\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._453 @cond_branch\n"
|
|
" ldr r1, ._454\n"
|
|
" lsl r0, r4, #0x2\n"
|
|
" add r0, r0, r4\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" add r0, r0, r1\n"
|
|
" ldrb r2, [r0, #0xa]\n"
|
|
" ldr r1, ._454 + 4\n"
|
|
" lsl r0, r2, #0x3\n"
|
|
" add r0, r0, r1\n"
|
|
" ldr r0, [r0]\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._453 @cond_branch\n"
|
|
" add r0, r2, #0\n"
|
|
" mov r1, #0x0\n"
|
|
" bl SetGameStat\n"
|
|
" mov r0, #0x15\n"
|
|
" bl PlaySE\n"
|
|
"._453:\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._455:\n"
|
|
" .align 2, 0\n"
|
|
"._454:\n"
|
|
" .word gTasks\n"
|
|
" .word gDebug0x839C008+0x264\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078758()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" bl CloseMenu\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r4}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078774()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._456\n"
|
|
" bl DebugMenu_8078758\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._457:\n"
|
|
" .align 2, 0\n"
|
|
"._456:\n"
|
|
" .word DebugMenu_80786C0+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078788()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._458\n"
|
|
" bl DebugMenu_8078758\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._459:\n"
|
|
" .align 2, 0\n"
|
|
"._458:\n"
|
|
" .word DebugMenu_80786D0+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_807879C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._460\n"
|
|
" bl DebugMenu_8078758\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._461:\n"
|
|
" .align 2, 0\n"
|
|
"._460:\n"
|
|
" .word DebugMenu_8078714+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80787B0()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._462\n"
|
|
" bl DebugMenu_8077D78\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._463:\n"
|
|
" .align 2, 0\n"
|
|
"._462:\n"
|
|
" .word gDebug0x839C008+0x3f4\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenLegendsRecord()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r0, ._464\n"
|
|
" mov r1, #0xc\n"
|
|
" mov r2, #0x3\n"
|
|
" bl DebugMenu_8077D24\n"
|
|
" ldr r1, ._464 + 4\n"
|
|
" ldr r0, ._464 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._465:\n"
|
|
" .align 2, 0\n"
|
|
"._464:\n"
|
|
" .word gDebug0x839C008+0x3f4\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_80787B0+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80787EC()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" add sp, sp, #0xfffffffc\n"
|
|
" mov r5, sp\n"
|
|
" add r5, r5, #0x2\n"
|
|
" mov r0, sp\n"
|
|
" add r1, r5, #0\n"
|
|
" bl GetXYCoordsOneStepInFrontOfPlayer\n"
|
|
" ldr r4, ._466\n"
|
|
" mov r0, sp\n"
|
|
" mov r1, #0x0\n"
|
|
" ldsh r0, [r0, r1]\n"
|
|
" mov r2, #0x0\n"
|
|
" ldsh r1, [r5, r2]\n"
|
|
" bl MapGridGetMetatileBehaviorAt\n"
|
|
" strh r0, [r4]\n"
|
|
" ldr r0, ._466 + 4\n"
|
|
" ldrh r1, [r4]\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x4\n"
|
|
" bl ConvertIntToHexStringN\n"
|
|
" mov r0, sp\n"
|
|
" mov r1, #0x0\n"
|
|
" ldsh r0, [r0, r1]\n"
|
|
" mov r2, #0x0\n"
|
|
" ldsh r1, [r5, r2]\n"
|
|
" bl MapGridGetMetatileIdAt\n"
|
|
" strh r0, [r4]\n"
|
|
" ldr r0, ._466 + 8\n"
|
|
" ldrh r1, [r4]\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x4\n"
|
|
" bl ConvertIntToHexStringN\n"
|
|
" mov r0, sp\n"
|
|
" mov r1, #0x0\n"
|
|
" ldsh r0, [r0, r1]\n"
|
|
" mov r2, #0x0\n"
|
|
" ldsh r1, [r5, r2]\n"
|
|
" bl MapGridGetZCoordAt\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" strh r0, [r4]\n"
|
|
" ldr r0, ._466 + 12\n"
|
|
" ldrh r1, [r4]\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x4\n"
|
|
" bl ConvertIntToHexStringN\n"
|
|
" ldr r0, ._466 + 16\n"
|
|
" ldr r1, ._466 + 20\n"
|
|
" bl StringExpandPlaceholders\n"
|
|
" add sp, sp, #0x4\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._467:\n"
|
|
" .align 2, 0\n"
|
|
"._466:\n"
|
|
" .word gSpecialVar_Result\n"
|
|
" .word gStringVar1\n"
|
|
" .word gStringVar2\n"
|
|
" .word gStringVar3\n"
|
|
" .word gStringVar4\n"
|
|
" .word gDebug0x839C008+0x40c\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078880()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r5, r0, #0x18\n"
|
|
" ldr r1, ._472\n"
|
|
" lsl r0, r5, #0x2\n"
|
|
" add r0, r0, r5\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" add r4, r0, r1\n"
|
|
" mov r1, #0x8\n"
|
|
" ldsh r0, [r4, r1]\n"
|
|
" cmp r0, #0x1\n"
|
|
" beq ._468 @cond_branch\n"
|
|
" cmp r0, #0x1\n"
|
|
" bgt ._469 @cond_branch\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._470 @cond_branch\n"
|
|
" b ._480\n"
|
|
"._473:\n"
|
|
" .align 2, 0\n"
|
|
"._472:\n"
|
|
" .word gTasks\n"
|
|
"._469:\n"
|
|
" cmp r0, #0x2\n"
|
|
" beq ._474 @cond_branch\n"
|
|
" b ._480\n"
|
|
"._470:\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" b ._476\n"
|
|
"._468:\n"
|
|
" ldr r0, ._478\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
"._476:\n"
|
|
" ldrh r0, [r4, #0x8]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" strh r0, [r4, #0x8]\n"
|
|
" b ._480\n"
|
|
"._479:\n"
|
|
" .align 2, 0\n"
|
|
"._478:\n"
|
|
" .word gStringVar4\n"
|
|
"._474:\n"
|
|
" ldr r0, ._481\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._480 @cond_branch\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DestroyTask\n"
|
|
"._480:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._482:\n"
|
|
" .align 2, 0\n"
|
|
"._481:\n"
|
|
" .word gMain\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_CellInfo()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._483\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" bl DebugMenu_80787EC\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._484:\n"
|
|
" .align 2, 0\n"
|
|
"._483:\n"
|
|
" .word DebugMenu_8078880+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenBerryInfo()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" bl DebugOpenBerryInfo\n"
|
|
" add r4, r0, #0\n"
|
|
" cmp r4, #0\n"
|
|
" bne ._485 @cond_branch\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._486\n"
|
|
"._485:\n"
|
|
" mov r0, #0x0\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r2, #0x13\n"
|
|
" mov r3, #0x13\n"
|
|
" bl Menu_DrawStdWindowFrame\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x1\n"
|
|
" mov r2, #0x1\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldr r1, ._487\n"
|
|
" ldr r0, ._487 + 4\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
"._486:\n"
|
|
" pop {r4}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._488:\n"
|
|
" .align 2, 0\n"
|
|
"._487:\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8077DB4+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078950()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" ldr r0, ._489\n"
|
|
" mov r1, #0x4\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._490:\n"
|
|
" .align 2, 0\n"
|
|
"._489:\n"
|
|
" .word gDebug0x839C008+0x426\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078968()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._491 @cond_branch\n"
|
|
" ldr r0, ._493\n"
|
|
" mov r1, #0x32\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" b ._492\n"
|
|
"._494:\n"
|
|
" .align 2, 0\n"
|
|
"._493:\n"
|
|
" .word gStringVar1\n"
|
|
"._491:\n"
|
|
" ldr r0, ._495\n"
|
|
" mov r1, #0x64\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
"._492:\n"
|
|
" ldr r0, ._495\n"
|
|
" mov r1, #0x4\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._496:\n"
|
|
" .align 2, 0\n"
|
|
"._495:\n"
|
|
" .word gStringVar1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80789A4()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add r1, r0, #0\n"
|
|
" lsl r1, r1, #0x10\n"
|
|
" lsr r1, r1, #0x10\n"
|
|
" ldr r4, ._497\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x4\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x9\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._498:\n"
|
|
" .align 2, 0\n"
|
|
"._497:\n"
|
|
" .word gStringVar1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_80789CC()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r4, r0, #0x2\n"
|
|
" add r4, r4, r0\n"
|
|
" lsl r4, r4, #0x3\n"
|
|
" ldr r6, ._499\n"
|
|
" add r5, r4, r6\n"
|
|
" mov r0, #0x0\n"
|
|
" strh r0, [r5]\n"
|
|
" ldr r0, ._499 + 4\n"
|
|
" ldr r1, ._499 + 8\n"
|
|
" add r0, r0, r1\n"
|
|
" ldrh r0, [r0]\n"
|
|
" strh r0, [r5, #0x2]\n"
|
|
" bl DebugMenu_8078950\n"
|
|
" ldrh r0, [r5]\n"
|
|
" bl DebugMenu_8078968\n"
|
|
" sub r6, r6, #0x8\n"
|
|
" add r4, r4, r6\n"
|
|
" ldr r0, ._499 + 12\n"
|
|
" str r0, [r4]\n"
|
|
" pop {r4, r5, r6}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._500:\n"
|
|
" .align 2, 0\n"
|
|
"._499:\n"
|
|
" .word gTasks+0x8\n"
|
|
" .word gSaveBlock2\n"
|
|
" .word 0x55c\n"
|
|
" .word DebugMenu_8078A14+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078A14()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r1, r0, #0x2\n"
|
|
" add r1, r1, r0\n"
|
|
" lsl r4, r1, #0x3\n"
|
|
" ldr r5, ._504\n"
|
|
" add r2, r4, r5\n"
|
|
" ldr r0, ._504 + 4\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0xc0\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._501 @cond_branch\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r3, #0x0\n"
|
|
" ldsh r0, [r2, r3]\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._502 @cond_branch\n"
|
|
" mov r1, #0x1\n"
|
|
"._502:\n"
|
|
" strh r1, [r2]\n"
|
|
" ldrh r0, [r2]\n"
|
|
" bl DebugMenu_8078968\n"
|
|
" b ._510\n"
|
|
"._505:\n"
|
|
" .align 2, 0\n"
|
|
"._504:\n"
|
|
" .word gTasks+0x8\n"
|
|
" .word gMain\n"
|
|
"._501:\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._506 @cond_branch\n"
|
|
" ldr r1, ._508\n"
|
|
" mov r3, #0x0\n"
|
|
" ldsh r0, [r2, r3]\n"
|
|
" lsl r0, r0, #0x1\n"
|
|
" ldr r3, ._508 + 4\n"
|
|
" add r1, r1, r3\n"
|
|
" add r0, r0, r1\n"
|
|
" ldrh r0, [r0]\n"
|
|
" strh r0, [r2, #0x2]\n"
|
|
" ldrh r0, [r2, #0x2]\n"
|
|
" bl DebugMenu_80789A4\n"
|
|
" add r0, r5, #0\n"
|
|
" sub r0, r0, #0x8\n"
|
|
" add r0, r4, r0\n"
|
|
" ldr r1, ._508 + 8\n"
|
|
" b ._507\n"
|
|
"._509:\n"
|
|
" .align 2, 0\n"
|
|
"._508:\n"
|
|
" .word gSaveBlock2\n"
|
|
" .word 0x55c\n"
|
|
" .word DebugMenu_8078AA4+1\n"
|
|
"._506:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._510 @cond_branch\n"
|
|
" add r0, r5, #0\n"
|
|
" sub r0, r0, #0x8\n"
|
|
" add r0, r4, r0\n"
|
|
" ldr r1, ._511\n"
|
|
"._507:\n"
|
|
" str r1, [r0]\n"
|
|
"._510:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._512:\n"
|
|
" .align 2, 0\n"
|
|
"._511:\n"
|
|
" .word DebugMenu_8078B38+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078AA4()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, r7, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r1, r0, #0x2\n"
|
|
" add r1, r1, r0\n"
|
|
" lsl r5, r1, #0x3\n"
|
|
" ldr r7, ._515\n"
|
|
" add r4, r5, r7\n"
|
|
" add r0, r4, #2\n"
|
|
" mov r2, #0xfa\n"
|
|
" lsl r2, r2, #0x3\n"
|
|
" ldr r6, ._515 + 4\n"
|
|
" ldrh r3, [r6, #0x30]\n"
|
|
" mov r1, #0x0\n"
|
|
" bl DebugMenu_8077DD8\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._513 @cond_branch\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" bl DebugMenu_80789A4\n"
|
|
" b ._521\n"
|
|
"._516:\n"
|
|
" .align 2, 0\n"
|
|
"._515:\n"
|
|
" .word gTasks+0x8\n"
|
|
" .word gMain\n"
|
|
"._513:\n"
|
|
" ldrh r1, [r6, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._517 @cond_branch\n"
|
|
" ldr r1, ._519\n"
|
|
" mov r2, #0x0\n"
|
|
" ldsh r0, [r4, r2]\n"
|
|
" lsl r0, r0, #0x1\n"
|
|
" ldr r2, ._519 + 4\n"
|
|
" add r1, r1, r2\n"
|
|
" add r0, r0, r1\n"
|
|
" ldrh r1, [r4, #0x2]\n"
|
|
" strh r1, [r0]\n"
|
|
" mov r0, #0x49\n"
|
|
" bl PlaySE\n"
|
|
" add r0, r7, #0\n"
|
|
" sub r0, r0, #0x8\n"
|
|
" add r0, r5, r0\n"
|
|
" ldr r1, ._519 + 8\n"
|
|
" b ._518\n"
|
|
"._520:\n"
|
|
" .align 2, 0\n"
|
|
"._519:\n"
|
|
" .word gSaveBlock2\n"
|
|
" .word 0x55c\n"
|
|
" .word DebugMenu_8078B38+1\n"
|
|
"._517:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._521 @cond_branch\n"
|
|
" bl DebugMenu_8078950\n"
|
|
" ldrh r0, [r4]\n"
|
|
" bl DebugMenu_8078968\n"
|
|
" add r0, r7, #0\n"
|
|
" sub r0, r0, #0x8\n"
|
|
" add r0, r5, r0\n"
|
|
" ldr r1, ._522\n"
|
|
"._518:\n"
|
|
" str r1, [r0]\n"
|
|
"._521:\n"
|
|
" pop {r4, r5, r6, r7}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._523:\n"
|
|
" .align 2, 0\n"
|
|
"._522:\n"
|
|
" .word DebugMenu_8078A14+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078B38()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" add r0, r4, #0\n"
|
|
" bl DestroyTask\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_BattleTowerStages()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" ldr r0, ._524\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._525:\n"
|
|
" .align 2, 0\n"
|
|
"._524:\n"
|
|
" .word DebugMenu_80789CC+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078B70()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" add r1, r0, #0\n"
|
|
" lsl r1, r1, #0x10\n"
|
|
" lsr r1, r1, #0x10\n"
|
|
" ldr r0, ._526\n"
|
|
" mov r2, #0x0\n"
|
|
" mov r3, #0x1\n"
|
|
" bl ConvertIntToHexStringN\n"
|
|
" ldr r0, ._526 + 4\n"
|
|
" bl sub_8071F40\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._527:\n"
|
|
" .align 2, 0\n"
|
|
"._526:\n"
|
|
" .word gStringVar1\n"
|
|
" .word gDebug0x839C008+0x430\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078B94()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" mov r3, #0x0\n"
|
|
" ldr r1, ._531\n"
|
|
" ldrb r0, [r1]\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._529 @cond_branch\n"
|
|
" ldr r5, ._531 + 4\n"
|
|
" add r4, r1, #0\n"
|
|
"._530:\n"
|
|
" lsl r0, r3, #0x3\n"
|
|
" add r2, r0, r5\n"
|
|
" add r0, r0, r4\n"
|
|
" ldr r1, [r0, #0x4]\n"
|
|
" ldr r0, [r0]\n"
|
|
" str r0, [r2]\n"
|
|
" str r1, [r2, #0x4]\n"
|
|
" add r0, r3, #1\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r3, r0, #0x18\n"
|
|
" cmp r3, #0x27\n"
|
|
" bhi ._529 @cond_branch\n"
|
|
" lsl r0, r3, #0x3\n"
|
|
" add r0, r0, r4\n"
|
|
" ldrb r0, [r0]\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._530 @cond_branch\n"
|
|
"._529:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._532:\n"
|
|
" .align 2, 0\n"
|
|
"._531:\n"
|
|
" .word gDebug0x839C008+0x43c\n"
|
|
" .word gSaveBlock1+0x7f8\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078BD4()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r5, r0, #0x18\n"
|
|
" lsl r0, r5, #0x2\n"
|
|
" add r0, r0, r5\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" ldr r1, ._536\n"
|
|
" add r4, r0, r1\n"
|
|
" mov r1, #0x0\n"
|
|
" ldsh r0, [r4, r1]\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._533 @cond_branch\n"
|
|
" cmp r0, #0x1\n"
|
|
" beq ._534 @cond_branch\n"
|
|
" b ._545\n"
|
|
"._537:\n"
|
|
" .align 2, 0\n"
|
|
"._536:\n"
|
|
" .word gTasks+0x8\n"
|
|
"._533:\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" bl DebugMenu_8078B70\n"
|
|
" ldrh r0, [r4]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" strh r0, [r4]\n"
|
|
" b ._545\n"
|
|
"._534:\n"
|
|
" ldr r2, ._541\n"
|
|
" ldrh r1, [r2, #0x2e]\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._539 @cond_branch\n"
|
|
" mov r0, #0x49\n"
|
|
" bl PlaySE\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DestroyTask\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" bl DebugMenu_8078B94\n"
|
|
" b ._545\n"
|
|
"._542:\n"
|
|
" .align 2, 0\n"
|
|
"._541:\n"
|
|
" .word gMain\n"
|
|
"._539:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._543 @cond_branch\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DestroyTask\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" b ._545\n"
|
|
"._543:\n"
|
|
" add r0, r4, #2\n"
|
|
" ldrh r3, [r2, #0x30]\n"
|
|
" mov r1, #0x0\n"
|
|
" mov r2, #0x4\n"
|
|
" bl DebugMenu_8077DD8\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._545 @cond_branch\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" bl DebugMenu_8078B70\n"
|
|
"._545:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_CheckPKBLCK()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._546\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._547:\n"
|
|
" .align 2, 0\n"
|
|
"._546:\n"
|
|
" .word DebugMenu_8078BD4+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078C80()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" ldr r0, ._548\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldr r1, ._548 + 4\n"
|
|
" ldr r0, ._548 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._549:\n"
|
|
" .align 2, 0\n"
|
|
"._548:\n"
|
|
" .word gDebug0x839C574+0x30\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8078CA8+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078CA8()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._552\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._550 @cond_branch\n"
|
|
" ldr r1, ._552 + 4\n"
|
|
" ldr r0, ._552 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._555\n"
|
|
"._553:\n"
|
|
" .align 2, 0\n"
|
|
"._552:\n"
|
|
" .word gMain\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8078CE4+1\n"
|
|
"._550:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._554 @cond_branch\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._555\n"
|
|
"._554:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
"._555:\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078CE4()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r1, ._558\n"
|
|
" mov r2, #0x80\n"
|
|
" lsl r2, r2, #0xa\n"
|
|
" mov r0, #0x0\n"
|
|
" bl DebugMenu_8078E40\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._556 @cond_branch\n"
|
|
" ldr r0, ._558 + 4\n"
|
|
" ldr r1, ._558 + 8\n"
|
|
" bl StringCopy\n"
|
|
" b ._557\n"
|
|
"._559:\n"
|
|
" .align 2, 0\n"
|
|
"._558:\n"
|
|
" .word +0x2000000\n"
|
|
" .word gStringVar4\n"
|
|
" .word gDebug0x839C574+0x58\n"
|
|
"._556:\n"
|
|
" ldr r0, ._560\n"
|
|
" ldr r1, ._560 + 4\n"
|
|
" bl StringCopy\n"
|
|
"._557:\n"
|
|
" ldr r1, ._560 + 8\n"
|
|
" ldr r0, ._560 + 12\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._561:\n"
|
|
" .align 2, 0\n"
|
|
"._560:\n"
|
|
" .word gStringVar4\n"
|
|
" .word gDebug0x839C574+0x6b\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8078D7C+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078D30()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, lr}\n"
|
|
" ldr r5, ._563\n"
|
|
" mov r4, #0x0\n"
|
|
" mov r6, #0x80\n"
|
|
" lsl r6, r6, #0x5\n"
|
|
"._562:\n"
|
|
" add r0, r4, #0\n"
|
|
" add r1, r5, #0\n"
|
|
" add r2, r6, #0\n"
|
|
" bl DebugMenu_8078E68\n"
|
|
" add r5, r5, r6\n"
|
|
" add r0, r4, #1\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r4, r0, #0x18\n"
|
|
" cmp r4, #0x1f\n"
|
|
" bls ._562 @cond_branch\n"
|
|
" ldr r0, ._563 + 4\n"
|
|
" ldr r1, ._563 + 8\n"
|
|
" bl StringCopy\n"
|
|
" ldr r1, ._563 + 12\n"
|
|
" ldr r0, ._563 + 16\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r4, r5, r6}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._564:\n"
|
|
" .align 2, 0\n"
|
|
"._563:\n"
|
|
" .word +0x2000000\n"
|
|
" .word gStringVar4\n"
|
|
" .word gDebug0x839C574+0x62\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8078D7C+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078D7C()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" ldr r0, ._565\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" ldr r1, ._565 + 4\n"
|
|
" ldr r0, ._565 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._566:\n"
|
|
" .align 2, 0\n"
|
|
"._565:\n"
|
|
" .word gStringVar4\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8078DA4+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078DA4()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._569\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._567 @cond_branch\n"
|
|
" mov r0, #0x0\n"
|
|
" b ._568\n"
|
|
"._570:\n"
|
|
" .align 2, 0\n"
|
|
"._569:\n"
|
|
" .word gMain\n"
|
|
"._567:\n"
|
|
" bl CloseMenu\n"
|
|
" mov r0, #0x1\n"
|
|
"._568:\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_MeTooBackupMan()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" ldr r0, ._571\n"
|
|
" mov r1, #0xc\n"
|
|
" mov r2, #0x2\n"
|
|
" bl DebugMenu_8077D24\n"
|
|
" ldr r1, ._571 + 4\n"
|
|
" ldr r0, ._571 + 8\n"
|
|
" str r0, [r1]\n"
|
|
" mov r0, #0x0\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._572:\n"
|
|
" .align 2, 0\n"
|
|
"._571:\n"
|
|
" .word gDebug0x839C574+0x20\n"
|
|
" .word gMenuCallback\n"
|
|
" .word DebugMenu_8078DF0+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078DF0()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" ldr r0, ._573\n"
|
|
" bl DebugMenu_8077D78\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._574:\n"
|
|
" .align 2, 0\n"
|
|
"._573:\n"
|
|
" .word gDebug0x839C574+0x20\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078E04()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, lr}\n"
|
|
" add r6, r1, #0\n"
|
|
" add r5, r2, #0\n"
|
|
" b ._575\n"
|
|
"._577:\n"
|
|
" ldr r0, ._579\n"
|
|
" add r5, r5, r0\n"
|
|
" mov r0, #0x80\n"
|
|
" lsl r0, r0, #0x5\n"
|
|
" add r6, r6, r0\n"
|
|
" add r0, r4, #1\n"
|
|
"._575:\n"
|
|
" lsl r0, r0, #0x10\n"
|
|
" lsr r4, r0, #0x10\n"
|
|
" add r0, r4, #0\n"
|
|
" add r1, r6, #0\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x2f60\n"
|
|
" cmp r0, #0\n"
|
|
" bne ._576 @cond_branch\n"
|
|
" mov r0, #0x80\n"
|
|
" lsl r0, r0, #0x5\n"
|
|
" cmp r5, r0\n"
|
|
" bhi ._577 @cond_branch\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._578\n"
|
|
"._580:\n"
|
|
" .align 2, 0\n"
|
|
"._579:\n"
|
|
" .word 0xfffff000\n"
|
|
"._576:\n"
|
|
" mov r0, #0x0\n"
|
|
"._578:\n"
|
|
" pop {r4, r5, r6}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078E40()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" add r5, r1, #0\n"
|
|
" add r6, r2, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x19f4\n"
|
|
" add r0, r4, #0\n"
|
|
" add r1, r5, #0\n"
|
|
" add r2, r6, #0\n"
|
|
" bl DebugMenu_8078E04\n"
|
|
" add r4, r0, #0\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x1a70\n"
|
|
" add r0, r4, #0\n"
|
|
" pop {r4, r5, r6}\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078E68()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add r4, r1, #0\n"
|
|
" add r3, r2, #0\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" mov r1, #0x0\n"
|
|
" add r2, r4, #0\n"
|
|
" bl gMysteryEventScriptCmdTableEnd+0x2d64\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078E80()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" mov r0, #0x2\n"
|
|
" mov r1, #0xf\n"
|
|
" mov r2, #0x16\n"
|
|
" mov r3, #0x10\n"
|
|
" bl Menu_BlankWindowRect\n"
|
|
" ldr r1, ._581\n"
|
|
" mov r2, #0x0\n"
|
|
" ldsh r0, [r4, r2]\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" add r0, r0, r1\n"
|
|
" ldrb r1, [r0, #0x4]\n"
|
|
" mov r0, #0xd0\n"
|
|
" mov r2, #0xf\n"
|
|
" bl sub_8071F60\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._582:\n"
|
|
" .align 2, 0\n"
|
|
"._581:\n"
|
|
" .word gDebug0x839C574+0x80\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078EB0()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" add r5, r0, #0\n"
|
|
" ldr r4, ._583\n"
|
|
" mov r0, #0x2\n"
|
|
" ldsh r1, [r5, r0]\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r2, #0x1\n"
|
|
" mov r3, #0x3\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
" mov r0, #0xf0\n"
|
|
" mov r1, #0x5\n"
|
|
" mov r2, #0x11\n"
|
|
" bl sub_8071F60\n"
|
|
" mov r0, #0x4\n"
|
|
" ldsh r1, [r5, r0]\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x2\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x6\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
" mov r0, #0xf0\n"
|
|
" mov r1, #0x8\n"
|
|
" mov r2, #0x11\n"
|
|
" bl sub_8071F60\n"
|
|
" mov r0, #0x6\n"
|
|
" ldsh r1, [r5, r0]\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r2, #0x2\n"
|
|
" mov r3, #0x2\n"
|
|
" bl ConvertIntToDecimalStringN\n"
|
|
" add r0, r4, #0\n"
|
|
" mov r1, #0x9\n"
|
|
" mov r2, #0x11\n"
|
|
" bl Menu_PrintText\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._584:\n"
|
|
" .align 2, 0\n"
|
|
"._583:\n"
|
|
" .word gStringVar1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078F1C()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r4, r0, #0x2\n"
|
|
" add r4, r4, r0\n"
|
|
" lsl r4, r4, #0x3\n"
|
|
" ldr r6, ._585\n"
|
|
" add r5, r4, r6\n"
|
|
" mov r0, #0x0\n"
|
|
" strh r0, [r5]\n"
|
|
" ldr r1, ._585 + 4\n"
|
|
" ldrh r0, [r1, #0xe]\n"
|
|
" strh r0, [r5, #0x2]\n"
|
|
" ldrb r0, [r1, #0x10]\n"
|
|
" strh r0, [r5, #0x4]\n"
|
|
" ldrb r0, [r1, #0x11]\n"
|
|
" strh r0, [r5, #0x6]\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DebugMenu_8078EB0\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DebugMenu_8078E80\n"
|
|
" sub r6, r6, #0x8\n"
|
|
" add r4, r4, r6\n"
|
|
" ldr r0, ._585 + 8\n"
|
|
" str r0, [r4]\n"
|
|
" pop {r4, r5, r6}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._586:\n"
|
|
" .align 2, 0\n"
|
|
"._585:\n"
|
|
" .word gTasks+0x8\n"
|
|
" .word gSaveBlock2\n"
|
|
" .word DebugMenu_8078F68+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8078F68()
|
|
{
|
|
asm(
|
|
" push {r4, r5, r6, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r0, r0, #0x18\n"
|
|
" lsl r1, r0, #0x2\n"
|
|
" add r1, r1, r0\n"
|
|
" lsl r5, r1, #0x3\n"
|
|
" ldr r6, ._589\n"
|
|
" add r4, r5, r6\n"
|
|
" ldr r3, ._589 + 4\n"
|
|
" ldrh r1, [r3, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._587 @cond_branch\n"
|
|
" ldr r1, ._589 + 8\n"
|
|
" ldrh r0, [r4, #0x2]\n"
|
|
" strh r0, [r1, #0xe]\n"
|
|
" ldrh r0, [r4, #0x4]\n"
|
|
" strb r0, [r1, #0x10]\n"
|
|
" ldrh r0, [r4, #0x6]\n"
|
|
" strb r0, [r1, #0x11]\n"
|
|
" mov r0, #0x49\n"
|
|
" bl PlaySE\n"
|
|
" b ._588\n"
|
|
"._590:\n"
|
|
" .align 2, 0\n"
|
|
"._589:\n"
|
|
" .word gTasks+0x8\n"
|
|
" .word gMain\n"
|
|
" .word gSaveBlock2\n"
|
|
"._587:\n"
|
|
" mov r0, #0x2\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._591 @cond_branch\n"
|
|
"._588:\n"
|
|
" add r0, r6, #0\n"
|
|
" sub r0, r0, #0x8\n"
|
|
" add r0, r5, r0\n"
|
|
" ldr r1, ._593\n"
|
|
" str r1, [r0]\n"
|
|
" b ._601\n"
|
|
"._594:\n"
|
|
" .align 2, 0\n"
|
|
"._593:\n"
|
|
" .word DebugMenu_8079020+1\n"
|
|
"._591:\n"
|
|
" mov r0, #0x20\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._595 @cond_branch\n"
|
|
" ldrh r1, [r4]\n"
|
|
" mov r2, #0x0\n"
|
|
" ldsh r0, [r4, r2]\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._601 @cond_branch\n"
|
|
" sub r0, r1, #1\n"
|
|
" b ._597\n"
|
|
"._595:\n"
|
|
" mov r0, #0x10\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._598 @cond_branch\n"
|
|
" ldrh r0, [r4]\n"
|
|
" cmp r0, #0x1\n"
|
|
" bhi ._601 @cond_branch\n"
|
|
" add r0, r0, #0x1\n"
|
|
"._597:\n"
|
|
" strh r0, [r4]\n"
|
|
" add r0, r4, #0\n"
|
|
" bl DebugMenu_8078E80\n"
|
|
" b ._601\n"
|
|
"._598:\n"
|
|
" mov r0, #0x0\n"
|
|
" ldsh r2, [r4, r0]\n"
|
|
" lsl r2, r2, #0x3\n"
|
|
" ldr r0, ._602\n"
|
|
" add r2, r2, r0\n"
|
|
" ldrb r0, [r2, #0x5]\n"
|
|
" lsl r0, r0, #0x1\n"
|
|
" add r0, r4, r0\n"
|
|
" ldrh r1, [r2]\n"
|
|
" ldrh r2, [r2, #0x2]\n"
|
|
" ldrh r3, [r3, #0x30]\n"
|
|
" bl DebugMenu_8077DD8\n"
|
|
" cmp r0, #0x1\n"
|
|
" bne ._601 @cond_branch\n"
|
|
" add r0, r4, #0\n"
|
|
" bl DebugMenu_8078EB0\n"
|
|
"._601:\n"
|
|
" pop {r4, r5, r6}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._603:\n"
|
|
" .align 2, 0\n"
|
|
"._602:\n"
|
|
" .word gDebug0x839C574+0x80\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8079020()
|
|
{
|
|
asm(
|
|
" push {r4, lr}\n"
|
|
" add r4, r0, #0\n"
|
|
" lsl r4, r4, #0x18\n"
|
|
" lsr r4, r4, #0x18\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" add r0, r4, #0\n"
|
|
" bl DestroyTask\n"
|
|
" pop {r4}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_PTime()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._604\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._605:\n"
|
|
" .align 2, 0\n"
|
|
"._604:\n"
|
|
" .word DebugMenu_8078F1C+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8079058()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r5, r0, #0x18\n"
|
|
" ldr r1, ._610\n"
|
|
" lsl r0, r5, #0x2\n"
|
|
" add r0, r0, r5\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" add r4, r0, r1\n"
|
|
" mov r0, #0x8\n"
|
|
" ldsh r1, [r4, r0]\n"
|
|
" cmp r1, #0x1\n"
|
|
" beq ._606 @cond_branch\n"
|
|
" cmp r1, #0x1\n"
|
|
" bgt ._607 @cond_branch\n"
|
|
" cmp r1, #0\n"
|
|
" beq ._608 @cond_branch\n"
|
|
" b ._620\n"
|
|
"._611:\n"
|
|
" .align 2, 0\n"
|
|
"._610:\n"
|
|
" .word gTasks\n"
|
|
"._607:\n"
|
|
" cmp r1, #0x2\n"
|
|
" beq ._612 @cond_branch\n"
|
|
" b ._620\n"
|
|
"._608:\n"
|
|
" ldr r0, ._615\n"
|
|
" str r1, [r0]\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" b ._614\n"
|
|
"._616:\n"
|
|
" .align 2, 0\n"
|
|
"._615:\n"
|
|
" .word gUnknown_Debug_03004BD0\n"
|
|
"._606:\n"
|
|
" ldr r0, ._618\n"
|
|
" mov r1, #0x4\n"
|
|
" mov r2, #0xf\n"
|
|
" bl Menu_PrintText\n"
|
|
" mov r0, #0x14\n"
|
|
" mov r1, #0x8\n"
|
|
" mov r2, #0x1\n"
|
|
" bl DisplayYesNoMenu\n"
|
|
"._614:\n"
|
|
" ldrh r0, [r4, #0x8]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" strh r0, [r4, #0x8]\n"
|
|
" b ._620\n"
|
|
"._619:\n"
|
|
" .align 2, 0\n"
|
|
"._618:\n"
|
|
" .word gDebug0x839C60C\n"
|
|
"._612:\n"
|
|
" bl Menu_ProcessInputNoWrap_\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" asr r1, r0, #0x18\n"
|
|
" mov r0, #0x2\n"
|
|
" neg r0, r0\n"
|
|
" cmp r1, r0\n"
|
|
" beq ._620 @cond_branch\n"
|
|
" cmp r1, #0\n"
|
|
" bne ._621 @cond_branch\n"
|
|
" ldr r1, ._623\n"
|
|
" mov r0, #0x1\n"
|
|
" b ._622\n"
|
|
"._624:\n"
|
|
" .align 2, 0\n"
|
|
"._623:\n"
|
|
" .word gUnknown_Debug_03004BD0\n"
|
|
"._621:\n"
|
|
" ldr r1, ._625\n"
|
|
" mov r0, #0x0\n"
|
|
"._622:\n"
|
|
" str r0, [r1]\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DestroyTask\n"
|
|
"._620:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._626:\n"
|
|
" .align 2, 0\n"
|
|
"._625:\n"
|
|
" .word gUnknown_Debug_03004BD0\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenMurakawa()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._627\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" mov r0, #0x1\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._628:\n"
|
|
" .align 2, 0\n"
|
|
"._627:\n"
|
|
" .word DebugMenu_8079058+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_8079110()
|
|
{
|
|
asm(
|
|
" push {r4, r5, lr}\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" lsr r5, r0, #0x18\n"
|
|
" ldr r1, ._633\n"
|
|
" lsl r0, r5, #0x2\n"
|
|
" add r0, r0, r5\n"
|
|
" lsl r0, r0, #0x3\n"
|
|
" add r4, r0, r1\n"
|
|
" mov r1, #0x8\n"
|
|
" ldsh r0, [r4, r1]\n"
|
|
" cmp r0, #0x1\n"
|
|
" beq ._629 @cond_branch\n"
|
|
" cmp r0, #0x1\n"
|
|
" bgt ._630 @cond_branch\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._631 @cond_branch\n"
|
|
" b ._642\n"
|
|
"._634:\n"
|
|
" .align 2, 0\n"
|
|
"._633:\n"
|
|
" .word gTasks\n"
|
|
"._630:\n"
|
|
" cmp r0, #0x2\n"
|
|
" beq ._635 @cond_branch\n"
|
|
" b ._642\n"
|
|
"._631:\n"
|
|
" bl Menu_DisplayDialogueFrame\n"
|
|
" b ._637\n"
|
|
"._629:\n"
|
|
" ldr r0, ._639\n"
|
|
" mov r1, #0x2\n"
|
|
" mov r2, #0xf\n"
|
|
" bl MenuPrintMessage\n"
|
|
"._637:\n"
|
|
" ldrh r0, [r4, #0x8]\n"
|
|
" add r0, r0, #0x1\n"
|
|
" strh r0, [r4, #0x8]\n"
|
|
" b ._642\n"
|
|
"._640:\n"
|
|
" .align 2, 0\n"
|
|
"._639:\n"
|
|
" .word gDebug0x839C60C+0xe\n"
|
|
"._635:\n"
|
|
" bl Menu_UpdateWindowText\n"
|
|
" lsl r0, r0, #0x18\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._642 @cond_branch\n"
|
|
" ldr r0, ._643\n"
|
|
" ldrh r1, [r0, #0x2e]\n"
|
|
" mov r0, #0x1\n"
|
|
" and r0, r0, r1\n"
|
|
" cmp r0, #0\n"
|
|
" beq ._642 @cond_branch\n"
|
|
" bl Menu_EraseScreen\n"
|
|
" bl ScriptContext2_Disable\n"
|
|
" add r0, r5, #0\n"
|
|
" bl DestroyTask\n"
|
|
"._642:\n"
|
|
" pop {r4, r5}\n"
|
|
" pop {r0}\n"
|
|
" bx r0\n"
|
|
"._644:\n"
|
|
" .align 2, 0\n"
|
|
"._643:\n"
|
|
" .word gMain\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
__attribute__((naked))
|
|
void DebugMenu_OpenKiwa()
|
|
{
|
|
asm(
|
|
" push {lr}\n"
|
|
" bl CloseMenu\n"
|
|
" ldr r0, ._645\n"
|
|
" mov r1, #0x50\n"
|
|
" bl CreateTask\n"
|
|
" bl ScriptContext2_Enable\n"
|
|
" pop {r1}\n"
|
|
" bx r1\n"
|
|
"._646:\n"
|
|
" .align 2, 0\n"
|
|
"._645:\n"
|
|
" .word DebugMenu_8079110+1\n"
|
|
"\n"
|
|
);
|
|
}
|
|
|
|
#endif
|