summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2015-11-10 11:05:26 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2015-11-10 11:05:26 -0500
commitba05bfeafec51b183986ecaacd22c718ec21f56a (patch)
tree671cb0eda5320b23602bca33e8ff0e8a49c2e37e /engine
parentd8cd991b35d45ef75b06a89b0626381132b34806 (diff)
Move some gfx files around, also clock reset fn
Diffstat (limited to 'engine')
-rwxr-xr-xengine/clock_reset.asm251
-rw-r--r--engine/events.asm4
-rw-r--r--engine/landmarks.asm68
3 files changed, 287 insertions, 36 deletions
diff --git a/engine/clock_reset.asm b/engine/clock_reset.asm
new file mode 100755
index 000000000..eedcae836
--- /dev/null
+++ b/engine/clock_reset.asm
@@ -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
diff --git a/engine/events.asm b/engine/events.asm
index 2cc307031..344063aab 100644
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -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
diff --git a/engine/landmarks.asm b/engine/landmarks.asm
index e9b1c3668..8fb7035f2 100644
--- a/engine/landmarks.asm
+++ b/engine/landmarks.asm
@@ -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@"