diff options
Diffstat (limited to 'macros/basestats.asm')
-rw-r--r-- | macros/basestats.asm | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/macros/basestats.asm b/macros/basestats.asm new file mode 100644 index 000000000..25ffcc02b --- /dev/null +++ b/macros/basestats.asm @@ -0,0 +1,66 @@ +define: macro +if !def(\1) +\1 equs \2 +endc +endm + +const_value = 0 + +add_tm: MACRO +if !def(TM01) +TM01 = const_value + enum_start 1 +endc + define _\@_1, "TM_\1" + const _\@_1 + enum \1_TMNUM +ENDM + +add_hm: MACRO +if !def(HM01) +HM01 = const_value +endc + define _\@_1, "HM_\1" + const _\@_1 + enum \1_TMNUM +ENDM + +add_mt: MACRO + enum \1_TMNUM +ENDM + +tmhm: MACRO +x = 0 +y = 0 +w = 0 + rept _NARG + if def(\1_TMNUM) + if \1_TMNUM < 25 +x = x | (1 << ((\1_TMNUM) - 1)) + else + if \1_TMNUM < 49 +y = y | (1 << ((\1_TMNUM) - 1 - 24)) + else +w = w | (1 << ((\1_TMNUM) - 1 - 48)) + endc + endc + else + fail "\1 is not a TM, HM, or move tutor move" + endc + + shift + endr + + rept 3 + db x & $ff +x = x >> 8 + endr + rept 3 + db y & $ff +y = y >> 8 + endr + rept 2 + db w & $ff +w = w >> 8 + endr +ENDM |