summaryrefslogtreecommitdiff
path: root/src/debug/kagaya_debug_menu.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-03-31 14:37:24 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-03-31 14:37:24 -0400
commit0015d6fe2c6a53c5f757599122ae9fd1a156a69f (patch)
tree81b7269c767da1ad4a5a9ac01e58ead5e92f0983 /src/debug/kagaya_debug_menu.c
parent46bc01f0dd1a3435b3c6ce71e1be0d19b7aaa5bd (diff)
parent59f81c5f2a25ec77baf4a30c3da9ccb7675d1562 (diff)
Merge branch 'master' into contest_link_80C2020
Diffstat (limited to 'src/debug/kagaya_debug_menu.c')
-rw-r--r--src/debug/kagaya_debug_menu.c183
1 files changed, 183 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..3cb36ce0c
--- /dev/null
+++ b/src/debug/kagaya_debug_menu.c
@@ -0,0 +1,183 @@
+#if DEBUG
+
+#include "global.h"
+#include "field_effect.h"
+#include "field_control_avatar.h"
+#include "field_player_avatar.h"
+#include "main.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "random.h"
+#include "region_map.h"
+#include "script.h"
+#include "slot_machine.h"
+#include "trainer_card.h"
+
+extern u8 (*gMenuCallback)(void);
+
+void InitKagayaDebugMenu_B(void);
+u8 debug_sub_80B061C(void);
+u8 KagayaDebugMenu_TrainerCard(void);
+u8 debug_sub_80B068C(void);
+u8 KagayaDebugMenu_CardToExchange(void);
+u8 debug_sub_80B06E0(void);
+u8 KagayaDebugMenu_SlotMachine(void);
+u8 Kagaya_80B0734(void);
+u8 debug_sub_80B07DC(void);
+
+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 },
+};
+
+u8 InitKagayaDebugMenu_A(void)
+{
+ InitKagayaDebugMenu_B();
+ return 0;
+}
+
+void InitKagayaDebugMenu_B(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 14, 7);
+ Menu_PrintItems(2, 1, 3, _83EBB64);
+ InitMenu(0, 1, 1, 3, 0, 13);
+ gMenuCallback = debug_sub_80B061C;
+}
+
+u8 debug_sub_80B061C(void)
+{
+ s8 input = Menu_ProcessInput();
+
+ if (input == -2)
+ {
+ return 0;
+ }
+ else if (input == -1)
+ {
+ CloseMenu();
+ return 1;
+ }
+ else
+ {
+ gMenuCallback = _83EBB64[input].func;
+ return 0;
+ }
+}
+
+u8 KagayaDebugMenu_TrainerCard(void)
+{
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gMenuCallback = debug_sub_80B068C;
+ return 0;
+}
+
+u8 debug_sub_80B068C(void)
+{
+ if (!UpdatePaletteFade())
+ {
+ debug_sub_80A0710(sub_805469C);
+ CloseMenu();
+ ScriptContext2_Enable();
+ return 1;
+ }
+ return 0;
+}
+
+u8 KagayaDebugMenu_CardToExchange(void)
+{
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gMenuCallback = debug_sub_80B06E0;
+ return 0;
+}
+
+u8 debug_sub_80B06E0(void)
+{
+ if (!UpdatePaletteFade())
+ {
+ debug_sub_80A073C(sub_805469C);
+ CloseMenu();
+ ScriptContext2_Enable();
+ return 1;
+ }
+ return 0;
+}
+
+u8 KagayaDebugMenu_SlotMachine(void)
+{
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gMenuCallback = Kagaya_80B0734;
+ return 0;
+}
+
+u8 Kagaya_80B0734(void)
+{
+ if (!UpdatePaletteFade())
+ {
+ debug_sub_811609C(Random() % 6, sub_805469C);
+ CloseMenu();
+ ScriptContext2_Enable();
+ return 1;
+ }
+ return 0;
+}
+
+u8 debug_sub_80B0770(void)
+{
+ if (!(gPlayerAvatar.flags & 8))
+ {
+ CloseMenu();
+ if (IsPlayerFacingSurfableFishableWater())
+ {
+ gFieldEffectArguments[0] = 0;
+ FieldEffectStart(9);
+ }
+ }
+ else
+ {
+ CloseMenu();
+ }
+ return 1;
+}
+
+u8 debug_sub_80B07B0(void)
+{
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gMenuCallback = debug_sub_80B07DC;
+ return 0;
+}
+
+u8 debug_sub_80B07DC(void)
+{
+ if (!UpdatePaletteFade())
+ {
+ CloseMenu();
+ SetMainCallback2(CB2_InitFlyRegionMap);
+ return 1;
+ }
+ return 0;
+}
+
+u8 debug_sub_80B0800(void)
+{
+ u8 r2;
+
+ CloseMenu();
+ r2 = sub_8068F18();
+ if (r2 != 0)
+ {
+ gFieldEffectArguments[0] = 0;
+ gFieldEffectArguments[1] = r2 - 1;
+ FieldEffectStart(0x2C);
+ }
+ return 1;
+}
+
+#endif // DEBUG