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

This commit is contained in:
xCrystal
2023-07-27 20:32:15 +02:00
parent 59bda0b36b
commit 0571144a7b
32 changed files with 40 additions and 2276 deletions

View File

@@ -14,8 +14,6 @@
; wMomSavingMoney ; wMomSavingMoney
const ENGINE_MOM_SAVING_MONEY const ENGINE_MOM_SAVING_MONEY
const ENGINE_MOM_ACTIVE const ENGINE_MOM_ACTIVE
; wUnusedTwoDayTimerOn
const ENGINE_UNUSED_TWO_DAY_TIMER_ON
; wStatusFlags ; wStatusFlags
const ENGINE_POKEDEX const ENGINE_POKEDEX
const ENGINE_UNOWN_DEX const ENGINE_UNOWN_DEX

View File

@@ -23,8 +23,6 @@ EngineFlags:
engine_flag wMomSavingMoney, MOM_SAVING_SOME_MONEY_F engine_flag wMomSavingMoney, MOM_SAVING_SOME_MONEY_F
engine_flag wMomSavingMoney, MOM_ACTIVE_F engine_flag wMomSavingMoney, MOM_ACTIVE_F
engine_flag wUnusedTwoDayTimerOn, 0 ; unused, possibly related to a 2-day timer
engine_flag wStatusFlags, STATUSFLAGS_POKEDEX_F engine_flag wStatusFlags, STATUSFLAGS_POKEDEX_F
engine_flag wStatusFlags, STATUSFLAGS_UNOWN_DEX_F engine_flag wStatusFlags, STATUSFLAGS_UNOWN_DEX_F
engine_flag wStatusFlags, STATUSFLAGS_CAUGHT_POKERUS_F engine_flag wStatusFlags, STATUSFLAGS_CAUGHT_POKERUS_F

View File

@@ -45,7 +45,6 @@ SpecialsPointers::
add_special BankOfMom add_special BankOfMom
add_special MagnetTrain add_special MagnetTrain
add_special NameRival add_special NameRival
add_special SetDayOfWeek
add_special OverworldTownMap add_special OverworldTownMap
add_special UnownPrinter add_special UnownPrinter
add_special MapRadio add_special MapRadio
@@ -76,7 +75,6 @@ SpecialsPointers::
add_special FindPartyMonAtLeastThatHappy ; unused add_special FindPartyMonAtLeastThatHappy ; unused
add_special FindPartyMonThatSpecies add_special FindPartyMonThatSpecies
add_special FindPartyMonThatSpeciesYourTrainerID add_special FindPartyMonThatSpeciesYourTrainerID
add_special UnusedCheckUnusedTwoDayTimer ; unused
add_special DayCareMon1 add_special DayCareMon1
add_special DayCareMon2 add_special DayCareMon2
add_special SelectRandomBugContestContestants add_special SelectRandomBugContestContestants
@@ -136,7 +134,3 @@ SpecialsPointers::
add_special RefreshSprites add_special RefreshSprites
add_special AskRememberPassword add_special AskRememberPassword
add_special LoadMapPalettes add_special LoadMapPalettes
add_special InitialSetDSTFlag
add_special InitialClearDSTFlag
add_special UnusedDummySpecial ; unused

View File

@@ -1231,42 +1231,3 @@ _TimeAskOkayText::
text "," text ","
line "is that OK?" line "is that OK?"
done done
_TimesetAskDSTText::
text "Do you want to"
line "switch to Daylight"
cont "Saving Time?"
done
_TimesetDSTText::
text "I set the clock"
line "forward by one"
cont "hour."
prompt
_TimesetAskNotDSTText::
text "Is Daylight Saving"
line "Time over?"
done
_TimesetNotDSTText::
text "I put the clock"
line "back one hour."
prompt
_TimesetAskAdjustDSTText::
text "Do you want to"
line "adjust your clock"
para "for Daylight"
line "Saving Time?"
done
_MomLostGearBookletText::
text "I lost the in-"
line "struction booklet"
cont "for the #GEAR."
para "Come back again in"
line "a while."
prompt

View File

