summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--macros/scripts/maps.asm28
1 files changed, 12 insertions, 16 deletions
diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm
index f5f913a2..a85d8fe6 100644
--- a/macros/scripts/maps.asm
+++ b/macros/scripts/maps.asm
@@ -42,10 +42,6 @@ def_warps: MACRO
_NUM_WARPS EQUS "_NUM_WARPS_\@"
db _NUM_WARPS
_NUM_WARPS = 0
- IF DEF(_WARP_TO_BUFFER)
- PURGE _WARP_TO_BUFFER
- ENDC
-_WARP_TO_BUFFER EQUS ""
ENDM
;\1 x position
@@ -55,10 +51,9 @@ ENDM
warp: MACRO
db \2, \1, \3, \4
_NUM_WARPS = _NUM_WARPS + 1
-_TMP EQUS "{_WARP_TO_BUFFER}\1,\2; "
- PURGE _WARP_TO_BUFFER
-_WARP_TO_BUFFER EQUS "{_TMP}"
- PURGE _TMP
+_WARP_TO_NAME EQUS "_WARP_TO_NUM_{d:{_NUM_WARPS}}"
+_WARP_TO_NAME EQUS "warp_to \1, \2, _WARP_TO_WIDTH"
+ PURGE _WARP_TO_NAME
ENDM
def_signs: MACRO
@@ -78,17 +73,18 @@ sign: MACRO
_NUM_SIGNS = _NUM_SIGNS + 1
ENDM
+;\1 source map
def_warps_to: MACRO
_WARP_TO_WIDTH = \1_WIDTH
+_WARP_TO_N = 1
REPT _NUM_WARPS
-_SEP = STRIN("{_WARP_TO_BUFFER}", ";")
-_WARP_TO_NTH EQUS STRCAT(STRCAT("warp_to ", STRSUB("{_WARP_TO_BUFFER}", 1, _SEP - 1)), ", _WARP_TO_WIDTH")
-_TMP EQUS STRSUB("{_WARP_TO_BUFFER}", _SEP + 1, STRLEN("{_WARP_TO_BUFFER}") - _SEP)
- PURGE _WARP_TO_BUFFER
-_WARP_TO_BUFFER EQUS "{_TMP}"
- PURGE _TMP
- _WARP_TO_NTH
- PURGE _WARP_TO_NTH
+_WARP_TO_NAME EQUS "_WARP_TO_NUM_{d:_WARP_TO_N}"
+ _WARP_TO_NAME
+_WARP_TO_N = _WARP_TO_N + 1
+_PURGE_WARP_TO_NUM EQUS "PURGE {_WARP_TO_NAME}"
+ _PURGE_WARP_TO_NUM
+ PURGE _PURGE_WARP_TO_NUM
+ PURGE _WARP_TO_NAME
ENDR
ENDM