pokecrystal-board/data/maps/maps.asm
xCrystal ce4ca85494 Implement Flash technique through a map callback of type MAPCALLBACK_ENDMAPSETUP (#34)
This callback type is executed in a new map setup command at the very end of every map setup script. Maps that should trigger the use of Flash automatically should use an instance of this callback with fixed functionality
2023-12-31 15:05:07 +01:00

70 lines
2.8 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
;\9: base coins: 8-bit value
db BANK(\1_MapAttributes), \2, \3
dw \1_MapAttributes
db \4, \5
dn \6, \7
db \8
db \9
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
dw MapGroup_DebugLevel2 ; 2
dw MapGroup_DebugLevel3 ; 3
dw MapGroup_DebugLevel4 ; 4
dw MapGroup_DebugLevel5 ; 5
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, 1
; map Level1_Map2, TILESET_CHAMPIONS_ROOM, INDOOR_CAVE, LANDMARK_LEVEL_2, MUSIC_GYM, TRUE, PALETTE_NITE | IN_DARKNESS, FISHGROUP_SHORE, 1
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, 1
assert_table_length NUM_DEBUGLEVEL_1_MAPS
MapGroup_DebugLevel2:
table_width MAP_LENGTH, MapGroup_DebugLevel2
map DebugLevel2_Map1, TILESET_BOARD_DEBUG_2, INDOOR_CAVE, LANDMARK_DEBUGLEVEL_2, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_NITE | IN_DARKNESS, FISHGROUP_SHORE, 2
map DebugLevel2_Map2, TILESET_BOARD_DEBUG_2, INDOOR_CAVE, LANDMARK_DEBUGLEVEL_2, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_NITE | IN_DARKNESS, FISHGROUP_SHORE, 2
assert_table_length NUM_DEBUGLEVEL_2_MAPS
MapGroup_DebugLevel3:
table_width MAP_LENGTH, MapGroup_DebugLevel3
map DebugLevel3_Map1, TILESET_FOREST, INDOOR_FOREST, LANDMARK_DEBUGLEVEL_3, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE, 3
assert_table_length NUM_DEBUGLEVEL_3_MAPS
MapGroup_DebugLevel4:
table_width MAP_LENGTH, MapGroup_DebugLevel4
map DebugLevel4_Map1, TILESET_BOARD_DEBUG_1, OUTDOOR_GRASSY, LANDMARK_DEBUGLEVEL_4, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE, 4
assert_table_length NUM_DEBUGLEVEL_4_MAPS
MapGroup_DebugLevel5:
table_width MAP_LENGTH, MapGroup_DebugLevel5
map DebugLevel5_Map1, TILESET_BOARD_DEBUG_1, OUTDOOR_GRASSY, LANDMARK_DEBUGLEVEL_5, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE, 5
assert_table_length NUM_DEBUGLEVEL_5_MAPS
endc