@@ -77,7 +77,6 @@ BankOfMom:
jr .done_2 jr .done_2
.nope .nope
call DSTChecks
ld a, $7 ld a, $7
.done_2 .done_2
@@ -281,128 +280,6 @@ BankOfMom:
set 7, [hl] set 7, [hl]
ret ret
DSTChecks:
; check the time; avoid changing DST if doing so would change the current day
ld a, [wDST]
bit 7, a
ldh a, [hHours]
jr z, .NotDST
and a ; within one hour of 00:00?
jr z, .LostBooklet
jr .loop
.NotDST:
cp 23 ; within one hour of 23:00?
jr nz, .loop
; fallthrough
.LostBooklet:
call .ClearBox
bccoord 1, 14
ld hl, .TimesetAskAdjustDSTText
call PlaceHLTextAtBC
call YesNoBox
ret c
call .ClearBox
bccoord 1, 14
ld hl, .MomLostGearBookletText
call PlaceHLTextAtBC
ret
.loop
call .ClearBox
bccoord 1, 14
ld a, [wDST]
bit 7, a
jr z, .SetDST
ld hl, .TimesetAskNotDSTText
call PlaceHLTextAtBC
call YesNoBox
ret c
ld a, [wDST]
res 7, a
ld [wDST], a
call .SetClockBack
call .ClearBox
bccoord 1, 14
ld hl, .TimesetNotDSTText
call PlaceHLTextAtBC
ret
.SetDST:
ld hl, .TimesetAskDSTText
call PlaceHLTextAtBC
call YesNoBox
ret c
ld a, [wDST]
set 7, a
ld [wDST], a
call .SetClockForward
call .ClearBox
bccoord 1, 14
ld hl, .TimesetDSTText
call PlaceHLTextAtBC
ret
.SetClockForward:
ld a, [wStartHour]
add 1
sub 24
jr nc, .DontLoopHourForward
add 24
.DontLoopHourForward:
ld [wStartHour], a
ccf
ld a, [wStartDay]
adc 0
ld [wStartDay], a
ret
.SetClockBack:
ld a, [wStartHour]
sub 1
jr nc, .DontLoopHourBack
add 24
.DontLoopHourBack:
ld [wStartHour], a
ld a, [wStartDay]
sbc 0
jr nc, .DontLoopDayBack
add 7
.DontLoopDayBack:
ld [wStartDay], a
ret
.ClearBox:
hlcoord 1, 14
lb bc, 3, 18
call ClearBox
ret
.TimesetAskAdjustDSTText:
text_far _TimesetAskAdjustDSTText
text_end
.MomLostGearBookletText:
text_far _MomLostGearBookletText
text_end
.TimesetAskDSTText:
text_far _TimesetAskDSTText
text_end
.TimesetDSTText:
text_far _TimesetDSTText
text_end
.TimesetAskNotDSTText:
text_far _TimesetAskNotDSTText
text_end
.TimesetNotDSTText:
text_far _TimesetNotDSTText
text_end
Mom_SetUpWithdrawMenu: Mom_SetUpWithdrawMenu:
ld de, Mon_WithdrawString ld de, Mon_WithdrawString
jr Mom_ContinueMenuSetup jr Mom_ContinueMenuSetup

View File

@@ -15,9 +15,6 @@ Special::
INCLUDE "data/events/special_pointers.asm" INCLUDE "data/events/special_pointers.asm"
UnusedDummySpecial:
ret
SetPlayerPalette: SetPlayerPalette:
ld a, [wScriptVar] ld a, [wScriptVar]
ld d, a ld d, a
@@ -231,12 +228,6 @@ ScriptReturnCarry:
ld [wScriptVar], a ld [wScriptVar], a
ret ret
UnusedCheckUnusedTwoDayTimer:
farcall CheckUnusedTwoDayTimer
ld a, [wUnusedTwoDayTimer]
ld [wScriptVar], a
ret
ActivateFishingSwarm: ActivateFishingSwarm:
ld a, [wScriptVar] ld a, [wScriptVar]
ld [wFishingSwarmFlag], a ld [wFishingSwarmFlag], a

View File

@@ -243,7 +243,7 @@ LinkTradeMenu:
ret ret
.loop2 .loop2
call UpdateTimeAndPals call UpdateTimeSensitivePals
call .TryAnims call .TryAnims
ret c ret c
ld a, [w2DMenuFlags1] ld a, [w2DMenuFlags1]

View File

