summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2021-04-19 16:31:37 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2021-04-19 16:31:37 -0400
commit316fa4b69558a1930a1a1ae44a40221a1ddd4f26 (patch)
tree4706eaec78ee5706e16e944eba4abfe1e7316168 /macros
parent35219230960f0dc85c0cb6a5723877b247609e46 (diff)
Use rgbds 0.5.0
Diffstat (limited to 'macros')
-rw-r--r--macros/asserts.asm48
-rw-r--r--macros/data.asm14
-rw-r--r--macros/scripts/maps.asm69
3 files changed, 45 insertions, 86 deletions
diff --git a/macros/asserts.asm b/macros/asserts.asm
index 04c039ecc..f1c5cfdc1 100644
--- a/macros/asserts.asm
+++ b/macros/asserts.asm
@@ -2,33 +2,27 @@
table_width: MACRO
CURRENT_TABLE_WIDTH = \1
-if DEF(CURRENT_TABLE_START)
-PURGE CURRENT_TABLE_START
-endc
if _NARG == 2
-CURRENT_TABLE_START EQUS "\2"
+REDEF CURRENT_TABLE_START EQUS "\2"
else
-CURRENT_TABLE_START EQUS "._table_width\@"
-CURRENT_TABLE_START:
+REDEF CURRENT_TABLE_START EQUS "._table_width\@"
+{CURRENT_TABLE_START}:
endc
ENDM
assert_table_length: MACRO
x = \1
- assert x * CURRENT_TABLE_WIDTH == @ - CURRENT_TABLE_START, \
+ assert x * CURRENT_TABLE_WIDTH == @ - {CURRENT_TABLE_START}, \
"{CURRENT_TABLE_START}: expected {d:x} entries, each {d:CURRENT_TABLE_WIDTH} bytes"
ENDM
list_start: MACRO
list_index = 0
-if DEF(CURRENT_LIST_START)
-PURGE CURRENT_LIST_START
-endc
if _NARG == 1
-CURRENT_LIST_START EQUS "\1"
+REDEF CURRENT_LIST_START EQUS "\1"
else
-CURRENT_LIST_START EQUS "._list_start\@"
-CURRENT_LIST_START:
+REDEF CURRENT_LIST_START EQUS "._list_start\@"
+{CURRENT_LIST_START}:
endc
ENDM
@@ -46,38 +40,26 @@ ENDM
def_grass_wildmons: MACRO
;\1: map id
-if DEF(CURRENT_GRASS_WILDMONS_MAP)
-PURGE CURRENT_GRASS_WILDMONS_MAP
-endc
-if DEF(CURRENT_GRASS_WILDMONS_LABEL)
-PURGE CURRENT_GRASS_WILDMONS_LABEL
-endc
-CURRENT_GRASS_WILDMONS_MAP EQUS "\1"
-CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1"
-CURRENT_GRASS_WILDMONS_LABEL:
+REDEF CURRENT_GRASS_WILDMONS_MAP EQUS "\1"
+REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1"
+{CURRENT_GRASS_WILDMONS_LABEL}:
map_id \1
ENDM
end_grass_wildmons: MACRO
- assert GRASS_WILDDATA_LENGTH == @ - CURRENT_GRASS_WILDMONS_LABEL, \
+ assert GRASS_WILDDATA_LENGTH == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \
"def_grass_wildmons {CURRENT_GRASS_WILDMONS_MAP}: expected {d:GRASS_WILDDATA_LENGTH} bytes"
ENDM
def_water_wildmons: MACRO
;\1: map id
-if DEF(CURRENT_WATER_WILDMONS_MAP)
-PURGE CURRENT_WATER_WILDMONS_MAP
-endc
-if DEF(CURRENT_WATER_WILDMONS_LABEL)
-PURGE CURRENT_WATER_WILDMONS_LABEL
-endc
-CURRENT_WATER_WILDMONS_MAP EQUS "\1"
-CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1"
-CURRENT_WATER_WILDMONS_LABEL:
+REDEF CURRENT_WATER_WILDMONS_MAP EQUS "\1"
+REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1"
+{CURRENT_WATER_WILDMONS_LABEL}:
map_id \1
ENDM
end_water_wildmons: MACRO
- assert WATER_WILDDATA_LENGTH == @ - CURRENT_WATER_WILDMONS_LABEL, \
+ assert WATER_WILDDATA_LENGTH == @ - {CURRENT_WATER_WILDMONS_LABEL}, \
"def_water_wildmons {CURRENT_WATER_WILDMONS_MAP}: expected {d:WATER_WILDDATA_LENGTH} bytes"
ENDM
diff --git a/macros/data.asm b/macros/data.asm
index 3e1177f78..1970c8c3c 100644
--- a/macros/data.asm
+++ b/macros/data.asm
@@ -70,24 +70,16 @@ rept _NARG / 4
endr
ENDM
-dx: MACRO
-x = 8 * ((\1) - 1)
-rept \1
- db ((\2) >> x) & $ff
-x = x - 8
-endr
-ENDM
-
dt: MACRO ; three-byte (big-endian)
- dx 3, \1
+ db LOW((\1) >> 16), HIGH(\1), LOW(\1)
ENDM
dd: MACRO ; four-byte (big-endian)
- dx 4, \1
+ db HIGH((\1) >> 16), LOW((\1) >> 16), HIGH(\1), LOW(\1)
ENDM
bigdw: MACRO ; big-endian word
- dx 2, \1 ; db HIGH(\1), LOW(\1)
+ db HIGH(\1), LOW(\1)
ENDM
dba: MACRO ; dbw bank, address
diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm
index a30e0c06a..fc6d201b6 100644
--- a/macros/scripts/maps.asm
+++ b/macros/scripts/maps.asm
@@ -8,44 +8,35 @@ ENDM
object_const_def EQUS "const_def 2"
def_scene_scripts: MACRO
-if DEF(_NUM_SCENE_SCRIPTS)
- PURGE _NUM_SCENE_SCRIPTS
-endc
-_NUM_SCENE_SCRIPTS EQUS "_NUM_SCENE_SCRIPTS_\@"
- db _NUM_SCENE_SCRIPTS
-_NUM_SCENE_SCRIPTS = 0
+REDEF _NUM_SCENE_SCRIPTS EQUS "_NUM_SCENE_SCRIPTS_\@"
+ db {_NUM_SCENE_SCRIPTS}
+{_NUM_SCENE_SCRIPTS} = 0
ENDM
scene_script: MACRO
;\1: script pointer
dw \1
dw 0 ; filler
-_NUM_SCENE_SCRIPTS = _NUM_SCENE_SCRIPTS + 1
+{_NUM_SCENE_SCRIPTS} = {_NUM_SCENE_SCRIPTS} + 1
ENDM
def_callbacks: MACRO
-if DEF(_NUM_CALLBACKS)
- PURGE _NUM_CALLBACKS
-endc
-_NUM_CALLBACKS EQUS "_NUM_CALLBACKS_\@"
- db _NUM_CALLBACKS
-_NUM_CALLBACKS = 0
+REDEF _NUM_CALLBACKS EQUS "_NUM_CALLBACKS_\@"
+ db {_NUM_CALLBACKS}
+{_NUM_CALLBACKS} = 0
ENDM
callback: MACRO
;\1: type: a MAPCALLBACK_* constant
;\2: script pointer
dbw \1, \2
-_NUM_CALLBACKS = _NUM_CALLBACKS + 1
+{_NUM_CALLBACKS} = {_NUM_CALLBACKS} + 1
ENDM
def_warp_events: MACRO
-if DEF(_NUM_WARP_EVENTS)
- PURGE _NUM_WARP_EVENTS
-endc
-_NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
- db _NUM_WARP_EVENTS
-_NUM_WARP_EVENTS = 0
+REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
+ db {_NUM_WARP_EVENTS}
+{_NUM_WARP_EVENTS} = 0
ENDM
warp_event: MACRO
@@ -55,16 +46,13 @@ warp_event: MACRO
;\4: warp destination: starts at 1
db \2, \1, \4
map_id \3
-_NUM_WARP_EVENTS = _NUM_WARP_EVENTS + 1
+{_NUM_WARP_EVENTS} = {_NUM_WARP_EVENTS} + 1
ENDM
def_coord_events: MACRO
-if DEF(_NUM_COORD_EVENTS)
- PURGE _NUM_COORD_EVENTS
-endc
-_NUM_COORD_EVENTS EQUS "_NUM_COORD_EVENTS_\@"
- db _NUM_COORD_EVENTS
-_NUM_COORD_EVENTS = 0
+REDEF _NUM_COORD_EVENTS EQUS "_NUM_COORD_EVENTS_\@"
+ db {_NUM_COORD_EVENTS}
+{_NUM_COORD_EVENTS} = 0
ENDM
coord_event: MACRO
@@ -76,16 +64,13 @@ coord_event: MACRO
db 0 ; filler
dw \4
dw 0 ; filler
-_NUM_COORD_EVENTS = _NUM_COORD_EVENTS + 1
+{_NUM_COORD_EVENTS} = {_NUM_COORD_EVENTS} + 1
ENDM
def_bg_events: MACRO
-if DEF(_NUM_BG_EVENTS)
- PURGE _NUM_BG_EVENTS
-endc
-_NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
- db _NUM_BG_EVENTS
-_NUM_BG_EVENTS = 0
+REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
+ db {_NUM_BG_EVENTS}
+{_NUM_BG_EVENTS} = 0
ENDM
bg_event: MACRO
@@ -95,16 +80,13 @@ bg_event: MACRO
;\4: script pointer
db \2, \1, \3
dw \4
-_NUM_BG_EVENTS = _NUM_BG_EVENTS + 1
+{_NUM_BG_EVENTS} = {_NUM_BG_EVENTS} + 1
ENDM
def_object_events: MACRO
-if DEF(_NUM_OBJECT_EVENTS)
- PURGE _NUM_OBJECT_EVENTS
-endc
-_NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
- db _NUM_OBJECT_EVENTS
-_NUM_OBJECT_EVENTS = 0
+REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
+ db {_NUM_OBJECT_EVENTS}
+{_NUM_OBJECT_EVENTS} = 0
ENDM
object_event: MACRO
@@ -135,7 +117,10 @@ object_event: MACRO
dw \9
shift
dw \9
-_NUM_OBJECT_EVENTS = _NUM_OBJECT_EVENTS + 1
+; the dummy PlayerObjectTemplate object_event has no def_object_events
+if DEF(_NUM_OBJECT_EVENTS)
+{_NUM_OBJECT_EVENTS} = {_NUM_OBJECT_EVENTS} + 1
+endc
ENDM
trainer: MACRO