summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2020-07-09 14:51:48 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2020-07-09 14:51:48 -0400
commit3e572b6f48b81e5340980c13b1b37b2907942713 (patch)
treec994a1ca8f587d674e680ec808e7fcbaab4d053d /macros
parent676a35f76f93dfe18678a832fa63d8b684c34c45 (diff)
Use const_skip and const_next macros for brevity
Diffstat (limited to 'macros')
-rw-r--r--macros/const.asm16
-rwxr-xr-xmacros/scripts/text.asm68
2 files changed, 51 insertions, 33 deletions
diff --git a/macros/const.asm b/macros/const.asm
index e0d9fbb8..57380e97 100644
--- a/macros/const.asm
+++ b/macros/const.asm
@@ -22,3 +22,19 @@ shift_const: MACRO
\1 EQU (1 << const_value)
const_value = const_value + const_inc
ENDM
+
+const_skip: MACRO
+if _NARG >= 1
+const_value = const_value + const_inc * (\1)
+else
+const_value = const_value + const_inc
+endc
+ENDM
+
+const_next: MACRO
+if (const_value > 0 && \1 < const_value) || (const_value < 0 && \1 > const_value)
+fail "const_next cannot go backwards from {const_value} to \1"
+else
+const_value = \1
+endc
+ENDM
diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm
index 9cbd9b3b..a947ca2f 100755
--- a/macros/scripts/text.asm
+++ b/macros/scripts/text.asm
@@ -149,7 +149,7 @@ text_far: MACRO
ENDM
- const_def $50
+ const_next $50
const TX_END ; $50
text_end: MACRO
@@ -158,54 +158,56 @@ ENDM
; Text script IDs (see home/text_script.asm)
- const_def $f5
+ const_def -1, -1
- const TX_SCRIPT_VENDING_MACHINE ; $f5
-script_vending_machine: MACRO
- db TX_SCRIPT_VENDING_MACHINE
+ const TX_SCRIPT_POKECENTER_NURSE ; $ff
+script_pokecenter_nurse: MACRO
+ db TX_SCRIPT_POKECENTER_NURSE
ENDM
- const TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ; $f6
-script_cable_club_receptionist: MACRO
- db TX_SCRIPT_CABLE_CLUB_RECEPTIONIST
+ const TX_SCRIPT_MART ; $fe
+script_mart: MACRO
+ db TX_SCRIPT_MART
+ db _NARG ; number of items
+REPT _NARG
+ db \1 ; item id
+ SHIFT
+ENDR
+ db -1 ; end
ENDM
- const TX_SCRIPT_PRIZE_VENDOR ; $f7
-script_prize_vendor: MACRO
- db TX_SCRIPT_PRIZE_VENDOR
+ const TX_SCRIPT_BILLS_PC ; $fd
+script_bills_pc: MACRO
+ db TX_SCRIPT_BILLS_PC
ENDM
- const_def $f9
+ const TX_SCRIPT_PLAYERS_PC ; $fc
+script_players_pc: MACRO
+ db TX_SCRIPT_PLAYERS_PC
+ENDM
+
+ const_skip ; $fb
+
+ const_skip ; $fa
const TX_SCRIPT_POKECENTER_PC ; $f9
script_pokecenter_pc: MACRO
db TX_SCRIPT_POKECENTER_PC
ENDM
- const_def $fc
+ const_skip ; $f8
- const TX_SCRIPT_PLAYERS_PC ; $fc
-script_players_pc: MACRO
- db TX_SCRIPT_PLAYERS_PC
-ENDM
-
- const TX_SCRIPT_BILLS_PC ; $fd
-script_bills_pc: MACRO
- db TX_SCRIPT_BILLS_PC
+ const TX_SCRIPT_PRIZE_VENDOR ; $f7
+script_prize_vendor: MACRO
+ db TX_SCRIPT_PRIZE_VENDOR
ENDM
- const TX_SCRIPT_MART ; $fe
-script_mart: MACRO
- db TX_SCRIPT_MART
- db _NARG ; number of items
-REPT _NARG
- db \1 ; item id
- SHIFT
-ENDR
- db -1 ; end
+ const TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ; $f6
+script_cable_club_receptionist: MACRO
+ db TX_SCRIPT_CABLE_CLUB_RECEPTIONIST
ENDM
- const TX_SCRIPT_POKECENTER_NURSE ; $ff
-script_pokecenter_nurse: MACRO
- db TX_SCRIPT_POKECENTER_NURSE
+ const TX_SCRIPT_VENDING_MACHINE ; $f5
+script_vending_machine: MACRO
+ db TX_SCRIPT_VENDING_MACHINE
ENDM