@@ -75,12 +75,6 @@ AreYouABoyOrAreYouAGirl:
farcall InitGender farcall InitGender
ret ret
if DEF(_DEBUG)
DebugRoom: ; unreferenced
farcall _DebugRoom
ret
endc
ResetWRAM: ResetWRAM:
xor a xor a
ldh [hBGMapMode], a ldh [hBGMapMode], a
@@ -322,17 +316,11 @@ Continue:
ld c, 20 ld c, 20
call DelayFrames call DelayFrames
call ConfirmContinue call ConfirmContinue
jr nc, .Check1Pass jr nc, .CheckPass
call CloseWindow call CloseWindow
jr .FailToLoad jr .FailToLoad
.Check1Pass: .CheckPass:
call Continue_CheckRTC_RestartClock
jr nc, .Check2Pass
call CloseWindow
jr .FailToLoad
.Check2Pass:
ld a, $8 ld a, $8
ld [wMusicFade], a ld [wMusicFade], a
ld a, LOW(MUSIC_NONE) ld a, LOW(MUSIC_NONE)
@@ -345,7 +333,6 @@ Continue:
ld c, 20 ld c, 20
call DelayFrames call DelayFrames
farcall JumpRoamMons farcall JumpRoamMons
farcall ClockContinue
ld a, [wSpawnAfterChampion] ld a, [wSpawnAfterChampion]
cp SPAWN_LEVEL_1 cp SPAWN_LEVEL_1
jr z, .SpawnAfterE4 jr z, .SpawnAfterE4
@@ -388,21 +375,6 @@ ConfirmContinue:
.PressA: .PressA:
ret ret
Continue_CheckRTC_RestartClock:
call CheckRTCStatus
and %10000000 ; Day count exceeded 16383
jr z, .pass
farcall RestartClock
ld a, c
and a
jr z, .pass
scf
ret
.pass
xor a
ret
FinishContinueFunction: FinishContinueFunction:
.loop .loop
xor a xor a
@@ -424,14 +396,6 @@ FinishContinueFunction:
jr .loop jr .loop
DisplaySaveInfoOnContinue: DisplaySaveInfoOnContinue:
call CheckRTCStatus
and %10000000
jr z, .clock_ok
lb de, 4, 8
call DisplayContinueDataWithRTCError
ret
.clock_ok
lb de, 4, 8 lb de, 4, 8
call DisplayNormalContinueData call DisplayNormalContinueData
ret ret
@@ -448,14 +412,6 @@ DisplayNormalContinueData:
call UpdateSprites call UpdateSprites
ret ret
DisplayContinueDataWithRTCError:
call Continue_LoadMenuHeader
call Continue_DisplayBadgesDexPlayerName
call Continue_UnknownGameTime
call LoadFontsExtra
call UpdateSprites
ret
Continue_LoadMenuHeader: Continue_LoadMenuHeader:
xor a xor a
ldh [hBGMapMode], a ldh [hBGMapMode], a
@@ -528,16 +484,6 @@ Continue_PrintGameTime:
call Continue_DisplayGameTime call Continue_DisplayGameTime
ret ret
Continue_UnknownGameTime:
decoord 9, 8, 0
add hl, de
ld de, .three_question_marks
call PlaceString
ret
.three_question_marks
db " ???@"
Continue_DisplayBadgeCount: Continue_DisplayBadgeCount:
push hl push hl
ld hl, wJohtoBadges ld hl, wJohtoBadges
@@ -576,7 +522,6 @@ Continue_DisplayGameTime:
jp PrintNum jp PrintNum
OakSpeech: OakSpeech:
farcall InitClock
call RotateFourPalettesLeft call RotateFourPalettesLeft
call ClearTilemap call ClearTilemap
@@ -909,7 +854,6 @@ Intro_PlacePlayerSprite:
const TITLESCREENOPTION_DELETE_SAVE_DATA const TITLESCREENOPTION_DELETE_SAVE_DATA
const TITLESCREENOPTION_RESTART const TITLESCREENOPTION_RESTART
const TITLESCREENOPTION_UNUSED const TITLESCREENOPTION_UNUSED
const TITLESCREENOPTION_RESET_CLOCK
DEF NUM_TITLESCREENOPTIONS EQU const_value DEF NUM_TITLESCREENOPTIONS EQU const_value
IntroSequence: IntroSequence:
@@ -972,7 +916,6 @@ StartTitleScreen:
dw DeleteSaveData dw DeleteSaveData
dw IntroSequence dw IntroSequence
dw IntroSequence dw IntroSequence
dw ResetClock
.TitleScreen: .TitleScreen:
farcall _TitleScreen farcall _TitleScreen
@@ -1109,38 +1052,7 @@ TitleScreenMain:
cp D_UP + B_BUTTON + SELECT cp D_UP + B_BUTTON + SELECT
jr z, .delete_save_data jr z, .delete_save_data
; To bring up the clock reset dialog:
; Hold Down + B + Select to initiate the sequence.
ldh a, [hClockResetTrigger]
cp $34
jr z, .check_clock_reset
ld a, [hl]
and D_DOWN + B_BUTTON + SELECT
cp D_DOWN + B_BUTTON + SELECT
jr nz, .check_start
ld a, $34
ldh [hClockResetTrigger], a
jr .check_start
; Keep Select pressed, and hold Left + Up.
; Then let go of Select.
.check_clock_reset
bit SELECT_F, [hl]
jr nz, .check_start
xor a
ldh [hClockResetTrigger], a
ld a, [hl]
and D_LEFT + D_UP
cp D_LEFT + D_UP
jr z, .reset_clock
; Press Start or A to start the game. ; Press Start or A to start the game.
.check_start
ld a, [hl] ld a, [hl]
and START | A_BUTTON and START | A_BUTTON
jr nz, .incave jr nz, .incave
@@ -1177,15 +1089,6 @@ TitleScreenMain:
inc [hl] inc [hl]
ret ret
.reset_clock
ld a, TITLESCREENOPTION_RESET_CLOCK
ld [wTitleScreenSelectedOption], a
; Return to the intro sequence.
ld hl, wJumptableIndex
set 7, [hl]
ret
TitleScreenEnd: TitleScreenEnd:
; Wait until the music is done fading. ; Wait until the music is done fading.
@@ -1208,61 +1111,6 @@ DeleteSaveData:
farcall _DeleteSaveData farcall _DeleteSaveData
jp Init jp Init
ResetClock:
farcall _ResetClock
jp Init
UpdateTitleTrailSprite: ; unreferenced
; If bit 0 or 1 of [wTitleScreenTimer] is set, we don't need to be here.
ld a, [wTitleScreenTimer]
and %00000011
ret nz
ld bc, wSpriteAnim10
ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
ld l, [hl]
ld h, 0
add hl, hl
add hl, hl
ld de, .TitleTrailCoords
add hl, de
; If bit 2 of [wTitleScreenTimer] is set, get the second coords; else, get the first coords
ld a, [wTitleScreenTimer]
and %00000100
srl a
srl a
ld e, a
ld d, 0
add hl, de
add hl, de
ld a, [hli]
and a
ret z
ld e, a
ld d, [hl]
ld a, SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
call InitSpriteAnimStruct
ret
.TitleTrailCoords:
MACRO trail_coords
rept _NARG / 2
DEF _dx = 4
if \1 == 0 && \2 == 0
DEF _dx = 0
endc
dbpixel \1, \2, _dx, 0
shift 2
endr
ENDM
; frame 0 y, x; frame 1 y, x
trail_coords 11, 10, 0, 0
trail_coords 11, 13, 11, 11
trail_coords 11, 13, 11, 15
trail_coords 11, 17, 11, 15
trail_coords 0, 0, 11, 15
trail_coords 0, 0, 11, 11
Copyright: Copyright:
call ClearTilemap call ClearTilemap
call LoadFontsExtra call LoadFontsExtra

