pokecrystal-board/data/maps/maps.asm

43 lines
1.5 KiB
NASM

MACRO map
;\1: map name: for the MapAttributes pointer (see data/maps/attributes.asm)
;\2: tileset: a TILESET_* constant
;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, or DUNGEON
;\4: location: a LANDMARK_* constant
;\5: music: a MUSIC_* constant
;\6: phone service flag: TRUE to prevent phone calls
;\7: time of day: a PALETTE_* constant
;\8: fishing group: a FISHGROUP_* constant
db BANK(\1_MapAttributes), \2, \3
dw \1_MapAttributes
db \4, \5
dn \6, \7
db \8
ENDM
MapGroupPointers::
; pointers to the first map of each map group
table_width 2, MapGroupPointers
dw MapGroup_Level1 ; 1
; dw MapGroup_Level2 ; 2
if DEF(_DEBUG)
dw MapGroup_DebugLevel1 ; 1
endc
assert_table_length NUM_MAP_GROUPS
MapGroup_Level1:
table_width MAP_LENGTH, MapGroup_Level1
map Level1_Map1, TILESET_PLAYERS_ROOM, INDOOR_BUILDING, LANDMARK_LEVEL_1, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
; map Level1_Map2, TILESET_CHAMPIONS_ROOM, INDOOR_CAVE, LANDMARK_LEVEL_2, MUSIC_GYM, TRUE, PALETTE_NITE | IN_DARKNESS, FISHGROUP_SHORE
assert_table_length NUM_LEVEL_1_MAPS
; MapGroup_Level2:
; table_width MAP_LENGTH, MapGroup_Level2
; map Level2_Map1 ...
; assert_table_length NUM_LEVEL_2_MAPS
if DEF(_DEBUG)
MapGroup_DebugLevel1:
table_width MAP_LENGTH, MapGroup_DebugLevel1
map DebugLevel1_Map1, TILESET_PLAYERS_ROOM, INDOOR_BUILDING, LANDMARK_DEBUGLEVEL_1, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
assert_table_length NUM_DEBUGLEVEL_1_MAPS
endc