diff options
Diffstat (limited to 'macros/scripts/maps.asm')
-rw-r--r-- | macros/scripts/maps.asm | 28 |
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 |