View File

@@ -55,9 +55,6 @@ MainMenu:
db "CONTINUE@" db "CONTINUE@"
db "NEW GAME@" db "NEW GAME@"
db "OPTION@" db "OPTION@"
db "MYSTERY GIFT@"
db "MOBILE@"
db "MOBILE STUDIUM@"
if DEF(_DEBUG) if DEF(_DEBUG)
db "DEBUG ROOM@" db "DEBUG ROOM@"
endc endc
@@ -147,58 +144,26 @@ MainMenu_PrintCurrentTimeAndDay:
ret ret
.PlaceBox: .PlaceBox:
call CheckRTCStatus
and %10000000 ; Day count exceeded 16383
jr nz, .TimeFail
hlcoord 0, 14 hlcoord 0, 14
ld b, 2 ld b, 2
ld c, 18 ld c, 18
call Textbox call Textbox
ret ret
.TimeFail:
call SpeechTextbox
ret
.PlaceTime: .PlaceTime:
ld a, [wSaveFileExists] ld a, [wSaveFileExists]
and a and a
ret z ret z
call CheckRTCStatus
and $80
jp nz, .PrintTimeNotSet
call UpdateTime
call GetWeekday call GetWeekday
ld b, a ld b, a
decoord 1, 15 decoord 1, 15
call .PrintDayOfWeek call .PrintDayOfWeek
ld a, [wTimeOfDay]
maskbits NUM_DAYTIMES
decoord 4, 16 decoord 4, 16
ldh a, [hHours] call .PrintTimeOfDay
ld c, a
farcall PrintHour
ld [hl], ":"
inc hl
ld de, hMinutes
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
ret ret
.minString: ; unreferenced
db "min.@"
.PrintTimeNotSet:
hlcoord 1, 14
ld de, .TimeNotSetString
call PlaceString
ret
.TimeNotSetString:
db "TIME NOT SET@"
.MainMenuTimeUnknownText: ; unreferenced
text_far _MainMenuTimeUnknownText
text_end
.PrintDayOfWeek: .PrintDayOfWeek:
push de push de
ld hl, .Days ld hl, .Days
@@ -225,6 +190,22 @@ MainMenu_PrintCurrentTimeAndDay:
.Day: .Day:
db "DAY@" db "DAY@"
.PrintTimeOfDay:
push de
ld hl, .TimesOfDay
call GetNthString
ld d, h
ld e, l
pop hl
call PlaceString
ret
.TimesOfDay:
db "MORN@"
db "DAY@"
db "NITE@"
db "NITE@"
ClearTilemapEtc: ClearTilemapEtc:
xor a xor a
ldh [hMapAnims], a ldh [hMapAnims], a
@@ -245,3 +226,9 @@ MainMenu_Option:
MainMenu_Continue: MainMenu_Continue:
farcall Continue farcall Continue
ret ret
if DEF(_DEBUG)
MainMenu_DebugRoom:
farcall _DebugRoom
ret
endc

View File

@@ -263,7 +263,7 @@ MenuJoypadLoop:
Do2DMenuRTCJoypad: Do2DMenuRTCJoypad:
.loopRTC .loopRTC
call UpdateTimeAndPals call UpdateTimeSensitivePals
call Menu_WasButtonPressed call Menu_WasButtonPressed
ret c ret c
ld a, [w2DMenuFlags1] ld a, [w2DMenuFlags1]

View File

@@ -25,13 +25,11 @@ SaveMenu:
SaveAfterLinkTrade: SaveAfterLinkTrade:
call PauseGameLogic call PauseGameLogic
farcall StageRTCTimeForSave
call SavePokemonData call SavePokemonData
call SaveChecksum call SaveChecksum
call SaveBackupPokemonData call SaveBackupPokemonData
call SaveBackupChecksum call SaveBackupChecksum
farcall BackupPartyMonMail farcall BackupPartyMonMail
farcall SaveRTC
call ResumeGameLogic call ResumeGameLogic
ret ret
@@ -90,7 +88,6 @@ MoveMonWOMail_InsertMon_SaveGame:
ld [wCurBox], a ld [wCurBox], a
ld a, TRUE ld a, TRUE
ld [wSaveFileExists], a ld [wSaveFileExists], a
farcall StageRTCTimeForSave
call ValidateSave call ValidateSave
call SaveOptions call SaveOptions
call SavePlayerData call SavePlayerData
@@ -102,7 +99,6 @@ MoveMonWOMail_InsertMon_SaveGame:
call SaveBackupPokemonData call SaveBackupPokemonData
call SaveBackupChecksum call SaveBackupChecksum
farcall BackupPartyMonMail farcall BackupPartyMonMail
farcall SaveRTC
call LoadBox call LoadBox
call ResumeGameLogic call ResumeGameLogic
ld de, SFX_SAVE ld de, SFX_SAVE
@@ -263,7 +259,6 @@ SavedTheGame:
_SaveGameData: _SaveGameData:
ld a, TRUE ld a, TRUE
ld [wSaveFileExists], a ld [wSaveFileExists], a
farcall StageRTCTimeForSave
call ValidateSave call ValidateSave
call SaveOptions call SaveOptions
call SavePlayerData call SavePlayerData
@@ -277,7 +272,6 @@ _SaveGameData:
call SaveBackupChecksum call SaveBackupChecksum
call UpdateStackTop call UpdateStackTop
farcall BackupPartyMonMail farcall BackupPartyMonMail
farcall SaveRTC
ret ret
UpdateStackTop: UpdateStackTop:
@@ -593,7 +587,6 @@ TryLoadSaveData:
ld de, wOptions ld de, wOptions
ld bc, wOptionsEnd - wOptions ld bc, wOptionsEnd - wOptions
call CopyBytes call CopyBytes
call ClearClock
ret ret
INCLUDE "data/default_options.asm" INCLUDE "data/default_options.asm"

