pokecrystal-board/engine/spawn_points.asm

64 lines
801 B
NASM
Raw Normal View History

2015-02-11 13:59:59 -08:00
INCLUDE "data/spawn_points.asm"
2015-02-11 13:59:59 -08:00
LoadSpawnPoint: ; 1531f
2017-12-09 12:14:51 -08:00
; loads the spawn point in DefaultSpawnpoint
2015-02-11 13:59:59 -08:00
push hl
push de
2017-12-09 12:14:51 -08:00
ld a, [DefaultSpawnpoint]
cp SPAWN_N_A
jr z, .spawn_n_a
2015-02-11 13:59:59 -08:00
ld l, a
ld h, 0
add hl, hl
add hl, hl
2015-02-11 13:59:59 -08:00
ld de, SpawnPoints
add hl, de
ld a, [hli]
ld [MapGroup], a
ld a, [hli]
ld [MapNumber], a
ld a, [hli]
ld [XCoord], a
ld a, [hli]
ld [YCoord], a
.spawn_n_a
2015-02-11 13:59:59 -08:00
pop de
pop hl
ret
; 15344
IsSpawnPoint: ; 15344
; Checks if the map loaded in de is a spawn point. Returns carry if it's a spawn point.
2015-02-11 13:59:59 -08:00
ld hl, SpawnPoints
ld c, 0
.loop
2015-02-11 13:59:59 -08:00
ld a, [hl]
cp SPAWN_N_A
jr z, .nope
2015-02-11 13:59:59 -08:00
cp d
jr nz, .next
2015-02-11 13:59:59 -08:00
inc hl
ld a, [hld]
cp e
jr z, .yes
2015-02-11 13:59:59 -08:00
.next
2015-02-11 13:59:59 -08:00
push bc
ld bc, 4 ; length of a spawn table entry
2015-02-11 13:59:59 -08:00
add hl, bc
pop bc
inc c
jr .loop
2015-02-11 13:59:59 -08:00
.nope
2015-02-11 13:59:59 -08:00
and a
ret
.yes
2015-02-11 13:59:59 -08:00
scf
ret
; 15363