aboutsummaryrefslogtreecommitdiffstats
path: root/macros/scripts/maps.asm
diff options
context:
space:
mode:
authorvulcandth <vulcandth@gmail.com>2022-06-06 16:25:34 -0500
committerGitHub <noreply@github.com>2022-06-06 17:25:34 -0400
commitc1ef7b75972fa4fbdf125bc85cc1a66f358151cd (patch)
treebcf71939ec5573ed5001c4a4b4342d26e5d8f9b1 /macros/scripts/maps.asm
parentImproved Virtual Console patch identifiers (#85) (diff)
downloadpokeyellow-c1ef7b75972fa4fbdf125bc85cc1a66f358151cd.tar.gz
pokeyellow-c1ef7b75972fa4fbdf125bc85cc1a66f358151cd.tar.xz
pokeyellow-c1ef7b75972fa4fbdf125bc85cc1a66f358151cd.zip
RGBDS syntax updates (#86)
New MACRO and DEF syntax
Diffstat (limited to 'macros/scripts/maps.asm')
-rw-r--r--macros/scripts/maps.asm172
1 files changed, 86 insertions, 86 deletions
diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm
index bae8fd07..5c1a8ad5 100644
--- a/macros/scripts/maps.asm
+++ b/macros/scripts/maps.asm
@@ -1,7 +1,7 @@
-def_object_events: MACRO
-REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
+MACRO def_object_events
+ REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
db {_NUM_OBJECT_EVENTS}
-{_NUM_OBJECT_EVENTS} = 0
+ DEF {_NUM_OBJECT_EVENTS} = 0
ENDM
;\1 x position
@@ -13,7 +13,7 @@ ENDM
;\7 items only: item id
;\7 trainers only: trainer class/pokemon id
;\8 trainers only: trainer number/pokemon level
-object_event: MACRO
+MACRO object_event
db \3
db \2 + 4
db \1 + 4
@@ -29,42 +29,42 @@ object_event: MACRO
ELSE
db \6
ENDC
-{_NUM_OBJECT_EVENTS} += 1
+ DEF {_NUM_OBJECT_EVENTS} += 1
ENDM
-def_warp_events: MACRO
-REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
+MACRO def_warp_events
+ REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
db {_NUM_WARP_EVENTS}
-{_NUM_WARP_EVENTS} = 0
+ DEF {_NUM_WARP_EVENTS} = 0
ENDM
;\1 x position
;\2 y position
;\3 destination map (-1 = wLastMap)
;\4 destination warp id; starts at 1 (internally at 0)
-warp_event: MACRO
+MACRO warp_event
db \2, \1, \4 - 1, \3
-_WARP_{d:{_NUM_WARP_EVENTS}}_X = \1
-_WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2
-{_NUM_WARP_EVENTS} += 1
+ DEF _WARP_{d:{_NUM_WARP_EVENTS}}_X = \1
+ DEF _WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2
+ DEF {_NUM_WARP_EVENTS} += 1
ENDM
-def_bg_events: MACRO
-REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
+MACRO def_bg_events
+ REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
db {_NUM_BG_EVENTS}
-{_NUM_BG_EVENTS} = 0
+ DEF {_NUM_BG_EVENTS} = 0
ENDM
;\1 x position
;\2 y position
;\3 sign id
-bg_event: MACRO
+MACRO bg_event
db \2, \1, \3
-{_NUM_BG_EVENTS} += 1
+ DEF {_NUM_BG_EVENTS} += 1
ENDM
;\1 source map
-def_warps_to: MACRO
+MACRO def_warps_to
FOR n, _NUM_WARP_EVENTS
warp_to _WARP_{d:n}_X, _WARP_{d:n}_Y, \1_WIDTH
ENDR
@@ -73,18 +73,18 @@ ENDM
;\1 x position
;\2 y position
;\3 map width
-warp_to: MACRO
+MACRO warp_to
event_displacement \3, \1, \2
ENDM
;\1 first bit offset / first object id
-def_trainers: MACRO
-IF _NARG == 1
-CURRENT_TRAINER_BIT = \1
-ELSE
-CURRENT_TRAINER_BIT = 1
-ENDC
+MACRO def_trainers
+ IF _NARG == 1
+ DEF CURRENT_TRAINER_BIT = \1
+ ELSE
+ DEF CURRENT_TRAINER_BIT = 1
+ ENDC
ENDM
;\1 event flag
@@ -92,22 +92,22 @@ ENDM
;\3 TextBeforeBattle
;\4 TextAfterBattle
;\5 TextEndBattle
-trainer: MACRO
-_ev_bit = \1 % 8
-_cur_bit = CURRENT_TRAINER_BIT % 8
+MACRO trainer
+ DEF _ev_bit = \1 % 8
+ DEF _cur_bit = CURRENT_TRAINER_BIT % 8
ASSERT _ev_bit == _cur_bit, \
"Expected \1 to be bit {d:_cur_bit}, got {d:_ev_bit}"
db CURRENT_TRAINER_BIT
db \2 << 4
dw wEventFlags + (\1 - CURRENT_TRAINER_BIT) / 8
dw \3, \5, \4, \4
-CURRENT_TRAINER_BIT += 1
+ DEF CURRENT_TRAINER_BIT += 1
ENDM
;\1 x position
;\2 y position
;\3 movement data
-map_coord_movement: MACRO
+MACRO map_coord_movement
dbmapcoord \1, \2
dw \3
ENDM
@@ -117,10 +117,10 @@ ENDM
;\2 map id
;\3 tileset
;\4 connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
-map_header: MACRO
-CURRENT_MAP_WIDTH = \2_WIDTH
-CURRENT_MAP_HEIGHT = \2_HEIGHT
-CURRENT_MAP_OBJECT EQUS "\1_Object"
+MACRO map_header
+ DEF CURRENT_MAP_WIDTH = \2_WIDTH
+ DEF CURRENT_MAP_HEIGHT = \2_HEIGHT
+ DEF CURRENT_MAP_OBJECT EQUS "\1_Object"
\1_h::
db \3
db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH
@@ -131,7 +131,7 @@ CURRENT_MAP_OBJECT EQUS "\1_Object"
ENDM
; Comes after map_header and connection macros
-end_map_header: MACRO
+MACRO end_map_header
dw {CURRENT_MAP_OBJECT}
PURGE CURRENT_MAP_WIDTH, CURRENT_MAP_HEIGHT, CURRENT_MAP_OBJECT
ENDM
@@ -142,63 +142,63 @@ ENDM
;\3 map id
;\4 offset of the target map relative to the current map
; (x offset for east/west, y offset for north/south)
-connection: MACRO
+MACRO connection
-; Calculate tile offsets for source (current) and target maps
-_src = 0
-_tgt = (\4) + 3
-IF _tgt < 2
-_src = -_tgt
-_tgt = 0
-ENDC
+ ; Calculate tile offsets for source (current) and target maps
+ DEF _src = 0
+ DEF _tgt = (\4) + 3
+ IF _tgt < 2
+ DEF _src = -_tgt
+ DEF _tgt = 0
+ ENDC
-IF !STRCMP("\1", "north")
-_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src
-_map = _tgt
-_win = (\3_WIDTH + 6) * \3_HEIGHT + 1
-_y = \3_HEIGHT * 2 - 1
-_x = (\4) * -2
-_len = CURRENT_MAP_WIDTH + 3 - (\4)
-IF _len > \3_WIDTH
-_len = \3_WIDTH
-ENDC
+ IF !STRCMP("\1", "north")
+ DEF _blk = \3_WIDTH * (\3_HEIGHT - 3) + _src
+ DEF _map = _tgt
+ DEF _win = (\3_WIDTH + 6) * \3_HEIGHT + 1
+ DEF _y = \3_HEIGHT * 2 - 1
+ DEF _x = (\4) * -2
+ DEF _len = CURRENT_MAP_WIDTH + 3 - (\4)
+ IF _len > \3_WIDTH
+ DEF _len = \3_WIDTH
+ ENDC
-ELIF !STRCMP("\1", "south")
-_blk = _src
-_map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt
-_win = \3_WIDTH + 7
-_y = 0
-_x = (\4) * -2
-_len = CURRENT_MAP_WIDTH + 3 - (\4)
-IF _len > \3_WIDTH
-_len = \3_WIDTH
-ENDC
+ ELIF !STRCMP("\1", "south")
+ DEF _blk = _src
+ DEF _map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt
+ DEF _win = \3_WIDTH + 7
+ DEF _y = 0
+ DEF _x = (\4) * -2
+ DEF _len = CURRENT_MAP_WIDTH + 3 - (\4)
+ IF _len > \3_WIDTH
+ DEF _len = \3_WIDTH
+ ENDC
-ELIF !STRCMP("\1", "west")
-_blk = (\3_WIDTH * _src) + \3_WIDTH - 3
-_map = (CURRENT_MAP_WIDTH + 6) * _tgt
-_win = (\3_WIDTH + 6) * 2 - 6
-_y = (\4) * -2
-_x = \3_WIDTH * 2 - 1
-_len = CURRENT_MAP_HEIGHT + 3 - (\4)
-IF _len > \3_HEIGHT
-_len = \3_HEIGHT
-ENDC
+ ELIF !STRCMP("\1", "west")
+ DEF _blk = (\3_WIDTH * _src) + \3_WIDTH - 3
+ DEF _map = (CURRENT_MAP_WIDTH + 6) * _tgt
+ DEF _win = (\3_WIDTH + 6) * 2 - 6
+ DEF _y = (\4) * -2
+ DEF _x = \3_WIDTH * 2 - 1
+ DEF _len = CURRENT_MAP_HEIGHT + 3 - (\4)
+ IF _len > \3_HEIGHT
+ DEF _len = \3_HEIGHT
+ ENDC
-ELIF !STRCMP("\1", "east")
-_blk = (\3_WIDTH * _src)
-_map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3
-_win = \3_WIDTH + 7
-_y = (\4) * -2
-_x = 0
-_len = CURRENT_MAP_HEIGHT + 3 - (\4)
-IF _len > \3_HEIGHT
-_len = \3_HEIGHT
-ENDC
+ ELIF !STRCMP("\1", "east")
+ DEF _blk = (\3_WIDTH * _src)
+ DEF _map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3
+ DEF _win = \3_WIDTH + 7
+ DEF _y = (\4) * -2
+ DEF _x = 0
+ DEF _len = CURRENT_MAP_HEIGHT + 3 - (\4)
+ IF _len > \3_HEIGHT
+ DEF _len = \3_HEIGHT
+ ENDC
-ELSE
-fail "Invalid direction for 'connection'."
-ENDC
+ ELSE
+ fail "Invalid direction for 'connection'."
+ ENDC
db \3
dw \2_Blocks + _blk