View File

@@ -19,7 +19,6 @@ TrainerCard:
set NO_TEXT_SCROLL, [hl] set NO_TEXT_SCROLL, [hl]
call .InitRAM call .InitRAM
.loop .loop
call UpdateTime
call JoyTextDelay call JoyTextDelay
ld a, [wJumptableIndex] ld a, [wJumptableIndex]
bit 7, a bit 7, a

View File

@@ -195,7 +195,6 @@ HandleMapTimeAndJoypad:
cp MAPEVENTS_OFF cp MAPEVENTS_OFF
ret z ret z
call UpdateTime
call GetJoypad call GetJoypad
call TimeOfDayPals call TimeOfDayPals
ret ret
@@ -469,11 +468,6 @@ CheckTimeEvents:
scf scf
ret ret
.unused ; unreferenced
ld a, $8 ; ???
scf
ret
OWPlayerInput: OWPlayerInput:
call PlayerMovement call PlayerMovement
ret c ret c

View File

@@ -5,7 +5,6 @@ _InitializeStartDay:
ClearDailyTimers: ClearDailyTimers:
xor a xor a
ld [wLuckyNumberDayTimer], a ld [wLuckyNumberDayTimer], a
ld [wUnusedTwoDayTimer], a
ld [wDailyResetTimer], a ld [wDailyResetTimer], a
ret ret
@@ -63,10 +62,7 @@ InitOneDayCountdown:
InitNDaysCountdown: InitNDaysCountdown:
ld [hl], a ld [hl], a
push hl inc hl ; wLuckyNumberDayTimer + 1 or wDailyResetTimer + 1 (both are dw)
call UpdateTime
pop hl
inc hl
call CopyDayToHL call CopyDayToHL
ret ret
@@ -83,7 +79,6 @@ CheckDayDependentEventHL:
RestartReceiveCallDelay: RestartReceiveCallDelay:
ld hl, wReceiveCallDelay_MinsRemaining ld hl, wReceiveCallDelay_MinsRemaining
ld [hl], a ld [hl], a
call UpdateTime
ld hl, wReceiveCallDelay_StartTime ld hl, wReceiveCallDelay_StartTime
call CopyDayHourMinToHL call CopyDayHourMinToHL
ret ret
@@ -134,7 +129,6 @@ StartBugContestTimer:
ld [wBugContestMinsRemaining], a ld [wBugContestMinsRemaining], a
ld a, BUG_CONTEST_SECONDS ld a, BUG_CONTEST_SECONDS
ld [wBugContestSecsRemaining], a ld [wBugContestSecsRemaining], a
call UpdateTime
ld hl, wBugContestStartTime ld hl, wBugContestStartTime
call CopyDayHourMinSecToHL call CopyDayHourMinSecToHL
ret ret
@@ -174,7 +168,6 @@ CheckBugContestTimer::
ret ret
InitializeStartDay: InitializeStartDay:
call UpdateTime
ld hl, wTimerEventStartDay ld hl, wTimerEventStartDay
call CopyDayToHL call CopyDayToHL
ret ret
@@ -191,36 +184,6 @@ CheckPokerusTick::
xor a xor a
ret ret
SetUnusedTwoDayTimer: ; unreferenced
ld a, 2
ld hl, wUnusedTwoDayTimer
ld [hl], a
call UpdateTime
ld hl, wUnusedTwoDayTimerStartDate
call CopyDayToHL
ret
CheckUnusedTwoDayTimer:
ld hl, wUnusedTwoDayTimerStartDate
call CalcDaysSince
call GetDaysSince
ld hl, wUnusedTwoDayTimer
call UpdateTimeRemaining
ret
UnusedSetSwarmFlag: ; unreferenced
ld hl, wDailyFlags1
set DAILYFLAGS1_FISH_SWARM_F, [hl]
ret
UnusedCheckSwarmFlag: ; unreferenced
and a
ld hl, wDailyFlags1
bit DAILYFLAGS1_FISH_SWARM_F, [hl]
ret nz
scf
ret
RestartLuckyNumberCountdown: RestartLuckyNumberCountdown:
call .GetDaysUntilNextFriday call .GetDaysUntilNextFriday
ld hl, wLuckyNumberDayTimer ld hl, wLuckyNumberDayTimer
@@ -382,13 +345,6 @@ CopyDayToHL:
ld [hl], a ld [hl], a
ret ret
CopyDayHourToHL: ; unreferenced
ld a, [wCurDay]
ld [hli], a
ldh a, [hHours]
ld [hli], a
ret
CopyDayHourMinToHL: CopyDayHourMinToHL:
ld a, [wCurDay] ld a, [wCurDay]
ld [hli], a ld [hli], a

