summaryrefslogtreecommitdiff
path: root/macros/basestats.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2015-07-20 23:05:28 -0700
committeryenatch <yenatch@gmail.com>2015-07-20 23:05:28 -0700
commit973721491c38aa3014f5b28982227a618d2f6b59 (patch)
treee01415064e6da53a471d75b2eb0113846650322b /macros/basestats.asm
parenta3c6931fa8edd09fcea678fd8d2e9988951380de (diff)
parent0b5471f385d3cc66bb4ae7aa4191ce3af9f50cac (diff)
Merge remote-tracking branch 'kanzure/master' into gfx-script
Diffstat (limited to 'macros/basestats.asm')
-rw-r--r--macros/basestats.asm66
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