mirror of https://github.com/pret/pokecrystal.git
88 lines
1.2 KiB
NASM
88 lines
1.2 KiB
NASM
GetLandmarkCoords: ; 0x1ca896
|
|
; Return coordinates (d, e) of landmark e.
|
|
push hl
|
|
ld l, e
|
|
ld h, 0
|
|
add hl, hl
|
|
add hl, hl
|
|
ld de, Landmarks
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld e, a
|
|
ld d, [hl]
|
|
pop hl
|
|
ret
|
|
; 0x1ca8a5
|
|
|
|
|
|
GetLandmarkName:: ; 0x1ca8a5
|
|
; Copy the name of landmark e to StringBuffer1.
|
|
push hl
|
|
push de
|
|
push bc
|
|
|
|
ld l, e
|
|
ld h, 0
|
|
add hl, hl
|
|
add hl, hl
|
|
ld de, Landmarks + 2
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
|
|
ld de, StringBuffer1
|
|
ld c, 18
|
|
.copy
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
dec c
|
|
jr nz, .copy
|
|
|
|
pop bc
|
|
pop de
|
|
pop hl
|
|
ret
|
|
; 0x1ca8c3
|
|
|
|
|
|
INCLUDE "data/maps/landmarks.asm"
|
|
|
|
|
|
RegionCheck: ; 0x1caea1
|
|
; Checks if the player is in Kanto or Johto.
|
|
; If in Johto, returns 0 in e.
|
|
; If in Kanto, returns 1 in e.
|
|
ld a, [MapGroup]
|
|
ld b, a
|
|
ld a, [MapNumber]
|
|
ld c, a
|
|
call GetWorldMapLocation
|
|
cp FAST_SHIP ; S.S. Aqua
|
|
jr z, .johto
|
|
cp SPECIAL_MAP
|
|
jr nz, .checkagain
|
|
|
|
; In a special map, get the backup map group / map id
|
|
ld a, [BackupMapGroup]
|
|
ld b, a
|
|
ld a, [BackupMapNumber]
|
|
ld c, a
|
|
call GetWorldMapLocation
|
|
|
|
.checkagain
|
|
cp KANTO_LANDMARK
|
|
jr c, .johto
|
|
|
|
; Victory Road area is considered to be Johto.
|
|
cp VICTORY_ROAD
|
|
jr c, .kanto
|
|
|
|
.johto
|
|
ld e, JOHTO_REGION
|
|
ret
|
|
.kanto
|
|
ld e, KANTO_REGION
|
|
ret
|