summaryrefslogtreecommitdiff
path: root/src/engine/mystery_event_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/mystery_event_menu.c')
-rw-r--r--src/engine/mystery_event_menu.c494
1 files changed, 0 insertions, 494 deletions
diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c
deleted file mode 100644
index 56801ff53..000000000
--- a/src/engine/mystery_event_menu.c
+++ /dev/null
@@ -1,494 +0,0 @@
-#include "global.h"
-#include "mystery_event_menu.h"
-#include "link.h"
-#include "main.h"
-#include "menu.h"
-#include "mystery_event_script.h"
-#include "palette.h"
-#include "save.h"
-#include "constants/songs.h"
-#include "sound.h"
-#include "sprite.h"
-#include "string_util.h"
-#include "strings2.h"
-#include "task.h"
-#include "text.h"
-#include "title_screen.h"
-#include "ewram.h"
-
-static EWRAM_DATA u8 gUnknown_02039338 = 0;
-
-static void VBlankCB(void);
-static bool8 CheckLanguageMatch(void);
-static bool8 GetEventLoadMessage(u8 *dest, u32 status);
-static void CB2_MysteryEventMenu(void);
-
-static void VBlankCB(void)
-{
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
-}
-
-static bool8 CheckLanguageMatch(void)
-{
- bool8 val = FALSE;
-
- if (gLinkPlayers[0].language == gLinkPlayers[1].language)
- val = TRUE;
-
- return val;
-}
-
-void CB2_InitMysteryEventMenu(void)
-{
- ResetSpriteData();
- FreeAllSpritePalettes();
- ResetTasks();
- SetVBlankCallback(VBlankCB);
- Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4);
- InitMenuWindow(&gWindowTemplate_81E6CE4);
- Menu_EraseScreen();
- REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON;
- REG_BLDCNT = 0;
- CreateTask(Task_DestroySelf, 0);
- StopMapMusic();
- RunTasks();
- AnimateSprites();
- BuildOamBuffer();
- UpdatePaletteFade();
- FillPalette(0, 0, 2);
- SetMainCallback2(CB2_MysteryEventMenu);
-}
-
-static bool8 GetEventLoadMessage(u8 *dest, u32 status)
-{
- bool8 retVal = 1;
-
- if (status == 0)
- {
- StringCopy(dest, gSystemText_EventLoadSuccess);
- retVal = 0;
- }
-
- if (status == 2)
- retVal = 0;
-
- if (status == 1)
- StringCopy(dest, gSystemText_LoadingError);
-
- return retVal;
-}
-
-static void CB2_MysteryEventMenu(void)
-{
- u16 unkVal;
-
- switch (gMain.state)
- {
- case 0:
- Menu_DrawStdWindowFrame(0, 14, 29, 19);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
- gMain.state++;
- break;
- case 1:
- if (gPaletteFade.active)
- break;
- MenuPrintMessageDefaultCoords(gSystemText_LinkStandby);
- gMain.state++;
- break;
- case 2:
- if (Menu_UpdateWindowText())
- {
- gMain.state++;
- gLinkType = 21761;
- OpenLink();
- }
- break;
- case 3:
- if ((gLinkStatus & 0x20) && (gLinkStatus & 0x1C) > 4)
- {
- PlaySE(SE_PIN);
- MenuPrintMessageDefaultCoords(gSystemText_LoadEventPressA);
- gMain.state++;
- }
- if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- CloseLink();
- gMain.state = 15;
- }
- break;
- case 4:
- if (Menu_UpdateWindowText())
- gMain.state++;
- break;
-#ifdef NONMATCHING
- case 5:
- if (GetLinkPlayerCount_2() != 2)
- {
- GetEventLoadMessage(gStringVar4, 1);
- MenuPrintMessageDefaultCoords(gStringVar4);
- gMain.state = 13;
- break;
- }
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- sub_8007F4C();
- Menu_DrawStdWindowFrame(6, 5, 23, 8);
- Menu_PrintText(gSystemText_LoadingEvent, 7, 6);
- gMain.state++;
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- CloseLink();
- gMain.state = 15;
- }
- break;
- case 6:
- if (IsLinkConnectionEstablished())
- {
- if (!gReceivedRemoteLinkPlayers)
- break;
-
- if (GetLinkPlayerDataExchangeStatusTimed() == 3)
- {
- sub_800832C();
- Menu_EraseWindowRect(6, 5, 23, 8);
- GetEventLoadMessage(gStringVar4, 1);
- MenuPrintMessageDefaultCoords(gStringVar4);
- gMain.state = 13;
- break;
- }
- else if (CheckLanguageMatch())
- {
- MenuPrintMessageDefaultCoords(gSystemText_DontCutLink);
- gMain.state++;
- break;
- }
- else
- {
- CloseLink();
- Menu_EraseWindowRect(6, 5, 23, 8);
- GetEventLoadMessage(gStringVar4, 1);
- MenuPrintMessageDefaultCoords(gStringVar4);
- gMain.state = 13;
- break;
- }
- }
- if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- CloseLink();
- gMain.state = 15;
- break;
- }
- break;
-#else
- case 5:
- if (GetLinkPlayerCount_2() != 2)
- {
- goto label;
- }
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- sub_8007F4C();
- Menu_DrawStdWindowFrame(6, 5, 23, 8);
- Menu_PrintText(gSystemText_LoadingEvent, 7, 6);
- gMain.state++;
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- CloseLink();
- gMain.state = 15;
- }
- break;
- case 6:
- if (IsLinkConnectionEstablished())
- {
- register u8 *ptr asm("r0");
- register u32 offset1 asm("r2");
- register u32 offset2 asm("r1");
-
- if (!gReceivedRemoteLinkPlayers)
- break;
-
- if (GetLinkPlayerDataExchangeStatusTimed() == 3)
- {
- sub_800832C();
- Menu_EraseWindowRect(6, 5, 23, 8);
- GetEventLoadMessage(gStringVar4, 1);
- MenuPrintMessageDefaultCoords(gStringVar4);
- ptr = (u8 *)&gMain;
- offset1 = offsetof(struct Main, state);
- asm("" ::: "r1");
- ptr += offset1;
- *ptr = 13;
- }
- else if (CheckLanguageMatch())
- {
- register u8 *ptr2 asm("r1");
- register int offset3 asm("r0");
- register int dummy asm("r2");
- MenuPrintMessageDefaultCoords(gSystemText_DontCutLink);
- ptr2 = (u8 *)&gMain;
- offset3 = offsetof(struct Main, state);
- if (dummy)
- dummy++;
- ptr2 += offset3;
- (*ptr2)++;
- break;
- }
- else
- {
- CloseLink();
- Menu_EraseWindowRect(6, 5, 23, 8);
- label:
- GetEventLoadMessage(gStringVar4, 1);
- MenuPrintMessageDefaultCoords(gStringVar4);
- ptr = (u8 *)&gMain;
- offset2 = offsetof(struct Main, state);
- ptr += offset2;
- *ptr = 13;
- }
- break;
- }
- if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- CloseLink();
- gMain.state = 15;
- break;
- }
- break;
-#endif
- case 7:
- if (Menu_UpdateWindowText())
- gMain.state++;
- break;
- case 8:
- if (GetBlockReceivedStatus())
- {
- ResetBlockReceivedFlags();
- gMain.state++;
- }
- break;
- case 9:
- gMain.state++;
- break;
- case 10:
- sub_800832C();
- gMain.state++;
- break;
- case 11:
- if (gReceivedRemoteLinkPlayers)
- break;
- unkVal = RunMysteryEventScript(gSharedMem);
- CpuFill32(0, gSharedMem, 0x7D4);
- if (!GetEventLoadMessage(gStringVar4, unkVal))
- Save_WriteData(SAVE_NORMAL);
- gMain.state++;
- break;
- case 12:
- MenuPrintMessageDefaultCoords(gStringVar4);
- gMain.state++;
- break;
- case 13:
- Menu_EraseWindowRect(6, 5, 23, 8);
- if (Menu_UpdateWindowText())
- {
- gMain.state++;
- gUnknown_02039338 = 0;
- }
- break;
- case 14:
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- gMain.state++;
- }
- break;
- case 15:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
- gMain.state++;
- break;
- case 16:
- if (!gPaletteFade.active)
- DoSoftReset();
- break;
- }
-
- if (gLinkStatus & 0x40)
- {
- if (!IsLinkMaster())
- {
- CloseLink();
- Menu_EraseWindowRect(6, 5, 23, 8);
- GetEventLoadMessage(gStringVar4, 1);
- MenuPrintMessageDefaultCoords(gStringVar4);
- gMain.state = 13;
- }
- }
-
- RunTasks();
- AnimateSprites();
- BuildOamBuffer();
- UpdatePaletteFade();
-}
-
-#if DEBUG
-
-static const u8 Str_843DA70[] = _("CARDーE emulation。。。");
-static const u8 Str_843DA84[] = _("LR: select A: send。");
-static const u8 Str_843DA98[] = _("sending。。。");
-static const u8 Str_843DAA3[] = _("completed。");
-
-extern const struct {const u8 *text; void (*func)();} gUnknown_Debug_842E2D0[];
-extern const u8 gUnknown_Debug_842E350;
-
-void debug_sub_815D1D8();
-
-void debug_sub_815D04C(u8 taskId)
-{
- if (gTasks[taskId].data[0] == 0)
- {
- Menu_DrawStdWindowFrame(4, 4, 13, 7);
- Menu_PrintText(gUnknown_Debug_842E2D0[gTasks[taskId].data[1]].text, 5, 5);
- gTasks[taskId].data[0]++;
- }
-
- if (gMain.newKeys & 0x20)
- {
- if (gTasks[taskId].data[1] == 0)
- gTasks[taskId].data[1] = gUnknown_Debug_842E350 - 1;
- else
- gTasks[taskId].data[1]--;
- gTasks[taskId].data[0] = 0;
- }
- if (gMain.newKeys & 0x10)
- {
- if (gTasks[taskId].data[1] == gUnknown_Debug_842E350 - 1)
- gTasks[taskId].data[1] = 0;
- else
- gTasks[taskId].data[1]++;
- gTasks[taskId].data[0] = 0;
- }
- if (gMain.newKeys & A_BUTTON)
- {
- // TODO: fix this
- s32 var = gTasks[taskId].data[1];
- asm(""::"r"(var * 8));
- gUnknown_Debug_842E2D0[var].func(gSharedMem + 0x4000);
-
- gMain.state++;
- DestroyTask(taskId);
- }
-}
-
-void debug_sub_815D15C(void)
-{
- ResetSpriteData();
- FreeAllSpritePalettes();
- ResetTasks();
- SetVBlankCallback(VBlankCB);
- Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4);
- InitMenuWindow(&gWindowTemplate_81E6CE4);
- Menu_EraseScreen();
- REG_DISPCNT = DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_MODE_0;
- REG_BLDCNT = 0;
-
- CreateTask(Task_DestroySelf, 0);
- StopMapMusic();
- RunTasks();
- AnimateSprites();
- BuildOamBuffer();
- UpdatePaletteFade();
- FillPalette(0, 0, 2);
- SetMainCallback2(debug_sub_815D1D8);
-}
-
-void debug_sub_815D1D8(void)
-{
- switch (gMain.state)
- {
- case 0:
- Menu_DrawStdWindowFrame(3, 14, 27, 19);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
- gMain.state++;
- break;
- case 1:
- if (!gPaletteFade.active)
- {
- if (gMain.heldKeys & 0x100)
- gUnknown_Debug_30030E0++;
- MenuPrintMessage(Str_843DA70, 4, 15);
- gMain.state++;
- }
- break;
- case 2:
- if (Menu_UpdateWindowText())
- {
- gMain.state++;
- gLinkType = 0x5501;
- OpenLink();
- }
- break;
- case 3:
- if (gReceivedRemoteLinkPlayers != 0)
- {
- gMain.state++;
- MenuPrintMessage(Str_843DA84, 4, 15);
- }
- break;
- case 4:
- if (Menu_UpdateWindowText())
- {
- CreateTask(debug_sub_815D04C, 10);
- gMain.state++;
- }
- break;
- case 6:
- MenuPrintMessage(Str_843DA98, 4, 15);
- SendBlock(0, gSharedMem + 0x4000, 0x2004);
- gMain.state++;
- break;
- case 7:
- Menu_UpdateWindowText();
- if (IsLinkTaskFinished())
- gMain.state++;
- break;
- case 8:
- sub_800832C();
- gMain.state++;
- break;
- case 9:
- if (gReceivedRemoteLinkPlayers == 0)
- {
- Menu_BlankWindowRect(4, 15, 26, 18);
- Menu_PrintText(Str_843DAA3, 4, 15);
- gMain.state++;
- }
- break;
- case 10:
- if (gMain.newKeys & A_BUTTON)
- {
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
- gMain.state++;
- }
- break;
- case 11:
- if (!gPaletteFade.active)
- SetMainCallback2(CB2_InitTitleScreen);
- break;
- }
- RunTasks();
- AnimateSprites();
- BuildOamBuffer();
- UpdatePaletteFade();
-}
-
-#endif