Move some gfx files around, also clock reset fn
This commit is contained in:
251
engine/clock_reset.asm
Executable file
251
engine/clock_reset.asm
Executable file
@@ -0,0 +1,251 @@
|
||||
|
||||
ResetClock_GetWraparoundTime: ; 20000 (8:4000)
|
||||
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
|
||||
; 20015 (8:4015)
|
||||
|
||||
.WrapAroundTimes: ; 20015
|
||||
dw Buffer4
|
||||
db 7, 4
|
||||
|
||||
dw Buffer5
|
||||
db 24, 12
|
||||
|
||||
dw Buffer6
|
||||
db 60, 15
|
||||
; 20021
|
||||
|
||||
RestartClock: ; 20021 (8:4021)
|
||||
; If we're here, we had an RTC overflow.
|
||||
ld hl, .Text_ClockTimeMayBeWrong
|
||||
call PrintText
|
||||
ld hl, Options
|
||||
ld a, [hl]
|
||||
push af
|
||||
set NO_TEXT_SCROLL, [hl]
|
||||
call LoadPartyMenuDataHeader
|
||||
call ClearTileMap
|
||||
ld hl, .Text_SetWithControlPad
|
||||
call PrintText
|
||||
call .SetClock
|
||||
call ExitMenu
|
||||
pop bc
|
||||
ld hl, Options
|
||||
ld [hl], b
|
||||
ld c, a
|
||||
ret
|
||||
; 20047 (8:4047)
|
||||
|
||||
.Text_ClockTimeMayBeWrong: ; 0x20047
|
||||
; The clock's time may be wrong. Please reset the time.
|
||||
text_jump UnknownText_0x1c40e6
|
||||
db "@"
|
||||
; 0x2004c
|
||||
|
||||
.Text_SetWithControlPad: ; 0x2004c
|
||||
; Set with the Control Pad. Confirm: A Button Cancel: B Button
|
||||
text_jump UnknownText_0x1c411c
|
||||
db "@"
|
||||
; 0x20051
|
||||
|
||||
.SetClock: ; 20051 (8:4051)
|
||||
ld a, 1
|
||||
ld [Buffer1], a ; which digit
|
||||
ld [Buffer2], a ; wd1eb (aliases: MovementType)
|
||||
ld a, 8
|
||||
ld [Buffer3], a
|
||||
call UpdateTime
|
||||
call GetWeekday
|
||||
ld [Buffer4], a
|
||||
ld a, [hHours] ; $ff00+$94
|
||||
ld [Buffer5], a
|
||||
ld a, [hMinutes] ; $ff00+$96
|
||||
ld [Buffer6], a
|
||||
|
||||
.loop
|
||||
call .joy_loop
|
||||
jr nc, .loop
|
||||
and a
|
||||
ret nz
|
||||
call .PrintTime
|
||||
ld hl, .Text_IsThisOK
|
||||
call PrintText
|
||||
call YesNoBox
|
||||
jr c, .cancel
|
||||
ld a, [Buffer4]
|
||||
ld [StringBuffer2], a
|
||||
ld a, [Buffer5]
|
||||
ld [StringBuffer2 + 1], a
|
||||
ld a, [Buffer6]
|
||||
ld [StringBuffer2 + 2], a
|
||||
xor a
|
||||
ld [StringBuffer2 + 3], a
|
||||
call Function677
|
||||
call .PrintTime
|
||||
ld hl, .Text_ClockReset
|
||||
call PrintText
|
||||
call Functiona80
|
||||
xor a
|
||||
ret
|
||||
|
||||
.cancel
|
||||
ld a, $1
|
||||
ret
|
||||
; 200b0 (8:40b0)
|
||||
|
||||
.Text_IsThisOK: ; 0x200b0
|
||||
; Is this OK?
|
||||
text_jump UnknownText_0x1c415b
|
||||
db "@"
|
||||
; 0x200b5
|
||||
|
||||
.Text_ClockReset: ; 0x200b5
|
||||
; The clock has been reset.
|
||||
text_jump UnknownText_0x1c4168
|
||||
db "@"
|
||||
; 0x200ba
|
||||
|
||||
.joy_loop
|
||||
call Function354b
|
||||
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, $0
|
||||
scf
|
||||
ret
|
||||
|
||||
.press_B
|
||||
ld a, $1
|
||||
scf
|
||||
ret
|
||||
|
||||
.pressed_up
|
||||
ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength)
|
||||
call ResetClock_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, [Buffer1] ; wd1ea (aliases: MagikarpLength)
|
||||
call ResetClock_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, Buffer1 ; wd1ea (aliases: MagikarpLength)
|
||||
dec [hl]
|
||||
jr nz, .done_scroll
|
||||
ld [hl], $3
|
||||
jr .done_scroll
|
||||
|
||||
.pressed_right
|
||||
ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength)
|
||||
inc [hl]
|
||||
ld a, [hl]
|
||||
cp $4
|
||||
jr c, .done_scroll
|
||||
ld [hl], $1
|
||||
|
||||
.done_scroll
|
||||
xor a
|
||||
ret
|
||||
|
||||
.PrintTime: ; 2011f (8:411f)
|
||||
hlcoord 0, 5
|
||||
ld b, 5
|
||||
ld c, 18
|
||||
call TextBox
|
||||
decoord 1, 8
|
||||
ld a, [Buffer4]
|
||||
ld b, a
|
||||
callba PrintDayOfWeek
|
||||
ld a, [Buffer5]
|
||||
ld b, a
|
||||
ld a, [Buffer6]
|
||||
ld c, a
|
||||
decoord 11, 8
|
||||
callba PrintHoursMins
|
||||
ld a, [Buffer2] ; wd1eb (aliases: MovementType)
|
||||
lb de, " ", " "
|
||||
call .PlaceChars
|
||||
ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength)
|
||||
lb de, "▲", "▼"
|
||||
call .PlaceChars
|
||||
ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength)
|
||||
ld [Buffer2], a ; wd1eb (aliases: MovementType)
|
||||
ret
|
||||
; 20160 (8:4160)
|
||||
|
||||
.unreferenced: ; 20160
|
||||
ld a, [Buffer3]
|
||||
ld b, a
|
||||
call GetTileCoord
|
||||
ret
|
||||
; 20168
|
||||
|
||||
.PlaceChars: ; 20168 (8:4168)
|
||||
push de
|
||||
call ResetClock_GetWraparoundTime
|
||||
ld a, [Buffer3]
|
||||
dec a
|
||||
ld b, a
|
||||
call GetTileCoord
|
||||
pop de
|
||||
ld [hl], d
|
||||
ld bc, 2 * SCREEN_WIDTH
|
||||
add hl, bc
|
||||
ld [hl], e
|
||||
ret
|
||||
; 2017c (8:417c)
|
||||
|
||||
String_2017c: ; 2017c
|
||||
db "じ@" ; HR
|
||||
; 2017e
|
||||
|
||||
String_2017e: ; 2017e
|
||||
db "ふん@" ; MIN
|
||||
; 20181
|
@@ -247,7 +247,7 @@ Function967d1: ; 967d1
|
||||
Function967e1: ; 967e1
|
||||
callba RefreshMapAppearDisappear
|
||||
callba Functiond4d2
|
||||
callba Functionb8098
|
||||
callba PlaceMapNameSign
|
||||
ret
|
||||
; 967f4
|
||||
|
||||
@@ -328,7 +328,7 @@ PlayerEvents: ; 9681f
|
||||
jr z, .ok2
|
||||
|
||||
xor a
|
||||
ld [wc2da], a
|
||||
ld [wLandmarkSignTimer], a
|
||||
|
||||
.ok2
|
||||
scf
|
||||
|
@@ -154,52 +154,52 @@ ENDM
|
||||
landmark 148, 132, FastShipName
|
||||
|
||||
|
||||
NewBarkTownName: db "NEW BARK", $1f, "TOWN@"
|
||||
CherrygroveCityName: db "CHERRYGROVE", $1f, "CITY@"
|
||||
NewBarkTownName: db "NEW BARK¯TOWN@"
|
||||
CherrygroveCityName: db "CHERRYGROVE¯CITY@"
|
||||
VioletCityName: db "VIOLET CITY@"
|
||||
AzaleaTownName: db "AZALEA TOWN@"
|
||||
GoldenrodCityName: db "GOLDENROD", $1f, "CITY@"
|
||||
EcruteakCityName: db "ECRUTEAK", $1f, "CITY@"
|
||||
OlivineCityName: db "OLIVINE", $1f, "CITY@"
|
||||
CianwoodCityName: db "CIANWOOD", $1f, "CITY@"
|
||||
MahoganyTownName: db "MAHOGANY", $1f, "TOWN@"
|
||||
BlackthornCityName: db "BLACKTHORN", $1f, "CITY@"
|
||||
LakeOfRageName: db "LAKE OF", $1f, "RAGE@"
|
||||
GoldenrodCityName: db "GOLDENROD¯CITY@"
|
||||
EcruteakCityName: db "ECRUTEAK¯CITY@"
|
||||
OlivineCityName: db "OLIVINE¯CITY@"
|
||||
CianwoodCityName: db "CIANWOOD¯CITY@"
|
||||
MahoganyTownName: db "MAHOGANY¯TOWN@"
|
||||
BlackthornCityName: db "BLACKTHORN¯CITY@"
|
||||
LakeOfRageName: db "LAKE OF¯RAGE@"
|
||||
SilverCaveName: db "SILVER CAVE@"
|
||||
SproutTowerName: db "SPROUT", $1f, "TOWER@"
|
||||
RuinsOfAlphName: db "RUINS", $1f, "OF ALPH@"
|
||||
SproutTowerName: db "SPROUT¯TOWER@"
|
||||
RuinsOfAlphName: db "RUINS¯OF ALPH@"
|
||||
UnionCaveName: db "UNION CAVE@"
|
||||
SlowpokeWellName: db "SLOWPOKE", $1f, "WELL@"
|
||||
SlowpokeWellName: db "SLOWPOKE¯WELL@"
|
||||
RadioTowerName: db "RADIO TOWER@"
|
||||
PowerPlantName: db "POWER PLANT@"
|
||||
NationalParkName: db "NATIONAL", $1f, "PARK@"
|
||||
NationalParkName: db "NATIONAL¯PARK@"
|
||||
TinTowerName: db "TIN TOWER@"
|
||||
LighthouseName: db "LIGHTHOUSE@"
|
||||
WhirlIslandsName: db "WHIRL", $1f, "ISLANDS@"
|
||||
WhirlIslandsName: db "WHIRL¯ISLANDS@"
|
||||
MtMortarName: db "MT.MORTAR@"
|
||||
DragonsDenName: db "DRAGON'S", $1f, "DEN@"
|
||||
DragonsDenName: db "DRAGON'S¯DEN@"
|
||||
IcePathName: db "ICE PATH@"
|
||||
NotApplicableName: db "N/A@"
|
||||
PalletTownName: db "PALLET TOWN@"
|
||||
ViridianCityName: db "VIRIDIAN", $1f, "CITY@"
|
||||
ViridianCityName: db "VIRIDIAN¯CITY@"
|
||||
PewterCityName: db "PEWTER CITY@"
|
||||
CeruleanCityName: db "CERULEAN", $1f, "CITY@"
|
||||
LavenderTownName: db "LAVENDER", $1f, "TOWN@"
|
||||
VermilionCityName: db "VERMILION", $1f, "CITY@"
|
||||
CeladonCityName: db "CELADON", $1f, "CITY@"
|
||||
SaffronCityName: db "SAFFRON", $1f, "CITY@"
|
||||
FuchsiaCityName: db "FUCHSIA", $1f, "CITY@"
|
||||
CinnabarIslandName: db "CINNABAR", $1f, "ISLAND@"
|
||||
IndigoPlateauName: db "INDIGO", $1f, "PLATEAU@"
|
||||
VictoryRoadName: db "VICTORY", $1f, "ROAD@"
|
||||
CeruleanCityName: db "CERULEAN¯CITY@"
|
||||
LavenderTownName: db "LAVENDER¯TOWN@"
|
||||
VermilionCityName: db "VERMILION¯CITY@"
|
||||
CeladonCityName: db "CELADON¯CITY@"
|
||||
SaffronCityName: db "SAFFRON¯CITY@"
|
||||
FuchsiaCityName: db "FUCHSIA¯CITY@"
|
||||
CinnabarIslandName: db "CINNABAR¯ISLAND@"
|
||||
IndigoPlateauName: db "INDIGO¯PLATEAU@"
|
||||
VictoryRoadName: db "VICTORY¯ROAD@"
|
||||
MtMoonName: db "MT.MOON@"
|
||||
RockTunnelName: db "ROCK TUNNEL@"
|
||||
LavRadioTowerName: db "LAV", $1f, "RADIO TOWER@"
|
||||
LavRadioTowerName: db "LAV¯RADIO TOWER@"
|
||||
SilphCoName: db "SILPH CO.@"
|
||||
SafariZoneName: db "SAFARI ZONE@"
|
||||
SeafoamIslandsName: db "SEAFOAM", $1f, "ISLANDS@"
|
||||
PokemonMansionName: db "#MON", $1f, "MANSION@"
|
||||
CeruleanCaveNane: db "CERULEAN", $1f, "CAVE@"
|
||||
SeafoamIslandsName: db "SEAFOAM¯ISLANDS@"
|
||||
PokemonMansionName: db "#MON¯MANSION@"
|
||||
CeruleanCaveNane: db "CERULEAN¯CAVE@"
|
||||
Route1Name: db "ROUTE 1@"
|
||||
Route2Name: db "ROUTE 2@"
|
||||
Route3Name: db "ROUTE 3@"
|
||||
@@ -247,14 +247,14 @@ Route44Name: db "ROUTE 44@"
|
||||
Route45Name: db "ROUTE 45@"
|
||||
Route46Name: db "ROUTE 46@"
|
||||
DarkCaveName: db "DARK CAVE@"
|
||||
IlexForestName: db "ILEX", $1f, "FOREST@"
|
||||
BurnedTowerName: db "BURNED", $1f, "TOWER@"
|
||||
IlexForestName: db "ILEX¯FOREST@"
|
||||
BurnedTowerName: db "BURNED¯TOWER@"
|
||||
FastShipName: db "FAST SHIP@"
|
||||
ViridianForestName: db "VIRIDIAN", $1f, "FOREST@"
|
||||
DiglettsCaveName: db "DIGLETT'S", $1f, "CAVE@"
|
||||
ViridianForestName: db "VIRIDIAN¯FOREST@"
|
||||
DiglettsCaveName: db "DIGLETT'S¯CAVE@"
|
||||
TohjoFallsName: db "TOHJO FALLS@"
|
||||
UndergroundName: db "UNDERGROUND@"
|
||||
BattleTowerName: db "BATTLE", $1f, "TOWER@"
|
||||
BattleTowerName: db "BATTLE¯TOWER@"
|
||||
SpecialMapName: db "SPECIAL@"
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user