Files
pokeruby/src/debug/kagaya_debug_menu.c
T
2018-01-21 13:53:32 -06:00

421 lines
9.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#if DEBUG
#include "global.h"
#include "menu.h"
u8 KagayaDebugMenu_TrainerCard();
u8 KagayaDebugMenu_CardToExchange();
u8 KagayaDebugMenu_SlotMachine();
const u8 Str_83EBB34[] = _("Trainer’s card");
const u8 Str_83EBB43[] = _("Card to exchange");
const u8 Str_83EBB54[] = _("Slot machine");
const struct MenuAction _83EBB64[] = {
{ Str_83EBB34, KagayaDebugMenu_TrainerCard },
{ Str_83EBB43, KagayaDebugMenu_CardToExchange },
{ Str_83EBB54, KagayaDebugMenu_SlotMachine },
};
__attribute__((naked))
void InitKagayaDebugMenu_A()
{
asm(
" push {lr}\n"
" bl InitKagayaDebugMenu_B\n"
" mov r0, #0x0\n"
" pop {r1}\n"
" bx r1\n"
"\n"
);
}
__attribute__((naked))
void InitKagayaDebugMenu_B()
{
asm(
" push {lr}\n"
" add sp, sp, #0xfffffff8\n"
" bl Menu_EraseScreen\n"
" mov r0, #0x0\n"
" mov r1, #0x0\n"
" mov r2, #0xe\n"
" mov r3, #0x7\n"
" bl Menu_DrawStdWindowFrame\n"
" ldr r3, ._1\n"
" mov r0, #0x2\n"
" mov r1, #0x1\n"
" mov r2, #0x3\n"
" bl Menu_PrintItems\n"
" mov r0, #0x0\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, #0x3\n"
" bl InitMenu\n"
" ldr r1, ._1 + 4\n"
" ldr r0, ._1 + 8\n"
" str r0, [r1]\n"
" add sp, sp, #0x8\n"
" pop {r0}\n"
" bx r0\n"
"._2:\n"
" .align 2, 0\n"
"._1:\n"
" .word _83EBB64\n"
" .word gMenuCallback\n"
" .word debug_sub_80B061C+1\n"
"\n"
);
}
__attribute__((naked))
void debug_sub_80B061C()
{
asm(
" push {lr}\n"
" bl Menu_ProcessInput\n"
" lsl r0, r0, #0x18\n"
" asr r1, r0, #0x18\n"
" mov r0, #0x2\n"
" neg r0, r0\n"
" cmp r1, r0\n"
" bne ._3 @cond_branch\n"
" mov r0, #0x0\n"
" b ._6\n"
"._3:\n"
" mov r0, #0x1\n"
" neg r0, r0\n"
" cmp r1, r0\n"
" beq ._5 @cond_branch\n"
" ldr r2, ._7\n"
" ldr r0, ._7 + 4\n"
" lsl r1, r1, #0x3\n"
" add r0, r0, #0x4\n"
" add r1, r1, r0\n"
" ldr r0, [r1]\n"
" str r0, [r2]\n"
" mov r0, #0x0\n"
" b ._6\n"
"._8:\n"
" .align 2, 0\n"
"._7:\n"
" .word gMenuCallback\n"
" .word _83EBB64\n"
"._5:\n"
" bl CloseMenu\n"
" mov r0, #0x1\n"
"._6:\n"
" pop {r1}\n"
" bx r1\n"
"\n"
);
}
__attribute__((naked))
u8 KagayaDebugMenu_TrainerCard()
{
asm(
" push {lr}\n"
" add sp, sp, #0xfffffffc\n"
" mov r0, #0x1\n"
" neg r0, r0\n"
" mov r1, #0x0\n"
" str r1, [sp]\n"
" mov r2, #0x0\n"
" mov r3, #0x10\n"
" bl BeginNormalPaletteFade\n"
" ldr r1, ._9\n"
" ldr r0, ._9 + 4\n"
" str r0, [r1]\n"
" mov r0, #0x0\n"
" add sp, sp, #0x4\n"
" pop {r1}\n"
" bx r1\n"
"._10:\n"
" .align 2, 0\n"
"._9:\n"
" .word gMenuCallback\n"
" .word debug_sub_80B068C+1\n"
"\n"
);
}
__attribute__((naked))
void debug_sub_80B068C()
{
asm(
" push {lr}\n"
" bl UpdatePaletteFade\n"
" lsl r0, r0, #0x18\n"
" cmp r0, #0\n"
" beq ._11 @cond_branch\n"
" mov r0, #0x0\n"
" b ._12\n"
"._11:\n"
" ldr r0, ._13\n"
" bl debug_sub_80A0710\n"
" bl CloseMenu\n"
" bl ScriptContext2_Enable\n"
" mov r0, #0x1\n"
"._12:\n"
" pop {r1}\n"
" bx r1\n"
"._14:\n"
" .align 2, 0\n"
"._13:\n"
" .word sub_805469C+1\n"
"\n"
);
}
__attribute__((naked))
u8 KagayaDebugMenu_CardToExchange()
{
asm(
" push {lr}\n"
" add sp, sp, #0xfffffffc\n"
" mov r0, #0x1\n"
" neg r0, r0\n"
" mov r1, #0x0\n"
" str r1, [sp]\n"
" mov r2, #0x0\n"
" mov r3, #0x10\n"
" bl BeginNormalPaletteFade\n"
" ldr r1, ._15\n"
" ldr r0, ._15 + 4\n"
" str r0, [r1]\n"
" mov r0, #0x0\n"
" add sp, sp, #0x4\n"
" pop {r1}\n"
" bx r1\n"
"._16:\n"
" .align 2, 0\n"
"._15:\n"
" .word gMenuCallback\n"
" .word debug_sub_80B06E0+1\n"
"\n"
);
}
__attribute__((naked))
void debug_sub_80B06E0()
{
asm(
" push {lr}\n"
" bl UpdatePaletteFade\n"
" lsl r0, r0, #0x18\n"
" cmp r0, #0\n"
" beq ._17 @cond_branch\n"
" mov r0, #0x0\n"
" b ._18\n"
"._17:\n"
" ldr r0, ._19\n"
" bl debug_sub_80A073C\n"
" bl CloseMenu\n"
" bl ScriptContext2_Enable\n"
" mov r0, #0x1\n"
"._18:\n"
" pop {r1}\n"
" bx r1\n"
"._20:\n"
" .align 2, 0\n"
"._19:\n"
" .word sub_805469C+1\n"
"\n"
);
}
__attribute__((naked))
u8 KagayaDebugMenu_SlotMachine()
{
asm(
" push {lr}\n"
" add sp, sp, #0xfffffffc\n"
" mov r0, #0x1\n"
" neg r0, r0\n"
" mov r1, #0x0\n"
" str r1, [sp]\n"
" mov r2, #0x0\n"
" mov r3, #0x10\n"
" bl BeginNormalPaletteFade\n"
" ldr r1, ._21\n"
" ldr r0, ._21 + 4\n"
" str r0, [r1]\n"
" mov r0, #0x0\n"
" add sp, sp, #0x4\n"
" pop {r1}\n"
" bx r1\n"
"._22:\n"
" .align 2, 0\n"
"._21:\n"
" .word gMenuCallback\n"
" .word Kagaya_80B0734+1\n"
"\n"
);
}
__attribute__((naked))
void Kagaya_80B0734()
{
asm(
" push {lr}\n"
" bl UpdatePaletteFade\n"
" lsl r0, r0, #0x18\n"
" cmp r0, #0\n"
" beq ._23 @cond_branch\n"
" mov r0, #0x0\n"
" b ._24\n"
"._23:\n"
" bl Random\n"
" lsl r0, r0, #0x10\n"
" lsr r0, r0, #0x10\n"
" mov r1, #0x6\n"
" bl __umodsi3\n"
" lsl r0, r0, #0x18\n"
" lsr r0, r0, #0x18\n"
" ldr r1, ._25\n"
" bl debug_sub_811609C\n"
" bl CloseMenu\n"
" bl ScriptContext2_Enable\n"
" mov r0, #0x1\n"
"._24:\n"
" pop {r1}\n"
" bx r1\n"
"._26:\n"
" .align 2, 0\n"
"._25:\n"
" .word sub_805469C+1\n"
"\n"
);
}
__attribute__((naked))
void debug_sub_80B0770()
{
asm(
" push {r4, lr}\n"
" ldr r0, ._30\n"
" ldrb r1, [r0]\n"
" mov r0, #0x8\n"
" and r0, r0, r1\n"
" lsl r0, r0, #0x18\n"
" lsr r4, r0, #0x18\n"
" cmp r4, #0\n"
" bne ._27 @cond_branch\n"
" bl CloseMenu\n"
" bl IsPlayerFacingSurfableFishableWater\n"
" lsl r0, r0, #0x18\n"
" cmp r0, #0\n"
" beq ._29 @cond_branch\n"
" ldr r0, ._30 + 4\n"
" str r4, [r0]\n"
" mov r0, #0x9\n"
" bl FieldEffectStart\n"
" b ._29\n"
"._31:\n"
" .align 2, 0\n"
"._30:\n"
" .word gPlayerAvatar\n"
" .word gFieldEffectArguments\n"
"._27:\n"
" bl CloseMenu\n"
"._29:\n"
" mov r0, #0x1\n"
" pop {r4}\n"
" pop {r1}\n"
" bx r1\n"
"\n"
);
}
__attribute__((naked))
void debug_sub_80B07B0()
{
asm(
" push {lr}\n"
" add sp, sp, #0xfffffffc\n"
" mov r0, #0x1\n"
" neg r0, r0\n"
" mov r1, #0x0\n"
" str r1, [sp]\n"
" mov r2, #0x0\n"
" mov r3, #0x10\n"
" bl BeginNormalPaletteFade\n"
" ldr r1, ._32\n"
" ldr r0, ._32 + 4\n"
" str r0, [r1]\n"
" mov r0, #0x0\n"
" add sp, sp, #0x4\n"
" pop {r1}\n"
" bx r1\n"
"._33:\n"
" .align 2, 0\n"
"._32:\n"
" .word gMenuCallback\n"
" .word debug_sub_80B07DC+1\n"
"\n"
);
}
__attribute__((naked))
void debug_sub_80B07DC()
{
asm(
" push {lr}\n"
" bl UpdatePaletteFade\n"
" lsl r0, r0, #0x18\n"
" cmp r0, #0\n"
" beq ._34 @cond_branch\n"
" mov r0, #0x0\n"
" b ._35\n"
"._34:\n"
" bl CloseMenu\n"
" ldr r0, ._36\n"
" bl SetMainCallback2\n"
" mov r0, #0x1\n"
"._35:\n"
" pop {r1}\n"
" bx r1\n"
"._37:\n"
" .align 2, 0\n"
"._36:\n"
" .word CB2_InitFlyRegionMap+1\n"
"\n"
);
}
__attribute__((naked))
void debug_sub_80B0800()
{
asm(
" push {lr}\n"
" bl CloseMenu\n"
" bl sub_8068F18\n"
" lsl r0, r0, #0x18\n"
" lsr r2, r0, #0x18\n"
" cmp r2, #0\n"
" beq ._38 @cond_branch\n"
" ldr r0, ._39\n"
" mov r1, #0x0\n"
" str r1, [r0]\n"
" sub r1, r2, #1\n"
" str r1, [r0, #0x4]\n"
" mov r0, #0x2c\n"
" bl FieldEffectStart\n"
"._38:\n"
" mov r0, #0x1\n"
" pop {r1}\n"
" bx r1\n"
"._40:\n"
" .align 2, 0\n"
"._39:\n"
" .word gFieldEffectArguments\n"
"\n"
);
}
#endif // DEBUG