View File

@@ -1,19 +1,3 @@
LoadSGBPokedexGFX:
ld hl, SGBPokedexGFX_LZ
ld de, vTiles2 tile $31
call Decompress
ret
LoadSGBPokedexGFX2:
ld hl, SGBPokedexGFX_LZ
ld de, vTiles2 tile $31
lb bc, BANK(SGBPokedexGFX_LZ), 58
call DecompressRequest2bpp
ret
SGBPokedexGFX_LZ:
INCBIN "gfx/pokedex/pokedex_sgb.2bpp.lz"
LoadQuestionMarkPic: LoadQuestionMarkPic:
ld hl, .QuestionMarkLZ ld hl, .QuestionMarkLZ
ld de, sScratch ld de, sScratch

View File

@@ -40,7 +40,6 @@ PokeGear:
call .InitTilemap call .InitTilemap
call DelayFrame call DelayFrame
.loop .loop
call UpdateTime
call JoyTextDelay call JoyTextDelay
ld a, [wJumptableIndex] ld a, [wJumptableIndex]
bit 7, a bit 7, a
@@ -276,7 +275,6 @@ InitPokegearTilemap:
hlcoord 0, 12 hlcoord 0, 12
lb bc, 4, 18 lb bc, 4, 18
call Textbox call Textbox
call Pokegear_UpdateClock
ret ret
.switch .switch
@@ -409,7 +407,6 @@ PokegearClock_Init:
ret ret
PokegearClock_Joypad: PokegearClock_Joypad:
call .UpdateClock
ld hl, hJoyLast ld hl, hJoyLast
ld a, [hl] ld a, [hl]
and A_BUTTON | B_BUTTON | START | SELECT and A_BUTTON | B_BUTTON | START | SELECT
@@ -447,36 +444,6 @@ PokegearClock_Joypad:
set 7, [hl] set 7, [hl]
ret ret
.UpdateClock:
xor a
ldh [hBGMapMode], a
call Pokegear_UpdateClock
ld a, $1
ldh [hBGMapMode], a
ret
Pokegear_UpdateClock:
hlcoord 3, 5
lb bc, 5, 14
call ClearBox
ldh a, [hHours]
ld b, a
ldh a, [hMinutes]
ld c, a
decoord 6, 8
farcall PrintHoursMins
ld hl, .GearTodayText
bccoord 6, 6
call PlaceHLTextAtBC
ret
db "ごぜん@"
db "ごご@"
.GearTodayText:
text_far _GearTodayText
text_end
PokegearMap_CheckRegion: PokegearMap_CheckRegion:
ld a, POKEGEARSTATE_JOHTOMAPINIT ld a, POKEGEARSTATE_JOHTOMAPINIT
ld [wJumptableIndex], a ld [wJumptableIndex], a
@@ -1849,7 +1816,6 @@ PlayRadioStationPointers:
assert_table_length NUM_MAP_RADIO_STATIONS assert_table_length NUM_MAP_RADIO_STATIONS
LoadStation_PokemonChannel: LoadStation_PokemonChannel:
call UpdateTime
ld a, [wTimeOfDay] ld a, [wTimeOfDay]
and a and a
jp z, LoadStation_PokedexShow jp z, LoadStation_PokedexShow

View File

@@ -1701,9 +1701,9 @@ BuenasPassword21:
jp NextRadioLine jp NextRadioLine
BuenasPasswordCheckTime: BuenasPasswordCheckTime:
call UpdateTime ld a, [wTimeOfDay]
ldh a, [hHours] maskbits NUM_DAYTIMES
cp NITE_HOUR cp NITE
ret ret
BuenasPasswordChannelName: BuenasPasswordChannelName:

View File

@@ -1,65 +0,0 @@
PrintFiveDigitNumber: ; unreferenced
; Debug function?
; Input: bc = value, de = destination
ld a, b
ld b, c
ld c, a
push bc ; de points to this on the stack for PrintNum
push de
ld hl, sp+2
ld d, h
ld e, l
pop hl
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum
pop bc
ret
PrintHoursMins:
; Hours in b, minutes in c
ld a, b
cp 12
push af
jr c, .AM
jr z, .PM
sub 12
jr .PM
.AM:
or a
jr nz, .PM
ld a, 12
.PM:
ld b, a
; Crazy stuff happening with the stack
push bc
ld hl, sp+1
push de
push hl
pop de
pop hl
ld [hl], " "
lb bc, 1, 2
call PrintNum
ld [hl], ":"
inc hl
ld d, h
ld e, l
ld hl, sp+0
push de
push hl
pop de
pop hl
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
pop bc
ld de, String_AM
pop af
jr c, .place_am_pm
ld de, String_PM
.place_am_pm
inc hl
call PlaceString
ret
String_AM: db "AM@"
String_PM: db "PM@"

View File

