pokecrystal-board/engine/spawn_points.asm

103 lines
2.0 KiB
NASM
Raw Normal View History

2015-02-11 13:59:59 -08:00
SpawnPoints: ; 0x152ab
spawn: MACRO
; map, y, x
map \1
db \2, \3
2015-02-11 13:59:59 -08:00
ENDM
spawn KRISS_HOUSE_2F, 3, 3
spawn VIRIDIAN_POKECENTER_1F, 5, 3
2015-02-11 13:59:59 -08:00
spawn PALLET_TOWN, 5, 6
spawn VIRIDIAN_CITY, 23, 26
spawn PEWTER_CITY, 13, 26
spawn CERULEAN_CITY, 19, 22
spawn ROUTE_10_NORTH, 11, 2
spawn VERMILION_CITY, 9, 6
spawn LAVENDER_TOWN, 5, 6
spawn SAFFRON_CITY, 9, 30
spawn CELADON_CITY, 29, 10
spawn FUCHSIA_CITY, 19, 28
spawn CINNABAR_ISLAND, 11, 12
spawn ROUTE_23, 9, 6
2015-02-11 13:59:59 -08:00
spawn NEW_BARK_TOWN, 13, 6
spawn CHERRYGROVE_CITY, 29, 4
spawn VIOLET_CITY, 31, 26
spawn ROUTE_32, 11, 74
spawn AZALEA_TOWN, 15, 10
spawn CIANWOOD_CITY, 23, 44
spawn GOLDENROD_CITY, 15, 28
spawn OLIVINE_CITY, 13, 22
spawn ECRUTEAK_CITY, 23, 28
spawn MAHOGANY_TOWN, 15, 14
spawn LAKE_OF_RAGE, 21, 29
spawn BLACKTHORN_CITY, 21, 30
spawn SILVER_CAVE_OUTSIDE, 23, 20
spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2
spawn N_A, -1, -1
2015-02-11 13:59:59 -08:00
LoadSpawnPoint: ; 1531f
; loads the spawn point in wd001
2015-02-11 13:59:59 -08:00
push hl
push de
ld a, [wd001]
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