Remove RTC (#1) and remove time of day dependence on RTC (#7) [Commit #2]

This commit is contained in:
xCrystal
2023-07-28 00:07:07 +02:00
parent 0571144a7b
commit 05448d7a7e
18 changed files with 100 additions and 177 deletions

View File

@@ -1378,12 +1378,12 @@ DebugRoom_SaveRTC:
call YesNoBox
ret c
ld hl, wDebugRoomRTCSec
call DebugRoom_SetClock
; call DebugRoom_SetClock
ret
DebugRoomMenu_RTCEdit_UpdateClock:
ld hl, wDebugRoomRTCCurSec
call DebugRoom_GetClock
; call DebugRoom_GetClock
ld de, DebugRoom_DayHTimeString
hlcoord 3, 14
call PlaceString
@@ -1418,42 +1418,6 @@ DebugRoomMenu_RTCEdit_UpdateClock:
DebugRoom_DayHTimeString:
db "DAY H<LF>TIME@"
DebugRoom_GetClock:
ld a, SRAM_ENABLE
ld [MBC3SRamEnable], a
xor a
ld [MBC3LatchClock], a
inc a
ld [MBC3LatchClock], a
ld b, RTC_DH - RTC_S + 1
ld c, RTC_S
.loop
ld a, c
ld [MBC3SRamBank], a
ld a, [MBC3RTC]
ld [hli], a
inc c
dec b
jr nz, .loop
call CloseSRAM
ret
DebugRoom_SetClock:
ld a, SRAM_ENABLE
ld [MBC3SRamEnable], a
ld b, RTC_DH - RTC_S + 1
ld c, RTC_S
.loop
ld a, c
ld [MBC3SRamBank], a
ld a, [hli]
ld [MBC3RTC], a
inc c
dec b
jr nz, .loop
call CloseSRAM
ret
DebugRoomMenu_RTCEdit_Page1Values:
db 5
paged_value wDebugRoomRTCSec, 0, 60 - 1, 0, .SecondString, NULL, FALSE

View File

@@ -9,9 +9,6 @@ Intro_MainMenu:
farcall MainMenu
jp StartTitleScreen
IntroMenu_DummyFunction: ; unreferenced
ret
PrintDayOfWeek:
push de
ld hl, .Days
@@ -57,6 +54,7 @@ NewGame:
ld [wDebugFlags], a
call ResetWRAM
call NewGame_ClearTilemapEtc
call InitTime ; set wStartDay through wStartSecond to $00
call AreYouABoyOrAreYouAGirl
call OakSpeech
call InitializeWorld
@@ -97,14 +95,10 @@ _ResetWRAM:
xor a
call ByteFill
ldh a, [rLY]
ldh [hUnusedBackup], a
call DelayFrame
ldh a, [hRandomSub]
ld [wPlayerID], a
ldh a, [rLY]
ldh [hUnusedBackup], a
call DelayFrame
ldh a, [hRandomAdd]
ld [wPlayerID + 1], a

View File

@@ -233,7 +233,7 @@ MenuJoypadLoop:
.loop
call Move2DMenuCursor
call .BGMap_OAM
call Do2DMenuRTCJoypad
call Do2DMenuJoypad
jr nc, .done
call _2DMenuInterpretJoypad
jr c, .done
@@ -261,14 +261,14 @@ MenuJoypadLoop:
ldh [hBGMapMode], a
ret
Do2DMenuRTCJoypad:
.loopRTC
Do2DMenuJoypad:
.loop
call UpdateTimeSensitivePals
call Menu_WasButtonPressed
ret c
ld a, [w2DMenuFlags1]
bit 7, a
jr z, .loopRTC
jr z, .loop
and a
ret

View File

@@ -2,7 +2,7 @@ _InitializeStartDay:
call InitializeStartDay
ret
ClearDailyTimers:
ClearDailyTimers::
xor a
ld [wLuckyNumberDayTimer], a
ld [wDailyResetTimer], a
@@ -80,12 +80,12 @@ RestartReceiveCallDelay:
ld hl, wReceiveCallDelay_MinsRemaining
ld [hl], a
ld hl, wReceiveCallDelay_StartTime
call CopyDayHourMinToHL
call CopyHourMinToHL
ret
CheckReceiveCallDelay:
ld hl, wReceiveCallDelay_StartTime
call CalcMinsHoursDaysSince
call CalcMinsHoursSince
call GetMinutesSinceIfLessThan60
ld hl, wReceiveCallDelay_MinsRemaining
call UpdateTimeRemaining
@@ -105,40 +105,20 @@ CheckDailyResetTimer::
ld [hli], a ; wDailyFlags2
ld [hli], a ; wSwarmFlags
ld [hl], a ; wSwarmFlags + 1
ld hl, wKenjiBreakTimer
ld a, [hl]
and a
jr z, .RestartKenjiBreakCountdown
dec [hl]
jr nz, .DontRestartKenjiBreakCountdown
.RestartKenjiBreakCountdown:
call SampleKenjiBreakCountdown
.DontRestartKenjiBreakCountdown:
jr RestartDailyResetTimer
SampleKenjiBreakCountdown:
; Generate a random number between 3 and 6
call Random
and %11
add 3
ld [wKenjiBreakTimer], a
ret
StartBugContestTimer:
ld a, BUG_CONTEST_MINUTES
ld [wBugContestMinsRemaining], a
ld a, BUG_CONTEST_SECONDS
ld [wBugContestSecsRemaining], a
ld hl, wBugContestStartTime
call CopyDayHourMinSecToHL
call CopyHourMinSecToHL
ret
CheckBugContestTimer::
ld hl, wBugContestStartTime
call CalcSecsMinsHoursDaysSince
ld a, [wDaysSince]
and a
jr nz, .timed_out
call CalcSecsMinsHoursSince
ld a, [wHoursSince]
and a
jr nz, .timed_out
@@ -231,9 +211,6 @@ UpdateTimeRemaining:
ret
GetSecondsSinceIfLessThan60: ; unreferenced
ld a, [wDaysSince]
and a
jr nz, GetTimeElapsed_ExceedsUnitLimit
ld a, [wHoursSince]
and a
jr nz, GetTimeElapsed_ExceedsUnitLimit
@@ -243,9 +220,6 @@ GetSecondsSinceIfLessThan60: ; unreferenced
ret
GetMinutesSinceIfLessThan60:
ld a, [wDaysSince]
and a
jr nz, GetTimeElapsed_ExceedsUnitLimit
ld a, [wHoursSince]
and a
jr nz, GetTimeElapsed_ExceedsUnitLimit
@@ -253,9 +227,6 @@ GetMinutesSinceIfLessThan60:
ret
GetHoursSinceIfLessThan24: ; unreferenced
ld a, [wDaysSince]
and a
jr nz, GetTimeElapsed_ExceedsUnitLimit
ld a, [wHoursSince]
ret
@@ -271,22 +242,19 @@ CalcDaysSince:
xor a
jr _CalcDaysSince
CalcHoursDaysSince: ; unreferenced
CalcHoursSince: ; unreferenced
xor a
jr _CalcHoursSince
CalcMinsHoursSince:
inc hl
xor a
jr _CalcHoursDaysSince
jr _CalcMinsHoursSince
CalcMinsHoursDaysSince:
CalcSecsMinsHoursSince:
inc hl
inc hl
xor a
jr _CalcMinsHoursDaysSince
CalcSecsMinsHoursDaysSince:
inc hl
inc hl
inc hl
ldh a, [hSeconds]
ld a, [wGameTimeSeconds]
ld c, a
sub [hl]
jr nc, .skip
@@ -296,8 +264,8 @@ CalcSecsMinsHoursDaysSince:
dec hl
ld [wSecondsSince], a ; seconds since
_CalcMinsHoursDaysSince:
ldh a, [hMinutes]
_CalcMinsHoursSince:
ld a, [wGameTimeMinutes]
ld c, a
sbc [hl]
jr nc, .skip
@@ -307,36 +275,32 @@ _CalcMinsHoursDaysSince:
dec hl
ld [wMinutesSince], a ; minutes since
_CalcHoursDaysSince:
ldh a, [hHours]
_CalcHoursSince:
; assumes differentials below 256 hours
ld a, [wGameTimeHours + 1]
ld c, a
sbc [hl]
jr nc, .skip
add MAX_HOUR
.skip
sub [hl]
ld [hl], c ; current hours
dec hl
ld [wHoursSince], a ; hours since
ret
_CalcDaysSince:
ld a, [wCurDay]
ld c, a
sbc [hl]
jr nc, .skip
add 20 * 7
add MAX_DAYS
.skip
ld [hl], c ; current days
ld [wDaysSince], a ; days since
ret
CopyDayHourMinSecToHL:
ld a, [wCurDay]
CopyHourMinSecToHL:
ld a, [wGameTimeHours + 1]
ld [hli], a
ldh a, [hHours]
ld a, [wGameTimeMinutes]
ld [hli], a
ldh a, [hMinutes]
ld [hli], a
ldh a, [hSeconds]
ld a, [wGameTimeSeconds]
ld [hli], a
ret
@@ -345,11 +309,9 @@ CopyDayToHL:
ld [hl], a
ret
CopyDayHourMinToHL:
ld a, [wCurDay]
CopyHourMinToHL:
ld a, [wGameTimeHours + 1]
ld [hli], a
ldh a, [hHours]
ld [hli], a
ldh a, [hMinutes]
ld a, [wGameTimeMinutes]
ld [hli], a
ret

View File

@@ -48,7 +48,6 @@ _GetVarAction::
dwb .CountBadges, RETVAR_EXECUTE
dwb wPlayerState, RETVAR_ADDR_DE
dwb .PlayerFacing, RETVAR_EXECUTE
dwb hHours, RETVAR_STRBUF2
dwb .DayOfWeek, RETVAR_EXECUTE
dwb wMapGroup, RETVAR_STRBUF2
dwb wMapNumber, RETVAR_STRBUF2
@@ -63,7 +62,6 @@ _GetVarAction::
dwb wCurCaller, RETVAR_ADDR_DE
dwb wBlueCardBalance, RETVAR_ADDR_DE
dwb wBuenasPassword, RETVAR_ADDR_DE
dwb wKenjiBreakTimer, RETVAR_STRBUF2
dwb NULL, RETVAR_STRBUF2
.CountCaughtMons:

View File

@@ -1161,20 +1161,6 @@ PokegearPhoneContactSubmenu:
dw .Call
dw .Cancel
GetAMPMHours: ; unreferenced
ldh a, [hHours]
cp NOON_HOUR
jr c, .am
sub NOON_HOUR
ld [wTempByteValue], a
scf
ret
.am
ld [wTempByteValue], a
and a
ret
Pokegear_SwitchPage:
ld de, SFX_READ_TEXT_2
call PlaySFX