bool8 ScrCmd_resetvars(struct ScriptContext *ctx) { RtcCalcLocalTime(); gSpecialVar_0x8000 = gLocalTime.hours; gSpecialVar_0x8001 = gLocalTime.minutes; gSpecialVar_0x8002 = gLocalTime.seconds; return FALSE; }
void debug_sub_806F9E4(u8 taskId) { s16 *data = gTasks[taskId].data; u8 *str = gStringVar4; switch (data[0]) { case 0: data[0]++; break; case 1: Menu_DrawStdWindowFrame(0, 9, 29, 19); ConvertIntToHexStringN(str + 80, RtcGetErrorStatus(), 2, 4); Menu_PrintText(str + 80, 2, 10); Menu_PrintText(sDebugText_Days, 12, 12); Menu_PrintText(sDebugText_Time, 20, 12); Menu_PrintText(sDebugText_RTCTime, 1, 14); Menu_PrintText(sDebugText_GameTime, 1, 16); data[0]++; break; case 2: RtcCalcLocalTime(); FormatHexRtcTime(str); debug_sub_8009894(str + 20); FormatDecimalTime(str + 40, gLocalTime.hours, gLocalTime.minutes, gLocalTime.seconds); ConvertIntToDecimalStringN(str + 60, gLocalTime.days, 1, 4); if (gSaveBlock2.playTimeVBlanks == 0) { Menu_PrintText(str, 20, 14); Menu_PrintText(str + 20, 12, 14); Menu_PrintText(str + 40, 20, 16); Menu_PrintText(str + 60, 12, 16); } if (data[1] > 19) // Did you mean < 19? { data[1]++; } else { if (gMain.newKeys & A_BUTTON) { Menu_EraseScreen(); DestroyTask(taskId); ScriptContext2_Disable(); } } break; } }
void debug_sub_806F99C(void) { RtcCalcLocalTime(); CreateTask(debug_sub_806F908, 80); ScriptContext2_Enable(); }
void Task_ResetRtcScreen(u8 taskId) { s16 *data = gTasks[taskId].data; switch (data[0]) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 1, 16, 0, FADE_COLOR_WHITE); data[0] = 1; break; case 1: if (!gPaletteFade.active) { if (gSaveFileStatus == 0 || gSaveFileStatus == 2) { ResetRtcScreen_ShowMessage(gSystemText_NoSaveFileNoTime); data[0] = 5; } else { RtcCalcLocalTime(); data[1] = CreateTask(Task_ShowResetRtcPrompt, 80); data[0] = 2; } } break; case 2: if (gTasks[data[1]].isActive != TRUE) { Menu_EraseScreen(); ResetRtcScreen_ShowMessage(gSystemText_PleaseResetTime); gLocalTime = gSaveBlock2.lastBerryTreeUpdate; data[1] = CreateTask(Task_ResetRtc_0, 80); data[0] = 3; } break; case 3: if (gTasks[data[1]].data[0]) { if (!gTasks[data[1]].data[1]) { DestroyTask(data[1]); data[0] = 2; } else { DestroyTask(data[1]); RtcReset(); RtcCalcLocalTimeOffset( gLocalTime.days, gLocalTime.hours, gLocalTime.minutes, gLocalTime.seconds); gSaveBlock2.lastBerryTreeUpdate = gLocalTime; VarSet(VAR_DAYS, gLocalTime.days); DisableResetRTC(); ResetRtcScreen_ShowMessage(gSystemText_ClockResetDataSave); data[0] = 4; } } break; case 4: if (Save_WriteData(0) == SAVE_STATUS_OK) { ResetRtcScreen_ShowMessage(gSystemText_SaveCompleted); PlaySE(SE_PINPON); } else { ResetRtcScreen_ShowMessage(gSystemText_SaveFailed); PlaySE(SE_BOO); } data[0] = 5; // fall through case 5: if (gMain.newKeys & A_BUTTON) { BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 16, FADE_COLOR_WHITE); data[0] = 6; } else { break; } // fall through case 6: if (!gPaletteFade.active) { DestroyTask(taskId); DoSoftReset(); } } }