summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/base_stats.asm (renamed from macros/basestats.asm)2
-rw-r--r--macros/charmap.asm403
-rw-r--r--macros/code.asm55
-rw-r--r--macros/color.asm15
-rw-r--r--macros/coords.asm51
-rw-r--r--macros/data.asm121
-rw-r--r--macros/map.asm211
-rw-r--r--macros/mobile.asm2
-rw-r--r--macros/movement.asm247
-rw-r--r--macros/pic.asm4
-rw-r--r--macros/rst.asm12
-rw-r--r--macros/scripts/audio.asm (renamed from macros/sound.asm)80
-rw-r--r--macros/scripts/effect_commands.asm187
-rw-r--r--macros/scripts/event.asm (renamed from macros/event.asm)340
-rw-r--r--macros/scripts/gfx_anim.asm44
-rw-r--r--macros/scripts/maps.asm108
-rw-r--r--macros/scripts/move_anim.asm (renamed from macros/move_anim.asm)96
-rw-r--r--macros/scripts/movement.asm246
-rw-r--r--macros/scripts/text.asm (renamed from macros/text.asm)60
-rw-r--r--macros/scripts/trade_anim.asm255
-rwxr-xr-xmacros/tilesets.asm2
-rwxr-xr-xmacros/trade_anim.asm255
-rw-r--r--macros/trainer.asm11
-rwxr-xr-xmacros/wram.asm280
24 files changed, 1738 insertions, 1349 deletions
diff --git a/macros/basestats.asm b/macros/base_stats.asm
index f3e98b64a..f7c841634 100644
--- a/macros/basestats.asm
+++ b/macros/base_stats.asm
@@ -1,3 +1,5 @@
+; Used in data/pokemon/base_stats/*.asm
+
define: macro
if !def(\1)
\1 equs \2
diff --git a/macros/charmap.asm b/macros/charmap.asm
index b936b0953..fd2d371fd 100644
--- a/macros/charmap.asm
+++ b/macros/charmap.asm
@@ -1,208 +1,209 @@
; Control characters
- charmap "<START>", $00
- charmap "<PLAY_G>", $14 ; gendered PlayerName; same as "<PLAYER>" in English
- charmap "<DAY>", $15
- charmap "¯", $1f ; soft linebreak
- charmap "<LNBRK>", $22
- charmap "<POKE>", $24 ; "<PO><KE>"
- charmap "%", $25
- charmap "<RED>", $38 ; RedsName
- charmap "<GREEN>", $39 ; GreensName
- charmap "<ENEMY>", $3f
- charmap "<MOM>", $49 ; MomsName
- charmap "<PKMN>", $4a ; "<PK><MN>"
- charmap "<NEXT>", $4e
- charmap "<LINE>", $4f
-
- charmap "@", $50
- charmap "<PARA>", $51
- charmap "<PLAYER>", $52 ; PlayerName
- charmap "<RIVAL>", $53
- charmap "#", $54
- charmap "<CONT>", $55
- charmap "<......>", $56 ; "……"
- charmap "<DONE>", $57
- charmap "<PROMPT>", $58
- charmap "<TARGET>", $59
- charmap "<USER>", $5a
- charmap "<PC>", $5b ; "PC"
- charmap "<TM>", $5c ; "TM"
- charmap "<TRNER>", $5d ; "TRAINER"
- charmap "<ROCKET>", $5e ; "ROCKET"
- charmap "<DEXEND>", $5f
-
-; Actual characters (from gfx/misc/font_extra.png)
-
- charmap "<BOLD_A>", $60 ; unused
- charmap "<BOLD_B>", $61 ; unused
- charmap "<BOLD_C>", $62 ; unused
- charmap "<BOLD_D>", $63 ; unused
- charmap "<BOLD_E>", $64 ; unused
- charmap "<BOLD_F>", $65 ; unused
- charmap "<BOLD_G>", $66 ; unused
- charmap "<BOLD_H>", $67 ; unused
- charmap "<BOLD_I>", $68 ; unused
- charmap "<BOLD_V>", $69
- charmap "<BOLD_S>", $6a
- charmap "<BOLD_L>", $6b ; unused
- charmap "<BOLD_M>", $6c ; unused
- charmap "<COLON>", $6d ; colon with tinier dots than ":"
- charmap "ぃ", $6e ; hiragana small i, unused
- charmap "ぅ", $6f ; hiragana small u, unused
- charmap "<PO>", $70
- charmap "<KE>", $71
- charmap "<``>", $72 ; opening quote
- charmap "<''>", $73 ; closing quote
- charmap "·", $74 ; middle dot, unused
- charmap "…", $75 ; ellipsis
- charmap "ぁ", $76 ; hiragana small a, unused
- charmap "ぇ", $77 ; hiragana small e, unused
- charmap "ぉ", $78 ; hiragana small o, unused
-
- charmap "┌", $79
- charmap "─", $7a
- charmap "┐", $7b
- charmap "│", $7c
- charmap "└", $7d
- charmap "┘", $7e
- charmap " ", $7f
-
-; Actual characters (from gfx/misc/font_battle_extra.png)
-
- charmap "<LV>", $6e
-
- charmap "<ど>", $70 ; hiragana small do, unused
- charmap "◀", $71
- charmap "『", $72 ; Japanese opening quote, unused
- charmap "<ID>", $73
- charmap "№", $74
+ charmap "<START>", $00
+ charmap "<PLAY_G>", $14 ; gendered PlayerName; same as "<PLAYER>" in English
+ charmap "<DAY>", $15
+ charmap "¯", $1f ; soft linebreak
+ charmap "<LNBRK>", $22
+ charmap "<KOUGEKI>", $23 ; "こうげき"
+ charmap "<POKE>", $24 ; "<PO><KE>"
+ charmap "%", $25
+ charmap "<RED>", $38 ; RedsName
+ charmap "<GREEN>", $39 ; GreensName
+ charmap "<ENEMY>", $3f
+ charmap "<MOM>", $49 ; MomsName
+ charmap "<PKMN>", $4a ; "<PK><MN>"
+ charmap "<NEXT>", $4e
+ charmap "<LINE>", $4f
+
+ charmap "@", $50 ; string terminator
+ charmap "<PARA>", $51
+ charmap "<PLAYER>", $52 ; PlayerName
+ charmap "<RIVAL>", $53
+ charmap "#", $54 ; "POKé"
+ charmap "<CONT>", $55
+ charmap "<......>", $56 ; "……"
+ charmap "<DONE>", $57
+ charmap "<PROMPT>", $58
+ charmap "<TARGET>", $59
+ charmap "<USER>", $5a
+ charmap "<PC>", $5b ; "PC"
+ charmap "<TM>", $5c ; "TM"
+ charmap "<TRNER>", $5d ; "TRAINER"
+ charmap "<ROCKET>", $5e ; "ROCKET"
+ charmap "<DEXEND>", $5f
+
+; Actual characters (from gfx/font/font_extra.png)
+
+ charmap "<BOLD_A>", $60 ; unused
+ charmap "<BOLD_B>", $61 ; unused
+ charmap "<BOLD_C>", $62 ; unused
+ charmap "<BOLD_D>", $63 ; unused
+ charmap "<BOLD_E>", $64 ; unused
+ charmap "<BOLD_F>", $65 ; unused
+ charmap "<BOLD_G>", $66 ; unused
+ charmap "<BOLD_H>", $67 ; unused
+ charmap "<BOLD_I>", $68 ; unused
+ charmap "<BOLD_V>", $69
+ charmap "<BOLD_S>", $6a
+ charmap "<BOLD_L>", $6b ; unused
+ charmap "<BOLD_M>", $6c ; unused
+ charmap "<COLON>", $6d ; colon with tinier dots than ":"
+ charmap "ぃ", $6e ; hiragana small i, unused
+ charmap "ぅ", $6f ; hiragana small u, unused
+ charmap "<PO>", $70
+ charmap "<KE>", $71
+ charmap "<``>", $72 ; opening quote
+ charmap "<''>", $73 ; closing quote
+ charmap "·", $74 ; middle dot, unused
+ charmap "…", $75 ; ellipsis
+ charmap "ぁ", $76 ; hiragana small a, unused
+ charmap "ぇ", $77 ; hiragana small e, unused
+ charmap "ぉ", $78 ; hiragana small o, unused
+
+ charmap "┌", $79
+ charmap "─", $7a
+ charmap "┐", $7b
+ charmap "│", $7c
+ charmap "└", $7d
+ charmap "┘", $7e
+ charmap " ", $7f
+
+; Actual characters (from gfx/font/font_battle_extra.png)
+
+ charmap "<LV>", $6e
+
+ charmap "<ど>", $70 ; hiragana small do, unused
+ charmap "◀", $71
+ charmap "『", $72 ; Japanese opening quote, unused
+ charmap "<ID>", $73
+ charmap "№", $74
; Actual characters (from other graphics files)
- charmap "|", $31 ; from gfx/stats/stats_tiles
-
- charmap "<SHINY>", $3f ; gfx/stats/shiny
-
- charmap "<BLACK>", $60 ; from gfx/mobile/phone_tiles.2bpp
- charmap "▲", $61 ; gfx/font/up_arrow.png
- charmap "<PHONE>", $62 ; gfx/mobile/overworld_phone_icon.2bpp
- charmap "_", $62 ; from gfx/battle/hp_exp_bar_border.1bpp
-
- charmap "′", $6e ; gfx/font/feet_inches.png
- charmap "″", $6f ; gfx/font/feet_inches.png
-
-; Actual characters (from gfx/misc/font.png)
-
- charmap "A", $80
- charmap "B", $81
- charmap "C", $82
- charmap "D", $83
- charmap "E", $84
- charmap "F", $85
- charmap "G", $86
- charmap "H", $87
- charmap "I", $88
- charmap "J", $89
- charmap "K", $8a
- charmap "L", $8b
- charmap "M", $8c
- charmap "N", $8d
- charmap "O", $8e
- charmap "P", $8f
- charmap "Q", $90
- charmap "R", $91
- charmap "S", $92
- charmap "T", $93
- charmap "U", $94
- charmap "V", $95
- charmap "W", $96
- charmap "X", $97
- charmap "Y", $98
- charmap "Z", $99
-
- charmap "(", $9a
- charmap ")", $9b
- charmap ":", $9c
- charmap ";", $9d
- charmap "[", $9e
- charmap "]", $9f
-
- charmap "a", $a0
- charmap "b", $a1
- charmap "c", $a2
- charmap "d", $a3
- charmap "e", $a4
- charmap "f", $a5
- charmap "g", $a6
- charmap "h", $a7
- charmap "i", $a8
- charmap "j", $a9
- charmap "k", $aa
- charmap "l", $ab
- charmap "m", $ac
- charmap "n", $ad
- charmap "o", $ae
- charmap "p", $af
- charmap "q", $b0
- charmap "r", $b1
- charmap "s", $b2
- charmap "t", $b3
- charmap "u", $b4
- charmap "v", $b5
- charmap "w", $b6
- charmap "x", $b7
- charmap "y", $b8
- charmap "z", $b9
-
- charmap "Ä", $c0
- charmap "Ö", $c1
- charmap "Ü", $c2
- charmap "ä", $c3
- charmap "ö", $c4
- charmap "ü", $c5
-
- charmap "'d", $d0
- charmap "'l", $d1
- charmap "'m", $d2
- charmap "'r", $d3
- charmap "'s", $d4
- charmap "'t", $d5
- charmap "'v", $d6
-
- charmap "←", $df
- charmap "'", $e0
- charmap "<PK>", $e1
- charmap "<MN>", $e2
- charmap "-", $e3
-
- charmap "?", $e6
- charmap "!", $e7
- charmap ".", $e8
- charmap "&", $e9
-
- charmap "é", $ea
- charmap "→", $eb
- charmap "▷", $ec
- charmap "▶", $ed
- charmap "▼", $ee
- charmap "♂", $ef
- charmap "¥", $f0
- charmap "×", $f1
- charmap "<DOT>", $f2 ; same as "." in English
- charmap "/", $f3
- charmap ",", $f4
- charmap "♀", $f5
-
- charmap "0", $f6
- charmap "1", $f7
- charmap "2", $f8
- charmap "3", $f9
- charmap "4", $fa
- charmap "5", $fb
- charmap "6", $fc
- charmap "7", $fd
- charmap "8", $fe
- charmap "9", $ff
+ charmap "|", $31 ; from gfx/stats/stats_tiles
+
+ charmap "<SHINY>", $3f ; gfx/stats/shiny
+
+ charmap "<BLACK>", $60 ; from gfx/mobile/phone_tiles.2bpp
+ charmap "▲", $61 ; gfx/font/up_arrow.png
+ charmap "<PHONE>", $62 ; gfx/font/overworld_phone_icon.2bpp
+ charmap "_", $62 ; from gfx/battle/hp_exp_bar_border.1bpp
+
+ charmap "′", $6e ; gfx/font/feet_inches.png
+ charmap "″", $6f ; gfx/font/feet_inches.png
+
+; Actual characters (from gfx/font/font.png)
+
+ charmap "A", $80
+ charmap "B", $81
+ charmap "C", $82
+ charmap "D", $83
+ charmap "E", $84
+ charmap "F", $85
+ charmap "G", $86
+ charmap "H", $87
+ charmap "I", $88
+ charmap "J", $89
+ charmap "K", $8a
+ charmap "L", $8b
+ charmap "M", $8c
+ charmap "N", $8d
+ charmap "O", $8e
+ charmap "P", $8f
+ charmap "Q", $90
+ charmap "R", $91
+ charmap "S", $92
+ charmap "T", $93
+ charmap "U", $94
+ charmap "V", $95
+ charmap "W", $96
+ charmap "X", $97
+ charmap "Y", $98
+ charmap "Z", $99
+
+ charmap "(", $9a
+ charmap ")", $9b
+ charmap ":", $9c
+ charmap ";", $9d
+ charmap "[", $9e
+ charmap "]", $9f
+
+ charmap "a", $a0
+ charmap "b", $a1
+ charmap "c", $a2
+ charmap "d", $a3
+ charmap "e", $a4
+ charmap "f", $a5
+ charmap "g", $a6
+ charmap "h", $a7
+ charmap "i", $a8
+ charmap "j", $a9
+ charmap "k", $aa
+ charmap "l", $ab
+ charmap "m", $ac
+ charmap "n", $ad
+ charmap "o", $ae
+ charmap "p", $af
+ charmap "q", $b0
+ charmap "r", $b1
+ charmap "s", $b2
+ charmap "t", $b3
+ charmap "u", $b4
+ charmap "v", $b5
+ charmap "w", $b6
+ charmap "x", $b7
+ charmap "y", $b8
+ charmap "z", $b9
+
+ charmap "Ä", $c0
+ charmap "Ö", $c1
+ charmap "Ü", $c2
+ charmap "ä", $c3
+ charmap "ö", $c4
+ charmap "ü", $c5
+
+ charmap "'d", $d0
+ charmap "'l", $d1
+ charmap "'m", $d2
+ charmap "'r", $d3
+ charmap "'s", $d4
+ charmap "'t", $d5
+ charmap "'v", $d6
+
+ charmap "←", $df
+ charmap "'", $e0
+ charmap "<PK>", $e1
+ charmap "<MN>", $e2
+ charmap "-", $e3
+
+ charmap "?", $e6
+ charmap "!", $e7
+ charmap ".", $e8
+ charmap "&", $e9
+
+ charmap "é", $ea
+ charmap "→", $eb
+ charmap "▷", $ec
+ charmap "▶", $ed
+ charmap "▼", $ee
+ charmap "♂", $ef
+ charmap "¥", $f0
+ charmap "×", $f1
+ charmap "<DOT>", $f2 ; same as "." in English
+ charmap "/", $f3
+ charmap ",", $f4
+ charmap "♀", $f5
+
+ charmap "0", $f6
+ charmap "1", $f7
+ charmap "2", $f8
+ charmap "3", $f9
+ charmap "4", $fa
+ charmap "5", $fb
+ charmap "6", $fc
+ charmap "7", $fd
+ charmap "8", $fe
+ charmap "9", $ff
; Japanese kana, for those bits of text that were not translated to English
diff --git a/macros/code.asm b/macros/code.asm
new file mode 100644
index 000000000..5e247e9a3
--- /dev/null
+++ b/macros/code.asm
@@ -0,0 +1,55 @@
+; Syntactic sugar macros
+
+lb: MACRO ; r, hi, lo
+ ld \1, (\2 & $ff) << 8 + (\3 & $ff)
+ ENDM
+
+ln: MACRO ; r, hi, lo
+ ld \1, (\2 & $f) << 4 + (\3 & $f)
+ ENDM
+
+ldpixel: MACRO
+if _NARG >= 5
+ lb \1, \2 * 8 + \4, \3 * 8 + \5
+else
+ lb \1, \2 * 8, \3 * 8
+endc
+endm
+
+depixel EQUS "ldpixel de,"
+bcpixel EQUS "ldpixel bc,"
+
+
+; Design patterns
+
+jumptable: MACRO
+ ld a, [\2]
+ ld e, a
+ ld d, 0
+ ld hl, \1
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+endm
+
+; Many mobile functions were dummied out in localization.
+mobile EQUS "ret"
+
+maskbits: macro
+; example usage in rejection sampling:
+; .loop
+; call Random
+; maskbits 30
+; cp 30
+; jr nc, .loop
+x = 1
+rept 8
+IF \1 > x
+x = (x + 1) * 2 +- 1
+ENDC
+endr
+ and x
+endm
diff --git a/macros/color.asm b/macros/color.asm
new file mode 100644
index 000000000..35d69fe6f
--- /dev/null
+++ b/macros/color.asm
@@ -0,0 +1,15 @@
+RGB: MACRO
+rept _NARG / 3
+ dw ((\3) << 10) + ((\2) << 5) + (\1)
+ shift
+ shift
+ shift
+endr
+ENDM
+
+palettes EQUS "* 8"
+palette EQUS "+ 8 *"
+
+palred EQUS "$0001 *"
+palgreen EQUS "$0020 *"
+palblue EQUS "$0400 *"
diff --git a/macros/coords.asm b/macros/coords.asm
new file mode 100644
index 000000000..2a672c3d0
--- /dev/null
+++ b/macros/coords.asm
@@ -0,0 +1,51 @@
+bccoord equs "coord bc,"
+decoord equs "coord de,"
+hlcoord equs "coord hl,"
+
+coord: MACRO
+; register, x, y[, origin]
+ if _NARG < 4
+ ld \1, TileMap + SCREEN_WIDTH * (\3) + (\2)
+ else
+ ld \1, \4 + SCREEN_WIDTH * (\3) + (\2)
+ endc
+ ENDM
+
+dwcoord: MACRO
+ rept _NARG / 2
+ dw TileMap + SCREEN_WIDTH * (\2) + (\1)
+ shift
+ shift
+ endr
+ ENDM
+
+ldcoord_a: MACRO
+ if _NARG < 3
+ ld [TileMap + SCREEN_WIDTH * (\2) + (\1)], a
+ else
+ ld [\3 + SCREEN_WIDTH * (\2) + (\1)], a
+ endc
+ ENDM
+
+lda_coord: MACRO
+ if _NARG < 3
+ ld a, [TileMap + SCREEN_WIDTH * (\2) + (\1)]
+ else
+ ld a, [\3 + SCREEN_WIDTH * (\2) + (\1)]
+ endc
+ ENDM
+
+
+bgrows EQUS "* $20" ; SCREEN_WIDTH
+
+hlbgcoord EQUS "bgcoord hl,"
+debgcoord EQUS "bgcoord de,"
+bcbgcoord EQUS "bgcoord bc,"
+
+bgcoord: MACRO
+IF _NARG >= 4
+ ld \1, \3 bgrows + \2 + \4
+ELSE
+ ld \1, \3 bgrows + \2 + VBGMap0
+ENDC
+ENDM
diff --git a/macros/data.asm b/macros/data.asm
new file mode 100644
index 000000000..cf4af0338
--- /dev/null
+++ b/macros/data.asm
@@ -0,0 +1,121 @@
+; Constant data (db, dw, dl) macros
+
+dwb: MACRO
+ dw \1
+ db \2
+ ENDM
+
+dbw: MACRO
+ db \1
+ dw \2
+ ENDM
+
+dbbw: MACRO
+ db \1, \2
+ dw \3
+ ENDM
+
+dbww: MACRO
+ db \1
+ dw \2, \3
+ ENDM
+
+dbwww: MACRO
+ db \1
+ dw \2, \3, \4
+ ENDM
+
+dn: MACRO ; nybbles
+ rept _NARG / 2
+ db ((\1) << 4) | (\2)
+ shift
+ shift
+ endr
+ ENDM
+
+dc: MACRO ; "crumbs"
+ rept _NARG / 4
+ db ((\1) << 6) | ((\2) << 4) | ((\3) << 2) | (\4)
+ shift
+ shift
+ shift
+ shift
+ endr
+ ENDM
+
+dx: MACRO
+x = 8 * ((\1) - 1)
+ rept \1
+ db ((\2) >> x) & $ff
+x = x + -8
+ endr
+ ENDM
+
+dt: MACRO ; three-byte (big-endian)
+ dx 3, \1
+ ENDM
+
+dd: MACRO ; four-byte (big-endian)
+ dx 4, \1
+ ENDM
+
+bigdw: MACRO ; big-endian word
+ dx 2, \1
+ ENDM
+
+dba: MACRO ; 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
+ ENDM
+
+dba_pic: MACRO ; dbw bank, address
+ db BANK(\1) - PICS_FIX
+ dw \1
+ENDM
+
+
+dbpixel: MACRO
+if _NARG >= 4
+ db \1 * 8 + \3, \2 * 8 + \4
+else
+ db \1 * 8, \2 * 8
+endc
+endm
+
+dsprite: MACRO
+; conditional segment is there because not every instance of
+; this macro is directly OAM
+if _NARG >= 7 ; y tile, y pxl, x tile, x pxl, vtile offset, flags, palette
+ db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, (\6 << 3) + (\7 & 7)
+else
+ db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6
+endc
+endm
+
+
+sine_wave: MACRO
+; \1: amplitude
+x = 0
+ rept $20
+ ; Round up.
+ dw (sin(x) + (sin(x) & $ff)) >> 8
+x = x + (\1) * $40000
+ endr
+ENDM
+
+
+bcd: MACRO
+ rept _NARG
+ dn ((\1) % 100) / 10, (\1) % 10
+ shift
+ endr
+ENDM
diff --git a/macros/map.asm b/macros/map.asm
deleted file mode 100644
index f153806da..000000000
--- a/macros/map.asm
+++ /dev/null
@@ -1,211 +0,0 @@
-map: macro
-;\1: map id
- db GROUP_\1, MAP_\1
-endm
-
-maptrigger: macro
-;\1: script pointer
- dw \1, 0
-endm
-
-warp_def: macro
-;\1: y: top to bottom, starts at 0
-;\2: x: left to right, starts at 0
-;\3: warp destination: starts at 1
-;\4: map id: from constants/map_constants.asm
- db \1, \2, \3
- map \4
-endm
-
-xy_trigger: macro
-;\1: number: controlled by dotrigger/domaptrigger
-;\2: y: top to bottom, starts at 0
-;\3: x: left to right, starts at 0
-;\4: script pointer
- db \1, \2, \3, $0
- dw \4
- db $0, $0
-endm
-
-signpost: macro
-;\1: y: top to bottom, starts at 0
-;\2: x: left to right, starts at 0
-;\3: function: a SIGNPOST_* constant
-;\4: script pointer
- db \1, \2, \3
- dw \4
-endm
-
-person_event: macro
-;\1: sprite: a SPRITE_* constant
-;\2: y: top to bottom, starts at 0
-;\3: x: left to right, starts at 0
-;\4: movement function: a SPRITEMOVEDATA_* constant
-;\5, \6: movement radius: y, x
-;\7: clock hour: ???
-;\8: clock daytime: sum of MORN, DAY, and/or NITE, or 0 for always
-;\9: color: a PAL_NPC_* constant, or 0 for sprite default
-;\10: function: a PERSONTYPE_* constant
-;\11: sight range: applies to PERSONTYPE_TRAINER
-;\12: script pointer
-;\13: event flag: an EVENT_* constant, or 0 for always
- db \1, \2 + 4, \3 + 4, \4
- dn \5, \6
- db \7, \8
- shift
- dn \8, \9
- shift
- db \9
- shift
- dw \9
- shift
- dw \9
-endm
-
-
-newgroup: macro
-const_value = const_value + 1
- enum_start 1
-endm
-
-mapgroup: macro
-;\1: map id
-;\2: height: in blocks
-;\3: width: in blocks
-GROUP_\1 EQU const_value
- enum MAP_\1
-\1_HEIGHT EQU \2
-\1_WIDTH EQU \3
-endm
-
-
-map_header: macro
-;\1: map label
-;\2: tileset: a TILESET_* constant
-;\3: permission: TOWN, ROUTE, INDOOR, CAVE, PERM_5, GATE, or DUNGEON
-;\4: location: from constants/landmark_constants.asm
-;\5: music: a MUSIC_* constant
-;\6: phone service flag: 1 to prevent phone calls
-;\7: time of day: a PALETTE_* constant
-;\8: fishing group: a FISHGROUP_* constant
-\1_MapHeader:
- db BANK(\1_SecondMapHeader), \2, \3
- dw \1_SecondMapHeader
- db \4, \5
- dn \6, \7
- db \8
-endm
-
-
-map_header_2: macro
-;\1: map label
-;\2: map id
-;\3: border block
-;\4: connections: sum of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
-\1_SecondMapHeader::
- db \3
- db \2_HEIGHT, \2_WIDTH
- db BANK(\1_BlockData)
- dw \1_BlockData
- db BANK(\1_MapScriptHeader)
- dw \1_MapScriptHeader
- dw \1_MapEventHeader
- db \4
-endm
-
-connection: macro
-if "\1" == "north"
-;\2: map id
-;\3: map label (eventually will be rolled into map id)
-;\4: x
-;\5: offset?
-;\6: strip length
-;\7: this map id
- map \2
- dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5
- dw OverworldMap + \4 + 3
- db \6
- db \2_WIDTH
- db \2_HEIGHT * 2 - 1
- db (\4 - \5) * -2
- dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1
-endc
-
-if "\1" == "south"
-;\2: map id
-;\3: map label (eventually will be rolled into map id)
-;\4: x
-;\5: offset?
-;\6: strip length
-;\7: this map id
- map \2
- dw \3_BlockData + \5
- dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3
- db \6
- db \2_WIDTH
- db 0
- db (\4 - \5) * -2
- dw OverworldMap + \2_WIDTH + 7
-endc
-
-if "\1" == "west"
-;\2: map id
-;\3: map label (eventually will be rolled into map id)
-;\4: y
-;\5: offset?
-;\6: strip length
-;\7: this map id
- map \2
- dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3
- dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3)
- db \6
- db \2_WIDTH
- db (\4 - \5) * -2
- db \2_WIDTH * 2 - 1
- dw OverworldMap + \2_WIDTH * 2 + 6
-endc
-
-if "\1" == "east"
-;\2: map id
-;\3: map label (eventually will be rolled into map id)
-;\4: y
-;\5: offset?
-;\6: strip length
-;\7: this map id
- map \2
- dw \3_BlockData + (\2_WIDTH * \5)
- dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3
- db \6
- db \2_WIDTH
- db (\4 - \5) * -2
- db 0
- dw OverworldMap + \2_WIDTH + 7
-endc
-endm
-
-
-itemball: macro
-;\1: item: from constants/item_constants.asm
-;\2: quantity: default 1
-if _NARG == 2
- db \1, \2
-else
- db \1, 1
-endc
-endm
-
-elevfloor: macro
-;\1: floor: a FLOOR_* constant
-;\2: warp destination: starts at 1
-;\3: map id
- db \1, \2
- map \3
-ENDM
-
-stonetable: macro
-;\1: warp id
-;\2: person_event id
-;\3: script pointer
- db \1, \2
- dw \3
-endm
diff --git a/macros/mobile.asm b/macros/mobile.asm
deleted file mode 100644
index 06b40d694..000000000
--- a/macros/mobile.asm
+++ /dev/null
@@ -1,2 +0,0 @@
-; Many mobile functions were dummied out in localization.
-mobile EQUS "ret"
diff --git a/macros/movement.asm b/macros/movement.asm
deleted file mode 100644
index a2acf1356..000000000
--- a/macros/movement.asm
+++ /dev/null
@@ -1,247 +0,0 @@
-; MovementPointers indexes (see engine/movement.asm)
- enum_start
-
-; Directional movements
-
- enum movement_turn_head
-turn_head: macro
- db movement_turn_head | \1 ; $00
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_turn_step
-turn_step: macro
- db movement_turn_step | \1 ; $04
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_slow_step
-slow_step: macro
- db movement_slow_step | \1; $08
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_step
-step: macro
- db movement_step | \1 ; $0c
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_big_step
-big_step: macro
- db movement_big_step | \1 ; $10
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_slow_slide_step
-slow_slide_step: macro
- db movement_slow_slide_step | \1 ; $14
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_slide_step
-slide_step: macro
- db movement_slide_step | \1 ; $18
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_fast_slide_step
-fast_slide_step: macro
- db movement_fast_slide_step | \1 ; $1c
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_turn_away
-turn_away: macro
- db movement_turn_away | \1 ; $20
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_turn_in
-turn_in: macro
- db movement_turn_in | \1 ; $24
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_turn_waterfall
-turn_waterfall: macro
- db movement_turn_waterfall | \1 ; $28
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_slow_jump_step
-slow_jump_step: macro
- db movement_slow_jump_step | \1 ; $2c
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_jump_step
-jump_step: macro
- db movement_jump_step | \1 ; $30
- endm
-
-__enum__ = __enum__ + 3
-
- enum movement_fast_jump_step
-fast_jump_step: macro
- db movement_fast_jump_step | \1 ; $34
- endm
-
-__enum__ = __enum__ + 3
-
-; Control
- enum movement_remove_sliding
-remove_sliding: macro
- db movement_remove_sliding ; $38
- endm
-
- enum movement_set_sliding
-set_sliding: macro
- db movement_set_sliding ; $39
- endm
-
- enum movement_remove_fixed_facing
-remove_fixed_facing: macro
- db movement_remove_fixed_facing ; $3a
- endm
-
- enum movement_fix_facing
-fix_facing: macro
- db movement_fix_facing ; $3b
- endm
-
- enum movement_show_person
-show_person: macro
- db movement_show_person ; $3c
- endm
-
- enum movement_hide_person
-hide_person: macro
- db movement_hide_person ; $3d
- endm
-
-; Sleep
-
- enum movement_step_sleep
-step_sleep: macro
-if \1 <= 8
- db movement_step_sleep + \1 - 1
-else
- db movement_step_sleep + 8, \1
-endc
-endm
-
-__enum__ = __enum__ + 8
-
- enum movement_step_end
-step_end: macro
- db movement_step_end ; $47
- endm
-
-; Whatever Movement_48 is, it takes a one-byte parameter
- enum movement_step_48
-step_48: macro
- db movement_step_48
- db \1
- endm
-
- enum movement_remove_person
-remove_person: macro
- db movement_remove_person ; $49
- endm
-
- enum movement_step_loop
-step_loop: macro
- db movement_step_loop ; $4a
- endm
-
- enum movement_step_4b
-step_4b: macro
- db movement_step_4b ; $4b
- endm
-
- enum movement_teleport_from
-teleport_from: macro
- db movement_teleport_from ; $4c
- endm
-
- enum movement_teleport_to
-teleport_to: macro
- db movement_teleport_to ; $4d
- endm
-
- enum movement_skyfall
-skyfall: macro
- db movement_skyfall ; $4e
- endm
-
- enum movement_step_dig
-step_dig: macro
- db movement_step_dig ; $4f
- db \1
- endm
-
- enum movement_step_bump
-step_bump: macro
- db movement_step_bump ; $50
- endm
-
- enum movement_fish_got_bite
-fish_got_bite: macro
- db movement_fish_got_bite ; $51
- endm
-
- enum movement_fish_cast_rod
-fish_cast_rod: macro
- db movement_fish_cast_rod ; $52
- endm
-
- enum movement_hide_emote
-hide_emote: macro
- db movement_hide_emote ; $53
- endm
-
- enum movement_show_emote
-show_emote: macro
- db movement_show_emote ; $54
- endm
-
- enum movement_step_shake
-step_shake: macro
- db movement_step_shake ; $55
- db \1 ; displacement
- endm
-
- enum movement_tree_shake
-tree_shake: macro
- db movement_tree_shake
- endm
-
- enum movement_rock_smash
-rock_smash: macro
- db movement_rock_smash ; $57
- db \1
- endm
-
- enum movement_return_dig
-return_dig: macro
- db movement_return_dig ; $58
- db \1
- endm
-
- enum movement_skyfall_top
-skyfall_top: macro
- db movement_skyfall_top ; $59
- endm
diff --git a/macros/pic.asm b/macros/pic.asm
deleted file mode 100644
index f06c6cd4f..000000000
--- a/macros/pic.asm
+++ /dev/null
@@ -1,4 +0,0 @@
-add_pic: MACRO
- db BANK(\1) - PICS_FIX
- dw \1
-ENDM
diff --git a/macros/rst.asm b/macros/rst.asm
index 50259c968..fe7e42723 100644
--- a/macros/rst.asm
+++ b/macros/rst.asm
@@ -15,3 +15,15 @@ callab: MACRO ; address, bank
ld a, BANK(\1)
rst FarCall
ENDM
+
+homecall: MACRO
+ ld a, [hROMBank]
+ push af
+ ld a, BANK(\1)
+ rst Bankswitch
+
+ call \1
+
+ pop af
+ rst Bankswitch
+ENDM
diff --git a/macros/sound.asm b/macros/scripts/audio.asm
index bac979a5f..3766785ba 100644
--- a/macros/sound.asm
+++ b/macros/scripts/audio.asm
@@ -26,7 +26,7 @@ cry_header: macro
; MusicCommands indexes (see audio/engine.asm)
enum_start $d8
- enum notetype_cmd
+ enum notetype_cmd ; $d8
octave: macro
db notetype_cmd - (\1)
endm
@@ -39,227 +39,227 @@ notetype: macro
endc
endm
- enum pitchoffset_cmd
+ enum pitchoffset_cmd ; $d9
pitchoffset: macro
db pitchoffset_cmd
dn \1, \2 - 1 ; octave, key
endm
- enum tempo_cmd
+ enum tempo_cmd ; $da
tempo: macro
db tempo_cmd
bigdw \1 ; tempo
endm
- enum dutycycle_cmd
+ enum dutycycle_cmd ; $db
dutycycle: macro
db dutycycle_cmd
db \1 ; duty_cycle
endm
- enum intensity_cmd
+ enum intensity_cmd ; $dc
intensity: macro
db intensity_cmd
db \1 ; intensity
endm
- enum soundinput_cmd
+ enum soundinput_cmd ; $dd
soundinput: macro
db soundinput_cmd
db \1 ; input
endm
- enum sound_duty_cmd
+ enum sound_duty_cmd ; $de
sound_duty: macro
db sound_duty_cmd
db \1 | (\2 << 2) | (\3 << 4) | (\4 << 6) ; duty sequence
endm
- enum togglesfx_cmd
+ enum togglesfx_cmd ; $df
togglesfx: macro
db togglesfx_cmd
endm
- enum slidepitchto_cmd
+ enum slidepitchto_cmd ; $e0
slidepitchto: macro
db slidepitchto_cmd
db \1 - 1 ; duration
dn \2, \3 ; octave, pitch
endm
- enum vibrato_cmd
+ enum vibrato_cmd ; $e1
vibrato: macro
db vibrato_cmd
db \1 ; delay
db \2 ; extent
endm
- enum unknownmusic0xe2_cmd
+ enum unknownmusic0xe2_cmd ; $e2
unknownmusic0xe2: macro
db unknownmusic0xe2_cmd
db \1 ; unknown
endm
- enum togglenoise_cmd
+ enum togglenoise_cmd ; $e3
togglenoise: macro
db togglenoise_cmd
db \1 ; id
endm
- enum panning_cmd
+ enum panning_cmd ; $e4
panning: macro
db panning_cmd
db \1 ; tracks
endm
- enum volume_cmd
+ enum volume_cmd ; $e5
volume: macro
db volume_cmd
db \1 ; volume
endm
- enum tone_cmd
+ enum tone_cmd ; $e6
tone: macro
db tone_cmd
bigdw \1 ; tone
endm
- enum unknownmusic0xe7_cmd
+ enum unknownmusic0xe7_cmd ; $e7
unknownmusic0xe7: macro
db unknownmusic0xe7_cmd
db \1 ; unknown
endm
- enum unknownmusic0xe8_cmd
+ enum unknownmusic0xe8_cmd ; $e8
unknownmusic0xe8: macro
db unknownmusic0xe8_cmd
db \1 ; unknown
endm
- enum tempo_relative_cmd
+ enum tempo_relative_cmd ; $e9
tempo_relative: macro
db tempo_relative_cmd
bigdw \1 ; value
endm
- enum restartchannel_cmd
+ enum restartchannel_cmd ; $ea
restartchannel: macro
db restartchannel_cmd
dw \1 ; address
endm
- enum newsong_cmd
+ enum newsong_cmd ; $eb
newsong: macro
db newsong_cmd
bigdw \1 ; id
endm
- enum sfxpriorityon_cmd
+ enum sfxpriorityon_cmd ; $ec
sfxpriorityon: macro
db sfxpriorityon_cmd
endm
- enum sfxpriorityoff_cmd
+ enum sfxpriorityoff_cmd ; $ed
sfxpriorityoff: macro
db sfxpriorityoff_cmd
endm
- enum unknownmusic0xee_cmd
+ enum unknownmusic0xee_cmd ; $ee
unknownmusic0xee: macro
db unknownmusic0xee_cmd
dw \1 ; address
endm
- enum stereopanning_cmd
+ enum stereopanning_cmd ; $ef
stereopanning: macro
db stereopanning_cmd
db \1 ; tracks
endm
- enum sfxtogglenoise_cmd
+ enum sfxtogglenoise_cmd ; $f0
sfxtogglenoise: macro
db sfxtogglenoise_cmd
db \1 ; id
endm
- enum music0xf1_cmd
+ enum music0xf1_cmd ; $f1
music0xf1: macro
db music0xf1_cmd
endm
- enum music0xf2_cmd
+ enum music0xf2_cmd ; $f2
music0xf2: macro
db music0xf2_cmd
endm
- enum music0xf3_cmd
+ enum music0xf3_cmd ; $f3
music0xf3: macro
db music0xf3_cmd
endm
- enum music0xf4_cmd
+ enum music0xf4_cmd ; $f4
music0xf4: macro
db music0xf4_cmd
endm
- enum music0xf5_cmd
+ enum music0xf5_cmd ; $f5
music0xf5: macro
db music0xf5_cmd
endm
- enum music0xf6_cmd
+ enum music0xf6_cmd ; $f6
music0xf6: macro
db music0xf6_cmd
endm
- enum music0xf7_cmd
+ enum music0xf7_cmd ; $f7
music0xf7: macro
db music0xf7_cmd
endm
- enum music0xf8_cmd
+ enum music0xf8_cmd ; $f8
music0xf8: macro
db music0xf8_cmd
endm
- enum unknownmusic0xf9_cmd
+ enum unknownmusic0xf9_cmd ; $f9
unknownmusic0xf9: macro
db unknownmusic0xf9_cmd
endm
- enum setcondition_cmd
+ enum setcondition_cmd ; $fa
setcondition: macro
db setcondition_cmd
db \1 ; condition
endm
- enum jumpif_cmd
+ enum jumpif_cmd ; $fb
jumpif: macro
db jumpif_cmd
db \1 ; condition
dw \2 ; address
endm
- enum jumpchannel_cmd
+ enum jumpchannel_cmd ; $fc
jumpchannel: macro
db jumpchannel_cmd
dw \1 ; address
endm
- enum loopchannel_cmd
+ enum loopchannel_cmd ; $fd
loopchannel: macro
db loopchannel_cmd
db \1 ; count
dw \2 ; address
endm
- enum callchannel_cmd
+ enum callchannel_cmd ; $fe
callchannel: macro
db callchannel_cmd
dw \1 ; address
endm
- enum endchannel_cmd
+ enum endchannel_cmd ; $ff
endchannel: macro
db endchannel_cmd
endm
diff --git a/macros/scripts/effect_commands.asm b/macros/scripts/effect_commands.asm
new file mode 100644
index 000000000..4fd2475b7
--- /dev/null
+++ b/macros/scripts/effect_commands.asm
@@ -0,0 +1,187 @@
+command: macro
+ enum \1_command
+\1 equs "db \1_command"
+endm
+
+; BattleCommandPointers indexes (see battle/effect_commands.asm)
+ enum_start 1
+ command checkturn ; 01
+ command checkobedience ; 02
+ command usedmovetext ; 03
+ command doturn ; 04
+ command critical ; 05
+ command damagestats ; 06
+ command stab ; 07
+ command damagevariation ; 08
+ command checkhit ; 09
+ command lowersub ; 0a
+ command hittargetnosub ; 0b
+ command raisesub ; 0c
+ command failuretext ; 0d
+ command checkfaint ; 0e
+ command criticaltext ; 0f
+ command supereffectivetext ; 10
+ command checkdestinybond ; 11
+ command buildopponentrage ; 12
+ command poisontarget ; 13
+ command sleeptarget ; 14
+ command draintarget ; 15
+ command eatdream ; 16
+ command burntarget ; 17
+ command freezetarget ; 18
+ command paralyzetarget ; 19
+ command selfdestruct ; 1a
+ command mirrormove ; 1b
+ command statup ; 1c
+ command statdown ; 1d
+ command payday ; 1e
+ command conversion ; 1f
+ command resetstats ; 20
+ command storeenergy ; 21
+ command unleashenergy ; 22
+ command forceswitch ; 23
+ command endloop ; 24
+ command flinchtarget ; 25
+ command ohko ; 26
+ command recoil ; 27
+ command mist ; 28
+ command focusenergy ; 29
+ command confuse ; 2a
+ command confusetarget ; 2b
+ command heal ; 2c
+ command transform ; 2d
+ command screen ; 2e
+ command poison ; 2f
+ command paralyze ; 30
+ command substitute ; 31
+ command rechargenextturn ; 32
+ command mimic ; 33
+ command metronome ; 34
+ command leechseed ; 35
+ command splash ; 36
+ command disable ; 37
+ command cleartext ; 38
+ command charge ; 39
+ command checkcharge ; 3a
+ command traptarget ; 3b
+ command effect0x3c ; 3c
+ command rampage ; 3d
+ command checkrampage ; 3e
+ command constantdamage ; 3f
+ command counter ; 40
+ command encore ; 41
+ command painsplit ; 42
+ command snore ; 43
+ command conversion2 ; 44
+ command lockon ; 45
+ command sketch ; 46
+ command defrostopponent ; 47
+ command sleeptalk ; 48
+ command destinybond ; 49
+ command spite ; 4a
+ command falseswipe ; 4b
+ command healbell ; 4c
+ command kingsrock ; 4d
+ command triplekick ; 4e
+ command kickcounter ; 4f
+ command thief ; 50
+ command arenatrap ; 51
+ command nightmare ; 52
+ command defrost ; 53
+ command curse ; 54
+ command protect ; 55
+ command spikes ; 56
+ command foresight ; 57
+ command perishsong ; 58
+ command startsandstorm ; 59
+ command endure ; 5a
+ command checkcurl ; 5b
+ command rolloutpower ; 5c
+ command effect0x5d ; 5d
+ command furycutter ; 5e
+ command attract ; 5f
+ command happinesspower ; 60
+ command present ; 61
+ command damagecalc ; 62
+ command frustrationpower ; 63
+ command safeguard ; 64
+ command checksafeguard ; 65
+ command getmagnitude ; 66
+ command batonpass ; 67
+ command pursuit ; 68
+ command clearhazards ; 69
+ command healmorn ; 6a
+ command healday ; 6b
+ command healnite ; 6c
+ command hiddenpower ; 6d
+ command startrain ; 6e
+ command startsun ; 6f
+ command attackup ; 70
+ command defenseup ; 71
+ command speedup ; 72
+ command specialattackup ; 73
+ command specialdefenseup ; 74
+ command accuracyup ; 75
+ command evasionup ; 76
+ command attackup2 ; 77
+ command defenseup2 ; 78
+ command speedup2 ; 79
+ command specialattackup2 ; 7a
+ command specialdefenseup2 ; 7b
+ command accuracyup2 ; 7c
+ command evasionup2 ; 7d
+ command attackdown ; 7e
+ command defensedown ; 7f
+ command speeddown ; 80
+ command specialattackdown ; 81
+ command specialdefensedown ; 82
+ command accuracydown ; 83
+ command evasiondown ; 84
+ command attackdown2 ; 85
+ command defensedown2 ; 86
+ command speeddown2 ; 87
+ command specialattackdown2 ; 88
+ command specialdefensedown2 ; 89
+ command accuracydown2 ; 8a
+ command evasiondown2 ; 8b
+ command statupmessage ; 8c
+ command statdownmessage ; 8d
+ command statupfailtext ; 8e
+ command statdownfailtext ; 8f
+ command effectchance ; 90
+ command statdownanim ; 91
+ command statupanim ; 92
+ command switchturn ; 93
+ command fakeout ; 94
+ command bellydrum ; 95
+ command psychup ; 96
+ command rage ; 97
+ command doubleflyingdamage ; 98
+ command doubleundergrounddamage ; 99
+ command mirrorcoat ; 9a
+ command checkfuturesight ; 9b
+ command futuresight ; 9c
+ command doubleminimizedamage ; 9d
+ command skipsuncharge ; 9e
+ command thunderaccuracy ; 9f
+ command teleport ; a0
+ command beatup ; a1
+ command ragedamage ; a2
+ command resettypematchup ; a3
+ command allstatsup ; a4
+ command effect0xa5 ; a5
+ command raisesubnoanim ; a6
+ command lowersubnoanim ; a7
+ command effect0xa8 ; a8
+ command clearmissdamage ; a9
+ command movedelay ; aa
+ command hittarget ; ab
+ command tristatuschance ; ac
+ command supereffectivelooptext ; ad
+ command startloop ; ae
+ command curl ; af
+
+__enum__ set $fe
+
+ command endturn ; fe
+ command endmove ; ff
diff --git a/macros/event.asm b/macros/scripts/event.asm
index b00b6a6da..c40d6f8fd 100644
--- a/macros/event.asm
+++ b/macros/scripts/event.asm
@@ -1,101 +1,101 @@
; ScriptCommandTable indexes (see engine/scripting.asm)
enum_start
- enum scall_command
+ enum scall_command ; $00
scall: macro
db scall_command
dw \1 ; pointer
endm
- enum farscall_command
+ enum farscall_command ; $01
farscall: macro
db farscall_command
dba \1
endm
- enum ptcall_command
+ enum ptcall_command ; $02
ptcall: macro
db ptcall_command
dw \1 ; pointer
endm
- enum jump_command
+ enum jump_command ; $03
jump: macro
db jump_command
dw \1 ; pointer
endm
- enum farjump_command
+ enum farjump_command ; $04
farjump: macro
db farjump_command
dba \1
endm
- enum ptjump_command
+ enum ptjump_command ; $05
ptjump: macro
db ptjump_command
dw \1 ; pointer
endm
- enum if_equal_command
+ enum if_equal_command ; $06
if_equal: macro
db if_equal_command
db \1 ; byte
dw \2 ; pointer
endm
- enum if_not_equal_command
+ enum if_not_equal_command ; $07
if_not_equal: macro
db if_not_equal_command
db \1 ; byte
dw \2 ; pointer
endm
- enum iffalse_command
+ enum iffalse_command ; $08
iffalse: macro
db iffalse_command
dw \1 ; pointer
endm
- enum iftrue_command
+ enum iftrue_command ; $09
iftrue: macro
db iftrue_command
dw \1 ; pointer
endm
- enum if_greater_than_command
+ enum if_greater_than_command ; $0a
if_greater_than: macro
db if_greater_than_command
db \1 ; byte
dw \2 ; pointer
endm
- enum if_less_than_command
+ enum if_less_than_command ; $0b
if_less_than: macro
db if_less_than_command
db \1 ; byte
dw \2 ; pointer
endm
- enum jumpstd_command
+ enum jumpstd_command ; $0c
jumpstd: macro
db jumpstd_command
dw \1 ; predefined_script
endm
- enum callstd_command
+ enum callstd_command ; $0d
callstd: macro
db callstd_command
dw \1 ; predefined_script
endm
- enum callasm_command
+ enum callasm_command ; $0e
callasm: macro
db callasm_command
dba \1
endm
- enum special_command
+ enum special_command ; $0f
special: macro
db special_command
dw (\1Special - SpecialsPointers) / 3
@@ -106,98 +106,98 @@ add_special: MACRO
dba \1
ENDM
- enum ptcallasm_command
+ enum ptcallasm_command ; $10
ptcallasm: macro
db ptcallasm_command
dw \1 ; asm
endm
- enum checkmaptriggers_command
+ enum checkmaptriggers_command ; $11
checkmaptriggers: macro
db checkmaptriggers_command
map \1 ; map
endm
- enum domaptrigger_command
+ enum domaptrigger_command ; $12
domaptrigger: macro
db domaptrigger_command
map \1 ; map
db \2 ; trigger_id
endm
- enum checktriggers_command
+ enum checktriggers_command ; $13
checktriggers: macro
db checktriggers_command
endm
- enum dotrigger_command
+ enum dotrigger_command ; $14
dotrigger: macro
db dotrigger_command
db \1 ; trigger_id
endm
- enum writebyte_command
+ enum writebyte_command ; $15
writebyte: macro
db writebyte_command
db \1 ; value
endm
- enum addvar_command
+ enum addvar_command ; $16
addvar: macro
db addvar_command
db \1 ; value
endm
- enum random_command
+ enum random_command ; $17
random: macro
db random_command
db \1 ; input
endm
- enum checkver_command
+ enum checkver_command ; $18
checkver: macro
db checkver_command
endm
- enum copybytetovar_command
+ enum copybytetovar_command ; $19
copybytetovar: macro
db copybytetovar_command
dw \1 ; address
endm
- enum copyvartobyte_command
+ enum copyvartobyte_command ; $1a
copyvartobyte: macro
db copyvartobyte_command
dw \1 ; address
endm
- enum loadvar_command
+ enum loadvar_command ; $1b
loadvar: macro
db loadvar_command
dw \1 ; address
db \2 ; value
endm
- enum checkcode_command
+ enum checkcode_command ; $1c
checkcode: macro
db checkcode_command
db \1 ; variable_id
endm
- enum writevarcode_command
+ enum writevarcode_command ; $1d
writevarcode: macro
db writevarcode_command
db \1 ; variable_id
endm
- enum writecode_command
+ enum writecode_command ; $1e
writecode: macro
db writecode_command
db \1 ; variable_id
db \2 ; value
endm
- enum giveitem_command
+ enum giveitem_command ; $1f
giveitem: macro
db giveitem_command
db \1 ; item
@@ -208,7 +208,7 @@ else
endc
endm
- enum takeitem_command
+ enum takeitem_command ; $20
takeitem: macro
db takeitem_command
db \1 ; item
@@ -219,70 +219,70 @@ else
endc
endm
- enum checkitem_command
+ enum checkitem_command ; $21
checkitem: macro
db checkitem_command
db \1 ; item
endm
- enum givemoney_command
+ enum givemoney_command ; $22
givemoney: macro
db givemoney_command
db \1 ; account
dt \2 ; money
endm
- enum takemoney_command
+ enum takemoney_command ; $23
takemoney: macro
db takemoney_command
db \1 ; account
dt \2 ; money
endm
- enum checkmoney_command
+ enum checkmoney_command ; $24
checkmoney: macro
db checkmoney_command
db \1 ; account
dt \2 ; money
endm
- enum givecoins_command
+ enum givecoins_command ; $25
givecoins: macro
db givecoins_command
dw \1 ; coins
endm
- enum takecoins_command
+ enum takecoins_command ; $26
takecoins: macro
db takecoins_command
dw \1 ; coins
endm
- enum checkcoins_command
+ enum checkcoins_command ; $27
checkcoins: macro
db checkcoins_command
dw \1 ; coins
endm
- enum addcellnum_command
+ enum addcellnum_command ; $28
addcellnum: macro
db addcellnum_command
db \1 ; person
endm
- enum delcellnum_command
+ enum delcellnum_command ; $29
delcellnum: macro
db delcellnum_command
db \1 ; person
endm
- enum checkcellnum_command
+ enum checkcellnum_command ; $2a
checkcellnum: macro
db checkcellnum_command
db \1 ; person
endm
- enum checktime_command
+ enum checktime_command ; $2b
checktime: macro
db checktime_command
db \1 ; time
@@ -292,13 +292,13 @@ checkmorn EQUS "checktime MORN"
checkday EQUS "checktime DAY"
checknite EQUS "checktime NITE"
- enum checkpoke_command
+ enum checkpoke_command ; $2c
checkpoke: macro
db checkpoke_command
db \1 ; pkmn
endm
- enum givepoke_command
+ enum givepoke_command ; $2d
givepoke: macro
db givepoke_command
db \1 ; pokemon
@@ -319,91 +319,91 @@ givepoke: macro
endc
endm
- enum giveegg_command
+ enum giveegg_command ; $2e
giveegg: macro
db giveegg_command
db \1 ; pkmn
db \2 ; level
endm
- enum givepokeitem_command
+ enum givepokeitem_command ; $2f
givepokeitem: macro
db givepokeitem_command
dw \1 ; pointer
endm
- enum checkpokeitem_command
+ enum checkpokeitem_command ; $30
checkpokeitem: macro
db checkpokeitem_command
dw \1 ; pointer
endm
- enum checkevent_command
+ enum checkevent_command ; $31
checkevent: macro
db checkevent_command
dw \1 ; event_flag
endm
- enum clearevent_command
+ enum clearevent_command ; $32
clearevent: macro
db clearevent_command
dw \1 ; event_flag
endm
- enum setevent_command
+ enum setevent_command ; $33
setevent: macro
db setevent_command
dw \1 ; event_flag
endm
- enum checkflag_command
+ enum checkflag_command ; $34
checkflag: macro
db checkflag_command
dw \1 ; engine_flag
endm
- enum clearflag_command
+ enum clearflag_command ; $35
clearflag: macro
db clearflag_command
dw \1 ; engine_flag
endm
- enum setflag_command
+ enum setflag_command ; $36
setflag: macro
db setflag_command
dw \1 ; engine_flag
endm
- enum wildon_command
+ enum wildon_command ; $37
wildon: macro
db wildon_command
endm
- enum wildoff_command
+ enum wildoff_command ; $38
wildoff: macro
db wildoff_command
endm
- enum xycompare_command
+ enum xycompare_command ; $39
xycompare: macro
db xycompare_command
dw \1 ; pointer
endm
- enum warpmod_command
+ enum warpmod_command ; $3a
warpmod: macro
db warpmod_command
db \1 ; warp_id
map \2 ; map
endm
- enum blackoutmod_command
+ enum blackoutmod_command ; $3b
blackoutmod: macro
db blackoutmod_command
map \1 ; map
endm
- enum warp_command
+ enum warp_command ; $3c
warp: macro
db warp_command
map \1 ; map
@@ -411,46 +411,46 @@ warp: macro
db \3 ; y
endm
- enum readmoney_command
+ enum readmoney_command ; $3d
readmoney: macro
db readmoney_command
db \1 ; account
db \2 ; memory
endm
- enum readcoins_command
+ enum readcoins_command ; $3e
readcoins: macro
db readcoins_command
db \1 ; memory
endm
- enum RAM2MEM_command
+ enum RAM2MEM_command ; $3f
RAM2MEM: macro
db RAM2MEM_command
db \1 ; memory
endm
- enum pokenamemem_command
+ enum pokenamemem_command ; $40
pokenamemem: macro
db pokenamemem_command
db \1 ; pokemon
db \2 ; memory
endm
- enum itemtotext_command
+ enum itemtotext_command ; $41
itemtotext: macro
db itemtotext_command
db \1 ; item
db \2 ; memory
endm
- enum mapnametotext_command
+ enum mapnametotext_command ; $42
mapnametotext: macro
db mapnametotext_command
db \1 ; memory
endm
- enum trainertotext_command
+ enum trainertotext_command ; $43
trainertotext: macro
db trainertotext_command
db \1 ; trainer_id
@@ -458,273 +458,273 @@ trainertotext: macro
db \3 ; memory
endm
- enum stringtotext_command
+ enum stringtotext_command ; $44
stringtotext: macro
db stringtotext_command
dw \1 ; text_pointer
db \2 ; memory
endm
- enum itemnotify_command
+ enum itemnotify_command ; $45
itemnotify: macro
db itemnotify_command
endm
- enum pocketisfull_command
+ enum pocketisfull_command ; $46
pocketisfull: macro
db pocketisfull_command
endm
- enum opentext_command
+ enum opentext_command ; $47
opentext: macro
db opentext_command
endm
- enum refreshscreen_command
+ enum refreshscreen_command ; $48
refreshscreen: macro
db refreshscreen_command
db \1 ; dummy
endm
- enum closetext_command
+ enum closetext_command ; $49
closetext: macro
db closetext_command
endm
- enum loadbytec2cf_command
+ enum loadbytec2cf_command ; $4a
loadbytec2cf: macro
db loadbytec2cf_command
db \1 ; byte
endm
- enum farwritetext_command
+ enum farwritetext_command ; $4b
farwritetext: macro
db farwritetext_command
dba \1
endm
- enum writetext_command
+ enum writetext_command ; $4c
writetext: macro
db writetext_command
dw \1 ; text_pointer
endm
- enum repeattext_command
+ enum repeattext_command ; $4d
repeattext: macro
db repeattext_command
db \1 ; byte
db \2 ; byte
endm
- enum yesorno_command
+ enum yesorno_command ; $4e
yesorno: macro
db yesorno_command
endm
- enum loadmenudata_command
+ enum loadmenudata_command ; $4f
loadmenudata: macro
db loadmenudata_command
dw \1 ; data
endm
- enum closewindow_command
+ enum closewindow_command ; $50
closewindow: macro
db closewindow_command
endm
- enum jumptextfaceplayer_command
+ enum jumptextfaceplayer_command ; $51
jumptextfaceplayer: macro
db jumptextfaceplayer_command
dw \1 ; text_pointer
endm
; IF _CRYSTAL
- enum farjumptext_command
+ enum farjumptext_command ; $52
farjumptext: macro
db farjumptext_command
dba \1
endm
; ENDC
- enum jumptext_command
+ enum jumptext_command ; $53
jumptext: macro
db jumptext_command
dw \1 ; text_pointer
endm
- enum waitbutton_command
+ enum waitbutton_command ; $54
waitbutton: macro
db waitbutton_command
endm
- enum buttonsound_command
+ enum buttonsound_command ; $55
buttonsound: macro
db buttonsound_command
endm
- enum pokepic_command
+ enum pokepic_command ; $56
pokepic: macro
db pokepic_command
db \1 ; pokemon
endm
- enum closepokepic_command
+ enum closepokepic_command ; $57
closepokepic: macro
db closepokepic_command
endm
- enum _2dmenu_command
+ enum _2dmenu_command ; $58
_2dmenu: macro
db _2dmenu_command
endm
- enum verticalmenu_command
+ enum verticalmenu_command ; $59
verticalmenu: macro
db verticalmenu_command
endm
- enum loadpikachudata_command
+ enum loadpikachudata_command ; $5a
loadpikachudata: macro
db loadpikachudata_command
endm
- enum randomwildmon_command
+ enum randomwildmon_command ; $5b
randomwildmon: macro
db randomwildmon_command
endm
- enum loadmemtrainer_command
+ enum loadmemtrainer_command ; $5c
loadmemtrainer: macro
db loadmemtrainer_command
endm
- enum loadwildmon_command
+ enum loadwildmon_command ; $5d
loadwildmon: macro
db loadwildmon_command
db \1 ; pokemon
db \2 ; level
endm
- enum loadtrainer_command
+ enum loadtrainer_command ; $5e
loadtrainer: macro
db loadtrainer_command
db \1 ; trainer_group
db \2 ; trainer_id
endm
- enum startbattle_command
+ enum startbattle_command ; $5f
startbattle: macro
db startbattle_command
endm
- enum reloadmapafterbattle_command
+ enum reloadmapafterbattle_command ; $60
reloadmapafterbattle: macro
db reloadmapafterbattle_command
endm
- enum catchtutorial_command
+ enum catchtutorial_command ; $61
catchtutorial: macro
db catchtutorial_command
db \1 ; byte
endm
- enum trainertext_command
+ enum trainertext_command ; $62
trainertext: macro
db trainertext_command
db \1 ; which_text
endm
- enum trainerflagaction_command
+ enum trainerflagaction_command ; $63
trainerflagaction: macro
db trainerflagaction_command
db \1 ; action
endm
- enum winlosstext_command
+ enum winlosstext_command ; $64
winlosstext: macro
db winlosstext_command
dw \1 ; win_text_pointer
dw \2 ; loss_text_pointer
endm
- enum scripttalkafter_command
+ enum scripttalkafter_command ; $65
scripttalkafter: macro
db scripttalkafter_command
endm
- enum end_if_just_battled_command
+ enum end_if_just_battled_command ; $66
end_if_just_battled: macro
db end_if_just_battled_command
endm
- enum check_just_battled_command
+ enum check_just_battled_command ; $67
check_just_battled: macro
db check_just_battled_command
endm
- enum setlasttalked_command
+ enum setlasttalked_command ; $68
setlasttalked: macro
db setlasttalked_command
db \1 ; person
endm
- enum applymovement_command
+ enum applymovement_command ; $69
applymovement: macro
db applymovement_command
db \1 ; person
dw \2 ; data
endm
- enum applymovement2_command
+ enum applymovement2_command ; $6a
applymovement2: macro
db applymovement2_command
dw \1 ; data
endm
- enum faceplayer_command
+ enum faceplayer_command ; $6b
faceplayer: macro
db faceplayer_command
endm
- enum faceperson_command
+ enum faceperson_command ; $6c
faceperson: macro
db faceperson_command
db \1 ; person1
db \2 ; person2
endm
- enum variablesprite_command
+ enum variablesprite_command ; $6d
variablesprite: macro
db variablesprite_command
db \1 - SPRITE_VARS ; byte
db \2 ; sprite
endm
- enum disappear_command
+ enum disappear_command ; $6e
disappear: macro
db disappear_command
db \1 ; person
endm
- enum appear_command
+ enum appear_command ; $6f
appear: macro
db appear_command
db \1 ; person
endm
- enum follow_command
+ enum follow_command ; $70
follow: macro
db follow_command
db \1 ; person2
db \2 ; person1
endm
- enum stopfollow_command
+ enum stopfollow_command ; $71
stopfollow: macro
db stopfollow_command
endm
- enum moveperson_command
+ enum moveperson_command ; $72
moveperson: macro
db moveperson_command
db \1 ; person
@@ -732,19 +732,19 @@ moveperson: macro
db \3 ; y
endm
- enum writepersonxy_command
+ enum writepersonxy_command ; $73
writepersonxy: macro
db writepersonxy_command
db \1 ; person
endm
- enum loademote_command
+ enum loademote_command ; $74
loademote: macro
db loademote_command
db \1 ; bubble
endm
- enum showemote_command
+ enum showemote_command ; $75
showemote: macro
db showemote_command
db \1 ; bubble
@@ -752,34 +752,34 @@ showemote: macro
db \3 ; time
endm
- enum spriteface_command
+ enum spriteface_command ; $76
spriteface: macro
db spriteface_command
db \1 ; person
db \2 ; facing
endm
- enum follownotexact_command
+ enum follownotexact_command ; $77
follownotexact: macro
db follownotexact_command
db \1 ; person2
db \2 ; person1
endm
- enum earthquake_command
+ enum earthquake_command ; $78
earthquake: macro
db earthquake_command
db \1 ; param
endm
- enum changemap_command
+ enum changemap_command ; $79
changemap: macro
db changemap_command
db \1 ; map_bank
dw \2 ; map_data_pointer
endm
- enum changeblock_command
+ enum changeblock_command ; $7a
changeblock: macro
db changeblock_command
db \1 ; x
@@ -787,205 +787,205 @@ changeblock: macro
db \3 ; block
endm
- enum reloadmap_command
+ enum reloadmap_command ; $7b
reloadmap: macro
db reloadmap_command
endm
- enum reloadmappart_command
+ enum reloadmappart_command ; $7c
reloadmappart: macro
db reloadmappart_command
endm
- enum writecmdqueue_command
+ enum writecmdqueue_command ; $7d
writecmdqueue: macro
db writecmdqueue_command
dw \1 ; queue_pointer
endm
- enum delcmdqueue_command
+ enum delcmdqueue_command ; $7e
delcmdqueue: macro
db delcmdqueue_command
db \1 ; byte
endm
- enum playmusic_command
+ enum playmusic_command ; $7f
playmusic: macro
db playmusic_command
dw \1 ; music_pointer
endm
- enum encountermusic_command
+ enum encountermusic_command ; $80
encountermusic: macro
db encountermusic_command
endm
- enum musicfadeout_command
+ enum musicfadeout_command ; $81
musicfadeout: macro
db musicfadeout_command
dw \1 ; music
db \2 ; fadetime
endm
- enum playmapmusic_command
+ enum playmapmusic_command ; $82
playmapmusic: macro
db playmapmusic_command
endm
- enum dontrestartmapmusic_command
+ enum dontrestartmapmusic_command ; $83
dontrestartmapmusic: macro
db dontrestartmapmusic_command
endm
- enum cry_command
+ enum cry_command ; $84
cry: macro
db cry_command
dw \1 ; cry_id
endm
- enum playsound_command
+ enum playsound_command ; $85
playsound: macro
db playsound_command
dw \1 ; sound_pointer
endm
- enum waitsfx_command
+ enum waitsfx_command ; $86
waitsfx: macro
db waitsfx_command
endm
- enum warpsound_command
+ enum warpsound_command ; $87
warpsound: macro
db warpsound_command
endm
- enum specialsound_command
+ enum specialsound_command ; $88
specialsound: macro
db specialsound_command
endm
- enum passtoengine_command
+ enum passtoengine_command ; $89
passtoengine: macro
db passtoengine_command
db \1 ; data_pointer
endm
- enum newloadmap_command
+ enum newloadmap_command ; $8a
newloadmap: macro
db newloadmap_command
db \1 ; which_method
endm
- enum pause_command
+ enum pause_command ; $8b
pause: macro
db pause_command
db \1 ; length
endm
- enum deactivatefacing_command
+ enum deactivatefacing_command ; $8c
deactivatefacing: macro
db deactivatefacing_command
db \1 ; time
endm
- enum priorityjump_command
+ enum priorityjump_command ; $8d
priorityjump: macro
db priorityjump_command
dw \1 ; pointer
endm
- enum warpcheck_command
+ enum warpcheck_command ; $8e
warpcheck: macro
db warpcheck_command
endm
- enum ptpriorityjump_command
+ enum ptpriorityjump_command ; $8f
ptpriorityjump: macro
db ptpriorityjump_command
dw \1 ; pointer
endm
- enum return_command
+ enum return_command ; $90
return: macro
db return_command
endm
- enum end_command
+ enum end_command ; $91
end: macro
db end_command
endm
- enum reloadandreturn_command
+ enum reloadandreturn_command ; $92
reloadandreturn: macro
db reloadandreturn_command
db \1 ; which_method
endm
- enum end_all_command
+ enum end_all_command ; $93
end_all: macro
db end_all_command
endm
- enum pokemart_command
+ enum pokemart_command ; $94
pokemart: macro
db pokemart_command
db \1 ; dialog_id
dw \2 ; mart_id
endm
- enum elevator_command
+ enum elevator_command ; $95
elevator: macro
db elevator_command
dw \1 ; floor_list_pointer
endm
- enum trade_command
+ enum trade_command ; $96
trade: macro
db trade_command
db \1 ; trade_id
endm
- enum askforphonenumber_command
+ enum askforphonenumber_command ; $97
askforphonenumber: macro
db askforphonenumber_command
db \1 ; number
endm
- enum phonecall_command
+ enum phonecall_command ; $98
phonecall: macro
db phonecall_command
dw \1 ; caller_name
endm
- enum hangup_command
+ enum hangup_command ; $99
hangup: macro
db hangup_command
endm
- enum describedecoration_command
+ enum describedecoration_command ; $9a
describedecoration: macro
db describedecoration_command
db \1 ; byte
endm
- enum fruittree_command
+ enum fruittree_command ; $9b
fruittree: macro
db fruittree_command
db \1 ; tree_id
endm
- enum specialphonecall_command
+ enum specialphonecall_command ; $9c
specialphonecall: macro
db specialphonecall_command
dw \1 ; call_id
endm
- enum checkphonecall_command
+ enum checkphonecall_command ; $9d
checkphonecall: macro
db checkphonecall_command
endm
- enum verbosegiveitem_command
+ enum verbosegiveitem_command ; $9e
verbosegiveitem: macro
db verbosegiveitem_command
db \1 ; item
@@ -996,31 +996,31 @@ else
endc
endm
- enum verbosegiveitem2_command
+ enum verbosegiveitem2_command ; $9f
verbosegiveitem2: macro
db verbosegiveitem2_command
db \1 ; item
db \2 ; var
endm
- enum swarm_command
+ enum swarm_command ; $a0
swarm: macro
db swarm_command
db \1 ; flag
map \2 ; map
endm
- enum halloffame_command
+ enum halloffame_command ; $a1
halloffame: macro
db halloffame_command
endm
- enum credits_command
+ enum credits_command ; $a2
credits: macro
db credits_command
endm
- enum warpfacing_command
+ enum warpfacing_command ; $a3
warpfacing: macro
db warpfacing_command
db \1 ; facing
@@ -1029,27 +1029,27 @@ warpfacing: macro
db \4 ; y
endm
- enum battletowertext_command
+ enum battletowertext_command ; $a4
battletowertext: macro
db battletowertext_command
db \1 ; memory
endm
- enum landmarktotext_command
+ enum landmarktotext_command ; $a5
landmarktotext: macro
db landmarktotext_command
db \1 ; id
db \2 ; memory
endm
- enum trainerclassname_command
+ enum trainerclassname_command ; $a6
trainerclassname: macro
db trainerclassname_command
db \1 ; id
db \2 ; memory
endm
- enum name_command
+ enum name_command ; $a7
name: macro
db name_command
db \1 ; type
@@ -1057,13 +1057,13 @@ name: macro
db \3 ; memory
endm
- enum wait_command
+ enum wait_command ; $a8
wait: macro
db wait_command
db \1 ; duration
endm
- enum check_save_command
+ enum check_save_command ; $a9
check_save: macro
db check_save_command
endm
diff --git a/macros/scripts/gfx_anim.asm b/macros/scripts/gfx_anim.asm
new file mode 100644
index 000000000..a3fa710a0
--- /dev/null
+++ b/macros/scripts/gfx_anim.asm
@@ -0,0 +1,44 @@
+; pic + oam animations
+
+frame: macro
+ db \1
+x = \2
+if _NARG > 2
+rept _NARG +- 2
+x = x | (1 << (\3 + 1))
+ shift
+endr
+endc
+ db x
+ endm
+
+ enum_start $fc
+
+ enum delanim_command ; $fc
+delanim: macro ; used for oam
+ db delanim_command
+ endm
+
+ enum dorepeat_command ; $fd
+dorepeat: macro
+ db dorepeat_command
+ db \1 ; #
+ endm
+
+ enum setrepeat_command ; $fe
+setrepeat: macro
+ db setrepeat_command
+ db \1 ; #
+ endm
+
+ enum endanim_command ; $ff
+endanim: macro
+ db endanim_command
+ endm
+
+__enum__ = $fe
+
+ enum dorestart_command ; $fe
+dorestart: macro ; used for oam
+ db dorestart_command
+ endm
diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm
new file mode 100644
index 000000000..6c1e0b6b6
--- /dev/null
+++ b/macros/scripts/maps.asm
@@ -0,0 +1,108 @@
+map: macro
+;\1: map id
+ db GROUP_\1, MAP_\1
+endm
+
+
+maptrigger: macro
+;\1: script pointer
+ dw \1, 0
+endm
+
+warp_def: macro
+;\1: y: top to bottom, starts at 0
+;\2: x: left to right, starts at 0
+;\3: warp destination: starts at 1
+;\4: map id: from constants/map_constants.asm
+ db \1, \2, \3
+ map \4
+endm
+
+xy_trigger: macro
+;\1: number: controlled by dotrigger/domaptrigger
+;\2: y: top to bottom, starts at 0
+;\3: x: left to right, starts at 0
+;\4: script pointer
+ db \1, \2, \3, $0
+ dw \4
+ db $0, $0
+endm
+
+signpost: macro
+;\1: y: top to bottom, starts at 0
+;\2: x: left to right, starts at 0
+;\3: function: a SIGNPOST_* constant
+;\4: script pointer
+ db \1, \2, \3
+ dw \4
+endm
+
+person_event: macro
+;\1: sprite: a SPRITE_* constant
+;\2: y: top to bottom, starts at 0
+;\3: x: left to right, starts at 0
+;\4: movement function: a SPRITEMOVEDATA_* constant
+;\5, \6: movement radius: y, x
+;\7, \8: hour1 and hour2: control the hours a person_event is visible (0-23)
+; * if hour1 < hour2, the person_event will only appear from hour1 to hour2
+; * if hour1 > hour2, the person_event will not appear from hour2 to hour1
+; * if hour1 == hour2, the person_event will always appear
+; * if hour1 == -1, hour2 is treated as a time-of-day value:
+; a combo of MORN, DAY, and/or NITE, or -1 to always appear
+;\9: color: a PAL_NPC_* constant, or 0 for sprite default
+;\10: function: a PERSONTYPE_* constant
+;\11: sight range: applies to PERSONTYPE_TRAINER
+;\12: script pointer
+;\13: event flag: an EVENT_* constant, or 0 for always
+ db \1, \2 + 4, \3 + 4, \4
+ dn \5, \6
+ db \7, \8
+ shift
+ dn \8, \9
+ shift
+ db \9
+ shift
+ dw \9
+ shift
+ dw \9
+endm
+
+
+trainer: macro
+;\1: flag: an EVENT_BEAT_* constant
+;\2: trainer group
+;\3: trainer id
+;\4: seen text
+;\5: win text
+;\6: loss text
+;\7: after-battle text
+ dw \1
+ db \2, \3
+ dw \4, \5, \6, \7
+endm
+
+itemball: macro
+;\1: item: from constants/item_constants.asm
+;\2: quantity: default 1
+if _NARG == 2
+ db \1, \2
+else
+ db \1, 1
+endc
+endm
+
+elevfloor: macro
+;\1: floor: a FLOOR_* constant
+;\2: warp destination: starts at 1
+;\3: map id
+ db \1, \2
+ map \3
+ENDM
+
+stonetable: macro
+;\1: warp id
+;\2: person_event id
+;\3: script pointer
+ db \1, \2
+ dw \3
+endm
diff --git a/macros/move_anim.asm b/macros/scripts/move_anim.asm
index 9859fbd50..7714bb09a 100644
--- a/macros/move_anim.asm
+++ b/macros/scripts/move_anim.asm
@@ -8,7 +8,7 @@ endc
; BattleAnimCommands indexes (see battle/anim_commands.asm)
enum_start $d0
- enum anim_obj_command ; d0
+ enum anim_obj_command ; $d0
anim_obj: macro
db anim_obj_command
db \1 ; obj
@@ -17,20 +17,20 @@ anim_obj: macro
db \6 ; param
endm
- enum anim_1gfx_command ; d1
+ enum anim_1gfx_command ; $d1
anim_1gfx: macro
db anim_1gfx_command
db \1 ; gfx1
endm
- enum anim_2gfx_command ; d2
+ enum anim_2gfx_command ; $d2
anim_2gfx: macro
db anim_2gfx_command
db \1 ; gfx1
db \2 ; gfx2
endm
- enum anim_3gfx_command ; d3
+ enum anim_3gfx_command ; $d3
anim_3gfx: macro
db anim_3gfx_command
db \1 ; gfx1
@@ -38,7 +38,7 @@ anim_3gfx: macro
db \3 ; gfx3
endm
- enum anim_4gfx_command ; d4
+ enum anim_4gfx_command ; $d4
anim_4gfx: macro
db anim_4gfx_command
db \1 ; gfx1
@@ -47,7 +47,7 @@ anim_4gfx: macro
db \4 ; gfx4
endm
- enum anim_5gfx_command ; d5
+ enum anim_5gfx_command ; $d5
anim_5gfx: macro
db anim_5gfx_command
db \1 ; gfx1
@@ -57,147 +57,147 @@ anim_5gfx: macro
db \5 ; gfx5
endm
- enum anim_incobj_command ; d6
+ enum anim_incobj_command ; $d6
anim_incobj: macro
db anim_incobj_command
db \1 ; id
endm
- enum anim_setobj_command ; d7
+ enum anim_setobj_command ; $d7
anim_setobj: macro
db anim_setobj_command
db \1 ; id
db \2 ; obj
endm
- enum anim_incbgeffect_command ; d8
+ enum anim_incbgeffect_command ; $d8
anim_incbgeffect: macro
db anim_incbgeffect_command
db \1 ; effect
endm
- enum anim_enemyfeetobj_command ; d9
+ enum anim_enemyfeetobj_command ; $d9
anim_enemyfeetobj: macro
db anim_enemyfeetobj_command
endm
- enum anim_playerheadobj_command ; da
+ enum anim_playerheadobj_command ; $da
anim_playerheadobj: macro
db anim_playerheadobj_command
endm
- enum anim_checkpokeball_command ; db
+ enum anim_checkpokeball_command ; $db
anim_checkpokeball: macro
db anim_checkpokeball_command
endm
- enum anim_transform_command ; dc
+ enum anim_transform_command ; $dc
anim_transform: macro
db anim_transform_command
endm
- enum anim_raisesub_command ; dd
+ enum anim_raisesub_command ; $dd
anim_raisesub: macro
db anim_raisesub_command
endm
- enum anim_dropsub_command ; de
+ enum anim_dropsub_command ; $de
anim_dropsub: macro
db anim_dropsub_command
endm
- enum anim_resetobp0_command ; df
+ enum anim_resetobp0_command ; $df
anim_resetobp0: macro
db anim_resetobp0_command
endm
- enum anim_sound_command ; e0
+ enum anim_sound_command ; $e0
anim_sound: macro
db anim_sound_command
db (\1 << 2) | \2 ; duration, tracks
db \3 ; id
endm
- enum anim_cry_command ; e1
+ enum anim_cry_command ; $e1
anim_cry: macro
db anim_cry_command
db \1 ; pitch
endm
- enum anim_minimizeopp_command ; e2
+ enum anim_minimizeopp_command ; $e2
anim_minimizeopp: macro
db anim_minimizeopp_command
endm
- enum anim_oamon_command ; e3
+ enum anim_oamon_command ; $e3
anim_oamon: macro
db anim_oamon_command
endm
- enum anim_oamoff_command ; e4
+ enum anim_oamoff_command ; $e4
anim_oamoff: macro
db anim_oamoff_command
endm
- enum anim_clearobjs_command ; e5
+ enum anim_clearobjs_command ; $e5
anim_clearobjs: macro
db anim_clearobjs_command
endm
- enum anim_beatup_command ; e6
+ enum anim_beatup_command ; $e6
anim_beatup: macro
db anim_beatup_command
endm
- enum anim_0xe7_command ; e7
+ enum anim_0xe7_command ; $e7
anim_0xe7: macro
db anim_0xe7_command
endm
- enum anim_updateactorpic_command ; e8
+ enum anim_updateactorpic_command ; $e8
anim_updateactorpic: macro
db anim_updateactorpic_command
endm
- enum anim_minimize_command ; e9
+ enum anim_minimize_command ; $e9
anim_minimize: macro
db anim_minimize_command
endm
- enum anim_0xea_command ; ea
+ enum anim_0xea_command ; $ea
anim_0xea: macro
db anim_0xea_command
endm
- enum anim_0xeb_command ; eb
+ enum anim_0xeb_command ; $eb
anim_0xeb: macro
db anim_0xeb_command
endm
- enum anim_0xec_command ; ec
+ enum anim_0xec_command ; $ec
anim_0xec: macro
db anim_0xec_command
endm
- enum anim_0xed_command ; ed
+ enum anim_0xed_command ; $ed
anim_0xed: macro
db anim_0xed_command
endm
- enum anim_if_param_and_command ; ee
+ enum anim_if_param_and_command ; $ee
anim_if_param_and: macro
db anim_if_param_and_command
db \1 ; value
dw \2 ; address
endm
- enum anim_jumpuntil_command ; ef
+ enum anim_jumpuntil_command ; $ef
anim_jumpuntil: macro
db anim_jumpuntil_command
dw \1 ; address
endm
- enum anim_bgeffect_command ; f0
+ enum anim_bgeffect_command ; $f0
anim_bgeffect: macro
db anim_bgeffect_command
db \1 ; effect
@@ -206,89 +206,89 @@ anim_bgeffect: macro
db \4 ; unknown
endm
- enum anim_bgp_command ; f1
+ enum anim_bgp_command ; $f1
anim_bgp: macro
db anim_bgp_command
db \1 ; colors
endm
- enum anim_obp0_command ; f2
+ enum anim_obp0_command ; $f2
anim_obp0: macro
db anim_obp0_command
db \1 ; colors
endm
- enum anim_obp1_command ; f3
+ enum anim_obp1_command ; $f3
anim_obp1: macro
db anim_obp1_command
db \1 ; colors
endm
- enum anim_clearsprites_command ; f4
+ enum anim_clearsprites_command ; $f4
anim_clearsprites: macro
db anim_clearsprites_command
endm
- enum anim_0xf5_command ; f5
+ enum anim_0xf5_command ; $f5
anim_0xf5: macro
db anim_0xf5_command
endm
- enum anim_0xf6_command ; f6
+ enum anim_0xf6_command ; $f6
anim_0xf6: macro
db anim_0xf6_command
endm
- enum anim_0xf7_command ; f7
+ enum anim_0xf7_command ; $f7
anim_0xf7: macro
db anim_0xf7_command
endm
- enum anim_if_param_equal_command ; f8
+ enum anim_if_param_equal_command ; $f8
anim_if_param_equal: macro
db anim_if_param_equal_command
db \1 ; value
dw \2 ; address
endm
- enum anim_setvar_command ; f9
+ enum anim_setvar_command ; $f9
anim_setvar: macro
db anim_setvar_command
db \1 ; value
endm
- enum anim_incvar_command ; fa
+ enum anim_incvar_command ; $fa
anim_incvar: macro
db anim_incvar_command
endm
- enum anim_if_var_equal_command ; fb
+ enum anim_if_var_equal_command ; $fb
anim_if_var_equal: macro
db anim_if_var_equal_command
db \1 ; value
dw \2 ; address
endm
- enum anim_jump_command ; fc
+ enum anim_jump_command ; $fc
anim_jump: macro
db anim_jump_command
dw \1 ; address
endm
- enum anim_loop_command ; fd
+ enum anim_loop_command ; $fd
anim_loop: macro
db anim_loop_command
db \1 ; count
dw \2 ; address
endm
- enum anim_call_command ; fe
+ enum anim_call_command ; $fe
anim_call: macro
db anim_call_command
dw \1 ; address
endm
- enum anim_ret_command ; ff
+ enum anim_ret_command ; $ff
anim_ret: macro
db anim_ret_command
endm
diff --git a/macros/scripts/movement.asm b/macros/scripts/movement.asm
new file mode 100644
index 000000000..28be559a3
--- /dev/null
+++ b/macros/scripts/movement.asm
@@ -0,0 +1,246 @@
+; MovementPointers indexes (see engine/movement.asm)
+ enum_start
+
+; Directional movements
+
+ enum movement_turn_head ; $00
+turn_head: macro
+ db movement_turn_head | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_turn_step ; $04
+turn_step: macro
+ db movement_turn_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_slow_step ; $08
+slow_step: macro
+ db movement_slow_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_step ; $0c
+step: macro
+ db movement_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_big_step ; $10
+big_step: macro
+ db movement_big_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_slow_slide_step ; $14
+slow_slide_step: macro
+ db movement_slow_slide_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_slide_step ; $18
+slide_step: macro
+ db movement_slide_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_fast_slide_step ; $1c
+fast_slide_step: macro
+ db movement_fast_slide_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_turn_away ; $20
+turn_away: macro
+ db movement_turn_away | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_turn_in ; $24
+turn_in: macro
+ db movement_turn_in | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_turn_waterfall ; $28
+turn_waterfall: macro
+ db movement_turn_waterfall | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_slow_jump_step ; $2c
+slow_jump_step: macro
+ db movement_slow_jump_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_jump_step ; $30
+jump_step: macro
+ db movement_jump_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+ enum movement_fast_jump_step ; $34
+fast_jump_step: macro
+ db movement_fast_jump_step | \1
+ endm
+
+__enum__ = __enum__ + 3
+
+; Control
+ enum movement_remove_sliding ; $38
+remove_sliding: macro
+ db movement_remove_sliding
+ endm
+
+ enum movement_set_sliding ; $39
+set_sliding: macro
+ db movement_set_sliding
+ endm
+
+ enum movement_remove_fixed_facing ; $3a
+remove_fixed_facing: macro
+ db movement_remove_fixed_facing
+ endm
+
+ enum movement_fix_facing ; $3b
+fix_facing: macro
+ db movement_fix_facing
+ endm
+
+ enum movement_show_person ; $3c
+show_person: macro
+ db movement_show_person
+ endm
+
+ enum movement_hide_person ; $3d
+hide_person: macro
+ db movement_hide_person
+ endm
+
+; Sleep
+
+ enum movement_step_sleep ; $3e
+step_sleep: macro
+if \1 <= 8
+ db movement_step_sleep + \1 - 1
+else
+ db movement_step_sleep + 8, \1
+endc
+endm
+
+__enum__ = __enum__ + 8
+
+ enum movement_step_end ; $47
+step_end: macro
+ db movement_step_end
+ endm
+
+ enum movement_step_48 ; $48
+step_48: macro
+ db movement_step_48
+ db \1 ; ???
+ endm
+
+ enum movement_remove_person ; $49
+remove_person: macro
+ db movement_remove_person
+ endm
+
+ enum movement_step_loop ; $4a
+step_loop: macro
+ db movement_step_loop
+ endm
+
+ enum movement_step_4b ; $4b
+step_4b: macro
+ db movement_step_4b
+ endm
+
+ enum movement_teleport_from ; $4c
+teleport_from: macro
+ db movement_teleport_from
+ endm
+
+ enum movement_teleport_to ; $4d
+teleport_to: macro
+ db movement_teleport_to
+ endm
+
+ enum movement_skyfall ; $4e
+skyfall: macro
+ db movement_skyfall
+ endm
+
+ enum movement_step_dig ; $4f
+step_dig: macro
+ db movement_step_dig
+ db \1 ; length
+ endm
+
+ enum movement_step_bump ; $50
+step_bump: macro
+ db movement_step_bump
+ endm
+
+ enum movement_fish_got_bite ; $51
+fish_got_bite: macro
+ db movement_fish_got_bite
+ endm
+
+ enum movement_fish_cast_rod ; $52
+fish_cast_rod: macro
+ db movement_fish_cast_rod
+ endm
+
+ enum movement_hide_emote ; $53
+hide_emote: macro
+ db movement_hide_emote
+ endm
+
+ enum movement_show_emote ; $54
+show_emote: macro
+ db movement_show_emote
+ endm
+
+ enum movement_step_shake ; $55
+step_shake: macro
+ db movement_step_shake
+ db \1 ; displacement
+ endm
+
+ enum movement_tree_shake ; $56
+tree_shake: macro
+ db movement_tree_shake
+ endm
+
+ enum movement_rock_smash ; $57
+rock_smash: macro
+ db movement_rock_smash
+ db \1 ; length
+ endm
+
+ enum movement_return_dig ; $58
+return_dig: macro
+ db movement_return_dig
+ db \1 ; length
+ endm
+
+ enum movement_skyfall_top ; $59
+skyfall_top: macro
+ db movement_skyfall_top
+ endm
diff --git a/macros/text.asm b/macros/scripts/text.asm
index e29f8a511..839f78eb7 100644
--- a/macros/text.asm
+++ b/macros/scripts/text.asm
@@ -1,131 +1,131 @@
-text EQUS "db $00," ; Start writing text.
-next EQUS "db $4e," ; Move a line down.
-line EQUS "db $4f," ; Start writing at the bottom line.
-page EQUS "db $50," ; Start a new Pokédex page.
-para EQUS "db $51," ; Start a new paragraph.
-cont EQUS "db $55," ; Scroll to the next line.
-done EQUS "db $57" ; End a text box.
-prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event).
+text EQUS "db \"<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).
; TextCommands indexes (see home/text.asm)
enum_start $01
- enum TX_RAM
+ enum TX_RAM ; $01
text_from_ram: MACRO
db TX_RAM
dw \1
ENDM
- enum TX_BCD
+ enum TX_BCD ; $02
text_bcd: macro
db TX_BCD
dw \1
db \2
ENDM
- enum TX_MOVE
+ enum TX_MOVE ; $03
text_move: macro
db TX_MOVE
dw \1
ENDM
- enum TX_BOX
+ enum TX_BOX ; $04
text_box: macro
db TX_BOX
dw \1
db \2, \3
ENDM
- enum TX_LOW
+ enum TX_LOW ; $05
text_low: macro
db TX_LOW
endm
- enum WAIT_BUTTON
+ enum WAIT_BUTTON ; $06
text_waitbutton: macro
db WAIT_BUTTON
endm
- enum TX_SCROLL
+ enum TX_SCROLL ; $07
text_scroll: macro
db TX_SCROLL
endm
- enum START_ASM
+ enum START_ASM ; $08
start_asm: macro
db START_ASM
endm
- enum TX_NUM
+ enum TX_NUM ; $09
deciram: macro
db TX_NUM
dw \1 ; address
dn \2, \3 ; bytes, digits
endm
- enum TX_EXIT
+ enum TX_EXIT ; $0a
interpret_data: macro
db TX_EXIT
endm
- enum TX_SOUND_0B
+ enum TX_SOUND_0B ; $0b
sound_dex_fanfare_50_79: macro
db TX_SOUND_0B
endm
- enum TX_DOTS
+ enum TX_DOTS ; $0c
limited_interpret_data: macro
db TX_DOTS
db \1
endm
- enum TX_LINK_WAIT_BUTTON
+ enum TX_LINK_WAIT_BUTTON ; $0d
link_wait_button: macro
db TX_LINK_WAIT_BUTTON
endm
- enum TX_SOUND_0E
+ enum TX_SOUND_0E ; $0e
sound_dex_fanfare_20_49: macro
db TX_SOUND_0E
endm
- enum TX_SOUND_0F
+ enum TX_SOUND_0F ; $0f
sound_item: macro
db TX_SOUND_0F
endm
- enum TX_SOUND_10
+ enum TX_SOUND_10 ; $10
sound_caught_mon: macro
db TX_SOUND_10
endm
- enum TX_SOUND_11
+ enum TX_SOUND_11 ; $11
sound_dex_fanfare_80_109: macro
db TX_SOUND_11
endm
- enum TX_SOUND_12
+ enum TX_SOUND_12 ; $12
sound_fanfare: macro
db TX_SOUND_12
endm
- enum TX_SOUND_13
+ enum TX_SOUND_13 ; $13
sound_slot_machine_start: macro
db TX_SOUND_13
endm
- enum TX_STRINGBUFFER
+ enum TX_STRINGBUFFER ; $14
text_buffer: macro
db TX_STRINGBUFFER
db \1
endm
- enum TX_DAY
+ enum TX_DAY ; $15
current_day: macro
db TX_DAY
endm
- enum TX_FAR
+ enum TX_FAR ; $16
text_jump: MACRO
db TX_FAR
dw \1
diff --git a/macros/scripts/trade_anim.asm b/macros/scripts/trade_anim.asm
new file mode 100644
index 000000000..4b0291eea
--- /dev/null
+++ b/macros/scripts/trade_anim.asm
@@ -0,0 +1,255 @@
+; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm)
+ enum_start
+
+ enum tradeanim_next_command ; $00
+tradeanim_next: macro
+ db tradeanim_next_command
+endm
+
+ enum tradeanim_show_givemon_data_command ; $01
+tradeanim_show_givemon_data: macro
+ db tradeanim_show_givemon_data_command
+endm
+
+ enum tradeanim_show_getmon_data_command ; $02
+tradeanim_show_getmon_data: macro
+ db tradeanim_show_getmon_data_command
+endm
+
+ enum tradeanim_enter_link_tube_command ; $03
+tradeanim_enter_link_tube: macro
+ db tradeanim_enter_link_tube_command
+endm
+
+__enum__ set $5
+
+ enum tradeanim_exit_link_tube_command ; $05
+tradeanim_exit_link_tube: macro
+ db tradeanim_exit_link_tube_command
+endm
+
+ enum tradeanim_tube_to_ot_command ; $06
+tradeanim_tube_to_ot: macro
+ db tradeanim_tube_to_ot_command
+endm
+
+__enum__ set $0e
+
+ enum tradeanim_tube_to_player_command ; $0e
+tradeanim_tube_to_player: macro
+ db tradeanim_tube_to_player_command
+endm
+
+__enum__ set $16
+
+ enum tradeanim_sent_to_ot_text_command ; $16
+tradeanim_sent_to_ot_text: macro
+ db tradeanim_sent_to_ot_text_command
+endm
+
+ enum tradeanim_ot_bids_farewell_command ; $17
+tradeanim_ot_bids_farewell: macro
+ db tradeanim_ot_bids_farewell_command
+endm
+
+ enum tradeanim_take_care_of_text_command ; $18
+tradeanim_take_care_of_text: macro
+ db tradeanim_take_care_of_text_command
+endm
+
+ enum tradeanim_ot_sends_text_1_command ; $19
+tradeanim_ot_sends_text_1: macro
+ db tradeanim_ot_sends_text_1_command
+endm
+
+ enum tradeanim_ot_sends_text_2_command ; $1a
+tradeanim_ot_sends_text_2: macro
+ db tradeanim_ot_sends_text_2_command
+endm
+
+ enum tradeanim_setup_givemon_scroll_command ; $1b
+tradeanim_setup_givemon_scroll: macro
+ db tradeanim_setup_givemon_scroll_command
+endm
+
+ enum tradeanim_do_givemon_scroll_command ; $1c
+tradeanim_do_givemon_scroll: macro
+ db tradeanim_do_givemon_scroll_command
+endm
+
+ enum tradeanim_frontpic_scroll_command ; $1d
+tradeanim_frontpic_scroll: macro
+ db tradeanim_frontpic_scroll_command
+endm
+
+ enum tradeanim_textbox_scroll_command ; $1e
+tradeanim_textbox_scroll: macro
+ db tradeanim_textbox_scroll_command
+endm
+
+ enum tradeanim_scroll_out_right_command ; $1f
+tradeanim_scroll_out_right: macro
+ db tradeanim_scroll_out_right_command
+endm
+
+__enum__ set $21
+
+ enum tradeanim_wait_80_command ; $21
+tradeanim_wait_80: macro
+ db tradeanim_wait_80_command
+endm
+
+ enum tradeanim_wait_40_command ; $22
+tradeanim_wait_40: macro
+ db tradeanim_wait_40_command
+endm
+
+ enum tradeanim_rocking_ball_command ; $23
+tradeanim_rocking_ball: macro
+ db tradeanim_rocking_ball_command
+endm
+
+ enum tradeanim_drop_ball_command ; $24
+tradeanim_drop_ball: macro
+ db tradeanim_drop_ball_command
+endm
+
+ enum tradeanim_wait_anim_command ; $25
+tradeanim_wait_anim: macro
+ db tradeanim_wait_anim_command
+endm
+
+__enum__ set $27
+
+ enum tradeanim_poof_command ; $27
+tradeanim_poof: macro
+ db tradeanim_poof_command
+endm
+
+ enum tradeanim_bulge_through_tube_command ; $28
+tradeanim_bulge_through_tube: macro
+ db tradeanim_bulge_through_tube_command
+endm
+
+ enum tradeanim_give_trademon_sfx_command ; $29
+tradeanim_give_trademon_sfx: macro
+ db tradeanim_give_trademon_sfx_command
+endm
+
+ enum tradeanim_get_trademon_sfx_command ; $2a
+tradeanim_get_trademon_sfx: macro
+ db tradeanim_get_trademon_sfx_command
+endm
+
+ enum tradeanim_end_command ; $2b
+tradeanim_end: macro
+ db tradeanim_end_command
+endm
+
+ enum tradeanim_animate_frontpic_command ; $2c
+tradeanim_animate_frontpic: macro
+ db tradeanim_animate_frontpic_command
+endm
+
+ enum tradeanim_wait_96_command ; $2d
+tradeanim_wait_96: macro
+ db tradeanim_wait_96_command
+endm
+
+ enum tradeanim_wait_80_if_ot_egg_command ; $2e
+tradeanim_wait_80_if_ot_egg: macro
+ db tradeanim_wait_80_if_ot_egg_command
+endm
+
+ enum tradeanim_wait_180_if_ot_egg_command ; $2f
+tradeanim_wait_180_if_ot_egg: macro
+ db tradeanim_wait_180_if_ot_egg_command
+endm
+
+
+; Mobile
+ enum_start $01
+
+ enum mobiletradeanim_showgivemon_command ; $01
+mobiletradeanim_showgivemon: macro
+ db mobiletradeanim_showgivemon_command
+endm
+
+ enum mobiletradeanim_02_command ; $02
+mobiletradeanim_02: macro
+ db mobiletradeanim_02_command
+endm
+
+ enum mobiletradeanim_sendmon_command ; $03
+mobiletradeanim_sendmon: macro
+ db mobiletradeanim_sendmon_command
+endm
+
+__enum__ set $05
+
+ enum mobiletradeanim_05_command ; $05
+mobiletradeanim_05: macro
+ db mobiletradeanim_05_command
+endm
+
+ enum mobiletradeanim_06_command ; $06
+mobiletradeanim_06: macro
+ db mobiletradeanim_06_command
+endm
+
+ enum mobiletradeanim_07_command ; $07
+mobiletradeanim_07: macro
+ db mobiletradeanim_07_command
+endm
+
+ enum mobiletradeanim_receivemon_command ; $08
+mobiletradeanim_receivemon: macro
+ db mobiletradeanim_receivemon_command
+endm
+
+__enum__ set $0b
+
+ enum mobiletradeanim_showgetmon_command ; $0b
+mobiletradeanim_showgetmon: macro
+ db mobiletradeanim_showgetmon_command
+endm
+
+ enum mobiletradeanim_end_command ; $0c
+mobiletradeanim_end: macro
+ db mobiletradeanim_end_command
+endm
+
+ enum mobiletradeanim_showgtsgivemon_command ; $0d
+mobiletradeanim_showgtsgivemon: macro
+ db mobiletradeanim_showgtsgivemon_command
+endm
+
+ enum mobiletradeanim_showgtsgetmon_command ; $0e
+mobiletradeanim_showgtsgetmon: macro
+ db mobiletradeanim_showgtsgetmon_command
+endm
+
+ enum mobiletradeanim_0f_command ; $0f
+mobiletradeanim_0f: macro
+ db mobiletradeanim_0f_command
+endm
+
+ enum mobiletradeanim_10_command ; $10
+mobiletradeanim_10: macro
+ db mobiletradeanim_10_command
+endm
+
+ enum mobiletradeanim_11_command ; $11
+mobiletradeanim_11: macro
+ db mobiletradeanim_11_command
+endm
+
+ enum mobiletradeanim_12_command ; $12
+mobiletradeanim_12: macro
+ db mobiletradeanim_12_command
+endm
+
+ enum mobiletradeanim_showoddegg_command ; $13
+mobiletradeanim_showoddegg: macro
+ db mobiletradeanim_showoddegg_command
+endm
diff --git a/macros/tilesets.asm b/macros/tilesets.asm
index 6a233254e..aeb1d8174 100755
--- a/macros/tilesets.asm
+++ b/macros/tilesets.asm
@@ -1,3 +1,5 @@
+; Used in tilesets/*.asm
+
tilepal: MACRO
; vram bank, pals
x = \1 << OAM_TILE_BANK
diff --git a/macros/trade_anim.asm b/macros/trade_anim.asm
deleted file mode 100755
index c38dc75d6..000000000
--- a/macros/trade_anim.asm
+++ /dev/null
@@ -1,255 +0,0 @@
-; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm)
- enum_start
-
- enum tradeanim_next_command
-tradeanim_next: macro
- db tradeanim_next_command ; 00
-endm
-
- enum tradeanim_show_givemon_data_command
-tradeanim_show_givemon_data: macro
- db tradeanim_show_givemon_data_command ; 01
-endm
-
- enum tradeanim_show_getmon_data_command
-tradeanim_show_getmon_data: macro
- db tradeanim_show_getmon_data_command ; 02
-endm
-
- enum tradeanim_enter_link_tube_command
-tradeanim_enter_link_tube: macro
- db tradeanim_enter_link_tube_command ; 03
-endm
-
-__enum__ set $5
-
- enum tradeanim_exit_link_tube_command
-tradeanim_exit_link_tube: macro
- db tradeanim_exit_link_tube_command ; 05
-endm
-
- enum tradeanim_tube_to_ot_command
-tradeanim_tube_to_ot: macro
- db tradeanim_tube_to_ot_command ; 06
-endm
-
-__enum__ set $e
-
- enum tradeanim_tube_to_player_command
-tradeanim_tube_to_player: macro
- db tradeanim_tube_to_player_command ; 0e
-endm
-
-__enum__ set $16
-
- enum tradeanim_sent_to_ot_text_command
-tradeanim_sent_to_ot_text: macro
- db tradeanim_sent_to_ot_text_command ; 16
-endm
-
- enum tradeanim_ot_bids_farewell_command
-tradeanim_ot_bids_farewell: macro
- db tradeanim_ot_bids_farewell_command ; 17
-endm
-
- enum tradeanim_take_care_of_text_command
-tradeanim_take_care_of_text: macro
- db tradeanim_take_care_of_text_command ; 18
-endm
-
- enum tradeanim_ot_sends_text_1_command
-tradeanim_ot_sends_text_1: macro
- db tradeanim_ot_sends_text_1_command ; 19
-endm
-
- enum tradeanim_ot_sends_text_2_command
-tradeanim_ot_sends_text_2: macro
- db tradeanim_ot_sends_text_2_command ; 1a
-endm
-
- enum tradeanim_setup_givemon_scroll_command
-tradeanim_setup_givemon_scroll: macro
- db tradeanim_setup_givemon_scroll_command ; 1b
-endm
-
- enum tradeanim_do_givemon_scroll_command
-tradeanim_do_givemon_scroll: macro
- db tradeanim_do_givemon_scroll_command ; 1c
-endm
-
- enum tradeanim_frontpic_scroll_command
-tradeanim_frontpic_scroll: macro
- db tradeanim_frontpic_scroll_command ; 1d
-endm
-
- enum tradeanim_textbox_scroll_command
-tradeanim_textbox_scroll: macro
- db tradeanim_textbox_scroll_command ; 1e
-endm
-
- enum tradeanim_scroll_out_right_command
-tradeanim_scroll_out_right: macro
- db tradeanim_scroll_out_right_command ; 1f
-endm
-
-__enum__ set $21
-
- enum tradeanim_wait_80_command
-tradeanim_wait_80: macro
- db tradeanim_wait_80_command ; 21
-endm
-
- enum tradeanim_wait_40_command
-tradeanim_wait_40: macro
- db tradeanim_wait_40_command ; 22
-endm
-
- enum tradeanim_rocking_ball_command
-tradeanim_rocking_ball: macro
- db tradeanim_rocking_ball_command ; 23
-endm
-
- enum tradeanim_drop_ball_command
-tradeanim_drop_ball: macro
- db tradeanim_drop_ball_command ; 24
-endm
-
- enum tradeanim_wait_anim_command
-tradeanim_wait_anim: macro
- db tradeanim_wait_anim_command ; 25
-endm
-
-__enum__ set $27
-
- enum tradeanim_poof_command
-tradeanim_poof: macro
- db tradeanim_poof_command ; 27
-endm
-
- enum tradeanim_bulge_through_tube_command
-tradeanim_bulge_through_tube: macro
- db tradeanim_bulge_through_tube_command ; 28
-endm
-
- enum tradeanim_give_trademon_sfx_command
-tradeanim_give_trademon_sfx: macro
- db tradeanim_give_trademon_sfx_command ; 29
-endm
-
- enum tradeanim_get_trademon_sfx_command
-tradeanim_get_trademon_sfx: macro
- db tradeanim_get_trademon_sfx_command ; 2a
-endm
-
- enum tradeanim_end_command
-tradeanim_end: macro
- db tradeanim_end_command ; 2b
-endm
-
- enum tradeanim_animate_frontpic_command
-tradeanim_animate_frontpic: macro
- db tradeanim_animate_frontpic_command ; 2c
-endm
-
- enum tradeanim_wait_96_command
-tradeanim_wait_96: macro
- db tradeanim_wait_96_command ; 2d
-endm
-
- enum tradeanim_wait_80_if_ot_egg_command
-tradeanim_wait_80_if_ot_egg: macro
- db tradeanim_wait_80_if_ot_egg_command ; 2e
-endm
-
- enum tradeanim_wait_180_if_ot_egg_command
-tradeanim_wait_180_if_ot_egg: macro
- db tradeanim_wait_180_if_ot_egg_command ; 2f
-endm
-
-
-; Mobile
- enum_start 1
-
- enum mobiletradeanim_showgivemon_command
-mobiletradeanim_showgivemon: macro
- db mobiletradeanim_showgivemon_command ; 01
-endm
-
- enum mobiletradeanim_02_command
-mobiletradeanim_02: macro
- db mobiletradeanim_02_command ; 02
-endm
-
- enum mobiletradeanim_sendmon_command
-mobiletradeanim_sendmon: macro
- db mobiletradeanim_sendmon_command ; 03
-endm
-
-__enum__ set $05
-
- enum mobiletradeanim_05_command
-mobiletradeanim_05: macro
- db mobiletradeanim_05_command ; 05
-endm
-
- enum mobiletradeanim_06_command
-mobiletradeanim_06: macro
- db mobiletradeanim_06_command ; 06
-endm
-
- enum mobiletradeanim_07_command
-mobiletradeanim_07: macro
- db mobiletradeanim_07_command ; 07
-endm
-
- enum mobiletradeanim_receivemon_command
-mobiletradeanim_receivemon: macro
- db mobiletradeanim_receivemon_command ; 08
-endm
-
-__enum__ set $0b
-
- enum mobiletradeanim_showgetmon_command
-mobiletradeanim_showgetmon: macro
- db mobiletradeanim_showgetmon_command ; 0b
-endm
-
- enum mobiletradeanim_end_command
-mobiletradeanim_end: macro
- db mobiletradeanim_end_command ; 0c
-endm
-
- enum mobiletradeanim_showgtsgivemon_command
-mobiletradeanim_showgtsgivemon: macro
- db mobiletradeanim_showgtsgivemon_command ; 0d
-endm
-
- enum mobiletradeanim_showgtsgetmon_command
-mobiletradeanim_showgtsgetmon: macro
- db mobiletradeanim_showgtsgetmon_command ; 0e
-endm
-
- enum mobiletradeanim_0f_command
-mobiletradeanim_0f: macro
- db mobiletradeanim_0f_command ; 0f
-endm
-
- enum mobiletradeanim_10_command
-mobiletradeanim_10: macro
- db mobiletradeanim_10_command ; 10
-endm
-
- enum mobiletradeanim_11_command
-mobiletradeanim_11: macro
- db mobiletradeanim_11_command ; 11
-endm
-
- enum mobiletradeanim_12_command
-mobiletradeanim_12: macro
- db mobiletradeanim_12_command ; 12
-endm
-
- enum mobiletradeanim_showoddegg_command
-mobiletradeanim_showoddegg: macro
- db mobiletradeanim_showoddegg_command ; 13
-endm
diff --git a/macros/trainer.asm b/macros/trainer.asm
deleted file mode 100644
index 2e6c61884..000000000
--- a/macros/trainer.asm
+++ /dev/null
@@ -1,11 +0,0 @@
-trainerclass: MACRO
- enum \1
-const_value = 1
-ENDM
-
-trainer: MACRO
- ; flag, group, id, seen text, win text, lost text, talk-again text
- dw \1
- db \2, \3
- dw \4, \5, \6, \7
-ENDM
diff --git a/macros/wram.asm b/macros/wram.asm
index ce53dc5c7..7cead9158 100755
--- a/macros/wram.asm
+++ b/macros/wram.asm
@@ -1,3 +1,4 @@
+; Used in wram.asm
flag_array: MACRO
ds ((\1) + 7) / 8
@@ -15,7 +16,7 @@ box_struct: MACRO
\1DefExp:: dw
\1SpdExp:: dw
\1SpcExp:: dw
-\1DVs:: ds 2
+\1DVs:: dw
\1PP:: ds NUM_MOVES
\1Happiness:: db
\1PokerusStatus:: db
@@ -60,7 +61,7 @@ red_box_struct: MACRO
\1DefenseExp:: dw
\1SpeedExp:: dw
\1SpecialExp:: dw
-\1DVs:: ds 2
+\1DVs:: dw
\1PP:: ds NUM_MOVES
ENDM
@@ -81,7 +82,7 @@ battle_struct: MACRO
\1Item:: db
\1Moves:: ds NUM_MOVES
\1MovesEnd::
-\1DVs:: ds 2
+\1DVs:: dw
\1PP:: ds NUM_MOVES
\1Happiness:: db
\1Level:: db
@@ -103,7 +104,7 @@ ENDM
box: MACRO
\1::
-\1Count:: ds 1
+\1Count:: db
\1Species:: ds MONS_PER_BOX + 1
\1Mons::
\1Mon1:: box_struct \1Mon1
@@ -115,6 +116,18 @@ box: MACRO
ENDM
+map_connection_struct: MACRO
+\1ConnectedMapGroup:: db
+\1ConnectedMapNumber:: db
+\1ConnectionStripPointer:: dw
+\1ConnectionStripLocation:: dw
+\1ConnectionStripLength:: db
+\1ConnectedMapWidth:: db
+\1ConnectionStripYOffset:: db
+\1ConnectionStripXOffset:: db
+\1ConnectionWindow:: dw
+ENDM
+
channel_struct: MACRO
; Addreses are Channel1 (c101).
\1MusicID:: dw
@@ -134,14 +147,14 @@ channel_struct: MACRO
\1FrequencyHi:: db
\1Pitch:: db ; 0:rest 1-c:note
\1Octave:: db ; 7-0 (0 is highest)
-\1PitchOffset:: db ; raises existing octaves (to repeat phrases)
+\1PitchOffset:: db ; raises existing octaves (to repeat phrases)
\1NoteDuration:: db ; frames remaining for the current note
\1Field0x16:: ds 1 ; c117
ds 1 ; c118
\1LoopCount:: db
\1Tempo:: dw
\1Tracks:: db ; hi:left lo:right
-\1SFXDutyLoop:: ds 1 ; c11d
+\1SFXDutyLoop:: db ; c11d
\1VibratoDelayCount:: db ; initialized by \1VibratoDelay
\1VibratoDelay:: db ; number of frames a note plays until vibrato starts
\1VibratoExtent:: db
@@ -149,7 +162,7 @@ channel_struct: MACRO
\1PitchWheelTarget:: dw ; frequency endpoint for pitch wheel
\1PitchWheelAmount:: db ; c124
\1PitchWheelAmountFraction:: db ; c125
-\1Field0x25:: ds 1 ; c126
+\1Field0x25:: db ; c126
ds 1 ; c127
\1CryPitch:: dw
\1Field0x29:: ds 1
@@ -179,22 +192,13 @@ battle_tower_struct: MACRO
endm
mailmsg: MACRO
-\1Message:: ds MAIL_MSG_LENGTH
+\1Message:: ds MAIL_MSG_LENGTH
\1MessageEnd:: ds 1
-\1Author:: ds PLAYER_NAME_LENGTH
+\1Author:: ds PLAYER_NAME_LENGTH
\1AuthorNationality:: ds 2
-\1AuthorID:: ds 2
-\1Species:: ds 1
-\1Type:: ds 1
-\1End::
-endm
-
-hof_mon: MACRO
-\1Species:: ds 1
-\1ID:: ds 2
-\1DVs:: ds 2
-\1Level:: ds 1
-\1Nickname:: ds PKMN_NAME_LENGTH +- 1
+\1AuthorID:: dw
+\1Species:: db
+\1Type:: db
\1End::
endm
@@ -203,19 +207,27 @@ roam_struct: MACRO
\1Level:: db
\1MapGroup:: db
\1MapNumber:: db
-\1HP:: ds 1
-\1DVs:: ds 2
+\1HP:: db
+\1DVs:: dw
ENDM
bugcontestwinner: macro
-\1PersonID:: ds 1
-\1Mon:: ds 1
-\1Score:: ds 2
+\1PersonID:: db
+\1Mon:: db
+\1Score:: dw
+endm
+
+hof_mon: MACRO
+\1Species:: db
+\1ID:: dw
+\1DVs:: dw
+\1Level:: db
+\1Nickname:: ds PKMN_NAME_LENGTH +- 1
+\1End::
endm
hall_of_fame: MACRO
-\1::
-\1WinCount:: ds 1
+\1WinCount:: db
\1Mon1:: hof_mon \1Mon1
\1Mon2:: hof_mon \1Mon2
\1Mon3:: hof_mon \1Mon3
@@ -225,26 +237,34 @@ hall_of_fame: MACRO
\1End:: ds 1
ENDM
+link_battle_record: MACRO
+\1Name:: ds NAME_LENGTH +- 1
+\1ID:: dw
+\1Wins:: dw
+\1Losses:: dw
+\1Draws:: dw
+ENDM
+
trademon: MACRO
-\1Species:: ds 1 ; wc6d0 | wc702
+\1Species:: db ; wc6d0 | wc702
\1SpeciesName:: ds PKMN_NAME_LENGTH ; wc6d1 | wc703
-\1Nickname:: ds PKMN_NAME_LENGTH ; wc6dc | wc70e
-\1SenderName:: ds NAME_LENGTH ; wc6e7 | wc719
-\1OTName:: ds NAME_LENGTH ; wc6f2 | wc724
-\1DVs:: ds 2 ; wc6fd | wc72f
-\1ID:: ds 2 ; wc6ff | wc731
-\1CaughtData:: ds 1 ; wc701 | wc733
+\1Nickname:: ds PKMN_NAME_LENGTH ; wc6dc | wc70e
+\1SenderName:: ds NAME_LENGTH ; wc6e7 | wc719
+\1OTName:: ds NAME_LENGTH ; wc6f2 | wc724
+\1DVs:: dw ; wc6fd | wc72f
+\1ID:: dw ; wc6ff | wc731
+\1CaughtData:: db ; wc701 | wc733
\1End::
ENDM
move_struct: MACRO
-\1Animation:: ds 1
-\1Effect:: ds 1
-\1Power:: ds 1
-\1Type:: ds 1
-\1Accuracy:: ds 1
-\1PP:: ds 1
-\1EffectChance:: ds 1
+\1Animation:: db
+\1Effect:: db
+\1Power:: db
+\1Type:: db
+\1Accuracy:: db
+\1PP:: db
+\1EffectChance:: db
endm
slot_reel: MACRO
@@ -266,109 +286,109 @@ endm
object_struct: MACRO
\1Struct::
-\1Sprite:: ds 1
-\1MapObjectIndex:: ds 1
-\1SpriteTile:: ds 1
-\1MovementType:: ds 1
-\1Flags:: ds 2
-\1Palette:: ds 1
-\1Walking:: ds 1
-\1Direction:: ds 1
-\1StepType:: ds 1
-\1StepDuration:: ds 1
-\1Action:: ds 1
-\1ObjectStepFrame:: ds 1
-\1Facing:: ds 1
-\1StandingTile:: ds 1 ; collision
-\1LastTile:: ds 1 ; collision
-\1StandingMapX:: ds 1
-\1StandingMapY:: ds 1
-\1LastMapX:: ds 1
-\1LastMapY:: ds 1
-\1ObjectInitX:: ds 1
-\1ObjectInitY:: ds 1
-\1Radius:: ds 1
-\1SpriteX:: ds 1
-\1SpriteY:: ds 1
-\1SpriteXOffset:: ds 1
-\1SpriteYOffset:: ds 1
-\1MovementByteIndex:: ds 1
-\1Object28:: ds 1
-\1Object29:: ds 1
-\1Object30:: ds 1
-\1Object31:: ds 1
-\1Range:: ds 1
+\1Sprite:: db
+\1MapObjectIndex:: db
+\1SpriteTile:: db
+\1MovementType:: db
+\1Flags:: dw
+\1Palette:: db
+\1Walking:: db
+\1Direction:: db
+\1StepType:: db
+\1StepDuration:: db
+\1Action:: db
+\1ObjectStepFrame:: db
+\1Facing:: db
+\1StandingTile:: db ; collision
+\1LastTile:: db ; collision
+\1StandingMapX:: db
+\1StandingMapY:: db
+\1LastMapX:: db
+\1LastMapY:: db
+\1ObjectInitX:: db
+\1ObjectInitY:: db
+\1Radius:: db
+\1SpriteX:: db
+\1SpriteY:: db
+\1SpriteXOffset:: db
+\1SpriteYOffset:: db
+\1MovementByteIndex:: db
+\1Object28:: ds 1
+\1Object29:: ds 1
+\1Object30:: ds 1
+\1Object31:: ds 1
+\1Range:: db
ds 7
\1StructEnd::
ENDM
map_object: MACRO
\1Object::
-\1ObjectStructID:: ds 1
-\1ObjectSprite:: ds 1
-\1ObjectYCoord:: ds 1
-\1ObjectXCoord:: ds 1
-\1ObjectMovement:: ds 1
-\1ObjectRadius:: ds 1
-\1ObjectHour:: ds 1
-\1ObjectTimeOfDay:: ds 1
-\1ObjectColor:: ds 1
-\1ObjectRange:: ds 1
-\1ObjectScript:: ds 2
-\1ObjectEventFlag:: ds 2
+\1ObjectStructID:: db
+\1ObjectSprite:: db
+\1ObjectYCoord:: db
+\1ObjectXCoord:: db
+\1ObjectMovement:: db
+\1ObjectRadius:: db
+\1ObjectHour:: db
+\1ObjectTimeOfDay:: db
+\1ObjectColor:: db
+\1ObjectRange:: db
+\1ObjectScript:: dw
+\1ObjectEventFlag:: dw
ds 2
endm
sprite_anim_struct: MACRO
-\1Index:: ds 1 ; 0
-\1FramesetID:: ds 1 ; 1
-\1AnimSeqID:: ds 1 ; 2
-\1TileID:: ds 1 ; 3
-\1XCoord:: ds 1 ; 4
-\1YCoord:: ds 1 ; 5
-\1XOffset:: ds 1 ; 6
-\1YOffset:: ds 1 ; 7
-\1Duration:: ds 1 ; 8
-\1DurationOffset:: ds 1 ; 9
-\1FrameIndex:: ds 1 ; a
-\1Sprite0b:: ds 1
-\1Sprite0c:: ds 1
-\1Sprite0d:: ds 1
-\1Sprite0e:: ds 1
-\1Sprite0f:: ds 1
+\1Index:: db
+\1FramesetID:: db
+\1AnimSeqID:: db
+\1TileID:: db
+\1XCoord:: db
+\1YCoord:: db
+\1XOffset:: db
+\1YOffset:: db
+\1Duration:: db
+\1DurationOffset:: db
+\1FrameIndex:: db
+\1Sprite0b:: ds 1
+\1Sprite0c:: ds 1
+\1Sprite0d:: ds 1
+\1Sprite0e:: ds 1
+\1Sprite0f:: ds 1
ENDM
battle_anim_struct: MACRO
; Placeholder until we can figure out what it all means
-\1_Index:: ds 1
-\1_Anim01:: ds 1
-\1_Anim02:: ds 1
-\1_FramesetIndex:: ds 1
-\1_FunctionIndex:: ds 1
-\1_Anim05:: ds 1
-\1_TileID:: ds 1
-\1_XCoord:: ds 1
-\1_YCoord:: ds 1
-\1_XOffset:: ds 1
-\1_YOffset:: ds 1
-\1_Anim0b:: ds 1
-\1_Anim0c:: ds 1
-\1_Anim0d:: ds 1
-\1_AnonJumptableIndex:: ds 1
-\1_Anim0f:: ds 1
-\1_Anim10:: ds 1
-\1_Anim11:: ds 1
-\1_Anim12:: ds 1
-\1_Anim13:: ds 1
-\1_Anim14:: ds 1
-\1_Anim15:: ds 1
-\1_Anim16:: ds 1
-\1_Anim17:: ds 1
+\1_Index:: db
+\1_Anim01:: ds 1
+\1_Anim02:: ds 1
+\1_FramesetIndex:: db
+\1_FunctionIndex:: db
+\1_Anim05:: ds 1
+\1_TileID:: db
+\1_XCoord:: db
+\1_YCoord:: db
+\1_XOffset:: db
+\1_YOffset:: db
+\1_Anim0b:: ds 1
+\1_Anim0c:: ds 1
+\1_Anim0d:: ds 1
+\1_AnonJumptableIndex:: db
+\1_Anim0f:: ds 1
+\1_Anim10:: ds 1
+\1_Anim11:: ds 1
+\1_Anim12:: ds 1
+\1_Anim13:: ds 1
+\1_Anim14:: ds 1
+\1_Anim15:: ds 1
+\1_Anim16:: ds 1
+\1_Anim17:: ds 1
endm
battle_bg_effect: MACRO
-\1_Function:: ds 1
-\1_01:: ds 1
-\1_02:: ds 1
-\1_03:: ds 1
+\1_Function:: db
+\1_01:: ds 1
+\1_02:: ds 1
+\1_03:: ds 1
endm