diff options
Diffstat (limited to 'src/clear_save_data_menu.c')
-rw-r--r-- | src/clear_save_data_menu.c | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/src/clear_save_data_menu.c b/src/clear_save_data_menu.c deleted file mode 100644 index 498562fe0..000000000 --- a/src/clear_save_data_menu.c +++ /dev/null @@ -1,177 +0,0 @@ -#include "global.h" -#include "clear_save_data_menu.h" -#include "main.h" -#include "menu.h" -#include "palette.h" -#include "save.h" -#include "songs.h" -#include "sound.h" -#include "sprite.h" -#include "strings2.h" -#include "task.h" - -static void VBlankCB_ClearSaveDataScreen(void); -static void Task_InitMenu(u8); -static void Task_ProcessMenuInput(u8); -static void Task_ClearSaveData(u8); -static void CB2_ClearSaveDataScreen(void); -static void VBlankCB_InitClearSaveDataScreen(void); -static u8 InitClearSaveDataScreen(void); -static void CB2_SoftReset(void); - -void CB2_InitClearSaveDataScreen(void) -{ - if (InitClearSaveDataScreen()) - { - CreateTask(Task_InitMenu, 0); - } -} - -static void VBlankCB_ClearSaveDataScreen(void) -{ - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); -} - -static void Task_InitMenu(u8 taskId) -{ - ResetSpriteData(); - - REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG3_ON | DISPCNT_OBJ_ON; - - SetVBlankCallback(VBlankCB_ClearSaveDataScreen); - MenuDrawTextWindow(2, 14, 27, 19); - MenuPrint(gSystemText_ClearAllSaveDataPrompt, 3, 15); - - MenuDrawTextWindow(2, 1, 8, 6); - PrintMenuItems(3, 2, 2, gMenuYesNoItems); - InitMenu(0, 3, 2, 2, 1, 5); - - gTasks[taskId].func = Task_ProcessMenuInput; -} - -static void Task_ProcessMenuInput(u8 taskId) -{ - switch (ProcessMenuInputNoWrap_()) - { - case 0: - PlaySE(SE_SELECT); - sub_8071F40(gSystemText_ClearingData); - gTasks[taskId].func = Task_ClearSaveData; - break; - case -1: - case 1: - PlaySE(SE_SELECT); - DestroyTask(taskId); - SetMainCallback2(CB2_SoftReset); - break; - } - AnimateSprites(); - BuildOamBuffer(); -} - -static void Task_ClearSaveData(u8 taskId) -{ - ClearSaveData(); - DestroyTask(taskId); - SetMainCallback2(CB2_SoftReset); -} - -static void CB2_ClearSaveDataScreen(void) -{ - RunTasks(); - UpdatePaletteFade(); -} - -static void VBlankCB_InitClearSaveDataScreen(void) -{ - TransferPlttBuffer(); -} - -static u8 InitClearSaveDataScreen(void) -{ - u16 i; - u16 ime; - - switch (gMain.state) - { - case 0: - default: - SetVBlankCallback(NULL); - - REG_DISPCNT = 0; - REG_BG0HOFS = 0; - REG_BG0VOFS = 0; - REG_BG3HOFS = 0; - REG_BG3VOFS = 0; - REG_WIN0H = 0; - REG_WIN0V = 0; - REG_WININ = 0; - REG_WINOUT = 0; - REG_BLDCNT = 0; - REG_BLDALPHA = 0; - REG_BLDY = 0; - - DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); - DmaFill32(3, 0, (void *)OAM, OAM_SIZE); - DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); - - ResetPaletteFade(); - - gPlttBufferUnfaded[0] = 0x7fff; - gPlttBufferFaded[0] = 0x7fff; - gPlttBufferUnfaded[1] = 0x3945; - gPlttBufferFaded[1] = 0x3945; - - for (i = 0; i < 0x10; i++) - ((u16 *)(VRAM + 0x20))[i] = 0x1111; - - for (i = 0; i < 0x500; i++) - ((u16 *)(VRAM + 0x3800))[i] = 0x0001; - - ResetTasks(); - ResetSpriteData(); - - SetUpWindowConfig(&gWindowConfig_81E6C3C); - InitMenuWindow(&gWindowConfig_81E6CE4); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0xffff); - - ime = REG_IME; - REG_IME = 0; - REG_IE |= INTR_FLAG_VBLANK; - REG_IME = ime; - REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; - - SetVBlankCallback(VBlankCB_InitClearSaveDataScreen); - - REG_BG3CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(7) | BGCNT_16COLOR | BGCNT_TXT256x256; - REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_BG0_ON | DISPCNT_BG3_ON; - gMain.state = 1; - return 0; - case 1: - UpdatePaletteFade(); - if (gPaletteFade.active) - return 0; - SetMainCallback2(CB2_ClearSaveDataScreen); - return 1; - } -} - -static void CB2_SoftReset(void) -{ - switch (gMain.state) - { - case 0: - default: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xffff); - gMain.state = 1; - break; - case 1: - UpdatePaletteFade(); - if (gPaletteFade.active) - return; - DoSoftReset(); - break; - } -} |