diff options
author | Diegoisawesome <Diegoisawesome@users.noreply.github.com> | 2018-12-23 11:17:30 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-23 11:17:30 -0600 |
commit | 81b38c00e4933f2dea6fbd2e80ae13692a19fa66 (patch) | |
tree | 3b33bed743d14b14e855dcb51ac6eb5bc8326a22 /asm | |
parent | e874267edb6617759e239da0fb5cb884867aec6d (diff) | |
parent | 55005f1588fed924bb86c420458371bf99a88e0e (diff) |
Merge pull request #466 from melthelesbian/compare_macros
improve compare macros
Diffstat (limited to 'asm')
-rw-r--r-- | asm/macros/event.inc | 68 |
1 files changed, 66 insertions, 2 deletions
diff --git a/asm/macros/event.inc b/asm/macros/event.inc index c815f3753..ba851d70a 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1557,17 +1557,81 @@ @ Supplementary - .macro goto_eq dest:req + .macro goto_if_unset flag:req, dest:req + checkflag \flag + goto_if 0, \dest + .endm + + .macro goto_if_set flag:req, dest:req + checkflag \flag + goto_if 1, \dest + .endm + + .macro goto_if_lt dest:req @ LESS THAN + goto_if 0, \dest + .endm + + .macro goto_if_eq dest:req @ EQUAL goto_if 1, \dest .endm + .macro goto_if_gt dest:req @ GREATER THAN + goto_if 2, \dest + .endm + + .macro goto_if_le dest:req @ LESS THAN OR EQUAL + goto_if 3, \dest + .endm + + .macro goto_if_ge dest:req @ GREATER THAN OR EQUAL + goto_if 4, \dest + .endm + + .macro goto_if_ne dest:req @ NOT EQUAL + goto_if 5, \dest + .endm + + .macro call_if_unset flag:req, dest:req + checkflag \flag + call_if 0, \dest + .endm + + .macro call_if_set flag:req, dest:req + checkflag \flag + call_if 1, \dest + .endm + + .macro call_if_lt dest:req @ LESS THAN + call_if 0, \dest + .endm + + .macro call_if_eq dest:req @ EQUAL + call_if 1, \dest + .endm + + .macro call_if_gt dest:req @ GREATER THAN + call_if 2, \dest + .endm + + .macro call_if_le dest:req @ LESS THAN OR EQUAL + call_if 3, \dest + .endm + + .macro call_if_ge dest:req @ GREATER THAN OR EQUAL + call_if 4, \dest + .endm + + .macro call_if_ne dest:req @ NOT EQUAL + call_if 5, \dest + .endm + .macro switch var:req copyvar 0x8000, \var .endm .macro case condition:req, dest:req compare 0x8000, \condition - goto_eq \dest + goto_if_eq \dest .endm @ Message box types |