summaryrefslogtreecommitdiff
path: root/src/debug/kagaya_debug_menu.c
diff options
context:
space:
mode:
authorCameron Hall <cameronghall@cox.net>2018-01-16 22:25:35 -0600
committerCameron Hall <cameronghall@cox.net>2018-01-16 22:25:35 -0600
commit91cfb6a564f73f02eb57792f8a0f4aa82e1867d1 (patch)
tree16c7a1de365dabdd85dcc3621ea366fb79a5282c /src/debug/kagaya_debug_menu.c
parent6b5a7d8611103ab2ee0210dc6d87bd42f4e3317f (diff)
add debug ifdefs
Diffstat (limited to 'src/debug/kagaya_debug_menu.c')
-rw-r--r--src/debug/kagaya_debug_menu.c420
1 files changed, 420 insertions, 0 deletions
diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c
new file mode 100644
index 000000000..6f2734b08
--- /dev/null
+++ b/src/debug/kagaya_debug_menu.c
@@ -0,0 +1,420 @@
+#ifdef 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 MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0xe\n"
+ " mov r3, #0x7\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._1\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " bl PrintMenuItems\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 gCallback_03004AE8\n"
+ " .word debug_sub_80B061C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_80B061C()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " 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 gCallback_03004AE8\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 gCallback_03004AE8\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 gCallback_03004AE8\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 gCallback_03004AE8\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 gUnknown_0202FF84\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 gCallback_03004AE8\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 sub_80FC074+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 gUnknown_0202FF84\n"
+ "\n"
+ );
+}
+
+#endif // DEBUG