jep-hack/engine/overworld/landmarks.asm
Llinos Evans a8546f60c9 Nihon + Silent Hills Groundwork
Currently doesn't build due to a weird error

```
rgbasm -hL -Q8 -P includes.asm -Weverything -Wnumeric-string=2 -Wtruncation=1  -o data/maps/map_data.o data/maps/map_data.asm
error: data/maps/map_data.asm(3) -> data/maps/maps.asm(544) -> macros/asserts.as
m::assert_table_length(14):
    Expected constant expression: 'NUM_SILENT_HILLS_MAP' is not constant at asse
mbly time
error: data/maps/map_data.asm(3) -> data/maps/maps.asm(544) -> macros/asserts.as
m::assert_table_length(16):
    Assertion failed: MapGroup_SilentHills: expected 0 entries, each 9 bytes
error: Assembly aborted (2 errors)!
make: *** [Makefile:119: data/maps/map_data.o] Error 1
```
2023-10-20 06:23:47 +01:00

87 lines
1.2 KiB
NASM

GetLandmarkCoords:
; 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
GetLandmarkName::
; Copy the name of landmark e to wStringBuffer1.
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, wStringBuffer1
ld c, 18
.copy
ld a, [hli]
ld [de], a
inc de
dec c
jr nz, .copy
pop bc
pop de
pop hl
ret
INCLUDE "data/maps/landmarks.asm"
RegionCheck:
; 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, [wMapGroup]
ld b, a
ld a, [wMapNumber]
ld c, a
call GetWorldMapLocation
cp LANDMARK_FAST_SHIP ; S.S. Aqua
jr z, .johto
cp LANDMARK_SPECIAL
jr nz, .checkagain
; In a special map, get the backup map group / map id
ld a, [wBackupMapGroup]
ld b, a
ld a, [wBackupMapNumber]
ld c, a
call GetWorldMapLocation
.checkagain
cp NIHON_LANDMARK
jr z, .nihon
cp KANTO_LANDMARK
jr c, .johto
; Victory Road area is considered to be Johto.
cp LANDMARK_VICTORY_ROAD
jr c, .kanto
.johto
ld e, JOHTO_REGION
ret
.kanto
ld e, KANTO_REGION
ret
.nihon
ld e, NIHON_REGION
ret