You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
Reorganize macros
This commit is contained in:
@@ -1,3 +1,20 @@
|
||||
map_header: macro
|
||||
;\1: map label
|
||||
;\2: tileset: a TILESET_* constant
|
||||
;\3: permission: TOWN, ROUTE, INDOOR, CAVE, PERM_5, GATE, or DUNGEON
|
||||
;\4: location: from constants/landmark_constants.asm
|
||||
;\5: music: a MUSIC_* constant
|
||||
;\6: phone service flag: 1 to prevent phone calls
|
||||
;\7: time of day: a PALETTE_* constant
|
||||
;\8: fishing group: a FISHGROUP_* constant
|
||||
\1_MapHeader:
|
||||
db BANK(\1_SecondMapHeader), \2, \3
|
||||
dw \1_SecondMapHeader
|
||||
db \4, \5
|
||||
dn \6, \7
|
||||
db \8
|
||||
endm
|
||||
|
||||
MapGroupPointers::
|
||||
; pointers to the first map header of each map group
|
||||
dw MapGroup_Olivine ; 1
|
||||
@@ -27,7 +44,6 @@ MapGroupPointers::
|
||||
dw MapGroup_Saffron ; 25
|
||||
dw MapGroup_Cherrygrove ; 26
|
||||
|
||||
|
||||
MapGroup_Olivine:
|
||||
map_header OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
|
||||
map_header OlivineGym, TILESET_OLIVINE_GYM, INDOOR, OLIVINE_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
|
||||
|
||||
@@ -1,3 +1,90 @@
|
||||
map_header_2: macro
|
||||
;\1: map label
|
||||
;\2: map id
|
||||
;\3: border block
|
||||
;\4: connections: sum of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
|
||||
\1_SecondMapHeader::
|
||||
db \3
|
||||
db \2_HEIGHT, \2_WIDTH
|
||||
db BANK(\1_BlockData)
|
||||
dw \1_BlockData
|
||||
db BANK(\1_MapScriptHeader)
|
||||
dw \1_MapScriptHeader
|
||||
dw \1_MapEventHeader
|
||||
db \4
|
||||
endm
|
||||
|
||||
connection: macro
|
||||
if "\1" == "north"
|
||||
;\2: map id
|
||||
;\3: map label (eventually will be rolled into map id)
|
||||
;\4: x
|
||||
;\5: offset?
|
||||
;\6: strip length
|
||||
;\7: this map id
|
||||
map \2
|
||||
dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5
|
||||
dw OverworldMap + \4 + 3
|
||||
db \6
|
||||
db \2_WIDTH
|
||||
db \2_HEIGHT * 2 - 1
|
||||
db (\4 - \5) * -2
|
||||
dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1
|
||||
endc
|
||||
|
||||
if "\1" == "south"
|
||||
;\2: map id
|
||||
;\3: map label (eventually will be rolled into map id)
|
||||
;\4: x
|
||||
;\5: offset?
|
||||
;\6: strip length
|
||||
;\7: this map id
|
||||
map \2
|
||||
dw \3_BlockData + \5
|
||||
dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3
|
||||
db \6
|
||||
db \2_WIDTH
|
||||
db 0
|
||||
db (\4 - \5) * -2
|
||||
dw OverworldMap + \2_WIDTH + 7
|
||||
endc
|
||||
|
||||
if "\1" == "west"
|
||||
;\2: map id
|
||||
;\3: map label (eventually will be rolled into map id)
|
||||
;\4: y
|
||||
;\5: offset?
|
||||
;\6: strip length
|
||||
;\7: this map id
|
||||
map \2
|
||||
dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3
|
||||
dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3)
|
||||
db \6
|
||||
db \2_WIDTH
|
||||
db (\4 - \5) * -2
|
||||
db \2_WIDTH * 2 - 1
|
||||
dw OverworldMap + \2_WIDTH * 2 + 6
|
||||
endc
|
||||
|
||||
if "\1" == "east"
|
||||
;\2: map id
|
||||
;\3: map label (eventually will be rolled into map id)
|
||||
;\4: y
|
||||
;\5: offset?
|
||||
;\6: strip length
|
||||
;\7: this map id
|
||||
map \2
|
||||
dw \3_BlockData + (\2_WIDTH * \5)
|
||||
dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3
|
||||
db \6
|
||||
db \2_WIDTH
|
||||
db (\4 - \5) * -2
|
||||
db 0
|
||||
dw OverworldMap + \2_WIDTH + 7
|
||||
endc
|
||||
endm
|
||||
|
||||
|
||||
map_header_2 NewBarkTown, NEW_BARK_TOWN, $5, WEST | EAST
|
||||
connection west, ROUTE_29, Route29, 0, 0, 9, NEW_BARK_TOWN
|
||||
connection east, ROUTE_27, Route27, 0, 0, 9, NEW_BARK_TOWN
|
||||
|
||||
Reference in New Issue
Block a user