summaryrefslogtreecommitdiff
path: root/asm/macros
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-01-05 11:36:47 -0800
committerMarcus Huderle <huderlem@gmail.com>2018-01-05 11:36:47 -0800
commitaed64560bc222e4ea5ccec266c0d77859a05eaac (patch)
treeecdbc1f85cf112f24207adb27b63b93d1e503edf /asm/macros
parentf5fbe5b66226f4e7e38fe5d4638831d1ce19b36b (diff)
Add friendly macros for goto_if and call_if variants
Diffstat (limited to 'asm/macros')
-rw-r--r--asm/macros/event.inc66
1 files changed, 65 insertions, 1 deletions
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index cf4c9628a..b29af7a04 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -1361,10 +1361,74 @@
@ Supplementary
- .macro goto_if_eq dest
+ .macro goto_if_unset flag, dest
+ checkflag \flag
+ goto_if 0, \dest
+ .endm
+
+ .macro goto_if_set flag, dest
+ checkflag \flag
+ goto_if 1, \dest
+ .endm
+
+ .macro goto_if_lt dest @ LESS THAN
+ goto_if 0, \dest
+ .endm
+
+ .macro goto_if_eq dest @ EQUAL
goto_if 1, \dest
.endm
+ .macro goto_if_gt dest @ GREATER THAN
+ goto_if 2, \dest
+ .endm
+
+ .macro goto_if_le dest @ LESS THAN OR EQUAL
+ goto_if 3, \dest
+ .endm
+
+ .macro goto_if_ge dest @ GREATER THAN OR EQUAL
+ goto_if 4, \dest
+ .endm
+
+ .macro goto_if_ne dest @ NOT EQUAL
+ goto_if 5, \dest
+ .endm
+
+ .macro call_if_unset flag, dest
+ checkflag \flag
+ call_if 0, \dest
+ .endm
+
+ .macro call_if_set flag, dest
+ checkflag \flag
+ call_if 1, \dest
+ .endm
+
+ .macro call_if_lt dest @ LESS THAN
+ call_if 0, \dest
+ .endm
+
+ .macro call_if_eq dest @ EQUAL
+ call_if 1, \dest
+ .endm
+
+ .macro call_if_gt dest @ GREATER THAN
+ call_if 2, \dest
+ .endm
+
+ .macro call_if_le dest @ LESS THAN OR EQUAL
+ call_if 3, \dest
+ .endm
+
+ .macro call_if_ge dest @ GREATER THAN OR EQUAL
+ call_if 4, \dest
+ .endm
+
+ .macro call_if_ne dest @ NOT EQUAL
+ call_if 5, \dest
+ .endm
+
.macro switch var
copyvar VAR_SPECIAL_0, \var
.endm