mirror of
https://github.com/pret/pokegold-spaceworld.git
synced 2026-08-08 19:25:24 -05:00
This uses catch-all files like main.asm to reduce the total quantity and size of build objects (from 1.1 GB to 70 MB). --------- Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com>
71 lines
950 B
NASM
71 lines
950 B
NASM
GetFlyPointMapLocation:
|
|
ld a, [wFlyDestination]
|
|
ld l, a
|
|
ld h, $00
|
|
add hl, hl
|
|
add hl, hl
|
|
ld de, SpawnPoints
|
|
add hl, de
|
|
ld b, [hl] ; SpawnPoints + (wFlyDestination * 4)
|
|
inc hl
|
|
ld c, [hl]
|
|
call GetWorldMapLocation
|
|
ld e, a
|
|
ret
|
|
|
|
LoadSpawnPoint::
|
|
; loads the spawn point in wDefaultSpawnPoint
|
|
push hl
|
|
push de
|
|
ld a, [wDefaultSpawnPoint]
|
|
and a
|
|
jr z, .skip
|
|
dec a
|
|
ld l, a
|
|
ld h, 0
|
|
add hl, hl
|
|
add hl, hl
|
|
ld de, SpawnPoints
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld [wMapGroup], a
|
|
ld a, [hli]
|
|
ld [wMapId], a
|
|
ld a, [hli]
|
|
ld [wXCoord], a
|
|
ld a, [hli]
|
|
ld [wYCoord], a
|
|
.skip
|
|
pop de
|
|
pop hl
|
|
ret
|
|
|
|
IsSpawnPoint:
|
|
; Checks if the map loaded in de is a spawn point.
|
|
; Returns carry if it's a spawn point.
|
|
ld hl, SpawnPoints
|
|
ld c, 1
|
|
.loop
|
|
ld a, [hl]
|
|
cp SPAWN_N_A
|
|
jr z, .fail
|
|
cp d
|
|
jr nz, .next
|
|
inc hl
|
|
ld a, [hld]
|
|
cp e
|
|
jr z, .succeed
|
|
.next
|
|
push bc
|
|
ld bc, SPAWN_POINT_SIZE
|
|
add hl, bc
|
|
pop bc
|
|
inc c
|
|
jr .loop
|
|
.fail
|
|
and a
|
|
ret
|
|
.succeed
|
|
scf
|
|
ret
|