diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2015-12-10 22:26:31 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-12-10 22:26:31 -0500 |
commit | b9870541d4b6132f28bfaf3db168e6524bbb7b61 (patch) | |
tree | 8e99bcb1ef5a35f8208ef094acc99d7687232aac /macros.asm | |
parent | a5a8364c35eceadf51956dac4212b440290b652c (diff) |
slot machines
Diffstat (limited to 'macros.asm')
-rw-r--r-- | macros.asm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/macros.asm b/macros.asm index b6c209a38..96d35b27b 100644 --- a/macros.asm +++ b/macros.asm @@ -247,5 +247,37 @@ palgreen EQUS "$0020 *" palblue EQUS "$0001 *" dsprite: MACRO +; conditional segment is there because not every instance of +; this macro is directly OAM +if _NARG == 7 ; y tile, y pxl, x tile, x pxl, vtile offset, flags, palette + db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, (\6 << 3) + (\7 & 7) +else db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6 +endc +endm + +jumptable_start: MACRO +if _NARG == 0 +__far = 0 +else +__far = \1 ; 0: dw | 1: dba | 2: dab +endc + enum_start +endm + +jumptable: MACRO +if DEF(\1JumptableIndex) +__enum__ = __enum__ + 1 +else + enum \1JumptableIndex +endc +if __far == 0 + dw \1 +else +if __far == 1 + dba \1 +else + dab \1 +endc +endc endm |