summaryrefslogtreecommitdiff
path: root/macros/basestats.asm
blob: 25ffcc02b4df66f0dfb6e3a45eb1960518d9db53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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