@@ -1,255 +0,0 @@
_ResetClock:
farcall BlankScreen
ld b, CGB_DIPLOMA
call GetCGBLayout
call LoadStandardFont
call LoadFontsExtra
ld de, MUSIC_MAIN_MENU
call PlayMusic
ld hl, .PasswordAskResetClockText
call PrintText
ld hl, .NoYes_MenuHeader
call CopyMenuHeader
call VerticalMenu
ret c
ld a, [wMenuCursorY]
cp 1
ret z
call ClockResetPassword
jr c, .wrongpassword
ld a, BANK(sRTCStatusFlags)
call OpenSRAM
ld a, $80
ld [sRTCStatusFlags], a
call CloseSRAM
ld hl, .PasswordAskResetText
call PrintText
ret
.wrongpassword
ld hl, .PasswordWrongText
call PrintText
ret
.PasswordAskResetText:
text_far _PasswordAskResetText
text_end
.PasswordWrongText:
text_far _PasswordWrongText
text_end
.PasswordAskResetClockText:
text_far _PasswordAskResetClockText
text_end
.NoYes_MenuHeader:
db 0 ; flags
menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .NoYes_MenuData
db 1 ; default option
.NoYes_MenuData:
db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2 ; items
db "NO@"
db "YES@"
ClockResetPassword:
call .CalculatePassword
push de
ld hl, wStringBuffer2
ld bc, 5
xor a
call ByteFill
ld a, 4
ld [wStringBuffer2 + 5], a
ld hl, .PasswordAskEnterText
call PrintText
.loop
call .updateIDdisplay
.loop2
call JoyTextDelay
ldh a, [hJoyLast]
ld b, a
and A_BUTTON
jr nz, .confirm
ld a, b
and D_PAD
jr z, .loop2
call .dpadinput
ld c, 3
call DelayFrames
jr .loop
.confirm
call .ConvertDecIDToBytes
pop de
ld a, e
cp l
jr nz, .nope
ld a, d
cp h
jr nz, .nope
and a
ret
.nope
scf
ret
.PasswordAskEnterText:
text_far _PasswordAskEnterText
text_end
.updateIDdisplay
hlcoord 14, 15
ld de, wStringBuffer2
ld c, 5
.loop3
ld a, [de]
add "0"
ld [hli], a
inc de
dec c
jr nz, .loop3
hlcoord 14, 16
ld bc, 5
ld a, " "
call ByteFill
hlcoord 14, 16
ld a, [wStringBuffer2 + 5]
ld e, a
ld d, 0
add hl, de
ld [hl], "▲"
ret
.dpadinput
ld a, b
and D_LEFT
jr nz, .left
ld a, b
and D_RIGHT
jr nz, .right
ld a, b
and D_UP
jr nz, .up
ld a, b
and D_DOWN
jr nz, .down
ret
.left
ld a, [wStringBuffer2 + 5]
and a
ret z
dec a
ld [wStringBuffer2 + 5], a
ret
.right
ld a, [wStringBuffer2 + 5]
cp 4
ret z
inc a
ld [wStringBuffer2 + 5], a
ret
.up
call .getcurrentdigit
ld a, [hl]
cp 9
jr z, .wraparound_up
inc a
ld [hl], a
ret
.wraparound_up
ld [hl], 0
ret
.down
call .getcurrentdigit
ld a, [hl]
and a
jr z, .wraparound_down
dec a
ld [hl], a
ret
.wraparound_down
ld [hl], 9
ret
.getcurrentdigit
ld a, [wStringBuffer2 + 5]
ld e, a
ld d, 0
ld hl, wStringBuffer2
add hl, de
ret
.ConvertDecIDToBytes:
ld hl, 0
ld de, wStringBuffer2 + 4
ld bc, 1
call .ConvertToBytes
ld bc, 10
call .ConvertToBytes
ld bc, 100
call .ConvertToBytes
ld bc, 1000
call .ConvertToBytes
ld bc, 10000
.ConvertToBytes:
ld a, [de]
dec de
push hl
ld hl, 0
call AddNTimes
ld c, l
ld b, h
pop hl
add hl, bc
ret
.CalculatePassword:
ld a, BANK(sPlayerData)
call OpenSRAM
ld de, 0
ld hl, sPlayerData + (wPlayerID - wPlayerData)
ld c, 2
call .ComponentFromNumber
ld hl, sPlayerData + (wPlayerName - wPlayerData)
ld c, NAME_LENGTH_JAPANESE - 1
call .ComponentFromString
ld hl, sPlayerData + (wMoney - wPlayerData)
ld c, 3
call .ComponentFromNumber
call CloseSRAM
ret
.ComponentFromNumber:
ld a, [hli]
add e
ld e, a
ld a, 0
adc d
ld d, a
dec c
jr nz, .ComponentFromNumber
ret
.ComponentFromString:
ld a, [hli]
cp "@"
ret z
add e
ld e, a
ld a, 0
adc d
ld d, a
dec c
jr nz, .ComponentFromString
ret

View File

