@@ -1,65 +1,65 @@
|
||||
; Macros to verify assumptions about the data or code
|
||||
|
||||
table_width: MACRO
|
||||
CURRENT_TABLE_WIDTH = \1
|
||||
if _NARG == 2
|
||||
REDEF CURRENT_TABLE_START EQUS "\2"
|
||||
else
|
||||
REDEF CURRENT_TABLE_START EQUS "._table_width\@"
|
||||
{CURRENT_TABLE_START}:
|
||||
endc
|
||||
MACRO table_width
|
||||
DEF CURRENT_TABLE_WIDTH = \1
|
||||
if _NARG == 2
|
||||
REDEF CURRENT_TABLE_START EQUS "\2"
|
||||
else
|
||||
REDEF CURRENT_TABLE_START EQUS "._table_width\@"
|
||||
{CURRENT_TABLE_START}:
|
||||
endc
|
||||
ENDM
|
||||
|
||||
assert_table_length: MACRO
|
||||
x = \1
|
||||
MACRO assert_table_length
|
||||
DEF x = \1
|
||||
assert x * CURRENT_TABLE_WIDTH == @ - {CURRENT_TABLE_START}, \
|
||||
"{CURRENT_TABLE_START}: expected {d:x} entries, each {d:CURRENT_TABLE_WIDTH} bytes"
|
||||
ENDM
|
||||
|
||||
list_start: MACRO
|
||||
list_index = 0
|
||||
if _NARG == 1
|
||||
REDEF CURRENT_LIST_START EQUS "\1"
|
||||
else
|
||||
REDEF CURRENT_LIST_START EQUS "._list_start\@"
|
||||
{CURRENT_LIST_START}:
|
||||
endc
|
||||
MACRO list_start
|
||||
DEF list_index = 0
|
||||
if _NARG == 1
|
||||
REDEF CURRENT_LIST_START EQUS "\1"
|
||||
else
|
||||
REDEF CURRENT_LIST_START EQUS "._list_start\@"
|
||||
{CURRENT_LIST_START}:
|
||||
endc
|
||||
ENDM
|
||||
|
||||
li: MACRO
|
||||
MACRO li
|
||||
assert !STRIN(\1, "@"), STRCAT("String terminator \"@\" in list entry: ", \1)
|
||||
db \1, "@"
|
||||
list_index += 1
|
||||
DEF list_index += 1
|
||||
ENDM
|
||||
|
||||
assert_list_length: MACRO
|
||||
x = \1
|
||||
MACRO assert_list_length
|
||||
DEF x = \1
|
||||
assert x == list_index, \
|
||||
"{CURRENT_LIST_START}: expected {d:x} entries, got {d:list_index}"
|
||||
ENDM
|
||||
|
||||
def_grass_wildmons: MACRO
|
||||
MACRO def_grass_wildmons
|
||||
;\1: map id
|
||||
REDEF CURRENT_GRASS_WILDMONS_MAP EQUS "\1"
|
||||
REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1"
|
||||
REDEF CURRENT_GRASS_WILDMONS_MAP EQUS "\1"
|
||||
REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1"
|
||||
{CURRENT_GRASS_WILDMONS_LABEL}:
|
||||
map_id \1
|
||||
ENDM
|
||||
|
||||
end_grass_wildmons: MACRO
|
||||
MACRO end_grass_wildmons
|
||||
assert GRASS_WILDDATA_LENGTH == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \
|
||||
"def_grass_wildmons {CURRENT_GRASS_WILDMONS_MAP}: expected {d:GRASS_WILDDATA_LENGTH} bytes"
|
||||
ENDM
|
||||
|
||||
def_water_wildmons: MACRO
|
||||
MACRO def_water_wildmons
|
||||
;\1: map id
|
||||
REDEF CURRENT_WATER_WILDMONS_MAP EQUS "\1"
|
||||
REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1"
|
||||
REDEF CURRENT_WATER_WILDMONS_MAP EQUS "\1"
|
||||
REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1"
|
||||
{CURRENT_WATER_WILDMONS_LABEL}:
|
||||
map_id \1
|
||||
ENDM
|
||||
|
||||
end_water_wildmons: MACRO
|
||||
MACRO end_water_wildmons
|
||||
assert WATER_WILDDATA_LENGTH == @ - {CURRENT_WATER_WILDMONS_LABEL}, \
|
||||
"def_water_wildmons {CURRENT_WATER_WILDMONS_MAP}: expected {d:WATER_WILDDATA_LENGTH} bytes"
|
||||
ENDM
|
||||
|
@@ -1,16 +1,16 @@
|
||||
; Syntactic sugar macros
|
||||
|
||||
lb: MACRO ; r, hi, lo
|
||||
MACRO lb ; r, hi, lo
|
||||
ld \1, ((\2) & $ff) << 8 | ((\3) & $ff)
|
||||
ENDM
|
||||
|
||||
ln: MACRO ; r, hi, lo
|
||||
MACRO ln ; r, hi, lo
|
||||
ld \1, ((\2) & $f) << 4 | ((\3) & $f)
|
||||
ENDM
|
||||
|
||||
; Design patterns
|
||||
|
||||
jumptable: MACRO
|
||||
MACRO jumptable
|
||||
ld a, [\2]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
@@ -23,7 +23,7 @@ jumptable: MACRO
|
||||
jp hl
|
||||
ENDM
|
||||
|
||||
maskbits: MACRO
|
||||
MACRO maskbits
|
||||
; masks just enough bits to cover values 0 to \1 - 1
|
||||
; \2 is an optional shift amount
|
||||
; e.g. "maskbits 26" becomes "and %00011111" (since 26 - 1 = %00011001)
|
||||
@@ -35,20 +35,20 @@ maskbits: MACRO
|
||||
; cp 26
|
||||
; jr nc, .loop
|
||||
assert 0 < (\1) && (\1) <= $100, "bitmask must be 8-bit"
|
||||
x = 1
|
||||
rept 8
|
||||
if x + 1 < (\1)
|
||||
x = (x << 1) | 1
|
||||
endc
|
||||
endr
|
||||
if _NARG == 2
|
||||
and x << (\2)
|
||||
else
|
||||
and x
|
||||
endc
|
||||
DEF x = 1
|
||||
rept 8
|
||||
if x + 1 < (\1)
|
||||
DEF x = (x << 1) | 1
|
||||
endc
|
||||
endr
|
||||
if _NARG == 2
|
||||
and x << (\2)
|
||||
else
|
||||
and x
|
||||
endc
|
||||
ENDM
|
||||
|
||||
calc_sine_wave: MACRO
|
||||
MACRO calc_sine_wave
|
||||
; input: a = a signed 6-bit value
|
||||
; output: a = d * sin(a * pi/32)
|
||||
and %111111
|
||||
|
@@ -1,48 +1,48 @@
|
||||
; Enumerate constants
|
||||
|
||||
const_def: MACRO
|
||||
if _NARG >= 1
|
||||
const_value = \1
|
||||
else
|
||||
const_value = 0
|
||||
endc
|
||||
if _NARG >= 2
|
||||
const_inc = \2
|
||||
else
|
||||
const_inc = 1
|
||||
endc
|
||||
MACRO const_def
|
||||
if _NARG >= 1
|
||||
DEF const_value = \1
|
||||
else
|
||||
DEF const_value = 0
|
||||
endc
|
||||
if _NARG >= 2
|
||||
DEF const_inc = \2
|
||||
else
|
||||
DEF const_inc = 1
|
||||
endc
|
||||
ENDM
|
||||
|
||||
const: MACRO
|
||||
\1 EQU const_value
|
||||
const_value += const_inc
|
||||
MACRO const
|
||||
DEF \1 EQU const_value
|
||||
DEF const_value += const_inc
|
||||
ENDM
|
||||
|
||||
shift_const: MACRO
|
||||
\1 EQU 1 << const_value
|
||||
const_value += const_inc
|
||||
MACRO shift_const
|
||||
DEF \1 EQU 1 << const_value
|
||||
DEF const_value += const_inc
|
||||
ENDM
|
||||
|
||||
const_skip: MACRO
|
||||
if _NARG >= 1
|
||||
const_value += const_inc * (\1)
|
||||
else
|
||||
const_value += const_inc
|
||||
endc
|
||||
MACRO const_skip
|
||||
if _NARG >= 1
|
||||
DEF const_value += const_inc * (\1)
|
||||
else
|
||||
DEF const_value += const_inc
|
||||
endc
|
||||
ENDM
|
||||
|
||||
const_next: MACRO
|
||||
if (const_value > 0 && \1 < const_value) || (const_value < 0 && \1 > const_value)
|
||||
fail "const_next cannot go backwards from {const_value} to \1"
|
||||
else
|
||||
const_value = \1
|
||||
endc
|
||||
MACRO const_next
|
||||
if (const_value > 0 && \1 < const_value) || (const_value < 0 && \1 > const_value)
|
||||
fail "const_next cannot go backwards from {const_value} to \1"
|
||||
else
|
||||
DEF const_value = \1
|
||||
endc
|
||||
ENDM
|
||||
|
||||
rb_skip: MACRO
|
||||
if _NARG == 1
|
||||
rsset _RS + \1
|
||||
else
|
||||
rsset _RS + 1
|
||||
endc
|
||||
MACRO rb_skip
|
||||
if _NARG == 1
|
||||
rsset _RS + \1
|
||||
else
|
||||
rsset _RS + 1
|
||||
endc
|
||||
ENDM
|
||||
|
@@ -1,56 +1,56 @@
|
||||
hlcoord EQUS "coord hl,"
|
||||
bccoord EQUS "coord bc,"
|
||||
decoord EQUS "coord de,"
|
||||
DEF hlcoord EQUS "coord hl,"
|
||||
DEF bccoord EQUS "coord bc,"
|
||||
DEF decoord EQUS "coord de,"
|
||||
|
||||
coord: MACRO
|
||||
MACRO coord
|
||||
; register, x, y[, origin]
|
||||
if _NARG < 4
|
||||
ld \1, (\3) * SCREEN_WIDTH + (\2) + wTilemap
|
||||
ld \1, (\3) * SCREEN_WIDTH + (\2) + wTilemap
|
||||
else
|
||||
ld \1, (\3) * SCREEN_WIDTH + (\2) + \4
|
||||
ld \1, (\3) * SCREEN_WIDTH + (\2) + \4
|
||||
endc
|
||||
ENDM
|
||||
|
||||
hlbgcoord EQUS "bgcoord hl,"
|
||||
bcbgcoord EQUS "bgcoord bc,"
|
||||
debgcoord EQUS "bgcoord de,"
|
||||
DEF hlbgcoord EQUS "bgcoord hl,"
|
||||
DEF bcbgcoord EQUS "bgcoord bc,"
|
||||
DEF debgcoord EQUS "bgcoord de,"
|
||||
|
||||
bgcoord: MACRO
|
||||
MACRO bgcoord
|
||||
; register, x, y[, origin]
|
||||
if _NARG < 4
|
||||
ld \1, (\3) * BG_MAP_WIDTH + (\2) + vBGMap0
|
||||
ld \1, (\3) * BG_MAP_WIDTH + (\2) + vBGMap0
|
||||
else
|
||||
ld \1, (\3) * BG_MAP_WIDTH + (\2) + \4
|
||||
ld \1, (\3) * BG_MAP_WIDTH + (\2) + \4
|
||||
endc
|
||||
ENDM
|
||||
|
||||
dwcoord: MACRO
|
||||
MACRO dwcoord
|
||||
; x, y
|
||||
rept _NARG / 2
|
||||
dw (\2) * SCREEN_WIDTH + (\1) + wTilemap
|
||||
shift 2
|
||||
endr
|
||||
rept _NARG / 2
|
||||
dw (\2) * SCREEN_WIDTH + (\1) + wTilemap
|
||||
shift 2
|
||||
endr
|
||||
ENDM
|
||||
|
||||
ldcoord_a: MACRO
|
||||
MACRO ldcoord_a
|
||||
; x, y[, origin]
|
||||
if _NARG < 3
|
||||
ld [(\2) * SCREEN_WIDTH + (\1) + wTilemap], a
|
||||
ld [(\2) * SCREEN_WIDTH + (\1) + wTilemap], a
|
||||
else
|
||||
ld [(\2) * SCREEN_WIDTH + (\1) + \3], a
|
||||
ld [(\2) * SCREEN_WIDTH + (\1) + \3], a
|
||||
endc
|
||||
ENDM
|
||||
|
||||
lda_coord: MACRO
|
||||
MACRO lda_coord
|
||||
; x, y[, origin]
|
||||
if _NARG < 3
|
||||
ld a, [(\2) * SCREEN_WIDTH + (\1) + wTilemap]
|
||||
ld a, [(\2) * SCREEN_WIDTH + (\1) + wTilemap]
|
||||
else
|
||||
ld a, [(\2) * SCREEN_WIDTH + (\1) + \3]
|
||||
ld a, [(\2) * SCREEN_WIDTH + (\1) + \3]
|
||||
endc
|
||||
ENDM
|
||||
|
||||
menu_coords: MACRO
|
||||
MACRO menu_coords
|
||||
; x1, y1, x2, y2
|
||||
db \2, \1 ; start coords
|
||||
db \4, \3 ; end coords
|
||||
|
@@ -20,84 +20,84 @@
|
||||
; - 180 = 71 percent - 1 = 70 percent + 2
|
||||
; - 200 = 79 percent - 1
|
||||
; - 230 = 90 percent + 1
|
||||
percent EQUS "* $ff / 100"
|
||||
DEF percent EQUS "* $ff / 100"
|
||||
|
||||
; e.g. 1 out_of 2 == 50 percent + 1 == $80
|
||||
out_of EQUS "* $100 /"
|
||||
DEF out_of EQUS "* $100 /"
|
||||
|
||||
assert_power_of_2: MACRO
|
||||
MACRO assert_power_of_2
|
||||
assert (\1) & ((\1) - 1) == 0, "\1 must be a power of 2"
|
||||
ENDM
|
||||
|
||||
; Constant data (db, dw, dl) macros
|
||||
|
||||
dwb: MACRO
|
||||
MACRO dwb
|
||||
dw \1
|
||||
db \2
|
||||
ENDM
|
||||
|
||||
dbw: MACRO
|
||||
MACRO dbw
|
||||
db \1
|
||||
dw \2
|
||||
ENDM
|
||||
|
||||
dn: MACRO ; nybbles
|
||||
rept _NARG / 2
|
||||
db ((\1) << 4) | (\2)
|
||||
shift 2
|
||||
endr
|
||||
MACRO dn ; nybbles
|
||||
rept _NARG / 2
|
||||
db ((\1) << 4) | (\2)
|
||||
shift 2
|
||||
endr
|
||||
ENDM
|
||||
|
||||
dc: MACRO ; "crumbs"
|
||||
rept _NARG / 4
|
||||
db ((\1) << 6) | ((\2) << 4) | ((\3) << 2) | (\4)
|
||||
shift 4
|
||||
endr
|
||||
MACRO dc ; "crumbs"
|
||||
rept _NARG / 4
|
||||
db ((\1) << 6) | ((\2) << 4) | ((\3) << 2) | (\4)
|
||||
shift 4
|
||||
endr
|
||||
ENDM
|
||||
|
||||
dt: MACRO ; three-byte (big-endian)
|
||||
MACRO dt ; three-byte (big-endian)
|
||||
db LOW((\1) >> 16), HIGH(\1), LOW(\1)
|
||||
ENDM
|
||||
|
||||
dd: MACRO ; four-byte (big-endian)
|
||||
MACRO dd ; four-byte (big-endian)
|
||||
db HIGH((\1) >> 16), LOW((\1) >> 16), HIGH(\1), LOW(\1)
|
||||
ENDM
|
||||
|
||||
bigdw: MACRO ; big-endian word
|
||||
MACRO bigdw ; big-endian word
|
||||
db HIGH(\1), LOW(\1)
|
||||
ENDM
|
||||
|
||||
dba: MACRO ; dbw bank, address
|
||||
rept _NARG
|
||||
dbw BANK(\1), \1
|
||||
shift
|
||||
endr
|
||||
MACRO dba ; dbw bank, address
|
||||
rept _NARG
|
||||
dbw BANK(\1), \1
|
||||
shift
|
||||
endr
|
||||
ENDM
|
||||
|
||||
dab: MACRO ; dwb address, bank
|
||||
rept _NARG
|
||||
dwb \1, BANK(\1)
|
||||
shift
|
||||
endr
|
||||
MACRO dab ; dwb address, bank
|
||||
rept _NARG
|
||||
dwb \1, BANK(\1)
|
||||
shift
|
||||
endr
|
||||
ENDM
|
||||
|
||||
dba_pic: MACRO ; dbw bank, address
|
||||
MACRO dba_pic ; dbw bank, address
|
||||
db BANK(\1) - PICS_FIX
|
||||
dw \1
|
||||
ENDM
|
||||
|
||||
bcd: MACRO
|
||||
rept _NARG
|
||||
dn ((\1) % 100) / 10, (\1) % 10
|
||||
shift
|
||||
endr
|
||||
MACRO bcd
|
||||
rept _NARG
|
||||
dn ((\1) % 100) / 10, (\1) % 10
|
||||
shift
|
||||
endr
|
||||
ENDM
|
||||
|
||||
sine_table: MACRO
|
||||
MACRO sine_table
|
||||
; \1 samples of sin(x) from x=0 to x<32768 (pi radians)
|
||||
x = 0
|
||||
rept \1
|
||||
dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
|
||||
x += DIV(32768, \1) ; a circle has 65536 "degrees"
|
||||
endr
|
||||
DEF x = 0
|
||||
rept \1
|
||||
dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
|
||||
DEF x += DIV(32768, \1) ; a circle has 65536 "degrees"
|
||||
endr
|
||||
ENDM
|
||||
|
@@ -1,58 +1,58 @@
|
||||
assert_valid_rgb: MACRO
|
||||
rept _NARG
|
||||
assert 0 <= (\1) && (\1) <= 31, "RGB channel must be 0-31"
|
||||
shift
|
||||
endr
|
||||
MACRO assert_valid_rgb
|
||||
rept _NARG
|
||||
assert 0 <= (\1) && (\1) <= 31, "RGB channel must be 0-31"
|
||||
shift
|
||||
endr
|
||||
ENDM
|
||||
|
||||
RGB: MACRO
|
||||
rept _NARG / 3
|
||||
assert_valid_rgb \1, \2, \3
|
||||
dw palred (\1) + palgreen (\2) + palblue (\3)
|
||||
shift 3
|
||||
endr
|
||||
MACRO RGB
|
||||
rept _NARG / 3
|
||||
assert_valid_rgb \1, \2, \3
|
||||
dw palred (\1) + palgreen (\2) + palblue (\3)
|
||||
shift 3
|
||||
endr
|
||||
ENDM
|
||||
|
||||
palred EQUS "(1 << 0) *"
|
||||
palgreen EQUS "(1 << 5) *"
|
||||
palblue EQUS "(1 << 10) *"
|
||||
DEF palred EQUS "(1 << 0) *"
|
||||
DEF palgreen EQUS "(1 << 5) *"
|
||||
DEF palblue EQUS "(1 << 10) *"
|
||||
|
||||
palettes EQUS "* PALETTE_SIZE"
|
||||
palette EQUS "+ PALETTE_SIZE *"
|
||||
color EQUS "+ PAL_COLOR_SIZE *"
|
||||
DEF palettes EQUS "* PALETTE_SIZE"
|
||||
DEF palette EQUS "+ PALETTE_SIZE *"
|
||||
DEF color EQUS "+ PAL_COLOR_SIZE *"
|
||||
|
||||
tiles EQUS "* LEN_2BPP_TILE"
|
||||
tile EQUS "+ LEN_2BPP_TILE *"
|
||||
DEF tiles EQUS "* LEN_2BPP_TILE"
|
||||
DEF tile EQUS "+ LEN_2BPP_TILE *"
|
||||
|
||||
; extracts the middle two colors from a 2bpp binary palette
|
||||
; example usage:
|
||||
; INCBIN "foo.gbcpal", middle_colors
|
||||
middle_colors EQUS "PAL_COLOR_SIZE, PAL_COLOR_SIZE * 2"
|
||||
DEF middle_colors EQUS "PAL_COLOR_SIZE, PAL_COLOR_SIZE * 2"
|
||||
|
||||
dbpixel: MACRO
|
||||
if _NARG >= 4
|
||||
; x tile, y tile, x pixel, y pixel
|
||||
db \1 * TILE_WIDTH + \3, \2 * TILE_WIDTH + \4
|
||||
else
|
||||
; x tile, y tile
|
||||
db \1 * TILE_WIDTH, \2 * TILE_WIDTH
|
||||
endc
|
||||
MACRO dbpixel
|
||||
if _NARG >= 4
|
||||
; x tile, y tile, x pixel, y pixel
|
||||
db \1 * TILE_WIDTH + \3, \2 * TILE_WIDTH + \4
|
||||
else
|
||||
; x tile, y tile
|
||||
db \1 * TILE_WIDTH, \2 * TILE_WIDTH
|
||||
endc
|
||||
ENDM
|
||||
|
||||
ldpixel: MACRO
|
||||
if _NARG >= 5
|
||||
; register, x tile, y tile, x pixel, y pixel
|
||||
lb \1, \2 * TILE_WIDTH + \4, \3 * TILE_WIDTH + \5
|
||||
else
|
||||
; register, x tile, y tile
|
||||
lb \1, \2 * TILE_WIDTH, \3 * TILE_WIDTH
|
||||
endc
|
||||
MACRO ldpixel
|
||||
if _NARG >= 5
|
||||
; register, x tile, y tile, x pixel, y pixel
|
||||
lb \1, \2 * TILE_WIDTH + \4, \3 * TILE_WIDTH + \5
|
||||
else
|
||||
; register, x tile, y tile
|
||||
lb \1, \2 * TILE_WIDTH, \3 * TILE_WIDTH
|
||||
endc
|
||||
ENDM
|
||||
|
||||
depixel EQUS "ldpixel de,"
|
||||
bcpixel EQUS "ldpixel bc,"
|
||||
DEF depixel EQUS "ldpixel de,"
|
||||
DEF bcpixel EQUS "ldpixel bc,"
|
||||
|
||||
dbsprite: MACRO
|
||||
MACRO dbsprite
|
||||
; x tile, y tile, x pixel, y pixel, vtile offset, attributes
|
||||
db (\2 * TILE_WIDTH) % $100 + \4, (\1 * TILE_WIDTH) % $100 + \3, \5, \6
|
||||
ENDM
|
||||
|
@@ -3,394 +3,394 @@
|
||||
; Legacy support not in this file can be found by looking for the keyword: "LEGACY"
|
||||
|
||||
; macros/rst.asm
|
||||
callba EQUS "farcall"
|
||||
callab EQUS "callfar"
|
||||
DEF callba EQUS "farcall"
|
||||
DEF callab EQUS "callfar"
|
||||
|
||||
; macros/gfx.asm
|
||||
dsprite: MACRO
|
||||
MACRO dsprite
|
||||
dbsprite \2, \4, \1, \3, \5, \6
|
||||
ENDM
|
||||
|
||||
; macros/data.asm
|
||||
|
||||
dbbw: MACRO
|
||||
MACRO dbbw
|
||||
db \1, \2
|
||||
dw \3
|
||||
ENDM
|
||||
|
||||
dbww: MACRO
|
||||
MACRO dbww
|
||||
db \1
|
||||
dw \2, \3
|
||||
ENDM
|
||||
|
||||
dbwww: MACRO
|
||||
MACRO dbwww
|
||||
db \1
|
||||
dw \2, \3, \4
|
||||
ENDM
|
||||
|
||||
; macros/scripts/audio.asm
|
||||
__ EQU 0
|
||||
CC EQU 13
|
||||
DEF __ EQU 0
|
||||
DEF CC EQU 13
|
||||
|
||||
musicheader: MACRO
|
||||
MACRO musicheader
|
||||
channel_count \1
|
||||
channel \2, \3
|
||||
ENDM
|
||||
|
||||
sound: MACRO
|
||||
MACRO sound
|
||||
note \1, \2
|
||||
db \3
|
||||
dw \4
|
||||
ENDM
|
||||
|
||||
noise: MACRO
|
||||
MACRO noise
|
||||
note \1, \2
|
||||
db \3
|
||||
db \4
|
||||
ENDM
|
||||
|
||||
notetype: MACRO
|
||||
if _NARG >= 2
|
||||
note_type \1, \2 >> 4, \2 & $0f
|
||||
else
|
||||
note_type \1
|
||||
endc
|
||||
MACRO notetype
|
||||
if _NARG >= 2
|
||||
note_type \1, \2 >> 4, \2 & $0f
|
||||
else
|
||||
note_type \1
|
||||
endc
|
||||
ENDM
|
||||
|
||||
pitchoffset: MACRO
|
||||
MACRO pitchoffset
|
||||
transpose \1, \2 - 1
|
||||
ENDM
|
||||
|
||||
dutycycle EQUS "duty_cycle"
|
||||
DEF dutycycle EQUS "duty_cycle"
|
||||
|
||||
intensity: MACRO
|
||||
MACRO intensity
|
||||
volume_envelope \1 >> 4, \1 & $0f
|
||||
ENDM
|
||||
|
||||
soundinput: MACRO
|
||||
MACRO soundinput
|
||||
pitch_sweep \1 >> 4, \1 & $0f
|
||||
ENDM
|
||||
|
||||
unknownmusic0xde EQUS "sound_duty"
|
||||
sound_duty: MACRO
|
||||
DEF unknownmusic0xde EQUS "sound_duty"
|
||||
MACRO sound_duty
|
||||
db duty_cycle_pattern_cmd
|
||||
if _NARG == 4
|
||||
db \1 | (\2 << 2) | (\3 << 4) | (\4 << 6)
|
||||
else
|
||||
db \1
|
||||
endc
|
||||
if _NARG == 4
|
||||
db \1 | (\2 << 2) | (\3 << 4) | (\4 << 6)
|
||||
else
|
||||
db \1
|
||||
endc
|
||||
ENDM
|
||||
|
||||
togglesfx EQUS "toggle_sfx"
|
||||
DEF togglesfx EQUS "toggle_sfx"
|
||||
|
||||
slidepitchto: MACRO
|
||||
MACRO slidepitchto
|
||||
pitch_slide \1, (8 - \2), \3
|
||||
ENDM
|
||||
|
||||
togglenoise EQUS "toggle_noise"
|
||||
DEF togglenoise EQUS "toggle_noise"
|
||||
|
||||
panning: MACRO
|
||||
MACRO panning
|
||||
force_stereo_panning ((\1 >> 4) & 1), (\1 & 1)
|
||||
ENDM
|
||||
|
||||
tone EQUS "pitch_offset"
|
||||
restartchannel EQUS "restart_channel"
|
||||
newsong EQUS "new_song"
|
||||
sfxpriorityon EQUS "sfx_priority_on"
|
||||
sfxpriorityoff EQUS "sfx_priority_off"
|
||||
DEF tone EQUS "pitch_offset"
|
||||
DEF restartchannel EQUS "restart_channel"
|
||||
DEF newsong EQUS "new_song"
|
||||
DEF sfxpriorityon EQUS "sfx_priority_on"
|
||||
DEF sfxpriorityoff EQUS "sfx_priority_off"
|
||||
|
||||
stereopanning: MACRO
|
||||
MACRO stereopanning
|
||||
stereo_panning ((\1 >> 4) & 1), (\1 & 1)
|
||||
ENDM
|
||||
|
||||
sfxtogglenoise EQUS "sfx_toggle_noise"
|
||||
setcondition EQUS "set_condition"
|
||||
jumpif EQUS "sound_jump_if"
|
||||
jumpchannel EQUS "sound_jump"
|
||||
loopchannel EQUS "sound_loop"
|
||||
callchannel EQUS "sound_call"
|
||||
endchannel EQUS "sound_ret"
|
||||
DEF sfxtogglenoise EQUS "sfx_toggle_noise"
|
||||
DEF setcondition EQUS "set_condition"
|
||||
DEF jumpif EQUS "sound_jump_if"
|
||||
DEF jumpchannel EQUS "sound_jump"
|
||||
DEF loopchannel EQUS "sound_loop"
|
||||
DEF callchannel EQUS "sound_call"
|
||||
DEF endchannel EQUS "sound_ret"
|
||||
|
||||
; macros/scripts/events.asm
|
||||
|
||||
checkmorn EQUS "checktime MORN"
|
||||
checkday EQUS "checktime DAY"
|
||||
checknite EQUS "checktime NITE"
|
||||
DEF checkmorn EQUS "checktime MORN"
|
||||
DEF checkday EQUS "checktime DAY"
|
||||
DEF checknite EQUS "checktime NITE"
|
||||
|
||||
jump EQUS "sjump"
|
||||
farjump EQUS "farsjump"
|
||||
priorityjump EQUS "sdefer"
|
||||
prioritysjump EQUS "sdefer"
|
||||
ptcall EQUS "memcall"
|
||||
ptjump EQUS "memjump"
|
||||
ptpriorityjump EQUS "stopandsjump"
|
||||
ptcallasm EQUS "memcallasm"
|
||||
DEF jump EQUS "sjump"
|
||||
DEF farjump EQUS "farsjump"
|
||||
DEF priorityjump EQUS "sdefer"
|
||||
DEF prioritysjump EQUS "sdefer"
|
||||
DEF ptcall EQUS "memcall"
|
||||
DEF ptjump EQUS "memjump"
|
||||
DEF ptpriorityjump EQUS "stopandsjump"
|
||||
DEF ptcallasm EQUS "memcallasm"
|
||||
|
||||
if_equal EQUS "ifequal"
|
||||
if_not_equal EQUS "ifnotequal"
|
||||
if_greater_than EQUS "ifgreater"
|
||||
if_less_than EQUS "ifless"
|
||||
end_all EQUS "endall"
|
||||
return EQUS "endcallback"
|
||||
reloadandreturn EQUS "reloadend"
|
||||
DEF if_equal EQUS "ifequal"
|
||||
DEF if_not_equal EQUS "ifnotequal"
|
||||
DEF if_greater_than EQUS "ifgreater"
|
||||
DEF if_less_than EQUS "ifless"
|
||||
DEF end_all EQUS "endall"
|
||||
DEF return EQUS "endcallback"
|
||||
DEF reloadandreturn EQUS "reloadend"
|
||||
|
||||
checkmaptriggers EQUS "checkmapscene"
|
||||
domaptrigger EQUS "setmapscene"
|
||||
checktriggers EQUS "checkscene"
|
||||
dotrigger EQUS "setscene"
|
||||
DEF checkmaptriggers EQUS "checkmapscene"
|
||||
DEF domaptrigger EQUS "setmapscene"
|
||||
DEF checktriggers EQUS "checkscene"
|
||||
DEF dotrigger EQUS "setscene"
|
||||
|
||||
faceperson EQUS "faceobject"
|
||||
moveperson EQUS "moveobject"
|
||||
writepersonxy EQUS "writeobjectxy"
|
||||
spriteface EQUS "turnobject"
|
||||
objectface EQUS "turnobject"
|
||||
applymovement2 EQUS "applymovementlasttalked"
|
||||
DEF faceperson EQUS "faceobject"
|
||||
DEF moveperson EQUS "moveobject"
|
||||
DEF writepersonxy EQUS "writeobjectxy"
|
||||
DEF spriteface EQUS "turnobject"
|
||||
DEF objectface EQUS "turnobject"
|
||||
DEF applymovement2 EQUS "applymovementlasttalked"
|
||||
|
||||
writebyte EQUS "setval"
|
||||
addvar EQUS "addval"
|
||||
copybytetovar EQUS "readmem"
|
||||
copyvartobyte EQUS "writemem"
|
||||
checkcode EQUS "readvar"
|
||||
writevarcode EQUS "writevar"
|
||||
writecode EQUS "loadvar"
|
||||
DEF writebyte EQUS "setval"
|
||||
DEF addvar EQUS "addval"
|
||||
DEF copybytetovar EQUS "readmem"
|
||||
DEF copyvartobyte EQUS "writemem"
|
||||
DEF checkcode EQUS "readvar"
|
||||
DEF writevarcode EQUS "writevar"
|
||||
DEF writecode EQUS "loadvar"
|
||||
|
||||
MEM_BUFFER_0 EQUS "STRING_BUFFER_3"
|
||||
MEM_BUFFER_1 EQUS "STRING_BUFFER_4"
|
||||
MEM_BUFFER_2 EQUS "STRING_BUFFER_5"
|
||||
DEF MEM_BUFFER_0 EQUS "STRING_BUFFER_3"
|
||||
DEF MEM_BUFFER_1 EQUS "STRING_BUFFER_4"
|
||||
DEF MEM_BUFFER_2 EQUS "STRING_BUFFER_5"
|
||||
|
||||
vartomem EQUS "getnum"
|
||||
mapnametotext EQUS "getcurlandmarkname"
|
||||
readcoins EQUS "getcoins"
|
||||
DEF vartomem EQUS "getnum"
|
||||
DEF mapnametotext EQUS "getcurlandmarkname"
|
||||
DEF readcoins EQUS "getcoins"
|
||||
|
||||
pokenamemem: MACRO
|
||||
MACRO pokenamemem
|
||||
getmonname \2, \1
|
||||
ENDM
|
||||
|
||||
itemtotext: MACRO
|
||||
MACRO itemtotext
|
||||
getitemname \2, \1
|
||||
ENDM
|
||||
|
||||
landmarktotext: MACRO
|
||||
MACRO landmarktotext
|
||||
getlandmarkname \2, \1
|
||||
ENDM
|
||||
|
||||
trainertotext: MACRO
|
||||
MACRO trainertotext
|
||||
gettrainername \3, \1, \2
|
||||
ENDM
|
||||
|
||||
trainerclassname: MACRO
|
||||
MACRO trainerclassname
|
||||
gettrainerclassname \2, \1
|
||||
ENDM
|
||||
|
||||
name: MACRO
|
||||
MACRO name
|
||||
getname \3, \1, \2
|
||||
ENDM
|
||||
|
||||
stringtotext: MACRO
|
||||
MACRO stringtotext
|
||||
getstring \2, \1
|
||||
ENDM
|
||||
|
||||
readmoney: MACRO
|
||||
MACRO readmoney
|
||||
getmoney \2, \1
|
||||
ENDM
|
||||
|
||||
RAM2MEM EQUS "getnum"
|
||||
loadfont EQUS "opentext"
|
||||
loadmenudata EQUS "loadmenu"
|
||||
loadmenuheader EQUS "loadmenu"
|
||||
writebackup EQUS "closewindow"
|
||||
interpretmenu EQUS "_2dmenu"
|
||||
interpretmenu2 EQUS "verticalmenu"
|
||||
buttonsound EQUS "promptbutton"
|
||||
battlecheck EQUS "randomwildmon"
|
||||
loadtrainerdata EQUS "loadtemptrainer"
|
||||
loadpokedata EQUS "loadwildmon"
|
||||
returnafterbattle EQUS "reloadmapafterbattle"
|
||||
trainerstatus EQUS "trainerflagaction"
|
||||
talkaftercancel EQUS "endifjustbattled"
|
||||
talkaftercheck EQUS "checkjustbattled"
|
||||
playrammusic EQUS "encountermusic"
|
||||
reloadmapmusic EQUS "dontrestartmapmusic"
|
||||
resetfuncs EQUS "endall"
|
||||
storetext EQUS "battletowertext"
|
||||
displaylocation EQUS "landmarktotext"
|
||||
givepokeitem EQUS "givepokemail"
|
||||
checkpokeitem EQUS "checkpokemail"
|
||||
passtoengine EQUS "autoinput"
|
||||
verbosegiveitem2 EQUS "verbosegiveitemvar"
|
||||
loadbytec2cf EQUS "writeunusedbyte"
|
||||
writeunusedbytebuffer EQUS "writeunusedbyte"
|
||||
DEF RAM2MEM EQUS "getnum"
|
||||
DEF loadfont EQUS "opentext"
|
||||
DEF loadmenudata EQUS "loadmenu"
|
||||
DEF loadmenuheader EQUS "loadmenu"
|
||||
DEF writebackup EQUS "closewindow"
|
||||
DEF interpretmenu EQUS "_2dmenu"
|
||||
DEF interpretmenu2 EQUS "verticalmenu"
|
||||
DEF buttonsound EQUS "promptbutton"
|
||||
DEF battlecheck EQUS "randomwildmon"
|
||||
DEF loadtrainerdata EQUS "loadtemptrainer"
|
||||
DEF loadpokedata EQUS "loadwildmon"
|
||||
DEF returnafterbattle EQUS "reloadmapafterbattle"
|
||||
DEF trainerstatus EQUS "trainerflagaction"
|
||||
DEF talkaftercancel EQUS "endifjustbattled"
|
||||
DEF talkaftercheck EQUS "checkjustbattled"
|
||||
DEF playrammusic EQUS "encountermusic"
|
||||
DEF reloadmapmusic EQUS "dontrestartmapmusic"
|
||||
DEF resetfuncs EQUS "endall"
|
||||
DEF storetext EQUS "battletowertext"
|
||||
DEF displaylocation EQUS "landmarktotext"
|
||||
DEF givepokeitem EQUS "givepokemail"
|
||||
DEF checkpokeitem EQUS "checkpokemail"
|
||||
DEF passtoengine EQUS "autoinput"
|
||||
DEF verbosegiveitem2 EQUS "verbosegiveitemvar"
|
||||
DEF loadbytec2cf EQUS "writeunusedbyte"
|
||||
DEF writeunusedbytebuffer EQUS "writeunusedbyte"
|
||||
|
||||
; macros/scripts/maps.asm
|
||||
|
||||
mapconst: MACRO
|
||||
MACRO mapconst
|
||||
map_const \1, \3, \2
|
||||
ENDM
|
||||
|
||||
maptrigger EQUS "scene_script"
|
||||
DEF maptrigger EQUS "scene_script"
|
||||
|
||||
warp_def: MACRO
|
||||
MACRO warp_def
|
||||
warp_event \2, \1, \4, \3
|
||||
ENDM
|
||||
|
||||
xy_trigger: MACRO
|
||||
MACRO xy_trigger
|
||||
coord_event \3, \2, \1, \5
|
||||
ENDM
|
||||
|
||||
signpost: MACRO
|
||||
MACRO signpost
|
||||
bg_event \2, \1, \3, \4
|
||||
ENDM
|
||||
|
||||
person_event: MACRO
|
||||
MACRO person_event
|
||||
object_event \3, \2, \1, \4, \5, \6, \7, \8, \9, \<10>, \<11>, \<12>, \<13>
|
||||
ENDM
|
||||
|
||||
PERSONTYPE_SCRIPT EQUS "OBJECTTYPE_SCRIPT"
|
||||
PERSONTYPE_ITEMBALL EQUS "OBJECTTYPE_ITEMBALL"
|
||||
PERSONTYPE_TRAINER EQUS "OBJECTTYPE_TRAINER"
|
||||
DEF PERSONTYPE_SCRIPT EQUS "OBJECTTYPE_SCRIPT"
|
||||
DEF PERSONTYPE_ITEMBALL EQUS "OBJECTTYPE_ITEMBALL"
|
||||
DEF PERSONTYPE_TRAINER EQUS "OBJECTTYPE_TRAINER"
|
||||
|
||||
; macros/scripts/movement.asm
|
||||
|
||||
show_person EQUS "show_object"
|
||||
hide_person EQUS "hide_object"
|
||||
remove_person EQUS "remove_object"
|
||||
DEF show_person EQUS "show_object"
|
||||
DEF hide_person EQUS "hide_object"
|
||||
DEF remove_person EQUS "remove_object"
|
||||
|
||||
turn_head_down EQUS "turn_head DOWN"
|
||||
turn_head_up EQUS "turn_head UP"
|
||||
turn_head_left EQUS "turn_head LEFT"
|
||||
turn_head_right EQUS "turn_head RIGHT"
|
||||
turn_step_down EQUS "turn_step DOWN"
|
||||
turn_step_up EQUS "turn_step UP"
|
||||
turn_step_left EQUS "turn_step LEFT"
|
||||
turn_step_right EQUS "turn_step RIGHT"
|
||||
slow_step_down EQUS "slow_step DOWN"
|
||||
slow_step_up EQUS "slow_step UP"
|
||||
slow_step_left EQUS "slow_step LEFT"
|
||||
slow_step_right EQUS "slow_step RIGHT"
|
||||
step_down EQUS "step DOWN"
|
||||
step_up EQUS "step UP"
|
||||
step_left EQUS "step LEFT"
|
||||
step_right EQUS "step RIGHT"
|
||||
big_step_down EQUS "big_step DOWN"
|
||||
big_step_up EQUS "big_step UP"
|
||||
big_step_left EQUS "big_step LEFT"
|
||||
big_step_right EQUS "big_step RIGHT"
|
||||
slow_slide_step_down EQUS "slow_slide_step DOWN"
|
||||
slow_slide_step_up EQUS "slow_slide_step UP"
|
||||
slow_slide_step_left EQUS "slow_slide_step LEFT"
|
||||
slow_slide_step_right EQUS "slow_slide_step RIGHT"
|
||||
slide_step_down EQUS "slide_step DOWN"
|
||||
slide_step_up EQUS "slide_step UP"
|
||||
slide_step_left EQUS "slide_step LEFT"
|
||||
slide_step_right EQUS "slide_step RIGHT"
|
||||
fast_slide_step_down EQUS "fast_slide_step DOWN"
|
||||
fast_slide_step_up EQUS "fast_slide_step UP"
|
||||
fast_slide_step_left EQUS "fast_slide_step LEFT"
|
||||
fast_slide_step_right EQUS "fast_slide_step RIGHT"
|
||||
turn_away_down EQUS "turn_away DOWN"
|
||||
turn_away_up EQUS "turn_away UP"
|
||||
turn_away_left EQUS "turn_away LEFT"
|
||||
turn_away_right EQUS "turn_away RIGHT"
|
||||
turn_in_down EQUS "turn_in DOWN"
|
||||
turn_in_up EQUS "turn_in UP"
|
||||
turn_in_left EQUS "turn_in LEFT"
|
||||
turn_in_right EQUS "turn_in RIGHT"
|
||||
turn_waterfall_down EQUS "turn_waterfall DOWN"
|
||||
turn_waterfall_up EQUS "turn_waterfall UP"
|
||||
turn_waterfall_left EQUS "turn_waterfall LEFT"
|
||||
turn_waterfall_right EQUS "turn_waterfall RIGHT"
|
||||
slow_jump_step_down EQUS "slow_jump_step DOWN"
|
||||
slow_jump_step_up EQUS "slow_jump_step UP"
|
||||
slow_jump_step_left EQUS "slow_jump_step LEFT"
|
||||
slow_jump_step_right EQUS "slow_jump_step RIGHT"
|
||||
jump_step_down EQUS "jump_step DOWN"
|
||||
jump_step_up EQUS "jump_step UP"
|
||||
jump_step_left EQUS "jump_step LEFT"
|
||||
jump_step_right EQUS "jump_step RIGHT"
|
||||
fast_jump_step_down EQUS "fast_jump_step DOWN"
|
||||
fast_jump_step_up EQUS "fast_jump_step UP"
|
||||
fast_jump_step_left EQUS "fast_jump_step LEFT"
|
||||
fast_jump_step_right EQUS "fast_jump_step RIGHT"
|
||||
DEF turn_head_down EQUS "turn_head DOWN"
|
||||
DEF turn_head_up EQUS "turn_head UP"
|
||||
DEF turn_head_left EQUS "turn_head LEFT"
|
||||
DEF turn_head_right EQUS "turn_head RIGHT"
|
||||
DEF turn_step_down EQUS "turn_step DOWN"
|
||||
DEF turn_step_up EQUS "turn_step UP"
|
||||
DEF turn_step_left EQUS "turn_step LEFT"
|
||||
DEF turn_step_right EQUS "turn_step RIGHT"
|
||||
DEF slow_step_down EQUS "slow_step DOWN"
|
||||
DEF slow_step_up EQUS "slow_step UP"
|
||||
DEF slow_step_left EQUS "slow_step LEFT"
|
||||
DEF slow_step_right EQUS "slow_step RIGHT"
|
||||
DEF step_down EQUS "step DOWN"
|
||||
DEF step_up EQUS "step UP"
|
||||
DEF step_left EQUS "step LEFT"
|
||||
DEF step_right EQUS "step RIGHT"
|
||||
DEF big_step_down EQUS "big_step DOWN"
|
||||
DEF big_step_up EQUS "big_step UP"
|
||||
DEF big_step_left EQUS "big_step LEFT"
|
||||
DEF big_step_right EQUS "big_step RIGHT"
|
||||
DEF slow_slide_step_down EQUS "slow_slide_step DOWN"
|
||||
DEF slow_slide_step_up EQUS "slow_slide_step UP"
|
||||
DEF slow_slide_step_left EQUS "slow_slide_step LEFT"
|
||||
DEF slow_slide_step_right EQUS "slow_slide_step RIGHT"
|
||||
DEF slide_step_down EQUS "slide_step DOWN"
|
||||
DEF slide_step_up EQUS "slide_step UP"
|
||||
DEF slide_step_left EQUS "slide_step LEFT"
|
||||
DEF slide_step_right EQUS "slide_step RIGHT"
|
||||
DEF fast_slide_step_down EQUS "fast_slide_step DOWN"
|
||||
DEF fast_slide_step_up EQUS "fast_slide_step UP"
|
||||
DEF fast_slide_step_left EQUS "fast_slide_step LEFT"
|
||||
DEF fast_slide_step_right EQUS "fast_slide_step RIGHT"
|
||||
DEF turn_away_down EQUS "turn_away DOWN"
|
||||
DEF turn_away_up EQUS "turn_away UP"
|
||||
DEF turn_away_left EQUS "turn_away LEFT"
|
||||
DEF turn_away_right EQUS "turn_away RIGHT"
|
||||
DEF turn_in_down EQUS "turn_in DOWN"
|
||||
DEF turn_in_up EQUS "turn_in UP"
|
||||
DEF turn_in_left EQUS "turn_in LEFT"
|
||||
DEF turn_in_right EQUS "turn_in RIGHT"
|
||||
DEF turn_waterfall_down EQUS "turn_waterfall DOWN"
|
||||
DEF turn_waterfall_up EQUS "turn_waterfall UP"
|
||||
DEF turn_waterfall_left EQUS "turn_waterfall LEFT"
|
||||
DEF turn_waterfall_right EQUS "turn_waterfall RIGHT"
|
||||
DEF slow_jump_step_down EQUS "slow_jump_step DOWN"
|
||||
DEF slow_jump_step_up EQUS "slow_jump_step UP"
|
||||
DEF slow_jump_step_left EQUS "slow_jump_step LEFT"
|
||||
DEF slow_jump_step_right EQUS "slow_jump_step RIGHT"
|
||||
DEF jump_step_down EQUS "jump_step DOWN"
|
||||
DEF jump_step_up EQUS "jump_step UP"
|
||||
DEF jump_step_left EQUS "jump_step LEFT"
|
||||
DEF jump_step_right EQUS "jump_step RIGHT"
|
||||
DEF fast_jump_step_down EQUS "fast_jump_step DOWN"
|
||||
DEF fast_jump_step_up EQUS "fast_jump_step UP"
|
||||
DEF fast_jump_step_left EQUS "fast_jump_step LEFT"
|
||||
DEF fast_jump_step_right EQUS "fast_jump_step RIGHT"
|
||||
|
||||
step_sleep_1 EQUS "step_sleep 1"
|
||||
step_sleep_2 EQUS "step_sleep 2"
|
||||
step_sleep_3 EQUS "step_sleep 3"
|
||||
step_sleep_4 EQUS "step_sleep 4"
|
||||
step_sleep_5 EQUS "step_sleep 5"
|
||||
step_sleep_6 EQUS "step_sleep 6"
|
||||
step_sleep_7 EQUS "step_sleep 7"
|
||||
step_sleep_8 EQUS "step_sleep 8"
|
||||
DEF step_sleep_1 EQUS "step_sleep 1"
|
||||
DEF step_sleep_2 EQUS "step_sleep 2"
|
||||
DEF step_sleep_3 EQUS "step_sleep 3"
|
||||
DEF step_sleep_4 EQUS "step_sleep 4"
|
||||
DEF step_sleep_5 EQUS "step_sleep 5"
|
||||
DEF step_sleep_6 EQUS "step_sleep 6"
|
||||
DEF step_sleep_7 EQUS "step_sleep 7"
|
||||
DEF step_sleep_8 EQUS "step_sleep 8"
|
||||
|
||||
; macros/scripts/text.asm
|
||||
text_from_ram EQUS "text_ram"
|
||||
start_asm EQUS "text_asm"
|
||||
deciram EQUS "text_decimal"
|
||||
interpret_data EQUS "text_pause"
|
||||
limited_interpret_data EQUS "text_dots"
|
||||
link_wait_button EQUS "text_waitbutton"
|
||||
text_linkwaitbutton EQUS "text_waitbutton"
|
||||
text_linkpromptbutton EQUS "text_waitbutton"
|
||||
current_day EQUS "text_today"
|
||||
text_jump EQUS "text_far"
|
||||
DEF text_from_ram EQUS "text_ram"
|
||||
DEF start_asm EQUS "text_asm"
|
||||
DEF deciram EQUS "text_decimal"
|
||||
DEF interpret_data EQUS "text_pause"
|
||||
DEF limited_interpret_data EQUS "text_dots"
|
||||
DEF link_wait_button EQUS "text_waitbutton"
|
||||
DEF text_linkwaitbutton EQUS "text_waitbutton"
|
||||
DEF text_linkpromptbutton EQUS "text_waitbutton"
|
||||
DEF current_day EQUS "text_today"
|
||||
DEF text_jump EQUS "text_far"
|
||||
|
||||
; macros/scripts/battle_anims.asm
|
||||
anim_enemyfeetobj EQUS "anim_battlergfx_2row"
|
||||
anim_playerheadobj EQUS "anim_battlergfx_1row"
|
||||
anim_clearsprites EQUS "anim_keepsprites"
|
||||
DEF anim_enemyfeetobj EQUS "anim_battlergfx_2row"
|
||||
DEF anim_playerheadobj EQUS "anim_battlergfx_1row"
|
||||
DEF anim_clearsprites EQUS "anim_keepsprites"
|
||||
|
||||
; engine/events/std_scripts.asm
|
||||
pokecenternurse EQUS "PokecenterNurseScript"
|
||||
difficultbookshelf EQUS "DifficultBookshelfScript"
|
||||
picturebookshelf EQUS "PictureBookshelfScript"
|
||||
magazinebookshelf EQUS "MagazineBookshelfScript"
|
||||
teamrocketoath EQUS "TeamRocketOathScript"
|
||||
incenseburner EQUS "IncenseBurnerScript"
|
||||
merchandiseshelf EQUS "MerchandiseShelfScript"
|
||||
townmap EQUS "TownMapScript"
|
||||
window EQUS "WindowScript"
|
||||
tv EQUS "TVScript"
|
||||
homepage EQUS "HomepageScript"
|
||||
radio1 EQUS "Radio1Script"
|
||||
radio2 EQUS "Radio2Script"
|
||||
trashcan EQUS "TrashCanScript"
|
||||
strengthboulder EQUS "StrengthBoulderScript"
|
||||
smashrock EQUS "SmashRockScript"
|
||||
pokecentersign EQUS "PokecenterSignScript"
|
||||
martsign EQUS "MartSignScript"
|
||||
goldenrodrockets EQUS "GoldenrodRocketsScript"
|
||||
radiotowerrockets EQUS "RadioTowerRocketsScript"
|
||||
elevatorbutton EQUS "ElevatorButtonScript"
|
||||
daytotext EQUS "DayToTextScript"
|
||||
bugcontestresultswarp EQUS "BugContestResultsWarpScript"
|
||||
bugcontestresults EQUS "BugContestResultsScript"
|
||||
initializeevents EQUS "InitializeEventsScript"
|
||||
asknumber1m EQUS "AskNumber1MScript"
|
||||
asknumber2m EQUS "AskNumber2MScript"
|
||||
registerednumberm EQUS "RegisteredNumberMScript"
|
||||
numberacceptedm EQUS "NumberAcceptedMScript"
|
||||
numberdeclinedm EQUS "NumberDeclinedMScript"
|
||||
phonefullm EQUS "PhoneFullMScript"
|
||||
rematchm EQUS "RematchMScript"
|
||||
giftm EQUS "GiftMScript"
|
||||
packfullm EQUS "PackFullMScript"
|
||||
rematchgiftm EQUS "RematchGiftMScript"
|
||||
asknumber1f EQUS "AskNumber1FScript"
|
||||
asknumber2f EQUS "AskNumber2FScript"
|
||||
registerednumberf EQUS "RegisteredNumberFScript"
|
||||
numberacceptedf EQUS "NumberAcceptedFScript"
|
||||
numberdeclinedf EQUS "NumberDeclinedFScript"
|
||||
phonefullf EQUS "PhoneFullFScript"
|
||||
rematchf EQUS "RematchFScript"
|
||||
giftf EQUS "GiftFScript"
|
||||
packfullf EQUS "PackFullFScript"
|
||||
rematchgiftf EQUS "RematchGiftFScript"
|
||||
gymstatue1 EQUS "GymStatue1Script"
|
||||
gymstatue2 EQUS "GymStatue2Script"
|
||||
receiveitem EQUS "ReceiveItemScript"
|
||||
receivetogepiegg EQUS "ReceiveTogepiEggScript"
|
||||
pcscript EQUS "PCScript"
|
||||
gamecornercoinvendor EQUS "GameCornerCoinVendorScript"
|
||||
happinesschecknpc EQUS "HappinessCheckScript"
|
||||
DEF pokecenternurse EQUS "PokecenterNurseScript"
|
||||
DEF difficultbookshelf EQUS "DifficultBookshelfScript"
|
||||
DEF picturebookshelf EQUS "PictureBookshelfScript"
|
||||
DEF magazinebookshelf EQUS "MagazineBookshelfScript"
|
||||
DEF teamrocketoath EQUS "TeamRocketOathScript"
|
||||
DEF incenseburner EQUS "IncenseBurnerScript"
|
||||
DEF merchandiseshelf EQUS "MerchandiseShelfScript"
|
||||
DEF townmap EQUS "TownMapScript"
|
||||
DEF window EQUS "WindowScript"
|
||||
DEF tv EQUS "TVScript"
|
||||
DEF homepage EQUS "HomepageScript"
|
||||
DEF radio1 EQUS "Radio1Script"
|
||||
DEF radio2 EQUS "Radio2Script"
|
||||
DEF trashcan EQUS "TrashCanScript"
|
||||
DEF strengthboulder EQUS "StrengthBoulderScript"
|
||||
DEF smashrock EQUS "SmashRockScript"
|
||||
DEF pokecentersign EQUS "PokecenterSignScript"
|
||||
DEF martsign EQUS "MartSignScript"
|
||||
DEF goldenrodrockets EQUS "GoldenrodRocketsScript"
|
||||
DEF radiotowerrockets EQUS "RadioTowerRocketsScript"
|
||||
DEF elevatorbutton EQUS "ElevatorButtonScript"
|
||||
DEF daytotext EQUS "DayToTextScript"
|
||||
DEF bugcontestresultswarp EQUS "BugContestResultsWarpScript"
|
||||
DEF bugcontestresults EQUS "BugContestResultsScript"
|
||||
DEF initializeevents EQUS "InitializeEventsScript"
|
||||
DEF asknumber1m EQUS "AskNumber1MScript"
|
||||
DEF asknumber2m EQUS "AskNumber2MScript"
|
||||
DEF registerednumberm EQUS "RegisteredNumberMScript"
|
||||
DEF numberacceptedm EQUS "NumberAcceptedMScript"
|
||||
DEF numberdeclinedm EQUS "NumberDeclinedMScript"
|
||||
DEF phonefullm EQUS "PhoneFullMScript"
|
||||
DEF rematchm EQUS "RematchMScript"
|
||||
DEF giftm EQUS "GiftMScript"
|
||||
DEF packfullm EQUS "PackFullMScript"
|
||||
DEF rematchgiftm EQUS "RematchGiftMScript"
|
||||
DEF asknumber1f EQUS "AskNumber1FScript"
|
||||
DEF asknumber2f EQUS "AskNumber2FScript"
|
||||
DEF registerednumberf EQUS "RegisteredNumberFScript"
|
||||
DEF numberacceptedf EQUS "NumberAcceptedFScript"
|
||||
DEF numberdeclinedf EQUS "NumberDeclinedFScript"
|
||||
DEF phonefullf EQUS "PhoneFullFScript"
|
||||
DEF rematchf EQUS "RematchFScript"
|
||||
DEF giftf EQUS "GiftFScript"
|
||||
DEF packfullf EQUS "PackFullFScript"
|
||||
DEF rematchgiftf EQUS "RematchGiftFScript"
|
||||
DEF gymstatue1 EQUS "GymStatue1Script"
|
||||
DEF gymstatue2 EQUS "GymStatue2Script"
|
||||
DEF receiveitem EQUS "ReceiveItemScript"
|
||||
DEF receivetogepiegg EQUS "ReceiveTogepiEggScript"
|
||||
DEF pcscript EQUS "PCScript"
|
||||
DEF gamecornercoinvendor EQUS "GameCornerCoinVendorScript"
|
||||
DEF happinesschecknpc EQUS "HappinessCheckScript"
|
||||
|
||||
; constants/sprite_constants.asm
|
||||
SPRITE_BUENA EQUS "SPRITE_BEAUTY"
|
||||
DEF SPRITE_BUENA EQUS "SPRITE_BEAUTY"
|
||||
|
@@ -1,15 +1,15 @@
|
||||
lda_predef: MACRO
|
||||
MACRO lda_predef
|
||||
; Some functions load the predef id
|
||||
; without immediately calling Predef.
|
||||
ld a, (\1Predef - PredefPointers) / 3
|
||||
ENDM
|
||||
|
||||
predef: MACRO
|
||||
MACRO predef
|
||||
lda_predef \1
|
||||
call Predef
|
||||
ENDM
|
||||
|
||||
predef_jump: MACRO
|
||||
MACRO predef_jump
|
||||
lda_predef \1
|
||||
jp Predef
|
||||
ENDM
|
||||
|
@@ -1,16 +1,16 @@
|
||||
farcall: MACRO ; bank, address
|
||||
MACRO farcall ; bank, address
|
||||
ld a, BANK(\1)
|
||||
ld hl, \1
|
||||
rst FarCall
|
||||
ENDM
|
||||
|
||||
callfar: MACRO ; address, bank
|
||||
MACRO callfar ; address, bank
|
||||
ld hl, \1
|
||||
ld a, BANK(\1)
|
||||
rst FarCall
|
||||
ENDM
|
||||
|
||||
homecall: MACRO
|
||||
MACRO homecall
|
||||
ldh a, [hROMBank]
|
||||
push af
|
||||
ld a, BANK(\1)
|
||||
|
@@ -1,30 +1,30 @@
|
||||
channel_count: MACRO
|
||||
MACRO channel_count
|
||||
assert 0 < (\1) && (\1) <= NUM_MUSIC_CHANS, \
|
||||
"channel_count must be 1-{d:NUM_MUSIC_CHANS}"
|
||||
_num_channels = \1 - 1
|
||||
DEF _num_channels = \1 - 1
|
||||
ENDM
|
||||
|
||||
channel: MACRO
|
||||
MACRO channel
|
||||
assert 0 < (\1) && (\1) <= NUM_CHANNELS, \
|
||||
"channel id must be 1-{d:NUM_CHANNELS}"
|
||||
dn (_num_channels << 2), \1 - 1 ; channel id
|
||||
dw \2 ; address
|
||||
_num_channels = 0
|
||||
DEF _num_channels = 0
|
||||
ENDM
|
||||
|
||||
note: MACRO
|
||||
MACRO note
|
||||
dn (\1), (\2) - 1 ; pitch, length
|
||||
ENDM
|
||||
|
||||
drum_note: MACRO
|
||||
MACRO drum_note
|
||||
note \1, \2 ; drum instrument, length
|
||||
ENDM
|
||||
|
||||
rest: MACRO
|
||||
MACRO rest
|
||||
note 0, \1 ; length
|
||||
ENDM
|
||||
|
||||
square_note: MACRO
|
||||
MACRO square_note
|
||||
db \1 ; length
|
||||
if \3 < 0
|
||||
dn \2, %1000 | (\3 * -1) ; volume envelope
|
||||
@@ -34,7 +34,7 @@ square_note: MACRO
|
||||
dw \4 ; frequency
|
||||
ENDM
|
||||
|
||||
noise_note: MACRO
|
||||
MACRO noise_note
|
||||
db \1 ; length
|
||||
if \3 < 0
|
||||
dn \2, %1000 | (\3 * -1) ; volume envelope
|
||||
@@ -46,10 +46,10 @@ ENDM
|
||||
|
||||
; MusicCommands indexes (see audio/engine.asm)
|
||||
const_def $d0
|
||||
FIRST_MUSIC_CMD EQU const_value
|
||||
DEF FIRST_MUSIC_CMD EQU const_value
|
||||
|
||||
const octave_cmd ; $d0
|
||||
octave: MACRO
|
||||
MACRO octave
|
||||
assert 1 <= (\1) && (\1) <= 8, "octave must be 1-8"
|
||||
db octave_cmd + 8 - (\1) ; octave
|
||||
ENDM
|
||||
@@ -57,7 +57,7 @@ ENDM
|
||||
const_skip 7 ; all octave values
|
||||
|
||||
const note_type_cmd ; $d8
|
||||
note_type: MACRO
|
||||
MACRO note_type
|
||||
db note_type_cmd
|
||||
db \1 ; note length
|
||||
if _NARG >= 2
|
||||
@@ -70,30 +70,30 @@ note_type: MACRO
|
||||
ENDM
|
||||
|
||||
; only valid on the noise channel
|
||||
drum_speed: MACRO
|
||||
MACRO drum_speed
|
||||
note_type \1 ; note length
|
||||
ENDM
|
||||
|
||||
const transpose_cmd ; $d9
|
||||
transpose: MACRO
|
||||
MACRO transpose
|
||||
db transpose_cmd
|
||||
dn \1, \2 ; num octaves, num pitches
|
||||
ENDM
|
||||
|
||||
const tempo_cmd ; $da
|
||||
tempo: MACRO
|
||||
MACRO tempo
|
||||
db tempo_cmd
|
||||
bigdw \1 ; tempo
|
||||
ENDM
|
||||
|
||||
const duty_cycle_cmd ; $db
|
||||
duty_cycle: MACRO
|
||||
MACRO duty_cycle
|
||||
db duty_cycle_cmd
|
||||
db \1 ; duty cycle
|
||||
ENDM
|
||||
|
||||
const volume_envelope_cmd ; $dc
|
||||
volume_envelope: MACRO
|
||||
MACRO volume_envelope
|
||||
db volume_envelope_cmd
|
||||
if \2 < 0
|
||||
dn \1, %1000 | (\2 * -1) ; volume envelope
|
||||
@@ -103,7 +103,7 @@ volume_envelope: MACRO
|
||||
ENDM
|
||||
|
||||
const pitch_sweep_cmd ; $dd
|
||||
pitch_sweep: MACRO
|
||||
MACRO pitch_sweep
|
||||
db pitch_sweep_cmd
|
||||
if \2 < 0
|
||||
dn \1, %1000 | (\2 * -1) ; pitch sweep
|
||||
@@ -113,25 +113,25 @@ pitch_sweep: MACRO
|
||||
ENDM
|
||||
|
||||
const duty_cycle_pattern_cmd ; $de
|
||||
duty_cycle_pattern: MACRO
|
||||
MACRO duty_cycle_pattern
|
||||
db duty_cycle_pattern_cmd
|
||||
db (\1 << 6) | (\2 << 4) | (\3 << 2) | (\4 << 0) ; duty cycle pattern
|
||||
ENDM
|
||||
|
||||
const toggle_sfx_cmd ; $df
|
||||
toggle_sfx: MACRO
|
||||
MACRO toggle_sfx
|
||||
db toggle_sfx_cmd
|
||||
ENDM
|
||||
|
||||
const pitch_slide_cmd ; $e0
|
||||
pitch_slide: MACRO
|
||||
MACRO pitch_slide
|
||||
db pitch_slide_cmd
|
||||
db \1 - 1 ; duration
|
||||
dn 8 - \2, \3 % 12 ; octave, pitch
|
||||
ENDM
|
||||
|
||||
const vibrato_cmd ; $e1
|
||||
vibrato: MACRO
|
||||
MACRO vibrato
|
||||
db vibrato_cmd
|
||||
db \1 ; delay
|
||||
if _NARG > 2
|
||||
@@ -142,13 +142,13 @@ vibrato: MACRO
|
||||
ENDM
|
||||
|
||||
const unknownmusic0xe2_cmd ; $e2
|
||||
unknownmusic0xe2: MACRO
|
||||
MACRO unknownmusic0xe2
|
||||
db unknownmusic0xe2_cmd
|
||||
db \1 ; unknown
|
||||
ENDM
|
||||
|
||||
const toggle_noise_cmd ; $e3
|
||||
toggle_noise: MACRO
|
||||
MACRO toggle_noise
|
||||
db toggle_noise_cmd
|
||||
if _NARG > 0
|
||||
db \1 ; drum kit
|
||||
@@ -156,13 +156,13 @@ toggle_noise: MACRO
|
||||
ENDM
|
||||
|
||||
const force_stereo_panning_cmd ; $e4
|
||||
force_stereo_panning: MACRO
|
||||
MACRO force_stereo_panning
|
||||
db force_stereo_panning_cmd
|
||||
dn %1111 * (1 && \1), %1111 * (1 && \2) ; left enable, right enable
|
||||
ENDM
|
||||
|
||||
const volume_cmd ; $e5
|
||||
volume: MACRO
|
||||
MACRO volume
|
||||
db volume_cmd
|
||||
if _NARG > 1
|
||||
dn \1, \2 ; left volume, right volume
|
||||
@@ -172,65 +172,65 @@ volume: MACRO
|
||||
ENDM
|
||||
|
||||
const pitch_offset_cmd ; $e6
|
||||
pitch_offset: MACRO
|
||||
MACRO pitch_offset
|
||||
db pitch_offset_cmd
|
||||
bigdw \1 ; pitch offset
|
||||
ENDM
|
||||
|
||||
const unknownmusic0xe7_cmd ; $e7
|
||||
unknownmusic0xe7: MACRO
|
||||
MACRO unknownmusic0xe7
|
||||
db unknownmusic0xe7_cmd
|
||||
db \1 ; unknown
|
||||
ENDM
|
||||
|
||||
const unknownmusic0xe8_cmd ; $e8
|
||||
unknownmusic0xe8: MACRO
|
||||
MACRO unknownmusic0xe8
|
||||
db unknownmusic0xe8_cmd
|
||||
db \1 ; unknown
|
||||
ENDM
|
||||
|
||||
const tempo_relative_cmd ; $e9
|
||||
tempo_relative: MACRO
|
||||
MACRO tempo_relative
|
||||
db tempo_relative_cmd
|
||||
bigdw \1 ; tempo adjustment
|
||||
ENDM
|
||||
|
||||
const restart_channel_cmd ; $ea
|
||||
restart_channel: MACRO
|
||||
MACRO restart_channel
|
||||
db restart_channel_cmd
|
||||
dw \1 ; address
|
||||
ENDM
|
||||
|
||||
const new_song_cmd ; $eb
|
||||
new_song: MACRO
|
||||
MACRO new_song
|
||||
db new_song_cmd
|
||||
bigdw \1 ; id
|
||||
ENDM
|
||||
|
||||
const sfx_priority_on_cmd ; $ec
|
||||
sfx_priority_on: MACRO
|
||||
MACRO sfx_priority_on
|
||||
db sfx_priority_on_cmd
|
||||
ENDM
|
||||
|
||||
const sfx_priority_off_cmd ; $ed
|
||||
sfx_priority_off: MACRO
|
||||
MACRO sfx_priority_off
|
||||
db sfx_priority_off_cmd
|
||||
ENDM
|
||||
|
||||
const unknownmusic0xee_cmd ; $ee
|
||||
unknownmusic0xee: MACRO
|
||||
MACRO unknownmusic0xee
|
||||
db unknownmusic0xee_cmd
|
||||
dw \1 ; address
|
||||
ENDM
|
||||
|
||||
const stereo_panning_cmd ; $ef
|
||||
stereo_panning: MACRO
|
||||
MACRO stereo_panning
|
||||
db stereo_panning_cmd
|
||||
dn %1111 * (1 && \1), %1111 * (1 && \2) ; left enable, right enable
|
||||
ENDM
|
||||
|
||||
const sfx_toggle_noise_cmd ; $f0
|
||||
sfx_toggle_noise: MACRO
|
||||
MACRO sfx_toggle_noise
|
||||
db sfx_toggle_noise_cmd
|
||||
if _NARG > 0
|
||||
db \1 ; drum kit
|
||||
@@ -238,83 +238,83 @@ sfx_toggle_noise: MACRO
|
||||
ENDM
|
||||
|
||||
const music0xf1_cmd ; $f1
|
||||
music0xf1: MACRO
|
||||
MACRO music0xf1
|
||||
db music0xf1_cmd
|
||||
ENDM
|
||||
|
||||
const music0xf2_cmd ; $f2
|
||||
music0xf2: MACRO
|
||||
MACRO music0xf2
|
||||
db music0xf2_cmd
|
||||
ENDM
|
||||
|
||||
const music0xf3_cmd ; $f3
|
||||
music0xf3: MACRO
|
||||
MACRO music0xf3
|
||||
db music0xf3_cmd
|
||||
ENDM
|
||||
|
||||
const music0xf4_cmd ; $f4
|
||||
music0xf4: MACRO
|
||||
MACRO music0xf4
|
||||
db music0xf4_cmd
|
||||
ENDM
|
||||
|
||||
const music0xf5_cmd ; $f5
|
||||
music0xf5: MACRO
|
||||
MACRO music0xf5
|
||||
db music0xf5_cmd
|
||||
ENDM
|
||||
|
||||
const music0xf6_cmd ; $f6
|
||||
music0xf6: MACRO
|
||||
MACRO music0xf6
|
||||
db music0xf6_cmd
|
||||
ENDM
|
||||
|
||||
const music0xf7_cmd ; $f7
|
||||
music0xf7: MACRO
|
||||
MACRO music0xf7
|
||||
db music0xf7_cmd
|
||||
ENDM
|
||||
|
||||
const music0xf8_cmd ; $f8
|
||||
music0xf8: MACRO
|
||||
MACRO music0xf8
|
||||
db music0xf8_cmd
|
||||
ENDM
|
||||
|
||||
const unknownmusic0xf9_cmd ; $f9
|
||||
unknownmusic0xf9: MACRO
|
||||
MACRO unknownmusic0xf9
|
||||
db unknownmusic0xf9_cmd
|
||||
ENDM
|
||||
|
||||
const set_condition_cmd ; $fa
|
||||
set_condition: MACRO
|
||||
MACRO set_condition
|
||||
db set_condition_cmd
|
||||
db \1 ; condition
|
||||
ENDM
|
||||
|
||||
const sound_jump_if_cmd ; $fb
|
||||
sound_jump_if: MACRO
|
||||
MACRO sound_jump_if
|
||||
db sound_jump_if_cmd
|
||||
db \1 ; condition
|
||||
dw \2 ; address
|
||||
ENDM
|
||||
|
||||
const sound_jump_cmd ; $fc
|
||||
sound_jump: MACRO
|
||||
MACRO sound_jump
|
||||
db sound_jump_cmd
|
||||
dw \1 ; address
|
||||
ENDM
|
||||
|
||||
const sound_loop_cmd ; $fd
|
||||
sound_loop: MACRO
|
||||
MACRO sound_loop
|
||||
db sound_loop_cmd
|
||||
db \1 ; count
|
||||
dw \2 ; address
|
||||
ENDM
|
||||
|
||||
const sound_call_cmd ; $fe
|
||||
sound_call: MACRO
|
||||
MACRO sound_call
|
||||
db sound_call_cmd
|
||||
dw \1 ; address
|
||||
ENDM
|
||||
|
||||
const sound_ret_cmd ; $ff
|
||||
sound_ret: MACRO
|
||||
MACRO sound_ret
|
||||
db sound_ret_cmd
|
||||
ENDM
|
||||
|
@@ -1,44 +1,44 @@
|
||||
; BattleAnimCommands indexes (see engine/battle_anims/anim_commands.asm)
|
||||
const_def $d0
|
||||
FIRST_BATTLE_ANIM_CMD EQU const_value
|
||||
DEF FIRST_BATTLE_ANIM_CMD EQU const_value
|
||||
|
||||
anim_wait: MACRO
|
||||
MACRO anim_wait
|
||||
assert (\1) < FIRST_BATTLE_ANIM_CMD, "anim_wait argument must be less than {FIRST_BATTLE_ANIM_CMD}"
|
||||
db \1
|
||||
ENDM
|
||||
|
||||
const anim_obj_command ; $d0
|
||||
anim_obj: MACRO
|
||||
MACRO anim_obj
|
||||
db anim_obj_command
|
||||
if _NARG <= 4
|
||||
db \1 ; object
|
||||
db \2 ; x
|
||||
db \3 ; y
|
||||
db \4 ; param
|
||||
else
|
||||
; LEGACY: Support the tile+offset format
|
||||
db \1 ; object
|
||||
db (\2) * 8 + (\3) ; x_tile, x
|
||||
db (\4) * 8 + (\5) ; y_tile, y
|
||||
db \6 ; param
|
||||
endc
|
||||
if _NARG <= 4
|
||||
db \1 ; object
|
||||
db \2 ; x
|
||||
db \3 ; y
|
||||
db \4 ; param
|
||||
else
|
||||
; LEGACY: Support the tile+offset format
|
||||
db \1 ; object
|
||||
db (\2) * 8 + (\3) ; x_tile, x
|
||||
db (\4) * 8 + (\5) ; y_tile, y
|
||||
db \6 ; param
|
||||
endc
|
||||
ENDM
|
||||
|
||||
const anim_1gfx_command ; $d1
|
||||
anim_1gfx: MACRO
|
||||
MACRO anim_1gfx
|
||||
db anim_1gfx_command
|
||||
db \1 ; gfx1
|
||||
ENDM
|
||||
|
||||
const anim_2gfx_command ; $d2
|
||||
anim_2gfx: MACRO
|
||||
MACRO anim_2gfx
|
||||
db anim_2gfx_command
|
||||
db \1 ; gfx1
|
||||
db \2 ; gfx2
|
||||
ENDM
|
||||
|
||||
const anim_3gfx_command ; $d3
|
||||
anim_3gfx: MACRO
|
||||
MACRO anim_3gfx
|
||||
db anim_3gfx_command
|
||||
db \1 ; gfx1
|
||||
db \2 ; gfx2
|
||||
@@ -46,7 +46,7 @@ anim_3gfx: MACRO
|
||||
ENDM
|
||||
|
||||
const anim_4gfx_command ; $d4
|
||||
anim_4gfx: MACRO
|
||||
MACRO anim_4gfx
|
||||
db anim_4gfx_command
|
||||
db \1 ; gfx1
|
||||
db \2 ; gfx2
|
||||
@@ -55,7 +55,7 @@ anim_4gfx: MACRO
|
||||
ENDM
|
||||
|
||||
const anim_5gfx_command ; $d5
|
||||
anim_5gfx: MACRO
|
||||
MACRO anim_5gfx
|
||||
db anim_5gfx_command
|
||||
db \1 ; gfx1
|
||||
db \2 ; gfx2
|
||||
@@ -65,147 +65,147 @@ anim_5gfx: MACRO
|
||||
ENDM
|
||||
|
||||
const anim_incobj_command ; $d6
|
||||
anim_incobj: MACRO
|
||||
MACRO anim_incobj
|
||||
db anim_incobj_command
|
||||
db \1 ; object_id
|
||||
ENDM
|
||||
|
||||
const anim_setobj_command ; $d7
|
||||
anim_setobj: MACRO
|
||||
MACRO anim_setobj
|
||||
db anim_setobj_command
|
||||
db \1 ; object_id
|
||||
db \2 ; value
|
||||
ENDM
|
||||
|
||||
const anim_incbgeffect_command ; $d8
|
||||
anim_incbgeffect: MACRO
|
||||
MACRO anim_incbgeffect
|
||||
db anim_incbgeffect_command
|
||||
db \1 ; effect
|
||||
ENDM
|
||||
|
||||
const anim_battlergfx_2row_command ; $d9
|
||||
anim_battlergfx_2row: MACRO
|
||||
MACRO anim_battlergfx_2row
|
||||
db anim_battlergfx_2row_command
|
||||
ENDM
|
||||
|
||||
const anim_battlergfx_1row_command ; $da
|
||||
anim_battlergfx_1row: MACRO
|
||||
MACRO anim_battlergfx_1row
|
||||
db anim_battlergfx_1row_command
|
||||
ENDM
|
||||
|
||||
const anim_checkpokeball_command ; $db
|
||||
anim_checkpokeball: MACRO
|
||||
MACRO anim_checkpokeball
|
||||
db anim_checkpokeball_command
|
||||
ENDM
|
||||
|
||||
const anim_transform_command ; $dc
|
||||
anim_transform: MACRO
|
||||
MACRO anim_transform
|
||||
db anim_transform_command
|
||||
ENDM
|
||||
|
||||
const anim_raisesub_command ; $dd
|
||||
anim_raisesub: MACRO
|
||||
MACRO anim_raisesub
|
||||
db anim_raisesub_command
|
||||
ENDM
|
||||
|
||||
const anim_dropsub_command ; $de
|
||||
anim_dropsub: MACRO
|
||||
MACRO anim_dropsub
|
||||
db anim_dropsub_command
|
||||
ENDM
|
||||
|
||||
const anim_resetobp0_command ; $df
|
||||
anim_resetobp0: MACRO
|
||||
MACRO anim_resetobp0
|
||||
db anim_resetobp0_command
|
||||
ENDM
|
||||
|
||||
const anim_sound_command ; $e0
|
||||
anim_sound: MACRO
|
||||
MACRO anim_sound
|
||||
db anim_sound_command
|
||||
db (\1 << 2) | \2 ; duration, tracks
|
||||
db \3 ; sound_id
|
||||
ENDM
|
||||
|
||||
const anim_cry_command ; $e1
|
||||
anim_cry: MACRO
|
||||
MACRO anim_cry
|
||||
db anim_cry_command
|
||||
db \1 ; pitch
|
||||
ENDM
|
||||
|
||||
const anim_minimizeopp_command ; $e2
|
||||
anim_minimizeopp: MACRO
|
||||
MACRO anim_minimizeopp
|
||||
db anim_minimizeopp_command
|
||||
ENDM
|
||||
|
||||
const anim_oamon_command ; $e3
|
||||
anim_oamon: MACRO
|
||||
MACRO anim_oamon
|
||||
db anim_oamon_command
|
||||
ENDM
|
||||
|
||||
const anim_oamoff_command ; $e4
|
||||
anim_oamoff: MACRO
|
||||
MACRO anim_oamoff
|
||||
db anim_oamoff_command
|
||||
ENDM
|
||||
|
||||
const anim_clearobjs_command ; $e5
|
||||
anim_clearobjs: MACRO
|
||||
MACRO anim_clearobjs
|
||||
db anim_clearobjs_command
|
||||
ENDM
|
||||
|
||||
const anim_beatup_command ; $e6
|
||||
anim_beatup: MACRO
|
||||
MACRO anim_beatup
|
||||
db anim_beatup_command
|
||||
ENDM
|
||||
|
||||
const anim_0xe7_command ; $e7
|
||||
anim_0xe7: MACRO
|
||||
MACRO anim_0xe7
|
||||
db anim_0xe7_command
|
||||
ENDM
|
||||
|
||||
const anim_updateactorpic_command ; $e8
|
||||
anim_updateactorpic: MACRO
|
||||
MACRO anim_updateactorpic
|
||||
db anim_updateactorpic_command
|
||||
ENDM
|
||||
|
||||
const anim_minimize_command ; $e9
|
||||
anim_minimize: MACRO
|
||||
MACRO anim_minimize
|
||||
db anim_minimize_command
|
||||
ENDM
|
||||
|
||||
const anim_0xea_command ; $ea
|
||||
anim_0xea: MACRO
|
||||
MACRO anim_0xea
|
||||
db anim_0xea_command
|
||||
ENDM
|
||||
|
||||
const anim_0xeb_command ; $eb
|
||||
anim_0xeb: MACRO
|
||||
MACRO anim_0xeb
|
||||
db anim_0xeb_command
|
||||
ENDM
|
||||
|
||||
const anim_0xec_command ; $ec
|
||||
anim_0xec: MACRO
|
||||
MACRO anim_0xec
|
||||
db anim_0xec_command
|
||||
ENDM
|
||||
|
||||
const anim_0xed_command ; $ed
|
||||
anim_0xed: MACRO
|
||||
MACRO anim_0xed
|
||||
db anim_0xed_command
|
||||
ENDM
|
||||
|
||||
const anim_if_param_and_command ; $ee
|
||||
anim_if_param_and: MACRO
|
||||
MACRO anim_if_param_and
|
||||
db anim_if_param_and_command
|
||||
db \1 ; value
|
||||
dw \2 ; address
|
||||
ENDM
|
||||
|
||||
const anim_jumpuntil_command ; $ef
|
||||
anim_jumpuntil: MACRO
|
||||
MACRO anim_jumpuntil
|
||||
db anim_jumpuntil_command
|
||||
dw \1 ; address
|
||||
ENDM
|
||||
|
||||
const anim_bgeffect_command ; $f0
|
||||
anim_bgeffect: MACRO
|
||||
MACRO anim_bgeffect
|
||||
db anim_bgeffect_command
|
||||
db \1 ; effect
|
||||
db \2 ; jumptable index
|
||||
@@ -214,88 +214,88 @@ anim_bgeffect: MACRO
|
||||
ENDM
|
||||
|
||||
const anim_bgp_command ; $f1
|
||||
anim_bgp: MACRO
|
||||
MACRO anim_bgp
|
||||
db anim_bgp_command
|
||||
db \1 ; colors
|
||||
ENDM
|
||||
|
||||
const anim_obp0_command ; $f2
|
||||
anim_obp0: MACRO
|
||||
MACRO anim_obp0
|
||||
db anim_obp0_command
|
||||
db \1 ; colors
|
||||
ENDM
|
||||
|
||||
const anim_obp1_command ; $f3
|
||||
anim_obp1: MACRO
|
||||
MACRO anim_obp1
|
||||
db anim_obp1_command
|
||||
db \1 ; colors
|
||||
ENDM
|
||||
|
||||
const anim_keepsprites_command ; $f4
|
||||
anim_keepsprites: MACRO
|
||||
MACRO anim_keepsprites
|
||||
db anim_keepsprites_command
|
||||
ENDM
|
||||
|
||||
const anim_0xf5_command ; $f5
|
||||
anim_0xf5: MACRO
|
||||
MACRO anim_0xf5
|
||||
db anim_0xf5_command
|
||||
ENDM
|
||||
|
||||
const anim_0xf6_command ; $f6
|
||||
anim_0xf6: MACRO
|
||||
MACRO anim_0xf6
|
||||
db anim_0xf6_command
|
||||
ENDM
|
||||
|
||||
const anim_0xf7_command ; $f7
|
||||
anim_0xf7: MACRO
|
||||
MACRO anim_0xf7
|
||||
db anim_0xf7_command
|
||||
ENDM
|
||||
|
||||
const anim_if_param_equal_command ; $f8
|
||||
anim_if_param_equal: MACRO
|
||||
MACRO anim_if_param_equal
|
||||
db anim_if_param_equal_command
|
||||
db \1 ; value
|
||||
dw \2 ; address
|
||||
ENDM
|
||||
|
||||
const anim_setvar_command ; $f9
|
||||
anim_setvar: MACRO
|
||||
MACRO anim_setvar
|
||||
db anim_setvar_command
|
||||
db \1 ; value
|
||||
ENDM
|
||||
|
||||
const anim_incvar_command ; $fa
|
||||
anim_incvar: MACRO
|
||||
MACRO anim_incvar
|
||||
db anim_incvar_command
|
||||
ENDM
|
||||
|
||||
const anim_if_var_equal_command ; $fb
|
||||
anim_if_var_equal: MACRO
|
||||
MACRO anim_if_var_equal
|
||||
db anim_if_var_equal_command
|
||||
db \1 ; value
|
||||
dw \2 ; address
|
||||
ENDM
|
||||
|
||||
const anim_jump_command ; $fc
|
||||
anim_jump: MACRO
|
||||
MACRO anim_jump
|
||||
db anim_jump_command
|
||||
dw \1 ; address
|
||||
ENDM
|
||||
|
||||
const anim_loop_command ; $fd
|
||||
anim_loop: MACRO
|
||||
MACRO anim_loop
|
||||
db anim_loop_command
|
||||
db \1 ; count
|
||||
dw \2 ; address
|
||||
ENDM
|
||||
|
||||
const anim_call_command ; $fe
|
||||
anim_call: MACRO
|
||||
MACRO anim_call
|
||||
db anim_call_command
|
||||
dw \1 ; address
|
||||
ENDM
|
||||
|
||||
const anim_ret_command ; $ff
|
||||
anim_ret: MACRO
|
||||
MACRO anim_ret
|
||||
db anim_ret_command
|
||||
ENDM
|
||||
|
@@ -1,6 +1,6 @@
|
||||
command: MACRO
|
||||
MACRO command
|
||||
const \1_command
|
||||
\1 EQUS "db \1_command"
|
||||
DEF \1 EQUS "db \1_command"
|
||||
ENDM
|
||||
|
||||
; BattleCommandPointers indexes (see data/battle/effect_command_pointers.asm)
|
||||
@@ -180,7 +180,7 @@ ENDM
|
||||
command supereffectivelooptext ; ad
|
||||
command startloop ; ae
|
||||
command curl ; af
|
||||
NUM_EFFECT_COMMANDS EQU const_value - 1
|
||||
DEF NUM_EFFECT_COMMANDS EQU const_value - 1
|
||||
|
||||
const_def -1, -1
|
||||
command endmove ; ff
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,37 +1,37 @@
|
||||
; pic + oam animations
|
||||
|
||||
frame: MACRO
|
||||
MACRO frame
|
||||
db \1
|
||||
x = \2
|
||||
if _NARG > 2
|
||||
rept _NARG - 2
|
||||
x |= 1 << (\3 + 1)
|
||||
shift
|
||||
endr
|
||||
endc
|
||||
DEF x = \2
|
||||
if _NARG > 2
|
||||
rept _NARG - 2
|
||||
DEF x |= 1 << (\3 + 1)
|
||||
shift
|
||||
endr
|
||||
endc
|
||||
db x
|
||||
ENDM
|
||||
|
||||
const_def -1, -1
|
||||
|
||||
const endanim_command ; $ff
|
||||
endanim: MACRO
|
||||
MACRO endanim
|
||||
db endanim_command
|
||||
ENDM
|
||||
|
||||
const dorestart_command ; $fe
|
||||
dorestart: MACRO
|
||||
MACRO dorestart
|
||||
db dorestart_command
|
||||
ENDM
|
||||
|
||||
const dowait_command ; $fd
|
||||
dowait: MACRO
|
||||
MACRO dowait
|
||||
db dowait_command
|
||||
db \1 ; frames
|
||||
ENDM
|
||||
|
||||
const delanim_command ; $fc
|
||||
delanim: MACRO
|
||||
MACRO delanim
|
||||
; Removes the object from the screen, as opposed to `endanim` which just stops all motion
|
||||
db delanim_command
|
||||
ENDM
|
||||
@@ -41,13 +41,13 @@ ENDM
|
||||
const_def -2, -1
|
||||
|
||||
const setrepeat_command ; $fe
|
||||
setrepeat: MACRO
|
||||
MACRO setrepeat
|
||||
db setrepeat_command
|
||||
db \1 ; amount of times to repeat
|
||||
ENDM
|
||||
|
||||
const dorepeat_command ; $fd
|
||||
dorepeat: MACRO
|
||||
MACRO dorepeat
|
||||
db dorepeat_command
|
||||
db \1 ; command offset to jump to
|
||||
ENDM
|
||||
|
@@ -1,61 +1,61 @@
|
||||
map_id: MACRO
|
||||
MACRO map_id
|
||||
;\1: map id
|
||||
assert DEF(GROUP_\1) && DEF(MAP_\1), \
|
||||
"Missing 'map_const \1' in constants/map_constants.asm"
|
||||
db GROUP_\1, MAP_\1
|
||||
ENDM
|
||||
|
||||
object_const_def EQUS "const_def 2"
|
||||
DEF object_const_def EQUS "const_def 2"
|
||||
|
||||
def_scene_scripts: MACRO
|
||||
REDEF _NUM_SCENE_SCRIPTS EQUS "_NUM_SCENE_SCRIPTS_\@"
|
||||
MACRO def_scene_scripts
|
||||
REDEF _NUM_SCENE_SCRIPTS EQUS "_NUM_SCENE_SCRIPTS_\@"
|
||||
db {_NUM_SCENE_SCRIPTS}
|
||||
{_NUM_SCENE_SCRIPTS} = 0
|
||||
DEF {_NUM_SCENE_SCRIPTS} = 0
|
||||
ENDM
|
||||
|
||||
scene_script: MACRO
|
||||
MACRO scene_script
|
||||
;\1: script pointer
|
||||
dw \1
|
||||
dw 0 ; filler
|
||||
{_NUM_SCENE_SCRIPTS} += 1
|
||||
DEF {_NUM_SCENE_SCRIPTS} += 1
|
||||
ENDM
|
||||
|
||||
def_callbacks: MACRO
|
||||
REDEF _NUM_CALLBACKS EQUS "_NUM_CALLBACKS_\@"
|
||||
MACRO def_callbacks
|
||||
REDEF _NUM_CALLBACKS EQUS "_NUM_CALLBACKS_\@"
|
||||
db {_NUM_CALLBACKS}
|
||||
{_NUM_CALLBACKS} = 0
|
||||
DEF {_NUM_CALLBACKS} = 0
|
||||
ENDM
|
||||
|
||||
callback: MACRO
|
||||
MACRO callback
|
||||
;\1: type: a MAPCALLBACK_* constant
|
||||
;\2: script pointer
|
||||
dbw \1, \2
|
||||
{_NUM_CALLBACKS} += 1
|
||||
DEF {_NUM_CALLBACKS} += 1
|
||||
ENDM
|
||||
|
||||
def_warp_events: MACRO
|
||||
REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
|
||||
MACRO def_warp_events
|
||||
REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
|
||||
db {_NUM_WARP_EVENTS}
|
||||
{_NUM_WARP_EVENTS} = 0
|
||||
DEF {_NUM_WARP_EVENTS} = 0
|
||||
ENDM
|
||||
|
||||
warp_event: MACRO
|
||||
MACRO warp_event
|
||||
;\1: x: left to right, starts at 0
|
||||
;\2: y: top to bottom, starts at 0
|
||||
;\3: map id: from constants/map_constants.asm
|
||||
;\4: warp destination: starts at 1
|
||||
db \2, \1, \4
|
||||
map_id \3
|
||||
{_NUM_WARP_EVENTS} += 1
|
||||
DEF {_NUM_WARP_EVENTS} += 1
|
||||
ENDM
|
||||
|
||||
def_coord_events: MACRO
|
||||
REDEF _NUM_COORD_EVENTS EQUS "_NUM_COORD_EVENTS_\@"
|
||||
MACRO def_coord_events
|
||||
REDEF _NUM_COORD_EVENTS EQUS "_NUM_COORD_EVENTS_\@"
|
||||
db {_NUM_COORD_EVENTS}
|
||||
{_NUM_COORD_EVENTS} = 0
|
||||
DEF {_NUM_COORD_EVENTS} = 0
|
||||
ENDM
|
||||
|
||||
coord_event: MACRO
|
||||
MACRO coord_event
|
||||
;\1: x: left to right, starts at 0
|
||||
;\2: y: top to bottom, starts at 0
|
||||
;\3: scene id: a SCENE_* constant; controlled by setscene/setmapscene
|
||||
@@ -64,32 +64,32 @@ coord_event: MACRO
|
||||
db 0 ; filler
|
||||
dw \4
|
||||
dw 0 ; filler
|
||||
{_NUM_COORD_EVENTS} += 1
|
||||
DEF {_NUM_COORD_EVENTS} += 1
|
||||
ENDM
|
||||
|
||||
def_bg_events: MACRO
|
||||
REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
|
||||
MACRO def_bg_events
|
||||
REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
|
||||
db {_NUM_BG_EVENTS}
|
||||
{_NUM_BG_EVENTS} = 0
|
||||
DEF {_NUM_BG_EVENTS} = 0
|
||||
ENDM
|
||||
|
||||
bg_event: MACRO
|
||||
MACRO bg_event
|
||||
;\1: x: left to right, starts at 0
|
||||
;\2: y: top to bottom, starts at 0
|
||||
;\3: function: a BGEVENT_* constant
|
||||
;\4: script pointer
|
||||
db \2, \1, \3
|
||||
dw \4
|
||||
{_NUM_BG_EVENTS} += 1
|
||||
DEF {_NUM_BG_EVENTS} += 1
|
||||
ENDM
|
||||
|
||||
def_object_events: MACRO
|
||||
REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
|
||||
MACRO def_object_events
|
||||
REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
|
||||
db {_NUM_OBJECT_EVENTS}
|
||||
{_NUM_OBJECT_EVENTS} = 0
|
||||
DEF {_NUM_OBJECT_EVENTS} = 0
|
||||
ENDM
|
||||
|
||||
object_event: MACRO
|
||||
MACRO object_event
|
||||
;\1: x: left to right, starts at 0
|
||||
;\2: y: top to bottom, starts at 0
|
||||
;\3: sprite: a SPRITE_* constant
|
||||
@@ -112,13 +112,13 @@ object_event: MACRO
|
||||
dn \9, \<10>
|
||||
db \<11>
|
||||
dw \<12>, \<13>
|
||||
; the dummy PlayerObjectTemplate object_event has no def_object_events
|
||||
if DEF(_NUM_OBJECT_EVENTS)
|
||||
{_NUM_OBJECT_EVENTS} += 1
|
||||
endc
|
||||
; the dummy PlayerObjectTemplate object_event has no def_object_events
|
||||
if DEF(_NUM_OBJECT_EVENTS)
|
||||
DEF {_NUM_OBJECT_EVENTS} += 1
|
||||
endc
|
||||
ENDM
|
||||
|
||||
trainer: MACRO
|
||||
MACRO trainer
|
||||
;\1: trainer group
|
||||
;\2: trainer id
|
||||
;\3: flag: an EVENT_BEAT_* constant
|
||||
@@ -131,23 +131,23 @@ trainer: MACRO
|
||||
dw \4, \5, \6, \7
|
||||
ENDM
|
||||
|
||||
itemball: MACRO
|
||||
MACRO itemball
|
||||
;\1: item: from constants/item_constants.asm
|
||||
;\2: quantity: default 1
|
||||
if _NARG == 1
|
||||
itemball \1, 1
|
||||
else
|
||||
db \1, \2
|
||||
endc
|
||||
if _NARG == 1
|
||||
itemball \1, 1
|
||||
else
|
||||
db \1, \2
|
||||
endc
|
||||
ENDM
|
||||
|
||||
hiddenitem: MACRO
|
||||
MACRO hiddenitem
|
||||
;\1: item: from constants/item_constants.asm
|
||||
;\2: flag: an EVENT_* constant
|
||||
dwb \2, \1
|
||||
ENDM
|
||||
|
||||
elevfloor: MACRO
|
||||
MACRO elevfloor
|
||||
;\1: floor: a FLOOR_* constant
|
||||
;\2: warp destination: starts at 1
|
||||
;\3: map id
|
||||
@@ -155,20 +155,20 @@ elevfloor: MACRO
|
||||
map_id \3
|
||||
ENDM
|
||||
|
||||
conditional_event: MACRO
|
||||
MACRO conditional_event
|
||||
;\1: flag: an EVENT_* constant
|
||||
;\2: script pointer
|
||||
dw \1, \2
|
||||
ENDM
|
||||
|
||||
cmdqueue: MACRO
|
||||
MACRO cmdqueue
|
||||
;\1: type: a CMDQUEUE_* constant
|
||||
;\2: data pointer
|
||||
dbw \1, \2
|
||||
dw 0 ; filler
|
||||
ENDM
|
||||
|
||||
stonetable: MACRO
|
||||
MACRO stonetable
|
||||
;\1: warp id
|
||||
;\2: object_event id
|
||||
;\3: script pointer
|
||||
|
@@ -4,219 +4,219 @@
|
||||
; Directional movements
|
||||
|
||||
const movement_turn_head ; $00
|
||||
turn_head: MACRO
|
||||
MACRO turn_head
|
||||
db movement_turn_head | \1
|
||||
ENDM
|
||||
|
||||
const movement_turn_step ; $04
|
||||
turn_step: MACRO
|
||||
MACRO turn_step
|
||||
db movement_turn_step | \1
|
||||
ENDM
|
||||
|
||||
const movement_slow_step ; $08
|
||||
slow_step: MACRO
|
||||
MACRO slow_step
|
||||
db movement_slow_step | \1
|
||||
ENDM
|
||||
|
||||
const movement_step ; $0c
|
||||
step: MACRO
|
||||
MACRO step
|
||||
db movement_step | \1
|
||||
ENDM
|
||||
|
||||
const movement_big_step ; $10
|
||||
big_step: MACRO
|
||||
MACRO big_step
|
||||
db movement_big_step | \1
|
||||
ENDM
|
||||
|
||||
const movement_slow_slide_step ; $14
|
||||
slow_slide_step: MACRO
|
||||
MACRO slow_slide_step
|
||||
db movement_slow_slide_step | \1
|
||||
ENDM
|
||||
|
||||
const movement_slide_step ; $18
|
||||
slide_step: MACRO
|
||||
MACRO slide_step
|
||||
db movement_slide_step | \1
|
||||
ENDM
|
||||
|
||||
const movement_fast_slide_step ; $1c
|
||||
fast_slide_step: MACRO
|
||||
MACRO fast_slide_step
|
||||
db movement_fast_slide_step | \1
|
||||
ENDM
|
||||
|
||||
const movement_turn_away ; $20
|
||||
turn_away: MACRO
|
||||
MACRO turn_away
|
||||
db movement_turn_away | \1
|
||||
ENDM
|
||||
|
||||
const movement_turn_in ; $24
|
||||
turn_in: MACRO
|
||||
MACRO turn_in
|
||||
db movement_turn_in | \1
|
||||
ENDM
|
||||
|
||||
const movement_turn_waterfall ; $28
|
||||
turn_waterfall: MACRO
|
||||
MACRO turn_waterfall
|
||||
db movement_turn_waterfall | \1
|
||||
ENDM
|
||||
|
||||
const movement_slow_jump_step ; $2c
|
||||
slow_jump_step: MACRO
|
||||
MACRO slow_jump_step
|
||||
db movement_slow_jump_step | \1
|
||||
ENDM
|
||||
|
||||
const movement_jump_step ; $30
|
||||
jump_step: MACRO
|
||||
MACRO jump_step
|
||||
db movement_jump_step | \1
|
||||
ENDM
|
||||
|
||||
const movement_fast_jump_step ; $34
|
||||
fast_jump_step: MACRO
|
||||
MACRO fast_jump_step
|
||||
db movement_fast_jump_step | \1
|
||||
ENDM
|
||||
|
||||
const_inc = 1
|
||||
DEF const_inc = 1
|
||||
|
||||
; Control
|
||||
const movement_remove_sliding ; $38
|
||||
remove_sliding: MACRO
|
||||
MACRO remove_sliding
|
||||
db movement_remove_sliding
|
||||
ENDM
|
||||
|
||||
const movement_set_sliding ; $39
|
||||
set_sliding: MACRO
|
||||
MACRO set_sliding
|
||||
db movement_set_sliding
|
||||
ENDM
|
||||
|
||||
const movement_remove_fixed_facing ; $3a
|
||||
remove_fixed_facing: MACRO
|
||||
MACRO remove_fixed_facing
|
||||
db movement_remove_fixed_facing
|
||||
ENDM
|
||||
|
||||
const movement_fix_facing ; $3b
|
||||
fix_facing: MACRO
|
||||
MACRO fix_facing
|
||||
db movement_fix_facing
|
||||
ENDM
|
||||
|
||||
const movement_show_object ; $3c
|
||||
show_object: MACRO
|
||||
MACRO show_object
|
||||
db movement_show_object
|
||||
ENDM
|
||||
|
||||
const movement_hide_object ; $3d
|
||||
hide_object: MACRO
|
||||
MACRO hide_object
|
||||
db movement_hide_object
|
||||
ENDM
|
||||
|
||||
; Sleep
|
||||
|
||||
const movement_step_sleep ; $3e
|
||||
step_sleep: MACRO
|
||||
if \1 <= 8
|
||||
db movement_step_sleep + \1 - 1
|
||||
else
|
||||
db movement_step_sleep + 8, \1
|
||||
endc
|
||||
MACRO step_sleep
|
||||
if \1 <= 8
|
||||
db movement_step_sleep + \1 - 1
|
||||
else
|
||||
db movement_step_sleep + 8, \1
|
||||
endc
|
||||
ENDM
|
||||
|
||||
const_skip 8 ; all step_sleep values
|
||||
|
||||
const movement_step_end ; $47
|
||||
step_end: MACRO
|
||||
MACRO step_end
|
||||
db movement_step_end
|
||||
ENDM
|
||||
|
||||
const movement_step_48 ; $48
|
||||
step_48: MACRO
|
||||
MACRO step_48
|
||||
db movement_step_48
|
||||
db \1 ; ???
|
||||
ENDM
|
||||
|
||||
const movement_remove_object ; $49
|
||||
remove_object: MACRO
|
||||
MACRO remove_object
|
||||
db movement_remove_object
|
||||
ENDM
|
||||
|
||||
const movement_step_loop ; $4a
|
||||
step_loop: MACRO
|
||||
MACRO step_loop
|
||||
db movement_step_loop
|
||||
ENDM
|
||||
|
||||
const movement_step_4b ; $4b
|
||||
step_4b: MACRO
|
||||
MACRO step_4b
|
||||
db movement_step_4b
|
||||
ENDM
|
||||
|
||||
const movement_teleport_from ; $4c
|
||||
teleport_from: MACRO
|
||||
MACRO teleport_from
|
||||
db movement_teleport_from
|
||||
ENDM
|
||||
|
||||
const movement_teleport_to ; $4d
|
||||
teleport_to: MACRO
|
||||
MACRO teleport_to
|
||||
db movement_teleport_to
|
||||
ENDM
|
||||
|
||||
const movement_skyfall ; $4e
|
||||
skyfall: MACRO
|
||||
MACRO skyfall
|
||||
db movement_skyfall
|
||||
ENDM
|
||||
|
||||
const movement_step_dig ; $4f
|
||||
step_dig: MACRO
|
||||
MACRO step_dig
|
||||
db movement_step_dig
|
||||
db \1 ; length
|
||||
ENDM
|
||||
|
||||
const movement_step_bump ; $50
|
||||
step_bump: MACRO
|
||||
MACRO step_bump
|
||||
db movement_step_bump
|
||||
ENDM
|
||||
|
||||
const movement_fish_got_bite ; $51
|
||||
fish_got_bite: MACRO
|
||||
MACRO fish_got_bite
|
||||
db movement_fish_got_bite
|
||||
ENDM
|
||||
|
||||
const movement_fish_cast_rod ; $52
|
||||
fish_cast_rod: MACRO
|
||||
MACRO fish_cast_rod
|
||||
db movement_fish_cast_rod
|
||||
ENDM
|
||||
|
||||
const movement_hide_emote ; $53
|
||||
hide_emote: MACRO
|
||||
MACRO hide_emote
|
||||
db movement_hide_emote
|
||||
ENDM
|
||||
|
||||
const movement_show_emote ; $54
|
||||
show_emote: MACRO
|
||||
MACRO show_emote
|
||||
db movement_show_emote
|
||||
ENDM
|
||||
|
||||
const movement_step_shake ; $55
|
||||
step_shake: MACRO
|
||||
MACRO step_shake
|
||||
db movement_step_shake
|
||||
db \1 ; displacement
|
||||
ENDM
|
||||
|
||||
const movement_tree_shake ; $56
|
||||
tree_shake: MACRO
|
||||
MACRO tree_shake
|
||||
db movement_tree_shake
|
||||
ENDM
|
||||
|
||||
const movement_rock_smash ; $57
|
||||
rock_smash: MACRO
|
||||
MACRO rock_smash
|
||||
db movement_rock_smash
|
||||
db \1 ; length
|
||||
ENDM
|
||||
|
||||
const movement_return_dig ; $58
|
||||
return_dig: MACRO
|
||||
MACRO return_dig
|
||||
db movement_return_dig
|
||||
db \1 ; length
|
||||
ENDM
|
||||
|
||||
const movement_skyfall_top ; $59
|
||||
skyfall_top: MACRO
|
||||
MACRO skyfall_top
|
||||
db movement_skyfall_top
|
||||
ENDM
|
||||
|
||||
NUM_MOVEMENT_CMDS EQU const_value
|
||||
DEF NUM_MOVEMENT_CMDS EQU const_value
|
||||
|
@@ -1,147 +1,147 @@
|
||||
text EQUS "db TX_START," ; Start writing text.
|
||||
next EQUS "db \"<NEXT>\"," ; Move a line down.
|
||||
line EQUS "db \"<LINE>\"," ; Start writing at the bottom line.
|
||||
page EQUS "db \"@\"," ; Start a new Pokédex page.
|
||||
para EQUS "db \"<PARA>\"," ; Start a new paragraph.
|
||||
cont EQUS "db \"<CONT>\"," ; Scroll to the next line.
|
||||
done EQUS "db \"<DONE>\"" ; End a text box.
|
||||
prompt EQUS "db \"<PROMPT>\"" ; Prompt the player to end a text box (initiating some other event).
|
||||
DEF text EQUS "db TX_START," ; Start writing text.
|
||||
DEF next EQUS "db \"<NEXT>\"," ; Move a line down.
|
||||
DEF line EQUS "db \"<LINE>\"," ; Start writing at the bottom line.
|
||||
DEF page EQUS "db \"@\"," ; Start a new Pokédex page.
|
||||
DEF para EQUS "db \"<PARA>\"," ; Start a new paragraph.
|
||||
DEF cont EQUS "db \"<CONT>\"," ; Scroll to the next line.
|
||||
DEF done EQUS "db \"<DONE>\"" ; End a text box.
|
||||
DEF prompt EQUS "db \"<PROMPT>\"" ; Prompt the player to end a text box (initiating some other event).
|
||||
|
||||
; TextCommands indexes (see home/text.asm)
|
||||
const_def
|
||||
|
||||
const TX_START ; $00
|
||||
text_start: MACRO
|
||||
MACRO text_start
|
||||
db TX_START
|
||||
ENDM
|
||||
|
||||
const TX_RAM ; $01
|
||||
text_ram: MACRO
|
||||
MACRO text_ram
|
||||
db TX_RAM
|
||||
dw \1
|
||||
ENDM
|
||||
|
||||
const TX_BCD ; $02
|
||||
text_bcd: MACRO
|
||||
MACRO text_bcd
|
||||
db TX_BCD
|
||||
dw \1
|
||||
db \2
|
||||
ENDM
|
||||
|
||||
const TX_MOVE ; $03
|
||||
text_move: MACRO
|
||||
MACRO text_move
|
||||
db TX_MOVE
|
||||
dw \1
|
||||
ENDM
|
||||
|
||||
const TX_BOX ; $04
|
||||
text_box: MACRO
|
||||
MACRO text_box
|
||||
db TX_BOX
|
||||
dw \1
|
||||
db \2, \3
|
||||
ENDM
|
||||
|
||||
const TX_LOW ; $05
|
||||
text_low: MACRO
|
||||
MACRO text_low
|
||||
db TX_LOW
|
||||
ENDM
|
||||
|
||||
const TX_PROMPT_BUTTON ; $06
|
||||
text_promptbutton: MACRO
|
||||
MACRO text_promptbutton
|
||||
db TX_PROMPT_BUTTON
|
||||
ENDM
|
||||
|
||||
const TX_SCROLL ; $07
|
||||
text_scroll: MACRO
|
||||
MACRO text_scroll
|
||||
db TX_SCROLL
|
||||
ENDM
|
||||
|
||||
const TX_START_ASM ; $08
|
||||
text_asm: MACRO
|
||||
MACRO text_asm
|
||||
db TX_START_ASM
|
||||
ENDM
|
||||
|
||||
const TX_DECIMAL ; $09
|
||||
text_decimal: MACRO
|
||||
MACRO text_decimal
|
||||
db TX_DECIMAL
|
||||
dw \1 ; address
|
||||
dn \2, \3 ; bytes, digits
|
||||
ENDM
|
||||
|
||||
const TX_PAUSE ; $0a
|
||||
text_pause: MACRO
|
||||
MACRO text_pause
|
||||
db TX_PAUSE
|
||||
ENDM
|
||||
|
||||
const TX_SOUND_DEX_FANFARE_50_79 ; $0b
|
||||
sound_dex_fanfare_50_79: MACRO
|
||||
MACRO sound_dex_fanfare_50_79
|
||||
db TX_SOUND_DEX_FANFARE_50_79
|
||||
ENDM
|
||||
|
||||
const TX_DOTS ; $0c
|
||||
text_dots: MACRO
|
||||
MACRO text_dots
|
||||
db TX_DOTS
|
||||
db \1
|
||||
ENDM
|
||||
|
||||
const TX_WAIT_BUTTON ; $0d
|
||||
text_waitbutton: MACRO
|
||||
MACRO text_waitbutton
|
||||
db TX_WAIT_BUTTON
|
||||
ENDM
|
||||
|
||||
const TX_SOUND_DEX_FANFARE_20_49 ; $0e
|
||||
sound_dex_fanfare_20_49: MACRO
|
||||
MACRO sound_dex_fanfare_20_49
|
||||
db TX_SOUND_DEX_FANFARE_20_49
|
||||
ENDM
|
||||
|
||||
const TX_SOUND_ITEM ; $0f
|
||||
sound_item: MACRO
|
||||
MACRO sound_item
|
||||
db TX_SOUND_ITEM
|
||||
ENDM
|
||||
|
||||
const TX_SOUND_CAUGHT_MON ; $10
|
||||
sound_caught_mon: MACRO
|
||||
MACRO sound_caught_mon
|
||||
db TX_SOUND_CAUGHT_MON
|
||||
ENDM
|
||||
|
||||
const TX_SOUND_DEX_FANFARE_80_109 ; $11
|
||||
sound_dex_fanfare_80_109: MACRO
|
||||
MACRO sound_dex_fanfare_80_109
|
||||
db TX_SOUND_DEX_FANFARE_80_109
|
||||
ENDM
|
||||
|
||||
const TX_SOUND_FANFARE ; $12
|
||||
sound_fanfare: MACRO
|
||||
MACRO sound_fanfare
|
||||
db TX_SOUND_FANFARE
|
||||
ENDM
|
||||
|
||||
const TX_SOUND_SLOT_MACHINE_START ; $13
|
||||
sound_slot_machine_start: MACRO
|
||||
MACRO sound_slot_machine_start
|
||||
db TX_SOUND_SLOT_MACHINE_START
|
||||
ENDM
|
||||
|
||||
const TX_STRINGBUFFER ; $14
|
||||
text_buffer: MACRO
|
||||
MACRO text_buffer
|
||||
db TX_STRINGBUFFER
|
||||
db \1
|
||||
ENDM
|
||||
|
||||
const TX_DAY ; $15
|
||||
text_today: MACRO
|
||||
MACRO text_today
|
||||
db TX_DAY
|
||||
ENDM
|
||||
|
||||
const TX_FAR ; $16
|
||||
text_far: MACRO
|
||||
MACRO text_far
|
||||
db TX_FAR
|
||||
dw \1
|
||||
db BANK(\1)
|
||||
ENDM
|
||||
|
||||
NUM_TEXT_CMDS EQU const_value
|
||||
DEF NUM_TEXT_CMDS EQU const_value
|
||||
|
||||
const_next $50
|
||||
|
||||
const TX_END ; $50
|
||||
text_end: MACRO
|
||||
MACRO text_end
|
||||
db TX_END
|
||||
ENDM
|
||||
|
@@ -1,27 +1,27 @@
|
||||
vc_hook: MACRO
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
.VC_\1::
|
||||
endc
|
||||
MACRO vc_hook
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
.VC_\1::
|
||||
endc
|
||||
ENDM
|
||||
|
||||
vc_patch: MACRO
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
assert !DEF(CURRENT_VC_PATCH), "Already started a vc_patch"
|
||||
CURRENT_VC_PATCH EQUS "\1"
|
||||
.VC_{CURRENT_VC_PATCH}::
|
||||
endc
|
||||
MACRO vc_patch
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
assert !DEF(CURRENT_VC_PATCH), "Already started a vc_patch"
|
||||
DEF CURRENT_VC_PATCH EQUS "\1"
|
||||
.VC_{CURRENT_VC_PATCH}::
|
||||
endc
|
||||
ENDM
|
||||
|
||||
vc_patch_end: MACRO
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
assert DEF(CURRENT_VC_PATCH), "No vc_patch started"
|
||||
.VC_{CURRENT_VC_PATCH}_End::
|
||||
PURGE CURRENT_VC_PATCH
|
||||
endc
|
||||
MACRO vc_patch_end
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
assert DEF(CURRENT_VC_PATCH), "No vc_patch started"
|
||||
.VC_{CURRENT_VC_PATCH}_End::
|
||||
PURGE CURRENT_VC_PATCH
|
||||
endc
|
||||
ENDM
|
||||
|
||||
vc_assert: MACRO
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
assert \#
|
||||
endc
|
||||
MACRO vc_assert
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
assert \#
|
||||
endc
|
||||
ENDM
|
||||
|
@@ -1,10 +1,10 @@
|
||||
; Used in wram.asm
|
||||
|
||||
flag_array: MACRO
|
||||
MACRO flag_array
|
||||
ds ((\1) + 7) / 8
|
||||
ENDM
|
||||
|
||||
box_struct: MACRO
|
||||
MACRO box_struct
|
||||
\1Species:: db
|
||||
\1Item:: db
|
||||
\1Moves:: ds NUM_MOVES
|
||||
@@ -29,7 +29,7 @@ box_struct: MACRO
|
||||
\1BoxEnd::
|
||||
ENDM
|
||||
|
||||
party_struct: MACRO
|
||||
MACRO party_struct
|
||||
box_struct \1
|
||||
\1Status:: db
|
||||
\1Unused:: db
|
||||
@@ -44,7 +44,7 @@ party_struct: MACRO
|
||||
\1StructEnd::
|
||||
ENDM
|
||||
|
||||
red_box_struct: MACRO
|
||||
MACRO red_box_struct
|
||||
\1Species:: db
|
||||
\1HP:: dw
|
||||
\1BoxLevel:: db
|
||||
@@ -65,7 +65,7 @@ red_box_struct: MACRO
|
||||
\1PP:: ds NUM_MOVES
|
||||
ENDM
|
||||
|
||||
red_party_struct: MACRO
|
||||
MACRO red_party_struct
|
||||
red_box_struct \1
|
||||
\1Level:: db
|
||||
\1Stats::
|
||||
@@ -76,7 +76,7 @@ red_party_struct: MACRO
|
||||
\1Special:: dw
|
||||
ENDM
|
||||
|
||||
battle_struct: MACRO
|
||||
MACRO battle_struct
|
||||
\1Species:: db
|
||||
\1Item:: db
|
||||
\1Moves:: ds NUM_MOVES
|
||||
@@ -99,30 +99,30 @@ battle_struct: MACRO
|
||||
\1StructEnd::
|
||||
ENDM
|
||||
|
||||
box: MACRO
|
||||
MACRO box
|
||||
\1Count:: db
|
||||
\1Species:: ds MONS_PER_BOX + 1
|
||||
\1Mons::
|
||||
; \1Mon1 - \1Mon20
|
||||
for n, 1, MONS_PER_BOX + 1
|
||||
\1Mon{d:n}:: box_struct \1Mon{d:n}
|
||||
endr
|
||||
; \1Mon1 - \1Mon20
|
||||
for n, 1, MONS_PER_BOX + 1
|
||||
\1Mon{d:n}:: box_struct \1Mon{d:n}
|
||||
endr
|
||||
\1MonOTs::
|
||||
; \1Mon1OT - \1Mon20OT
|
||||
for n, 1, MONS_PER_BOX + 1
|
||||
\1Mon{d:n}OT:: ds NAME_LENGTH
|
||||
endr
|
||||
; \1Mon1OT - \1Mon20OT
|
||||
for n, 1, MONS_PER_BOX + 1
|
||||
\1Mon{d:n}OT:: ds NAME_LENGTH
|
||||
endr
|
||||
\1MonNicknames::
|
||||
; \1Mon1Nickname - \1Mon20Nickname
|
||||
for n, 1, MONS_PER_BOX + 1
|
||||
\1Mon{d:n}Nickname:: ds MON_NAME_LENGTH
|
||||
endr
|
||||
; \1Mon1Nickname - \1Mon20Nickname
|
||||
for n, 1, MONS_PER_BOX + 1
|
||||
\1Mon{d:n}Nickname:: ds MON_NAME_LENGTH
|
||||
endr
|
||||
\1MonNicknamesEnd::
|
||||
\1End::
|
||||
ds 2 ; padding
|
||||
ENDM
|
||||
|
||||
map_connection_struct: MACRO
|
||||
MACRO map_connection_struct
|
||||
\1ConnectedMapGroup:: db
|
||||
\1ConnectedMapNumber:: db
|
||||
\1ConnectionStripPointer:: dw
|
||||
@@ -134,7 +134,7 @@ map_connection_struct: MACRO
|
||||
\1ConnectionWindow:: dw
|
||||
ENDM
|
||||
|
||||
channel_struct: MACRO
|
||||
MACRO channel_struct
|
||||
\1MusicID:: dw
|
||||
\1MusicBank:: db
|
||||
\1Flags1:: db ; 0:on/off 1:subroutine 2:looping 3:sfx 4:noise 5:rest
|
||||
@@ -178,19 +178,19 @@ channel_struct: MACRO
|
||||
ds 1
|
||||
ENDM
|
||||
|
||||
battle_tower_struct: MACRO
|
||||
MACRO battle_tower_struct
|
||||
\1Name:: ds NAME_LENGTH - 1
|
||||
\1TrainerClass:: db
|
||||
; \1Mon1 - \1Mon3 and \1Mon1Name - \1Mon3Name
|
||||
for n, 1, BATTLETOWER_PARTY_LENGTH + 1
|
||||
\1Mon{d:n}:: party_struct \1Mon{d:n}
|
||||
\1Mon{d:n}Name:: ds MON_NAME_LENGTH
|
||||
endr
|
||||
; \1Mon1 - \1Mon3 and \1Mon1Name - \1Mon3Name
|
||||
for n, 1, BATTLETOWER_PARTY_LENGTH + 1
|
||||
\1Mon{d:n}:: party_struct \1Mon{d:n}
|
||||
\1Mon{d:n}Name:: ds MON_NAME_LENGTH
|
||||
endr
|
||||
\1TrainerData:: ds BATTLETOWER_TRAINERDATALENGTH
|
||||
\1TrainerEnd::
|
||||
ENDM
|
||||
|
||||
mailmsg: MACRO
|
||||
MACRO mailmsg
|
||||
\1Message:: ds MAIL_MSG_LENGTH
|
||||
\1MessageEnd:: db
|
||||
\1Author:: ds PLAYER_NAME_LENGTH
|
||||
@@ -201,7 +201,7 @@ mailmsg: MACRO
|
||||
\1End::
|
||||
ENDM
|
||||
|
||||
roam_struct: MACRO
|
||||
MACRO roam_struct
|
||||
\1Species:: db
|
||||
\1Level:: db
|
||||
\1MapGroup:: db
|
||||
@@ -210,13 +210,13 @@ roam_struct: MACRO
|
||||
\1DVs:: dw
|
||||
ENDM
|
||||
|
||||
bugcontestwinner: MACRO
|
||||
MACRO bugcontestwinner
|
||||
\1WinnerID:: db
|
||||
\1Mon:: db
|
||||
\1Score:: dw
|
||||
ENDM
|
||||
|
||||
hof_mon: MACRO
|
||||
MACRO hof_mon
|
||||
\1Species:: db
|
||||
\1ID:: dw
|
||||
\1DVs:: dw
|
||||
@@ -225,16 +225,16 @@ hof_mon: MACRO
|
||||
\1End::
|
||||
ENDM
|
||||
|
||||
hall_of_fame: MACRO
|
||||
MACRO hall_of_fame
|
||||
\1WinCount:: db
|
||||
; \1Mon1 - \1Mon6
|
||||
for n, 1, PARTY_LENGTH + 1
|
||||
\1Mon{d:n}:: hof_mon \1Mon{d:n}
|
||||
endr
|
||||
; \1Mon1 - \1Mon6
|
||||
for n, 1, PARTY_LENGTH + 1
|
||||
\1Mon{d:n}:: hof_mon \1Mon{d:n}
|
||||
endr
|
||||
\1End:: db
|
||||
ENDM
|
||||
|
||||
link_battle_record: MACRO
|
||||
MACRO link_battle_record
|
||||
\1ID:: dw
|
||||
\1Name:: ds NAME_LENGTH - 1
|
||||
\1Wins:: dw
|
||||
@@ -243,7 +243,7 @@ link_battle_record: MACRO
|
||||
\1End::
|
||||
ENDM
|
||||
|
||||
trademon: MACRO
|
||||
MACRO trademon
|
||||
\1Species:: db
|
||||
\1SpeciesName:: ds MON_NAME_LENGTH
|
||||
\1Nickname:: ds MON_NAME_LENGTH
|
||||
@@ -255,7 +255,7 @@ trademon: MACRO
|
||||
\1End::
|
||||
ENDM
|
||||
|
||||
move_struct: MACRO
|
||||
MACRO move_struct
|
||||
\1Animation:: db
|
||||
\1Effect:: db
|
||||
\1Power:: db
|
||||
@@ -265,7 +265,7 @@ move_struct: MACRO
|
||||
\1EffectChance:: db
|
||||
ENDM
|
||||
|
||||
slot_reel: MACRO
|
||||
MACRO slot_reel
|
||||
\1ReelAction:: db
|
||||
\1TilemapAddr:: dw
|
||||
\1Position:: db
|
||||
@@ -282,7 +282,7 @@ slot_reel: MACRO
|
||||
\1StopDelay:: db
|
||||
ENDM
|
||||
|
||||
object_struct: MACRO
|
||||
MACRO object_struct
|
||||
\1Sprite:: db
|
||||
\1MapObjectIndex:: db
|
||||
\1SpriteTile:: db
|
||||
@@ -319,7 +319,7 @@ object_struct: MACRO
|
||||
\1StructEnd::
|
||||
ENDM
|
||||
|
||||
map_object: MACRO
|
||||
MACRO map_object
|
||||
\1ObjectStructID:: db
|
||||
\1ObjectSprite:: db
|
||||
\1ObjectYCoord:: db
|
||||
@@ -335,7 +335,7 @@ map_object: MACRO
|
||||
ds 2
|
||||
ENDM
|
||||
|
||||
sprite_oam_struct: MACRO
|
||||
MACRO sprite_oam_struct
|
||||
\1YCoord:: db
|
||||
\1XCoord:: db
|
||||
\1TileID:: db
|
||||
@@ -348,7 +348,7 @@ sprite_oam_struct: MACRO
|
||||
; bit 2-0: pal # (cgb only)
|
||||
ENDM
|
||||
|
||||
sprite_anim_struct: MACRO
|
||||
MACRO sprite_anim_struct
|
||||
\1Index:: db
|
||||
\1FramesetID:: db
|
||||
\1AnimSeqID:: db
|
||||
@@ -367,7 +367,7 @@ sprite_anim_struct: MACRO
|
||||
\1Var4:: ds 1
|
||||
ENDM
|
||||
|
||||
battle_anim_struct: MACRO
|
||||
MACRO battle_anim_struct
|
||||
\1Index:: db
|
||||
\1OAMFlags:: db
|
||||
\1FixY:: db
|
||||
@@ -388,7 +388,7 @@ battle_anim_struct: MACRO
|
||||
ds 7
|
||||
ENDM
|
||||
|
||||
battle_bg_effect: MACRO
|
||||
MACRO battle_bg_effect
|
||||
\1Function:: db
|
||||
\1JumptableIndex:: db
|
||||
\1BattleTurn:: db
|
||||
|
Reference in New Issue
Block a user