summaryrefslogtreecommitdiff
path: root/engine/spawn_points.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2015-02-11 13:59:59 -0800
committeryenatch <yenatch@gmail.com>2015-02-11 13:59:59 -0800
commitc6c220f1ad3d730d7daa00920a31ddc0bc22405b (patch)
tree33dedd662272207cb5003ef833247cd24d0c908e /engine/spawn_points.asm
parent3977bd6208b203b0e17fdac501ed13c5aed31a57 (diff)
Split out spawn points.
Diffstat (limited to 'engine/spawn_points.asm')
-rw-r--r--engine/spawn_points.asm106
1 files changed, 106 insertions, 0 deletions
diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm
new file mode 100644
index 000000000..ce96b0ce5
--- /dev/null
+++ b/engine/spawn_points.asm
@@ -0,0 +1,106 @@
+
+SpawnPoints: ; 0x152ab
+
+ const_def
+
+spawn: MACRO
+; name, map, y, x
+\1\@ EQUS "SPAWN_\1"
+ const \1\@
+ map \2
+ db \3, \4
+ENDM
+
+ spawn HOME, KRISS_HOUSE_2F, 3, 3
+ spawn DEBUG, VIRIDIAN_POKECENTER_1F, 5, 3
+
+ spawn PALLET, PALLET_TOWN, 5, 6
+ spawn VIRIDIAN, VIRIDIAN_CITY, 23, 26
+ spawn PEWTER, PEWTER_CITY, 13, 26
+ spawn CERULEAN, CERULEAN_CITY, 19, 22
+ spawn ROCK_TUNNEL, ROUTE_10A, 11, 2
+ spawn VERMILION, VERMILION_CITY, 9, 6
+ spawn LAVENDER, LAVENDER_TOWN, 5, 6
+ spawn SAFFRON, SAFFRON_CITY, 9, 30
+ spawn CELADON, CELADON_CITY, 29, 10
+ spawn FUCHSIA, FUCHSIA_CITY, 19, 28
+ spawn CINNABAR, CINNABAR_ISLAND, 11, 12
+ spawn INDIGO, ROUTE_23, 9, 6
+
+ spawn NEW_BARK, NEW_BARK_TOWN, 13, 6
+ spawn CHERRYGROVE, CHERRYGROVE_CITY, 29, 4
+ spawn VIOLET, VIOLET_CITY, 31, 26
+ spawn UNION_CAVE, ROUTE_32, 11, 74
+ spawn AZALEA, AZALEA_TOWN, 15, 10
+ spawn CIANWOOD, CIANWOOD_CITY, 23, 44
+ spawn GOLDENROD, GOLDENROD_CITY, 15, 28
+ spawn OLIVINE, OLIVINE_CITY, 13, 22
+ spawn ECRUTEAK, ECRUTEAK_CITY, 23, 28
+ spawn MAHOGANY, MAHOGANY_TOWN, 15, 14
+ spawn LAKE, LAKE_OF_RAGE, 21, 29
+ spawn BLACKTHORN, BLACKTHORN_CITY, 21, 30
+ spawn MT_SILVER, SILVER_CAVE_OUTSIDE, 23, 20
+ spawn FAST_SHIP, FAST_SHIP_CABINS_SW_SSW_NW, 6, 2
+
+ db -1, -1, -1, -1
+
+ const NUM_SPAWNS
+
+
+LoadSpawnPoint: ; 1531f
+ push hl
+ push de
+ ld a, [wd001]
+ cp -1
+ jr z, .asm_15341
+ ld l, a
+ ld h, 0
+ add hl, hl
+ add hl, hl
+ 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
+.asm_15341
+ pop de
+ pop hl
+ ret
+; 15344
+
+
+IsSpawnPoint: ; 15344
+ ld hl, SpawnPoints
+ ld c, 0
+.asm_15349
+ ld a, [hl]
+ cp -1
+ jr z, .asm_1535f
+ cp d
+ jr nz, .asm_15356
+ inc hl
+ ld a, [hld]
+ cp e
+ jr z, .asm_15361
+
+.asm_15356
+ push bc
+ ld bc, 4
+ add hl, bc
+ pop bc
+ inc c
+ jr .asm_15349
+
+.asm_1535f
+ and a
+ ret
+
+.asm_15361
+ scf
+ ret
+; 15363