Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pret
GitHub Repository: pret/pokered
Path: blob/master/constants/map_constants.asm
2019 views
1
MACRO map_const
2
const \1
3
DEF \1_WIDTH EQU \2
4
DEF \1_HEIGHT EQU \3
5
ENDM
6
7
; "Indoor" maps are grouped sequentially (see data/maps/town_map_entries.asm)
8
DEF NUM_INDOOR_MAP_GROUPS EQU 0
9
MACRO end_indoor_group
10
DEF INDOORGROUP_\1 EQU const_value
11
REDEF NUM_INDOOR_MAP_GROUPS EQU NUM_INDOOR_MAP_GROUPS + 1
12
ENDM
13
14
; map ids
15
; indexes for:
16
; - MapHeaderBanks (see data/maps/map_header_banks.asm)
17
; - MapHeaderPointers (see data/maps/map_header_pointers.asm)
18
; - MapSongBanks (see data/maps/songs.asm)
19
; - ToggleableObjectMapPointers (see data/maps/toggleable_objects.asm)
20
; - MapSpriteSets (see data/maps/sprite_sets.asm)
21
; - ExternalMapEntries (see data/maps/town_map_entries.asm)
22
; - WildDataPointers (see data/wild/grass_water.asm)
23
; Each map also has associated data in maps.asm.
24
; Order: towns/cities, then routes, then indoor/dungeon maps
25
const_def
26
map_const PALLET_TOWN, 10, 9 ; $00
27
map_const VIRIDIAN_CITY, 20, 18 ; $01
28
map_const PEWTER_CITY, 20, 18 ; $02
29
map_const CERULEAN_CITY, 20, 18 ; $03
30
map_const LAVENDER_TOWN, 10, 9 ; $04
31
map_const VERMILION_CITY, 20, 18 ; $05
32
map_const CELADON_CITY, 25, 18 ; $06
33
map_const FUCHSIA_CITY, 20, 18 ; $07
34
map_const CINNABAR_ISLAND, 10, 9 ; $08
35
map_const INDIGO_PLATEAU, 10, 9 ; $09
36
map_const SAFFRON_CITY, 20, 18 ; $0A
37
DEF NUM_CITY_MAPS EQU const_value
38
39
map_const UNUSED_MAP_0B, 0, 0 ; $0B
40
41
DEF FIRST_ROUTE_MAP EQU const_value
42
map_const ROUTE_1, 10, 18 ; $0C
43
map_const ROUTE_2, 10, 36 ; $0D
44
map_const ROUTE_3, 35, 9 ; $0E
45
map_const ROUTE_4, 45, 9 ; $0F
46
map_const ROUTE_5, 10, 18 ; $10
47
map_const ROUTE_6, 10, 18 ; $11
48
map_const ROUTE_7, 10, 9 ; $12
49
map_const ROUTE_8, 30, 9 ; $13
50
map_const ROUTE_9, 30, 9 ; $14
51
map_const ROUTE_10, 10, 36 ; $15
52
map_const ROUTE_11, 30, 9 ; $16
53
map_const ROUTE_12, 10, 54 ; $17
54
map_const ROUTE_13, 30, 9 ; $18
55
map_const ROUTE_14, 10, 27 ; $19
56
map_const ROUTE_15, 30, 9 ; $1A
57
map_const ROUTE_16, 20, 9 ; $1B
58
map_const ROUTE_17, 10, 72 ; $1C
59
map_const ROUTE_18, 25, 9 ; $1D
60
map_const ROUTE_19, 10, 27 ; $1E
61
map_const ROUTE_20, 50, 9 ; $1F
62
map_const ROUTE_21, 10, 45 ; $20
63
map_const ROUTE_22, 20, 9 ; $21
64
map_const ROUTE_23, 10, 72 ; $22
65
map_const ROUTE_24, 10, 18 ; $23
66
map_const ROUTE_25, 30, 9 ; $24
67
68
DEF FIRST_INDOOR_MAP EQU const_value
69
map_const REDS_HOUSE_1F, 4, 4 ; $25
70
map_const REDS_HOUSE_2F, 4, 4 ; $26
71
map_const BLUES_HOUSE, 4, 4 ; $27
72
map_const OAKS_LAB, 5, 6 ; $28
73
end_indoor_group PALLET_TOWN
74
75
map_const VIRIDIAN_POKECENTER, 7, 4 ; $29
76
map_const VIRIDIAN_MART, 4, 4 ; $2A
77
map_const VIRIDIAN_SCHOOL_HOUSE, 4, 4 ; $2B
78
map_const VIRIDIAN_NICKNAME_HOUSE, 4, 4 ; $2C
79
map_const VIRIDIAN_GYM, 10, 9 ; $2D
80
end_indoor_group VIRIDIAN_CITY
81
82
map_const DIGLETTS_CAVE_ROUTE_2, 4, 4 ; $2E
83
map_const VIRIDIAN_FOREST_NORTH_GATE, 5, 4 ; $2F
84
map_const ROUTE_2_TRADE_HOUSE, 4, 4 ; $30
85
map_const ROUTE_2_GATE, 5, 4 ; $31
86
map_const VIRIDIAN_FOREST_SOUTH_GATE, 5, 4 ; $32
87
end_indoor_group ROUTE_2
88
89
map_const VIRIDIAN_FOREST, 17, 24 ; $33
90
end_indoor_group VIRIDIAN_FOREST
91
92
map_const MUSEUM_1F, 10, 4 ; $34
93
map_const MUSEUM_2F, 7, 4 ; $35
94
map_const PEWTER_GYM, 5, 7 ; $36
95
map_const PEWTER_NIDORAN_HOUSE, 4, 4 ; $37
96
map_const PEWTER_MART, 4, 4 ; $38
97
map_const PEWTER_SPEECH_HOUSE, 4, 4 ; $39
98
map_const PEWTER_POKECENTER, 7, 4 ; $3A
99
end_indoor_group PEWTER_CITY
100
101
map_const MT_MOON_1F, 20, 18 ; $3B
102
map_const MT_MOON_B1F, 14, 14 ; $3C
103
map_const MT_MOON_B2F, 20, 18 ; $3D
104
end_indoor_group MT_MOON
105
106
map_const CERULEAN_TRASHED_HOUSE, 4, 4 ; $3E
107
map_const CERULEAN_TRADE_HOUSE, 4, 4 ; $3F
108
map_const CERULEAN_POKECENTER, 7, 4 ; $40
109
map_const CERULEAN_GYM, 5, 7 ; $41
110
map_const BIKE_SHOP, 4, 4 ; $42
111
map_const CERULEAN_MART, 4, 4 ; $43
112
end_indoor_group CERULEAN_CITY
113
114
map_const MT_MOON_POKECENTER, 7, 4 ; $44
115
end_indoor_group ROUTE_4
116
117
map_const CERULEAN_TRASHED_HOUSE_COPY, 4, 4 ; $45
118
end_indoor_group CERULEAN_CITY_2
119
120
map_const ROUTE_5_GATE, 4, 3 ; $46
121
map_const UNDERGROUND_PATH_ROUTE_5, 4, 4 ; $47
122
map_const DAYCARE, 4, 4 ; $48
123
end_indoor_group ROUTE_5
124
125
map_const ROUTE_6_GATE, 4, 3 ; $49
126
map_const UNDERGROUND_PATH_ROUTE_6, 4, 4 ; $4A
127
map_const UNDERGROUND_PATH_ROUTE_6_COPY, 4, 4 ; $4B
128
end_indoor_group ROUTE_6
129
130
map_const ROUTE_7_GATE, 3, 4 ; $4C
131
map_const UNDERGROUND_PATH_ROUTE_7, 4, 4 ; $4D
132
map_const UNDERGROUND_PATH_ROUTE_7_COPY, 4, 4 ; $4E
133
end_indoor_group ROUTE_7
134
135
map_const ROUTE_8_GATE, 3, 4 ; $4F
136
map_const UNDERGROUND_PATH_ROUTE_8, 4, 4 ; $50
137
end_indoor_group ROUTE_8
138
139
map_const ROCK_TUNNEL_POKECENTER, 7, 4 ; $51
140
map_const ROCK_TUNNEL_1F, 20, 18 ; $52
141
end_indoor_group ROCK_TUNNEL
142
143
map_const POWER_PLANT, 20, 18 ; $53
144
end_indoor_group POWER_PLANT
145
146
map_const ROUTE_11_GATE_1F, 4, 5 ; $54
147
map_const DIGLETTS_CAVE_ROUTE_11, 4, 4 ; $55
148
map_const ROUTE_11_GATE_2F, 4, 4 ; $56
149
end_indoor_group ROUTE_11
150
151
map_const ROUTE_12_GATE_1F, 5, 4 ; $57
152
end_indoor_group ROUTE_12
153
154
map_const BILLS_HOUSE, 4, 4 ; $58
155
end_indoor_group SEA_COTTAGE
156
157
map_const VERMILION_POKECENTER, 7, 4 ; $59
158
map_const POKEMON_FAN_CLUB, 4, 4 ; $5A
159
map_const VERMILION_MART, 4, 4 ; $5B
160
map_const VERMILION_GYM, 5, 9 ; $5C
161
map_const VERMILION_PIDGEY_HOUSE, 4, 4 ; $5D
162
map_const VERMILION_DOCK, 14, 6 ; $5E
163
end_indoor_group VERMILION_CITY
164
165
map_const SS_ANNE_1F, 20, 9 ; $5F
166
map_const SS_ANNE_2F, 20, 9 ; $60
167
map_const SS_ANNE_3F, 10, 3 ; $61
168
map_const SS_ANNE_B1F, 15, 4 ; $62
169
map_const SS_ANNE_BOW, 10, 7 ; $63
170
map_const SS_ANNE_KITCHEN, 7, 8 ; $64
171
map_const SS_ANNE_CAPTAINS_ROOM, 3, 4 ; $65
172
map_const SS_ANNE_1F_ROOMS, 12, 8 ; $66
173
map_const SS_ANNE_2F_ROOMS, 12, 8 ; $67
174
map_const SS_ANNE_B1F_ROOMS, 12, 8 ; $68
175
end_indoor_group SS_ANNE
176
177
map_const UNUSED_MAP_69, 0, 0 ; $69
178
map_const UNUSED_MAP_6A, 0, 0 ; $6A
179
map_const UNUSED_MAP_6B, 0, 0 ; $6B
180
map_const VICTORY_ROAD_1F, 10, 9 ; $6C
181
end_indoor_group VICTORY_ROAD
182
183
map_const UNUSED_MAP_6D, 0, 0 ; $6D
184
map_const UNUSED_MAP_6E, 0, 0 ; $6E
185
map_const UNUSED_MAP_6F, 0, 0 ; $6F
186
map_const UNUSED_MAP_70, 0, 0 ; $70
187
map_const LANCES_ROOM, 13, 13 ; $71
188
map_const UNUSED_MAP_72, 0, 0 ; $72
189
map_const UNUSED_MAP_73, 0, 0 ; $73
190
map_const UNUSED_MAP_74, 0, 0 ; $74
191
map_const UNUSED_MAP_75, 0, 0 ; $75
192
map_const HALL_OF_FAME, 5, 4 ; $76
193
end_indoor_group POKEMON_LEAGUE
194
195
map_const UNDERGROUND_PATH_NORTH_SOUTH, 4, 24 ; $77 ; UndergroundPathNorthSouth.blk is actually 4x23
196
end_indoor_group UNDERGROUND_PATH
197
198
map_const CHAMPIONS_ROOM, 4, 4 ; $78
199
end_indoor_group POKEMON_LEAGUE_2
200
201
map_const UNDERGROUND_PATH_WEST_EAST, 25, 4 ; $79
202
end_indoor_group UNDERGROUND_PATH_2
203
204
map_const CELADON_MART_1F, 10, 4 ; $7A
205
map_const CELADON_MART_2F, 10, 4 ; $7B
206
map_const CELADON_MART_3F, 10, 4 ; $7C
207
map_const CELADON_MART_4F, 10, 4 ; $7D
208
map_const CELADON_MART_ROOF, 10, 4 ; $7E
209
map_const CELADON_MART_ELEVATOR, 2, 2 ; $7F
210
map_const CELADON_MANSION_1F, 4, 6 ; $80
211
map_const CELADON_MANSION_2F, 4, 6 ; $81
212
map_const CELADON_MANSION_3F, 4, 6 ; $82
213
map_const CELADON_MANSION_ROOF, 4, 6 ; $83
214
map_const CELADON_MANSION_ROOF_HOUSE, 4, 4 ; $84
215
map_const CELADON_POKECENTER, 7, 4 ; $85
216
map_const CELADON_GYM, 5, 9 ; $86
217
map_const GAME_CORNER, 10, 9 ; $87
218
map_const CELADON_MART_5F, 10, 4 ; $88
219
map_const GAME_CORNER_PRIZE_ROOM, 5, 4 ; $89
220
map_const CELADON_DINER, 5, 4 ; $8A
221
map_const CELADON_CHIEF_HOUSE, 4, 4 ; $8B
222
map_const CELADON_HOTEL, 7, 4 ; $8C
223
end_indoor_group CELADON_CITY
224
225
map_const LAVENDER_POKECENTER, 7, 4 ; $8D
226
end_indoor_group LAVENDER_TOWN
227
228
map_const POKEMON_TOWER_1F, 10, 9 ; $8E
229
map_const POKEMON_TOWER_2F, 10, 9 ; $8F
230
map_const POKEMON_TOWER_3F, 10, 9 ; $90
231
map_const POKEMON_TOWER_4F, 10, 9 ; $91
232
map_const POKEMON_TOWER_5F, 10, 9 ; $92
233
map_const POKEMON_TOWER_6F, 10, 9 ; $93
234
map_const POKEMON_TOWER_7F, 10, 9 ; $94
235
end_indoor_group POKEMON_TOWER
236
237
map_const MR_FUJIS_HOUSE, 4, 4 ; $95
238
map_const LAVENDER_MART, 4, 4 ; $96
239
map_const LAVENDER_CUBONE_HOUSE, 4, 4 ; $97
240
end_indoor_group LAVENDER_TOWN_2
241
242
map_const FUCHSIA_MART, 4, 4 ; $98
243
map_const FUCHSIA_BILLS_GRANDPAS_HOUSE, 4, 4 ; $99
244
map_const FUCHSIA_POKECENTER, 7, 4 ; $9A
245
map_const WARDENS_HOUSE, 5, 4 ; $9B
246
end_indoor_group FUCHSIA_CITY
247
248
map_const SAFARI_ZONE_GATE, 4, 3 ; $9C
249
end_indoor_group SAFARI_ZONE
250
251
map_const FUCHSIA_GYM, 5, 9 ; $9D
252
map_const FUCHSIA_MEETING_ROOM, 7, 4 ; $9E
253
end_indoor_group FUCHSIA_CITY_2
254
255
map_const SEAFOAM_ISLANDS_B1F, 15, 9 ; $9F
256
map_const SEAFOAM_ISLANDS_B2F, 15, 9 ; $A0
257
map_const SEAFOAM_ISLANDS_B3F, 15, 9 ; $A1
258
map_const SEAFOAM_ISLANDS_B4F, 15, 9 ; $A2
259
end_indoor_group SEAFOAM_ISLANDS
260
261
map_const VERMILION_OLD_ROD_HOUSE, 4, 4 ; $A3
262
end_indoor_group VERMILION_CITY_2
263
264
map_const FUCHSIA_GOOD_ROD_HOUSE, 4, 4 ; $A4
265
end_indoor_group FUCHSIA_CITY_3
266
267
map_const POKEMON_MANSION_1F, 15, 14 ; $A5
268
end_indoor_group POKEMON_MANSION
269
270
map_const CINNABAR_GYM, 10, 9 ; $A6
271
map_const CINNABAR_LAB, 9, 4 ; $A7
272
map_const CINNABAR_LAB_TRADE_ROOM, 4, 4 ; $A8
273
map_const CINNABAR_LAB_METRONOME_ROOM, 4, 4 ; $A9
274
map_const CINNABAR_LAB_FOSSIL_ROOM, 4, 4 ; $AA
275
map_const CINNABAR_POKECENTER, 7, 4 ; $AB
276
map_const CINNABAR_MART, 4, 4 ; $AC
277
map_const CINNABAR_MART_COPY, 4, 4 ; $AD
278
end_indoor_group CINNABAR_ISLAND
279
280
map_const INDIGO_PLATEAU_LOBBY, 8, 6 ; $AE
281
end_indoor_group INDIGO_PLATEAU
282
283
map_const COPYCATS_HOUSE_1F, 4, 4 ; $AF
284
map_const COPYCATS_HOUSE_2F, 4, 4 ; $B0
285
map_const FIGHTING_DOJO, 5, 6 ; $B1
286
map_const SAFFRON_GYM, 10, 9 ; $B2
287
map_const SAFFRON_PIDGEY_HOUSE, 4, 4 ; $B3
288
map_const SAFFRON_MART, 4, 4 ; $B4
289
map_const SILPH_CO_1F, 15, 9 ; $B5
290
map_const SAFFRON_POKECENTER, 7, 4 ; $B6
291
map_const MR_PSYCHICS_HOUSE, 4, 4 ; $B7
292
end_indoor_group SAFFRON_CITY
293
294
map_const ROUTE_15_GATE_1F, 4, 5 ; $B8
295
map_const ROUTE_15_GATE_2F, 4, 4 ; $B9
296
end_indoor_group ROUTE_15
297
298
map_const ROUTE_16_GATE_1F, 4, 7 ; $BA
299
map_const ROUTE_16_GATE_2F, 4, 4 ; $BB
300
map_const ROUTE_16_FLY_HOUSE, 4, 4 ; $BC
301
end_indoor_group ROUTE_16
302
303
map_const ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; $BD
304
end_indoor_group ROUTE_12_2
305
306
map_const ROUTE_18_GATE_1F, 4, 5 ; $BE
307
map_const ROUTE_18_GATE_2F, 4, 4 ; $BF
308
end_indoor_group ROUTE_18
309
310
map_const SEAFOAM_ISLANDS_1F, 15, 9 ; $C0
311
end_indoor_group SEAFOAM_ISLANDS_2
312
313
map_const ROUTE_22_GATE, 5, 4 ; $C1
314
end_indoor_group ROUTE_22
315
316
map_const VICTORY_ROAD_2F, 15, 9 ; $C2
317
end_indoor_group VICTORY_ROAD_2
318
319
map_const ROUTE_12_GATE_2F, 4, 4 ; $C3
320
end_indoor_group ROUTE_12_3
321
322
map_const VERMILION_TRADE_HOUSE, 4, 4 ; $C4
323
end_indoor_group VERMILION_CITY_3
324
325
map_const DIGLETTS_CAVE, 20, 18 ; $C5
326
end_indoor_group DIGLETTS_CAVE
327
328
map_const VICTORY_ROAD_3F, 15, 9 ; $C6
329
end_indoor_group VICTORY_ROAD_3
330
331
map_const ROCKET_HIDEOUT_B1F, 15, 14 ; $C7
332
map_const ROCKET_HIDEOUT_B2F, 15, 14 ; $C8
333
map_const ROCKET_HIDEOUT_B3F, 15, 14 ; $C9
334
map_const ROCKET_HIDEOUT_B4F, 15, 12 ; $CA
335
map_const ROCKET_HIDEOUT_ELEVATOR, 3, 4 ; $CB
336
map_const UNUSED_MAP_CC, 0, 0 ; $CC
337
map_const UNUSED_MAP_CD, 0, 0 ; $CD
338
map_const UNUSED_MAP_CE, 0, 0 ; $CE
339
end_indoor_group ROCKET_HQ
340
341
map_const SILPH_CO_2F, 15, 9 ; $CF
342
map_const SILPH_CO_3F, 15, 9 ; $D0
343
map_const SILPH_CO_4F, 15, 9 ; $D1
344
map_const SILPH_CO_5F, 15, 9 ; $D2
345
map_const SILPH_CO_6F, 13, 9 ; $D3
346
map_const SILPH_CO_7F, 13, 9 ; $D4
347
map_const SILPH_CO_8F, 13, 9 ; $D5
348
end_indoor_group SILPH_CO
349
350
map_const POKEMON_MANSION_2F, 15, 14 ; $D6
351
map_const POKEMON_MANSION_3F, 15, 9 ; $D7
352
map_const POKEMON_MANSION_B1F, 15, 14 ; $D8
353
end_indoor_group POKEMON_MANSION_2
354
355
map_const SAFARI_ZONE_EAST, 15, 13 ; $D9
356
map_const SAFARI_ZONE_NORTH, 20, 18 ; $DA
357
map_const SAFARI_ZONE_WEST, 15, 13 ; $DB
358
map_const SAFARI_ZONE_CENTER, 15, 13 ; $DC
359
map_const SAFARI_ZONE_CENTER_REST_HOUSE, 4, 4 ; $DD
360
map_const SAFARI_ZONE_SECRET_HOUSE, 4, 4 ; $DE
361
map_const SAFARI_ZONE_WEST_REST_HOUSE, 4, 4 ; $DF
362
map_const SAFARI_ZONE_EAST_REST_HOUSE, 4, 4 ; $E0
363
map_const SAFARI_ZONE_NORTH_REST_HOUSE, 4, 4 ; $E1
364
end_indoor_group SAFARI_ZONE_2
365
366
map_const CERULEAN_CAVE_2F, 15, 9 ; $E2
367
map_const CERULEAN_CAVE_B1F, 15, 9 ; $E3
368
map_const CERULEAN_CAVE_1F, 15, 9 ; $E4
369
end_indoor_group CERULEAN_CAVE
370
371
map_const NAME_RATERS_HOUSE, 4, 4 ; $E5
372
end_indoor_group LAVENDER_TOWN_3
373
374
map_const CERULEAN_BADGE_HOUSE, 4, 4 ; $E6
375
end_indoor_group CERULEAN_CITY_3
376
377
map_const UNUSED_MAP_E7, 0, 0 ; $E7
378
map_const ROCK_TUNNEL_B1F, 20, 18 ; $E8
379
end_indoor_group ROCK_TUNNEL_2
380
381
map_const SILPH_CO_9F, 13, 9 ; $E9
382
map_const SILPH_CO_10F, 8, 9 ; $EA
383
map_const SILPH_CO_11F, 9, 9 ; $EB
384
map_const SILPH_CO_ELEVATOR, 2, 2 ; $EC
385
end_indoor_group SILPH_CO_2
386
387
map_const UNUSED_MAP_ED, 0, 0 ; $ED
388
map_const UNUSED_MAP_EE, 0, 0 ; $EE
389
map_const TRADE_CENTER, 5, 4 ; $EF
390
map_const COLOSSEUM, 5, 4 ; $F0
391
map_const UNUSED_MAP_F1, 0, 0 ; $F1
392
map_const UNUSED_MAP_F2, 0, 0 ; $F2
393
map_const UNUSED_MAP_F3, 0, 0 ; $F3
394
map_const UNUSED_MAP_F4, 0, 0 ; $F4
395
map_const LORELEIS_ROOM, 5, 6 ; $F5
396
map_const BRUNOS_ROOM, 5, 6 ; $F6
397
map_const AGATHAS_ROOM, 5, 6 ; $F7
398
end_indoor_group POKEMON_LEAGUE_3
399
DEF NUM_MAPS EQU const_value
400
401
; Indoor maps, such as houses, use this as the Map ID in their exit warps
402
; This map ID takes the player back to the last outdoor map they were on, stored in wLastMap
403
DEF LAST_MAP EQU $ff
404
405
ASSERT NUM_MAPS <= LAST_MAP, "map IDs overlap LAST_MAP"
406
407