2015-04-14 04:30:51 +00:00
|
|
|
INCLUDE "macros/enum.asm"
|
2015-06-30 02:24:45 +00:00
|
|
|
INCLUDE "macros/basestats.asm"
|
2015-04-14 04:30:51 +00:00
|
|
|
|
2015-01-20 08:01:23 +00:00
|
|
|
INCLUDE "macros/event.asm"
|
|
|
|
INCLUDE "macros/sound.asm"
|
|
|
|
INCLUDE "macros/text.asm"
|
|
|
|
INCLUDE "macros/charmap.asm"
|
|
|
|
INCLUDE "macros/move_effect.asm"
|
|
|
|
INCLUDE "macros/move_anim.asm"
|
|
|
|
INCLUDE "macros/movement.asm"
|
|
|
|
INCLUDE "macros/map.asm"
|
2015-03-03 22:19:27 +00:00
|
|
|
INCLUDE "macros/pic.asm"
|
2015-01-20 22:26:16 +00:00
|
|
|
INCLUDE "macros/predef.asm"
|
|
|
|
INCLUDE "macros/rst.asm"
|
2015-01-27 23:03:14 +00:00
|
|
|
INCLUDE "macros/mobile.asm"
|
2015-07-16 22:10:10 +00:00
|
|
|
INCLUDE "macros/trainer.asm"
|
2015-01-27 23:03:14 +00:00
|
|
|
|
2015-01-20 08:01:23 +00:00
|
|
|
|
2014-03-06 03:49:09 +00:00
|
|
|
|
2015-01-20 22:10:55 +00:00
|
|
|
RGB: MACRO
|
|
|
|
dw ((\3) << 10) + ((\2) << 5) + (\1)
|
|
|
|
ENDM
|
2013-09-03 22:22:26 +00:00
|
|
|
|
2014-02-02 21:13:23 +00:00
|
|
|
|
2014-06-11 06:03:21 +00:00
|
|
|
percent EQUS "* $ff / 100"
|
|
|
|
|
2014-02-02 22:12:04 +00:00
|
|
|
|
2013-09-03 22:22:26 +00:00
|
|
|
dwb: MACRO
|
|
|
|
dw \1
|
|
|
|
db \2
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
dbw: MACRO
|
|
|
|
db \1
|
|
|
|
dw \2
|
|
|
|
ENDM
|
|
|
|
|
2014-03-03 10:28:53 +00:00
|
|
|
dbbw: MACRO
|
|
|
|
db \1, \2
|
|
|
|
dw \3
|
|
|
|
ENDM
|
|
|
|
|
2015-07-20 07:51:52 +00:00
|
|
|
dbww: MACRO
|
|
|
|
db \1
|
|
|
|
dw \2, \3
|
|
|
|
ENDM
|
|
|
|
|
2015-01-02 04:59:08 +00:00
|
|
|
dbwww: MACRO
|
|
|
|
db \1
|
|
|
|
dw \2, \3, \4
|
|
|
|
ENDM
|
|
|
|
|
2013-09-03 22:22:26 +00:00
|
|
|
dn: MACRO
|
2015-01-20 22:10:55 +00:00
|
|
|
rept _NARG / 2
|
2014-08-15 06:43:41 +00:00
|
|
|
db (\1) << 4 + (\2)
|
2015-01-20 22:10:55 +00:00
|
|
|
shift
|
|
|
|
shift
|
|
|
|
endr
|
2013-09-03 22:22:26 +00:00
|
|
|
ENDM
|
|
|
|
|
2015-01-27 23:03:14 +00:00
|
|
|
dx: MACRO
|
|
|
|
x = 8 * ((\1) - 1)
|
|
|
|
rept \1
|
|
|
|
db ((\2) >> x) & $ff
|
|
|
|
x = x + -8
|
|
|
|
endr
|
|
|
|
ENDM
|
|
|
|
|
2013-09-03 22:22:26 +00:00
|
|
|
dt: MACRO ; three-byte (big-endian)
|
2015-01-27 23:03:14 +00:00
|
|
|
dx 3, \1
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
dd: MACRO ; four-byte (big-endian)
|
|
|
|
dx 4, \1
|
2013-09-03 22:22:26 +00:00
|
|
|
ENDM
|
|
|
|
|
|
|
|
bigdw: MACRO ; big-endian word
|
2015-01-27 23:03:14 +00:00
|
|
|
dx 2, \1
|
2013-09-03 22:22:26 +00:00
|
|
|
ENDM
|
|
|
|
|
2015-01-20 22:10:55 +00:00
|
|
|
|
|
|
|
lb: MACRO ; r, hi, lo
|
|
|
|
ld \1, (\2) << 8 + (\3)
|
2013-09-03 22:22:26 +00:00
|
|
|
ENDM
|
|
|
|
|
2015-01-20 22:26:16 +00:00
|
|
|
|
2015-02-08 08:03:32 +00:00
|
|
|
bccoord equs "coord bc,"
|
|
|
|
decoord equs "coord de,"
|
|
|
|
hlcoord equs "coord hl,"
|
2013-11-24 09:06:37 +00:00
|
|
|
|
2015-01-20 22:10:55 +00:00
|
|
|
coord: MACRO
|
2015-02-08 08:03:32 +00:00
|
|
|
if _NARG < 4
|
2015-01-20 22:10:55 +00:00
|
|
|
ld \1, TileMap + SCREEN_WIDTH * (\3) + (\2)
|
2015-02-08 08:03:32 +00:00
|
|
|
else
|
|
|
|
ld \1, \4 + SCREEN_WIDTH * (\3) + (\2)
|
|
|
|
endc
|
2015-01-20 22:10:55 +00:00
|
|
|
ENDM
|
|
|
|
|
2015-02-02 23:46:06 +00:00
|
|
|
dwcoord: MACRO
|
|
|
|
rept _NARG / 2
|
|
|
|
dw TileMap + SCREEN_WIDTH * (\2) + (\1)
|
|
|
|
shift
|
|
|
|
shift
|
|
|
|
endr
|
|
|
|
ENDM
|
|
|
|
|
2015-10-04 18:14:51 +00:00
|
|
|
ldcoord: MACRO
|
|
|
|
if _NARG < 3
|
|
|
|
ld [TileMap + SCREEN_WIDTH * (\2) + (\1)], a
|
|
|
|
else
|
|
|
|
ld [\3 + SCREEN_WIDTH * (\2) + (\1)], a
|
|
|
|
endc
|
|
|
|
ENDM
|
2015-01-20 22:10:55 +00:00
|
|
|
|
|
|
|
; pic animations
|
|
|
|
frame: MACRO
|
|
|
|
db \1
|
|
|
|
db \2
|
|
|
|
ENDM
|
|
|
|
setrepeat: MACRO
|
|
|
|
db $fe
|
|
|
|
db \1
|
|
|
|
ENDM
|
|
|
|
dorepeat: MACRO
|
|
|
|
db $fd
|
|
|
|
db \1
|
|
|
|
ENDM
|
|
|
|
endanim: MACRO
|
|
|
|
db $ff
|
2013-11-24 09:06:37 +00:00
|
|
|
ENDM
|
|
|
|
|
|
|
|
|
2013-11-27 10:39:52 +00:00
|
|
|
|
2014-05-05 19:58:43 +00:00
|
|
|
sine_wave: MACRO
|
|
|
|
; \1: amplitude
|
|
|
|
|
|
|
|
x = 0
|
|
|
|
rept $20
|
|
|
|
; Round up.
|
|
|
|
dw (sin(x) + (sin(x) & $ff)) >> 8
|
2014-08-15 06:43:41 +00:00
|
|
|
x = x + (\1) * $40000
|
2014-05-05 19:58:43 +00:00
|
|
|
endr
|
|
|
|
ENDM
|
2015-02-04 09:10:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
bcd: MACRO
|
|
|
|
rept _NARG
|
|
|
|
dn ((\1) % 100) / 10, (\1) % 10
|
|
|
|
shift
|
|
|
|
endr
|
|
|
|
ENDM
|
2015-10-12 16:33:24 +00:00
|
|
|
|
|
|
|
ln: MACRO
|
|
|
|
if _NARG == 5
|
|
|
|
lb \1, \2 << 4 + \3, \4 << 4 + \5
|
|
|
|
else
|
|
|
|
if _NARG == 3
|
|
|
|
ld \1, \2 << 4 + \3
|
|
|
|
else
|
|
|
|
fail "incorrect number of arguments for ln"
|
|
|
|
endc
|
|
|
|
endc
|
|
|
|
ENDM
|
2015-10-13 15:37:10 +00:00
|
|
|
|
2015-10-14 13:29:15 +00:00
|
|
|
tile EQUS "+ $10 *"
|