diff options
Diffstat (limited to 'macros')
-rw-r--r-- | macros/asserts.asm | 8 | ||||
-rw-r--r-- | macros/const.asm | 10 | ||||
-rw-r--r-- | macros/data.asm | 31 | ||||
-rw-r--r-- | macros/scripts/events.asm | 12 | ||||
-rw-r--r-- | macros/scripts/gfx_anims.asm | 2 | ||||
-rw-r--r-- | macros/scripts/maps.asm | 8 |
6 files changed, 40 insertions, 31 deletions
diff --git a/macros/asserts.asm b/macros/asserts.asm index 946add28..df2cdcd4 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -29,7 +29,7 @@ ENDM li: MACRO ASSERT !STRIN(\1, "@"), STRCAT("String terminator \"@\" in list entry: ", \1) db \1, "@" -list_index = list_index + 1 +list_index += 1 ENDM assert_list_length: MACRO @@ -52,7 +52,7 @@ ENDM nybble: MACRO ASSERT 0 <= (\1) && (\1) < $10, "nybbles must be 0-15" CURRENT_NYBBLE_ARRAY_VALUE = (\1) | (CURRENT_NYBBLE_ARRAY_VALUE << 4) -CURRENT_NYBBLE_ARRAY_LENGTH = CURRENT_NYBBLE_ARRAY_LENGTH + 1 +CURRENT_NYBBLE_ARRAY_LENGTH += 1 IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 == 0 db CURRENT_NYBBLE_ARRAY_VALUE CURRENT_NYBBLE_ARRAY_VALUE = 0 @@ -86,8 +86,8 @@ ENDM dbit: MACRO ASSERT (\1) == 0 || (\1) == 1, "bits must be 0 or 1" -CURRENT_BIT_ARRAY_VALUE = CURRENT_BIT_ARRAY_VALUE | ((\1) << (CURRENT_BIT_ARRAY_LENGTH % 8)) -CURRENT_BIT_ARRAY_LENGTH = CURRENT_BIT_ARRAY_LENGTH + 1 +CURRENT_BIT_ARRAY_VALUE |= (\1) << (CURRENT_BIT_ARRAY_LENGTH % 8) +CURRENT_BIT_ARRAY_LENGTH += 1 IF CURRENT_BIT_ARRAY_LENGTH % 8 == 0 db CURRENT_BIT_ARRAY_VALUE CURRENT_BIT_ARRAY_VALUE = 0 diff --git a/macros/const.asm b/macros/const.asm index 3df9ecd8..afbde7bc 100644 --- a/macros/const.asm +++ b/macros/const.asm @@ -15,19 +15,19 @@ ENDM const: MACRO \1 EQU const_value -const_value = const_value + const_inc +const_value += const_inc ENDM shift_const: MACRO -\1 EQU (1 << const_value) -const_value = const_value + const_inc +\1 EQU 1 << const_value +const_value += const_inc ENDM const_skip: MACRO if _NARG >= 1 -const_value = const_value + const_inc * (\1) +const_value += const_inc * (\1) else -const_value = const_value + const_inc +const_value += const_inc endc ENDM diff --git a/macros/data.asm b/macros/data.asm index 9d8a4406..58e8f740 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -24,7 +24,7 @@ REPT _NARG IF DEF(\1_TMNUM) n = (\1_TMNUM - 1) / 8 i = (\1_TMNUM - 1) % 8 -_tm{d:n} = _tm{d:n} | (1 << i) +_tm{d:n} |= 1 << i ELSE FAIL "\1 is not a TM or HM move" ENDC @@ -39,26 +39,35 @@ ENDM ; Constant data (db, dw, dl) macros -dn: MACRO ; nybbles - db (\1 << 4 | \2) -ENDM - dbw: MACRO db \1 dw \2 ENDM -dba: MACRO - dbw BANK(\1), \1 -ENDM - dwb: MACRO dw \1 db \2 ENDM -dab: MACRO +dn: MACRO ; nybbles +REPT _NARG / 2 + db ((\1) << 4) | (\2) + SHIFT 2 +ENDR +ENDM + +dba: MACRO ; dbw bank, address +REPT _NARG + dbw BANK(\1), \1 + SHIFT +ENDR +ENDM + +dab: MACRO ; dwb address, bank +REPT _NARG dwb \1, BANK(\1) + SHIFT +ENDR ENDM sine_table: MACRO @@ -66,6 +75,6 @@ sine_table: MACRO x = 0 REPT \1 dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up -x = x + DIV(32768, \1) ; a circle has 65536 "degrees" +x += DIV(32768, \1) ; a circle has 65536 "degrees" ENDR ENDM diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index a5f7113d..81404ade 100644 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -292,8 +292,8 @@ event_fill_start = event_start_byte + 1 event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start = event_fill_start - 1 -event_fill_count = event_fill_count + 1 +event_fill_start -= 1 +event_fill_count += 1 ELSE ld a, [wEventFlags + event_start_byte] or $ff - ((1 << ((\1) % 8)) - 1) @@ -301,7 +301,7 @@ event_fill_count = event_fill_count + 1 ENDC IF ((\2) % 8) == 7 -event_fill_count = event_fill_count + 1 +event_fill_count += 1 ENDC IF event_fill_count == 1 @@ -354,8 +354,8 @@ event_fill_start = event_start_byte + 1 event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start = event_fill_start - 1 -event_fill_count = event_fill_count + 1 +event_fill_start -= 1 +event_fill_count += 1 ELSE ld a, [wEventFlags + event_start_byte] and ~($ff - ((1 << ((\1) % 8)) - 1)) & $ff @@ -363,7 +363,7 @@ event_fill_count = event_fill_count + 1 ENDC IF ((\2) % 8) == 7 -event_fill_count = event_fill_count + 1 +event_fill_count += 1 ENDC IF event_fill_count == 1 diff --git a/macros/scripts/gfx_anims.asm b/macros/scripts/gfx_anims.asm index f475ad8d..9ba1e61c 100644 --- a/macros/scripts/gfx_anims.asm +++ b/macros/scripts/gfx_anims.asm @@ -5,7 +5,7 @@ frame: MACRO x = \2 IF _NARG > 2 REPT _NARG - 2 -x = x | (\3 << 1) +x |= \3 << 1 shift ENDR ENDC diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 12bc3c77..bae8fd07 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -29,7 +29,7 @@ object_event: MACRO ELSE db \6 ENDC -{_NUM_OBJECT_EVENTS} = {_NUM_OBJECT_EVENTS} + 1 +{_NUM_OBJECT_EVENTS} += 1 ENDM def_warp_events: MACRO @@ -46,7 +46,7 @@ warp_event: MACRO db \2, \1, \4 - 1, \3 _WARP_{d:{_NUM_WARP_EVENTS}}_X = \1 _WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2 -{_NUM_WARP_EVENTS} = {_NUM_WARP_EVENTS} + 1 +{_NUM_WARP_EVENTS} += 1 ENDM def_bg_events: MACRO @@ -60,7 +60,7 @@ ENDM ;\3 sign id bg_event: MACRO db \2, \1, \3 -{_NUM_BG_EVENTS} = {_NUM_BG_EVENTS} + 1 +{_NUM_BG_EVENTS} += 1 ENDM ;\1 source map @@ -101,7 +101,7 @@ _cur_bit = CURRENT_TRAINER_BIT % 8 db \2 << 4 dw wEventFlags + (\1 - CURRENT_TRAINER_BIT) / 8 dw \3, \5, \4, \4 -CURRENT_TRAINER_BIT = CURRENT_TRAINER_BIT + 1 +CURRENT_TRAINER_BIT += 1 ENDM ;\1 x position |