pokecrystal/macros/basestats.asm

67 lines
749 B
NASM

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