summaryrefslogtreecommitdiff
path: root/asm/macros
diff options
context:
space:
mode:
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