summaryrefslogtreecommitdiff
path: root/engine/town_map.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/town_map.asm')
-rwxr-xr-xengine/town_map.asm57
1 files changed, 36 insertions, 21 deletions
diff --git a/engine/town_map.asm b/engine/town_map.asm
index b2f1e656..65a10912 100755
--- a/engine/town_map.asm
+++ b/engine/town_map.asm
@@ -27,7 +27,7 @@ DisplayTownMap:
pop af
jr .enterLoop
-.townMapLoop
+.townMapLoop ; 70ef4 (1c:4ef4)
coord hl, 0, 0
lb bc, 1, 20
call ClearScreenArea
@@ -37,7 +37,7 @@ DisplayTownMap:
ld b, 0
add hl, bc
ld a, [hl]
-.enterLoop
+.enterLoop ; 70f08 (1c:4f08)
ld de, wTownMapCoords
call LoadTownMapEntry
ld a, [de]
@@ -69,7 +69,7 @@ DisplayTownMap:
ld b, a
and A_BUTTON | B_BUTTON | D_UP | D_DOWN
jr z, .inputLoop
- ld a, SFX_TINK
+ ld a, $8c
call PlaySound
bit 6, b
jr nz, .pressedUp
@@ -84,6 +84,7 @@ DisplayTownMap:
pop af
ld [hl], a
ret
+
.pressedUp
ld a, [wWhichTownMapLocation]
inc a
@@ -103,6 +104,13 @@ DisplayTownMap:
ld [wWhichTownMapLocation], a
jp .townMapLoop
+.asm_70f87
+ ld a,[hJoy5]
+ and D_DOWN | D_UP
+ ret z
+ callab PlayPikachuSoundClip
+ ret
+
INCLUDE "data/town_map_order.asm"
TownMapCursor:
@@ -137,11 +145,14 @@ MonsNestText:
LoadTownMap_Fly:
call ClearSprites
call LoadTownMap
+ ld a, $1
+ ld [hJoy7], a
call LoadPlayerSpriteGraphics
call LoadFontTilePatterns
- ld de, BirdSprite
+ ld de, BirdSprite ; $4d80
+ ld b, BANK(BirdSprite)
+ ld c, $c
ld hl, vSprites + $40
- lb bc, BANK(BirdSprite), $0c
call CopyVideoData
ld de, TownMapUpArrow
ld hl, vChars1 + $6d0
@@ -179,7 +190,7 @@ LoadTownMap_Fly:
ld c, 15
call DelayFrames
coord hl, 18, 0
- ld [hl], $ed
+ ld [hl], "▶"
coord hl, 19, 0
ld [hl], $ee
pop hl
@@ -194,7 +205,7 @@ LoadTownMap_Fly:
jr z, .inputLoop
bit 0, b
jr nz, .pressedA
- ld a, SFX_TINK
+ ld a, $8c ; SFX_TINK
call PlaySound
bit 6, b
jr nz, .pressedUp
@@ -202,7 +213,7 @@ LoadTownMap_Fly:
jr nz, .pressedDown
jr .pressedB
.pressedA
- ld a, SFX_HEAL_AILMENT
+ ld a, $8e ; SFX_HEAL_AILMENT
call PlaySound
ld a, [hl]
ld [wDestinationMap], a
@@ -213,6 +224,7 @@ LoadTownMap_Fly:
.pressedB
xor a
ld [wTownMapSpriteBlinkingEnabled], a
+ ld [hJoy7], a
call GBPalWhiteOutWithDelay3
pop hl
pop af
@@ -279,16 +291,15 @@ LoadTownMap:
call ClearScreen
call UpdateSprites
coord hl, 0, 0
- ld b, $12
- ld c, $12
+ lb bc, $12, $12
call TextBoxBorder
call DisableLCD
ld hl, WorldMapTileGraphics
ld de, vChars2 + $600
ld bc, WorldMapTileGraphicsEnd - WorldMapTileGraphics
ld a, BANK(WorldMapTileGraphics)
- call FarCopyData2
- ld hl, MonNestIcon
+ call FarCopyData
+ ld hl, MonNestIcon ; $574b
ld de, vSprites + $40
ld bc, MonNestIconEnd - MonNestIcon
ld a, BANK(MonNestIcon)
@@ -355,12 +366,12 @@ DrawPlayerOrBirdSprite:
call WritePlayerOrBirdSpriteOAM
pop hl
ld de, wcd6d
-.asm_711dc
+.asm_71266
ld a, [hli]
ld [de], a
inc de
- cp $50
- jr nz, .asm_711dc
+ cp "@"
+ jr nz, .asm_71266
ld hl, wOAMBuffer
ld de, wTileMapBackup
ld bc, $a0
@@ -397,8 +408,7 @@ DisplayWildLocations:
jr nz, .drawPlayerSprite
; if no OAM entries were written, print area unknown text
coord hl, 1, 7
- ld b, $2
- ld c, $f
+ lb bc, 2, 15
call TextBoxBorder
coord hl, 2, 9
ld de, AreaUnknownText
@@ -455,7 +465,7 @@ WriteTownMapSpriteOAM:
pop hl
WriteAsymmetricMonPartySpriteOAM:
-; Writes 4 OAM blocks for a helix mon party sprite, since it does not have
+; Writes 4 OAM blocks for a helix mon party sprite, since is does not have
; a vertical line of symmetry.
lb de, 2, 2
.loop
@@ -473,14 +483,14 @@ WriteAsymmetricMonPartySpriteOAM:
xor a
ld [hli], a
inc d
- ld a, 8
+ ld a, $8
add c
ld c, a
dec e
jr nz, .innerLoop
pop bc
pop de
- ld a, 8
+ ld a, $8
add b
ld b, a
dec d
@@ -582,9 +592,14 @@ LoadTownMapEntry:
ld l, a
ret
+; ExternalMapEntries:
+ ; dr $7139c,$7140b
+; InternalMapEntries:
+ ; dr $7140b,$7174b
+
INCLUDE "data/town_map_entries.asm"
-INCLUDE "text/map_names.asm"
+INCLUDE "text/map_names.asm" ; TODO: relabel addresses
MonNestIcon:
INCBIN "gfx/mon_nest_icon.1bpp"