diff options
Diffstat (limited to 'engine/town_map.asm')
-rwxr-xr-x | engine/town_map.asm | 57 |
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" |