Setting wallclock time now properly sets fakeRTC (#7860)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
This commit is contained in:
parent
ddddca68e9
commit
5b2ecfe4d4
@ -1794,6 +1794,10 @@ void CB2_NewGame(void)
|
||||
SetFieldVBlankCallback();
|
||||
SetMainCallback1(CB1_Overworld);
|
||||
SetMainCallback2(CB2_Overworld);
|
||||
#if OW_USE_FAKE_RTC
|
||||
// Wall clock now track local time so we set it to 10AM to match initial wall clock time
|
||||
RtcCalcLocalTimeOffset(0, 10, 0, 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
void CB2_WhiteOut(void)
|
||||
|
||||
@ -348,6 +348,7 @@ void RtcCalcLocalTimeOffset(s32 days, s32 hours, s32 minutes, s32 seconds)
|
||||
gLocalTime.hours = hours;
|
||||
gLocalTime.minutes = minutes;
|
||||
gLocalTime.seconds = seconds;
|
||||
FakeRtc_ManuallySetTime(gLocalTime.days, gLocalTime.hours, gLocalTime.minutes, seconds);
|
||||
RtcGetInfo(&sRtc);
|
||||
RtcCalcTimeDifference(&sRtc, &gSaveBlock2Ptr->localTimeOffset, &gLocalTime);
|
||||
}
|
||||
|
||||
@ -692,13 +692,13 @@ void CB2_StartWallClock(void)
|
||||
DecompressDataWithHeaderVram(gWallClockStart_Tilemap, (u16 *)BG_SCREEN_ADDR(7));
|
||||
|
||||
taskId = CreateTask(Task_SetClock_WaitFadeIn, 0);
|
||||
gTasks[taskId].tHours = 10;
|
||||
gTasks[taskId].tMinutes = 0;
|
||||
gTasks[taskId].tHours = gLocalTime.hours;
|
||||
gTasks[taskId].tMinutes = gLocalTime.minutes;
|
||||
gTasks[taskId].tMoveDir = 0;
|
||||
gTasks[taskId].tPeriod = 0;
|
||||
gTasks[taskId].tPeriod = gTasks[taskId].tHours / 12;
|
||||
gTasks[taskId].tMoveSpeed = 0;
|
||||
gTasks[taskId].tMinuteHandAngle = 0;
|
||||
gTasks[taskId].tHourHandAngle = 300;
|
||||
gTasks[taskId].tMinuteHandAngle = gTasks[taskId].tMinutes * 6;
|
||||
gTasks[taskId].tHourHandAngle = (gTasks[taskId].tHours % 12) * 30 + (gTasks[taskId].tMinutes / 10) * 5;
|
||||
|
||||
spriteId = CreateSprite(&sSpriteTemplate_MinuteHand, 120, 80, 1);
|
||||
gSprites[spriteId].sTaskId = taskId;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user