@@ -1,241 +0,0 @@
; RestartClock_GetWraparoundTime.WrapAroundTimes indexes
const_def 1
const RESTART_CLOCK_DAY
const RESTART_CLOCK_HOUR
const RESTART_CLOCK_MIN
DEF NUM_RESTART_CLOCK_DIVISIONS EQU const_value - 1
RestartClock_GetWraparoundTime:
push hl
dec a
ld e, a
ld d, 0
ld hl, .WrapAroundTimes
rept 4
add hl, de
endr
ld e, [hl]
inc hl
ld d, [hl]
inc hl
ld b, [hl]
inc hl
ld c, [hl]
pop hl
ret
.WrapAroundTimes:
; entries correspond to RESTART_CLOCK_* constants
MACRO wraparound_time
dw \1 ; value pointer
db \2 ; maximum value
db \3 ; up/down arrow x coord (pairs with wRestartClockUpArrowYCoord)
ENDM
wraparound_time wRestartClockDay, 7, 4
wraparound_time wRestartClockHour, 24, 12
wraparound_time wRestartClockMin, 60, 15
RestartClock:
; If we're here, we had an RTC overflow.
ld hl, .ClockTimeMayBeWrongText
call PrintText
ld hl, wOptions
ld a, [hl]
push af
set NO_TEXT_SCROLL, [hl]
call LoadStandardMenuHeader
call ClearTilemap
ld hl, .ClockSetWithControlPadText
call PrintText
call .SetClock
call ExitMenu
pop bc
ld hl, wOptions
ld [hl], b
ld c, a
ret
.ClockTimeMayBeWrongText:
text_far _ClockTimeMayBeWrongText
text_end
.ClockSetWithControlPadText:
text_far _ClockSetWithControlPadText
text_end
.SetClock:
ld a, RESTART_CLOCK_DAY
ld [wRestartClockCurDivision], a
ld [wRestartClockPrevDivision], a
ld a, 8
ld [wRestartClockUpArrowYCoord], a
call UpdateTime
call GetWeekday
ld [wRestartClockDay], a
ldh a, [hHours]
ld [wRestartClockHour], a
ldh a, [hMinutes]
ld [wRestartClockMin], a
.loop
call .joy_loop
jr nc, .loop
and a
ret nz
call .PrintTime
ld hl, .ClockIsThisOKText
call PrintText
call YesNoBox
jr c, .cancel
ld a, [wRestartClockDay]
ld [wStringBuffer2], a
ld a, [wRestartClockHour]
ld [wStringBuffer2 + 1], a
ld a, [wRestartClockMin]
ld [wStringBuffer2 + 2], a
xor a
ld [wStringBuffer2 + 3], a
call InitTime
call .PrintTime
ld hl, .ClockHasResetText
call PrintText
call WaitPressAorB_BlinkCursor
xor a ; FALSE
ret
.cancel
ld a, TRUE
ret
.ClockIsThisOKText:
text_far _ClockIsThisOKText
text_end
.ClockHasResetText:
text_far _ClockHasResetText
text_end
.joy_loop
call JoyTextDelay_ForcehJoyDown
ld c, a
push af
call .PrintTime
pop af
bit 0, a
jr nz, .press_A
bit 1, a
jr nz, .press_B
bit 6, a
jr nz, .pressed_up
bit 7, a
jr nz, .pressed_down
bit 5, a
jr nz, .pressed_left
bit 4, a
jr nz, .pressed_right
jr .joy_loop
.press_A
ld a, FALSE
scf
ret
.press_B
ld a, TRUE
scf
ret
.pressed_up
ld a, [wRestartClockCurDivision]
call RestartClock_GetWraparoundTime
ld a, [de]
inc a
ld [de], a
cp b
jr c, .done_scroll
ld a, 0
ld [de], a
jr .done_scroll
.pressed_down
ld a, [wRestartClockCurDivision]
call RestartClock_GetWraparoundTime
ld a, [de]
dec a
ld [de], a
cp -1
jr nz, .done_scroll
ld a, b
dec a
ld [de], a
jr .done_scroll
.pressed_left
ld hl, wRestartClockCurDivision
dec [hl]
jr nz, .done_scroll
ld [hl], RESTART_CLOCK_MIN
jr .done_scroll
.pressed_right
ld hl, wRestartClockCurDivision
inc [hl]
ld a, [hl]
cp NUM_RESTART_CLOCK_DIVISIONS + 1
jr c, .done_scroll
ld [hl], RESTART_CLOCK_DAY
.done_scroll
xor a ; FALSE
ret
.PrintTime:
hlcoord 0, 5
ld b, 5
ld c, 18
call Textbox
decoord 1, 8
ld a, [wRestartClockDay]
ld b, a
farcall PrintDayOfWeek
ld a, [wRestartClockHour]
ld b, a
ld a, [wRestartClockMin]
ld c, a
decoord 11, 8
farcall PrintHoursMins
ld a, [wRestartClockPrevDivision]
lb de, " ", " "
call .PlaceChars
ld a, [wRestartClockCurDivision]
lb de, "▲", "▼"
call .PlaceChars
ld a, [wRestartClockCurDivision]
ld [wRestartClockPrevDivision], a
ret
.UnusedPlaceCharsFragment: ; unreferenced
ld a, [wRestartClockUpArrowYCoord]
ld b, a
call Coord2Tile
ret
.PlaceChars:
push de
call RestartClock_GetWraparoundTime
ld a, [wRestartClockUpArrowYCoord]
dec a
ld b, a
call Coord2Tile
pop de
ld [hl], d
ld bc, 2 * SCREEN_WIDTH
add hl, bc
ld [hl], e
ret
JPHourString: ; unreferenced
db "じ@" ; HR
JPMinuteString: ; unreferenced
db "ふん@" ; MIN

Some files were not shown because too many files have changed in this diff Show More