diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-31 14:37:24 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-31 14:37:24 -0400 |
commit | 0015d6fe2c6a53c5f757599122ae9fd1a156a69f (patch) | |
tree | 81b7269c767da1ad4a5a9ac01e58ead5e92f0983 /src/debug/kagaya_debug_menu.c | |
parent | 46bc01f0dd1a3435b3c6ce71e1be0d19b7aaa5bd (diff) | |
parent | 59f81c5f2a25ec77baf4a30c3da9ccb7675d1562 (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.c | 183 |
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 |