summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2015-01-20 00:01:23 -0800
committeryenatch <yenatch@gmail.com>2015-01-20 00:01:23 -0800
commit8583cc4724144e255d61a2c7ed7dd70036bcdb6e (patch)
tree0d6c0dd45f981d35ceb1a0b2c8ec9562da0c0f3f /macros
parentd8cf44a87e4da0e53ab44c487b865817b496a048 (diff)
Stop using the preprocessor.
Diffstat (limited to 'macros')
-rw-r--r--macros/charmap.asm275
-rw-r--r--macros/event.asm876
-rw-r--r--macros/map.asm40
-rw-r--r--macros/move_anim.asm244
-rw-r--r--macros/move_effect.asm708
-rw-r--r--macros/movement.asm286
-rw-r--r--macros/sound.asm198
-rw-r--r--macros/text.asm65
8 files changed, 2692 insertions, 0 deletions
diff --git a/macros/charmap.asm b/macros/charmap.asm
new file mode 100644
index 000000000..0478f68ab
--- /dev/null
+++ b/macros/charmap.asm
@@ -0,0 +1,275 @@
+ charmap "@", $50
+
+ charmap "#", $54
+ charmap "№", $74
+ charmap "…", $75
+ charmap "┌", $79
+ charmap "─", $7a
+ charmap "┐", $7b
+ charmap "│", $7c
+ charmap "└", $7d
+ charmap "┘", $7e
+ charmap " ", $7f
+
+ 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 "'", $e0
+ 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 "/", $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 "ガ", $5
+ charmap "ギ", $6
+ charmap "グ", $7
+ charmap "ゲ", $8
+ charmap "ゴ", $9
+ charmap "ザ", $a
+ charmap "ジ", $b
+ charmap "ズ", $c
+ charmap "ゼ", $d
+ charmap "ゾ", $e
+ charmap "ダ", $f
+ charmap "ヂ", $10
+ charmap "ヅ", $11
+ charmap "デ", $12
+ charmap "ド", $13
+
+ charmap "バ", $19
+ charmap "ビ", $1a
+ charmap "ブ", $1b
+ charmap "ボ", $1c
+
+ charmap "が", $26
+ charmap "ぎ", $27
+ charmap "ぐ", $28
+ charmap "げ", $29
+ charmap "ご", $2a
+ charmap "ざ", $2b
+ charmap "じ", $2c
+ charmap "ず", $2d
+ charmap "ぜ", $2e
+ charmap "ぞ", $2f
+ charmap "だ", $30
+ charmap "ぢ", $31
+ charmap "づ", $32
+ charmap "で", $33
+ charmap "ど", $34
+
+ charmap "ば", $3a
+ charmap "び", $3b
+ charmap "ぶ", $3c
+ charmap "べ", $3d
+ charmap "ぼ", $3e
+
+ charmap "パ", $40
+ charmap "ピ", $41
+ charmap "プ", $42
+ charmap "ポ", $43
+ charmap "ぱ", $44
+ charmap "ぴ", $45
+ charmap "ぷ", $46
+ charmap "ぺ", $47
+ charmap "ぽ", $48
+
+ charmap "ア", $80
+ charmap "イ", $81
+ charmap "ウ", $82
+ charmap "エ", $83
+ charmap "ォ", $84
+ charmap "カ", $85
+ charmap "キ", $86
+ charmap "ク", $87
+ charmap "ケ", $88
+ charmap "コ", $89
+ charmap "サ", $8a
+ charmap "シ", $8b
+ charmap "ス", $8c
+ charmap "セ", $8d
+ charmap "ソ", $8e
+ charmap "タ", $8f
+ charmap "チ", $90
+ charmap "ツ", $91
+ charmap "テ", $92
+ charmap "ト", $93
+ charmap "ナ", $94
+ charmap "ニ", $95
+ charmap "ヌ", $96
+ charmap "ネ", $97
+ charmap "ノ", $98
+ charmap "ハ", $99
+ charmap "ヒ", $9a
+ charmap "フ", $9b
+ charmap "ホ", $9c
+ charmap "マ", $9d
+ charmap "ミ", $9e
+ charmap "ム", $9f
+ charmap "メ", $a0
+ charmap "モ", $a1
+ charmap "ヤ", $a2
+ charmap "ユ", $a3
+ charmap "ヨ", $a4
+ charmap "ラ", $a5
+ charmap "ル", $a6
+ charmap "レ", $a7
+ charmap "ロ", $a8
+ charmap "ワ", $a9
+ charmap "ヲ", $aa
+ charmap "ン", $ab
+ charmap "ッ", $ac
+ charmap "ャ", $ad
+ charmap "ュ", $ae
+ charmap "ョ", $af
+ charmap "ィ", $b0
+ charmap "あ", $b1
+ charmap "い", $b2
+ charmap "う", $b3
+ charmap "え", $b4
+ charmap "お", $b5
+ charmap "か", $b6
+ charmap "き", $b7
+ charmap "く", $b8
+ charmap "け", $b9
+ charmap "こ", $ba
+ charmap "さ", $bb
+ charmap "し", $bc
+ charmap "す", $bd
+ charmap "せ", $be
+ charmap "そ", $bf
+ charmap "た", $c0
+ charmap "ち", $c1
+ charmap "つ", $c2
+ charmap "て", $c3
+ charmap "と", $c4
+ charmap "な", $c5
+ charmap "に", $c6
+ charmap "ぬ", $c7
+ charmap "ね", $c8
+ charmap "の", $c9
+ charmap "は", $ca
+ charmap "ひ", $cb
+ charmap "ふ", $cc
+ charmap "へ", $cd
+ charmap "ほ", $ce
+ charmap "ま", $cf
+ charmap "み", $d0
+ charmap "む", $d1
+ charmap "め", $d2
+ charmap "も", $d3
+ charmap "や", $d4
+ charmap "ゆ", $d5
+ charmap "よ", $d6
+ charmap "ら", $d7
+ charmap "り", $d8
+ charmap "る", $d9
+ charmap "れ", $da
+ charmap "ろ", $db
+ charmap "わ", $dc
+ charmap "を", $dd
+ charmap "ん", $de
+ charmap "っ", $df
+ charmap "ゃ", $e0
+ charmap "ゅ", $e1
+ charmap "ょ", $e2
+ charmap "ー", $e3
+
+ charmap "ァ", $e9
diff --git a/macros/event.asm b/macros/event.asm
new file mode 100644
index 000000000..82468c2a8
--- /dev/null
+++ b/macros/event.asm
@@ -0,0 +1,876 @@
+scall: macro
+ db $00
+ dw \1 ; pointer
+ endm
+
+farscall: macro
+ db $01
+ db BANK(\1)
+ dw \1
+ endm
+
+ptcall: macro
+ db $02
+ dw \1 ; pointer
+ endm
+
+jump: macro
+ db $03
+ dw \1 ; pointer
+ endm
+
+farjump: macro
+ db $04
+ db BANK(\1)
+ dw \1
+ endm
+
+ptjump: macro
+ db $05
+ dw \1 ; pointer
+ endm
+
+if_equal: macro
+ db $06
+ db \1 ; byte
+ dw \2 ; pointer
+ endm
+
+if_not_equal: macro
+ db $07
+ db \1 ; byte
+ dw \2 ; pointer
+ endm
+
+iffalse: macro
+ db $08
+ dw \1 ; pointer
+ endm
+
+iftrue: macro
+ db $09
+ dw \1 ; pointer
+ endm
+
+if_greater_than: macro
+ db $0a
+ db \1 ; byte
+ dw \2 ; pointer
+ endm
+
+if_less_than: macro
+ db $0b
+ db \1 ; byte
+ dw \2 ; pointer
+ endm
+
+jumpstd: macro
+ db $0c
+ dw \1 ; predefined_script
+ endm
+
+callstd: macro
+ db $0d
+ dw \1 ; predefined_script
+ endm
+
+callasm: macro
+ db $0e
+ db BANK(\1)
+ dw \1
+ endm
+
+special: macro
+ db $0f
+ dw \1 ; predefined_script
+ endm
+
+ptcallasm: macro
+ db $10
+ dw \1 ; asm
+ endm
+
+checkmaptriggers: macro
+ db $11
+ db \1 ; map_group
+ db \2 ; map_id
+ endm
+
+domaptrigger: macro
+ db $12
+ db \1 ; map_group
+ db \2 ; map_id
+ db \3 ; trigger_id
+ endm
+
+checktriggers: macro
+ db $13
+ endm
+
+dotrigger: macro
+ db $14
+ db \1 ; trigger_id
+ endm
+
+writebyte: macro
+ db $15
+ db \1 ; value
+ endm
+
+addvar: macro
+ db $16
+ db \1 ; value
+ endm
+
+random: macro
+ db $17
+ db \1 ; input
+ endm
+
+checkver: macro
+ db $18
+ endm
+
+copybytetovar: macro
+ db $19
+ dw \1 ; address
+ endm
+
+copyvartobyte: macro
+ db $1a
+ dw \1 ; address
+ endm
+
+loadvar: macro
+ db $1b
+ dw \1 ; address
+ db \2 ; value
+ endm
+
+checkcode: macro
+ db $1c
+ db \1 ; variable_id
+ endm
+
+writevarcode: macro
+ db $1d
+ db \1 ; variable_id
+ endm
+
+writecode: macro
+ db $1e
+ db \1 ; variable_id
+ db \2 ; value
+ endm
+
+giveitem: macro
+ db $1f
+ db \1 ; item
+ db \2 ; quantity
+ endm
+
+takeitem: macro
+ db $20
+ db \1 ; item
+ db \2 ; quantity
+ endm
+
+checkitem: macro
+ db $21
+ db \1 ; item
+ endm
+
+givemoney: macro
+ db $22
+ db \1 ; account
+ dt \2 ; money
+ endm
+
+takemoney: macro
+ db $23
+ db \1 ; account
+ dt \2 ; money
+ endm
+
+checkmoney: macro
+ db $24
+ db \1 ; account
+ dt \2 ; money
+ endm
+
+givecoins: macro
+ db $25
+ dw \1 ; coins
+ endm
+
+takecoins: macro
+ db $26
+ dw \1 ; coins
+ endm
+
+checkcoins: macro
+ db $27
+ dw \1 ; coins
+ endm
+
+addcellnum: macro
+ db $28
+ db \1 ; person
+ endm
+
+delcellnum: macro
+ db $29
+ db \1 ; person
+ endm
+
+checkcellnum: macro
+ db $2a
+ db \1 ; person
+ endm
+
+checktime: macro
+ db $2b
+ db \1 ; time
+ endm
+
+checkpoke: macro
+ db $2c
+ db \1 ; pkmn
+ endm
+
+givepoke: macro
+ db $2d
+ db \1 ; pokemon
+ db \2 ; level
+ db \3 ; item
+ db \4 ; trainer
+ if \4
+ dw \5 ; trainer_name_pointer
+ dw \6 ; pkmn_nickname
+ endc
+ endm
+
+giveegg: macro
+ db $2e
+ db \1 ; pkmn
+ db \2 ; level
+ endm
+
+givepokeitem: macro
+ db $2f
+ dw \1 ; pointer
+ endm
+
+checkpokeitem: macro
+ db $30
+ dw \1 ; pointer
+ endm
+
+checkevent: macro
+ db $31
+ dw \1 ; event_flag
+ endm
+
+clearevent: macro
+ db $32
+ dw \1 ; event_flag
+ endm
+
+setevent: macro
+ db $33
+ dw \1 ; event_flag
+ endm
+
+checkflag: macro
+ db $34
+ dw \1 ; engine_flag
+ endm
+
+clearflag: macro
+ db $35
+ dw \1 ; engine_flag
+ endm
+
+setflag: macro
+ db $36
+ dw \1 ; engine_flag
+ endm
+
+wildon: macro
+ db $37
+ endm
+
+wildoff: macro
+ db $38
+ endm
+
+xycompare: macro
+ db $39
+ dw \1 ; pointer
+ endm
+
+warpmod: macro
+ db $3a
+ db \1 ; warp_id
+ db \2 ; map_group
+ db \3 ; map_id
+ endm
+
+blackoutmod: macro
+ db $3b
+ db \1 ; map_group
+ db \2 ; map_id
+ endm
+
+warp: macro
+ db $3c
+ db \1 ; map_group
+ db \2 ; map_id
+ db \3 ; x
+ db \4 ; y
+ endm
+
+readmoney: macro
+ db $3d
+ db \1 ; account
+ db \2 ; memory
+ endm
+
+readcoins: macro
+ db $3e
+ db \1 ; memory
+ endm
+
+RAM2MEM: macro
+ db $3f
+ db \1 ; memory
+ endm
+
+pokenamemem: macro
+ db $40
+ db \1 ; pokemon
+ db \2 ; memory
+ endm
+
+itemtotext: macro
+ db $41
+ db \1 ; item
+ db \2 ; memory
+ endm
+
+mapnametotext: macro
+ db $42
+ db \1 ; memory
+ endm
+
+trainertotext: macro
+ db $43
+ db \1 ; trainer_id
+ db \2 ; trainer_group
+ db \3 ; memory
+ endm
+
+stringtotext: macro
+ db $44
+ dw \1 ; text_pointer
+ db \2 ; memory
+ endm
+
+itemnotify: macro
+ db $45
+ endm
+
+pocketisfull: macro
+ db $46
+ endm
+
+loadfont: macro
+ db $47
+ endm
+
+refreshscreen: macro
+ db $48
+ db \1 ; dummy
+ endm
+
+loadmovesprites: macro
+ db $49
+ endm
+
+loadbytec1ce: macro
+ db $4a
+ db \1 ; byte
+ endm
+
+farwritetext: macro
+ db $4b
+ db BANK(\1)
+ dw \1
+ endm
+
+writetext: macro
+ db $4c
+ dw \1 ; text_pointer
+ endm
+
+repeattext: macro
+ db $4d
+ db \1 ; byte
+ db \2 ; byte
+ endm
+
+yesorno: macro
+ db $4e
+ endm
+
+loadmenudata: macro
+ db $4f
+ dw \1 ; data
+ endm
+
+writebackup: macro
+ db $50
+ endm
+
+jumptextfaceplayer: macro
+ db $51
+ dw \1 ; text_pointer
+ endm
+
+farjumptext: macro
+ db $52
+ db BANK(\1)
+ dw \1
+ endm
+
+jumptext: macro
+ db $53
+ dw \1 ; text_pointer
+ endm
+
+closetext: macro
+ db $54
+ endm
+
+keeptextopen: macro
+ db $55
+ endm
+
+pokepic: macro
+ db $56
+ db \1 ; pokemon
+ endm
+
+pokepicyesorno: macro
+ db $57
+ endm
+
+interpretmenu: macro
+ db $58
+ endm
+
+interpretmenu2: macro
+ db $59
+ endm
+
+loadpikachudata: macro
+ db $5a
+ endm
+
+battlecheck: macro
+ db $5b
+ endm
+
+loadtrainerdata: macro
+ db $5c
+ endm
+
+loadpokedata: macro
+ db $5d
+ db \1 ; pokemon
+ db \2 ; level
+ endm
+
+loadtrainer: macro
+ db $5e
+ db \1 ; trainer_group
+ db \2 ; trainer_id
+ endm
+
+startbattle: macro
+ db $5f
+ endm
+
+returnafterbattle: macro
+ db $60
+ endm
+
+catchtutorial: macro
+ db $61
+ db \1 ; byte
+ endm
+
+trainertext: macro
+ db $62
+ db \1 ; which_text
+ endm
+
+trainerstatus: macro
+ db $63
+ db \1 ; action
+ endm
+
+winlosstext: macro
+ db $64
+ dw \1 ; win_text_pointer
+ dw \2 ; loss_text_pointer
+ endm
+
+scripttalkafter: macro
+ db $65
+ endm
+
+talkaftercancel: macro
+ db $66
+ endm
+
+talkaftercheck: macro
+ db $67
+ endm
+
+setlasttalked: macro
+ db $68
+ db \1 ; person
+ endm
+
+applymovement: macro
+ db $69
+ db \1 ; person
+ dw \2 ; data
+ endm
+
+applymovement2: macro
+ db $6a
+ dw \1 ; data
+ endm
+
+faceplayer: macro
+ db $6b
+ endm
+
+faceperson: macro
+ db $6c
+ db \1 ; person1
+ db \2 ; person2
+ endm
+
+variablesprite: macro
+ db $6d
+ db \1 ; byte
+ db \2 ; sprite
+ endm
+
+disappear: macro
+ db $6e
+ db \1 ; person
+ endm
+
+appear: macro
+ db $6f
+ db \1 ; person
+ endm
+
+follow: macro
+ db $70
+ db \1 ; person2
+ db \2 ; person1
+ endm
+
+stopfollow: macro
+ db $71
+ endm
+
+moveperson: macro
+ db $72
+ db \1 ; person
+ db \2 ; x
+ db \3 ; y
+ endm
+
+writepersonxy: macro
+ db $73
+ db \1 ; person
+ endm
+
+loademote: macro
+ db $74
+ db \1 ; bubble
+ endm
+
+showemote: macro
+ db $75
+ db \1 ; bubble
+ db \2 ; person
+ db \3 ; time
+ endm
+
+spriteface: macro
+ db $76
+ db \1 ; person
+ db \2 ; facing
+ endm
+
+follownotexact: macro
+ db $77
+ db \1 ; person2
+ db \2 ; person1
+ endm
+
+earthquake: macro
+ db $78
+ db \1 ; param
+ endm
+
+changemap: macro
+ db $79
+ dw \1 ; map_data_pointer
+ endm
+
+changeblock: macro
+ db $7a
+ db \1 ; x
+ db \2 ; y
+ db \3 ; block
+ endm
+
+reloadmap: macro
+ db $7b
+ endm
+
+reloadmappart: macro
+ db $7c
+ endm
+
+writecmdqueue: macro
+ db $7d
+ dw \1 ; queue_pointer
+ endm
+
+delcmdqueue: macro
+ db $7e
+ db \1 ; byte
+ endm
+
+playmusic: macro
+ db $7f
+ dw \1 ; music_pointer
+ endm
+
+playrammusic: macro
+ db $80
+ endm
+
+musicfadeout: macro
+ db $81
+ dw \1 ; music
+ db \2 ; fadetime
+ endm
+
+playmapmusic: macro
+ db $82
+ endm
+
+reloadmapmusic: macro
+ db $83
+ endm
+
+cry: macro
+ db $84
+ dw \1 ; cry_id
+ endm
+
+playsound: macro
+ db $85
+ dw \1 ; sound_pointer
+ endm
+
+waitbutton: macro
+ db $86
+ endm
+
+warpsound: macro
+ db $87
+ endm
+
+specialsound: macro
+ db $88
+ endm
+
+passtoengine: macro
+ db $89
+ db \1 ; data_pointer
+ endm
+
+newloadmap: macro
+ db $8a
+ db \1 ; which_method
+ endm
+
+pause: macro
+ db $8b
+ db \1 ; length
+ endm
+
+deactivatefacing: macro
+ db $8c
+ db \1 ; time
+ endm
+
+priorityjump: macro
+ db $8d
+ dw \1 ; pointer
+ endm
+
+warpcheck: macro
+ db $8e
+ endm
+
+ptpriorityjump: macro
+ db $8f
+ dw \1 ; pointer
+ endm
+
+return: macro
+ db $90
+ endm
+
+end: macro
+ db $91
+ endm
+
+reloadandreturn: macro
+ db $92
+ db \1 ; which_method
+ endm
+
+resetfuncs: macro
+ db $93
+ endm
+
+pokemart: macro
+ db $94
+ db \1 ; dialog_id
+ dw \2 ; mart_id
+ endm
+
+elevator: macro
+ db $95
+ dw \1 ; floor_list_pointer
+ endm
+
+trade: macro
+ db $96
+ db \1 ; trade_id
+ endm
+
+askforphonenumber: macro
+ db $97
+ db \1 ; number
+ endm
+
+phonecall: macro
+ db $98
+ dw \1 ; caller_name
+ endm
+
+hangup: macro
+ db $99
+ endm
+
+describedecoration: macro
+ db $9a
+ db \1 ; byte
+ endm
+
+fruittree: macro
+ db $9b
+ db \1 ; tree_id
+ endm
+
+specialphonecall: macro
+ db $9c
+ dw \1 ; call_id
+ endm
+
+checkphonecall: macro
+ db $9d
+ endm
+
+verbosegiveitem: macro
+ db $9e
+ db \1 ; item
+ db \2 ; quantity
+ endm
+
+verbosegiveitem2: macro
+ db $9f
+ db \1 ; item
+ db \2 ; var
+ endm
+
+loadwilddata: macro
+ db $a0
+ db \1 ; flag
+ db \2 ; map_group
+ db \3 ; map_id
+ endm
+
+halloffame: macro
+ db $a1
+ endm
+
+credits: macro
+ db $a2
+ endm
+
+warpfacing: macro
+ db $a3
+ db \1 ; facing
+ db \2 ; map_group
+ db \3 ; map_id
+ db \4 ; x
+ db \5 ; y
+ endm
+
+storetext: macro
+ db $a4
+ db \1 ; memory
+ endm
+
+displaylocation: macro
+ db $a5
+ db \1 ; id
+ db \2 ; memory
+ endm
+
+trainerclassname: macro
+ db $a6
+ db \1 ; id
+ db \2 ; memory
+ endm
+
+name: macro
+ db $a7
+ db \1 ; type
+ db \2 ; id
+ db \3 ; mempry
+ endm
+
+wait: macro
+ db $a8
+ db \1 ; duration
+ endm
+
+unknown0xa9: macro
+ db $a9
+ endm
diff --git a/macros/map.asm b/macros/map.asm
new file mode 100644
index 000000000..297646a79
--- /dev/null
+++ b/macros/map.asm
@@ -0,0 +1,40 @@
+person_event: macro
+ db \1 ; sprite
+ db \2 ; y
+ db \3 ; x
+ db \4 ; facing
+ db \5 ; movement
+ db \6 ; clock_hour
+ db \7 ; clock_daytime
+ db \8 ; color_function
+ db \9 ; sight_range
+ shift
+ dw \9 ; pointer
+ shift
+ dw \9 ; event flag
+ endm
+
+signpost: macro
+ db \1 ; y
+ db \2 ; x
+ db \3 ; function
+ dw \4 ; pointer
+ endm
+
+xy_trigger: macro
+ db \1 ; number
+ db \2 ; y
+ db \3 ; x
+ db \4 ; unknown1
+ dw \5 ; script
+ db \6 ; unknown2
+ db \7 ; unknown3
+ endm
+
+warp_def: macro
+ db \1 ; y
+ db \2 ; x
+ db \3 ; warp_to
+ db \4 ; map group
+ db \5 ; map number
+ endm
diff --git a/macros/move_anim.asm b/macros/move_anim.asm
new file mode 100644
index 000000000..962324bc6
--- /dev/null
+++ b/macros/move_anim.asm
@@ -0,0 +1,244 @@
+anim_wait: macro
+if \1 >= $d0
+ flip out
+endc
+ db \1
+ endm
+
+anim_obj: macro
+ db $d0
+ db \1 ; obj
+ db \2 ; x
+ db \3 ; y
+ db \4 ; param
+ endm
+
+anim_1gfx: macro
+ db $d1
+ db \1 ; gfx1
+ endm
+
+anim_2gfx: macro
+ db $d2
+ db \1 ; gfx1
+ db \2 ; gfx2
+ endm
+
+anim_3gfx: macro
+ db $d3
+ db \1 ; gfx1
+ db \2 ; gfx2
+ db \3 ; gfx3
+ endm
+
+anim_4gfx: macro
+ db $d4
+ db \1 ; gfx1
+ db \2 ; gfx2
+ db \3 ; gfx3
+ db \4 ; gfx4
+ endm
+
+anim_5gfx: macro
+ db $d5
+ db \1 ; gfx1
+ db \2 ; gfx2
+ db \3 ; gfx3
+ db \4 ; gfx4
+ db \5 ; gfx5
+ endm
+
+anim_incobj: macro
+ db $d6
+ db \1 ; id
+ endm
+
+anim_setobj: macro
+ db $d7
+ db \1 ; id
+ db \2 ; obj
+ endm
+
+anim_incbgeffect: macro
+ db $d8
+ db \1 ; effect
+ endm
+
+anim_enemyfeetobj: macro
+ db $d9
+ endm
+
+anim_playerheadobj: macro
+ db $da
+ endm
+
+anim_checkpokeball: macro
+ db $db
+ endm
+
+anim_transform: macro
+ db $dc
+ endm
+
+anim_raisesub: macro
+ db $dd
+ endm
+
+anim_dropsub: macro
+ db $de
+ endm
+
+anim_resetobp0: macro
+ db $df
+ endm
+
+anim_sound: macro
+ db $e0
+ db \1 ; tracks
+ db \2 ; id
+ endm
+
+anim_cry: macro
+ db $e1
+ db \1 ; pitch
+ endm
+
+anim_minimizeopp: macro
+ db $e2
+ endm
+
+anim_oamon: macro
+ db $e3
+ endm
+
+anim_oamoff: macro
+ db $e4
+ endm
+
+anim_clearobjs: macro
+ db $e5
+ endm
+
+anim_beatup: macro
+ db $e6
+ endm
+
+anim_0xe7: macro
+ db $e7
+ endm
+
+anim_updateactorpic: macro
+ db $e8
+ endm
+
+anim_minimize: macro
+ db $e9
+ endm
+
+anim_0xea: macro
+ db $ea
+ endm
+
+anim_0xeb: macro
+ db $eb
+ endm
+
+anim_0xec: macro
+ db $ec
+ endm
+
+anim_0xed: macro
+ db $ed
+ endm
+
+anim_jumpand: macro
+ db $ee
+ db \1 ; value
+ dw \2 ; address
+ endm
+
+anim_jumpuntil: macro
+ db $ef
+ dw \1 ; address
+ endm
+
+anim_bgeffect: macro
+ db $f0
+ db \1 ; effect
+ db \2 ; unknown
+ db \3 ; unknown
+ db \4 ; unknown
+ endm
+
+anim_bgp: macro
+ db $f1
+ db \1 ; colors
+ endm
+
+anim_obp0: macro
+ db $f2
+ db \1 ; colors
+ endm
+
+anim_obp1: macro
+ db $f3
+ db \1 ; colors
+ endm
+
+anim_clearsprites: macro
+ db $f4
+ endm
+
+anim_0xf5: macro
+ db $f5
+ endm
+
+anim_0xf6: macro
+ db $f6
+ endm
+
+anim_0xf7: macro
+ db $f7
+ endm
+
+anim_jumpif: macro
+ db $f8
+ db \1 ; value
+ dw \2 ; address
+ endm
+
+anim_setvar: macro
+ db $f9
+ db \1 ; value
+ endm
+
+anim_incvar: macro
+ db $fa
+ endm
+
+anim_jumpvar: macro
+ db $fb
+ db \1 ; value
+ dw \2 ; address
+ endm
+
+anim_jump: macro
+ db $fc
+ dw \1 ; address
+ endm
+
+anim_loop: macro
+ db $fd
+ db \1 ; count
+ dw \2 ; address
+ endm
+
+anim_call: macro
+ db $fe
+ dw \1 ; address
+ endm
+
+anim_ret: macro
+ db $ff
+ endm
+
diff --git a/macros/move_effect.asm b/macros/move_effect.asm
new file mode 100644
index 000000000..66e419db2
--- /dev/null
+++ b/macros/move_effect.asm
@@ -0,0 +1,708 @@
+checkturn: macro
+ db $01
+ endm
+
+checkobedience: macro
+ db $02
+ endm
+
+usedmovetext: macro
+ db $03
+ endm
+
+doturn: macro
+ db $04
+ endm
+
+critical: macro
+ db $05
+ endm
+
+damagestats: macro
+ db $06
+ endm
+
+stab: macro
+ db $07
+ endm
+
+damagevariation: macro
+ db $08
+ endm
+
+checkhit: macro
+ db $09
+ endm
+
+effect0x0a: macro
+ db $0a
+ endm
+
+effect0x0b: macro
+ db $0b
+ endm
+
+effect0x0c: macro
+ db $0c
+ endm
+
+resulttext: macro
+ db $0d
+ endm
+
+checkfaint: macro
+ db $0e
+ endm
+
+criticaltext: macro
+ db $0f
+ endm
+
+supereffectivetext: macro
+ db $10
+ endm
+
+checkdestinybond: macro
+ db $11
+ endm
+
+buildopponentrage: macro
+ db $12
+ endm
+
+poisontarget: macro
+ db $13
+ endm
+
+sleeptarget: macro
+ db $14
+ endm
+
+draintarget: macro
+ db $15
+ endm
+
+eatdream: macro
+ db $16
+ endm
+
+burntarget: macro
+ db $17
+ endm
+
+freezetarget: macro
+ db $18
+ endm
+
+paralyzetarget: macro
+ db $19
+ endm
+
+selfdestruct: macro
+ db $1a
+ endm
+
+mirrormove: macro
+ db $1b
+ endm
+
+statup: macro
+ db $1c
+ endm
+
+statdown: macro
+ db $1d
+ endm
+
+payday: macro
+ db $1e
+ endm
+
+conversion: macro
+ db $1f
+ endm
+
+resetstats: macro
+ db $20
+ endm
+
+storeenergy: macro
+ db $21
+ endm
+
+unleashenergy: macro
+ db $22
+ endm
+
+forceswitch: macro
+ db $23
+ endm
+
+endloop: macro
+ db $24
+ endm
+
+flinchtarget: macro
+ db $25
+ endm
+
+ohko: macro
+ db $26
+ endm
+
+recoil: macro
+ db $27
+ endm
+
+mist: macro
+ db $28
+ endm
+
+focusenergy: macro
+ db $29
+ endm
+
+confuse: macro
+ db $2a
+ endm
+
+confusetarget: macro
+ db $2b
+ endm
+
+heal: macro
+ db $2c
+ endm
+
+transform: macro
+ db $2d
+ endm
+
+screen: macro
+ db $2e
+ endm
+
+poison: macro
+ db $2f
+ endm
+
+paralyze: macro
+ db $30
+ endm
+
+substitute: macro
+ db $31
+ endm
+
+rechargenextturn: macro
+ db $32
+ endm
+
+mimic: macro
+ db $33
+ endm
+
+metronome: macro
+ db $34
+ endm
+
+leechseed: macro
+ db $35
+ endm
+
+splash: macro
+ db $36
+ endm
+
+disable: macro
+ db $37
+ endm
+
+cleartext: macro
+ db $38
+ endm
+
+charge: macro
+ db $39
+ endm
+
+checkcharge: macro
+ db $3a
+ endm
+
+traptarget: macro
+ db $3b
+ endm
+
+effect0x3c: macro
+ db $3c
+ endm
+
+rampage: macro
+ db $3d
+ endm
+
+checkrampage: macro
+ db $3e
+ endm
+
+constantdamage: macro
+ db $3f
+ endm
+
+counter: macro
+ db $40
+ endm
+
+encore: macro
+ db $41
+ endm
+
+painsplit: macro
+ db $42
+ endm
+
+snore: macro
+ db $43
+ endm
+
+conversion2: macro
+ db $44
+ endm
+
+lockon: macro
+ db $45
+ endm
+
+sketch: macro
+ db $46
+ endm
+
+defrostopponent: macro
+ db $47
+ endm
+
+sleeptalk: macro
+ db $48
+ endm
+
+destinybond: macro
+ db $49
+ endm
+
+spite: macro
+ db $4a
+ endm
+
+falseswipe: macro
+ db $4b
+ endm
+
+healbell: macro
+ db $4c
+ endm
+
+kingsrock: macro
+ db $4d
+ endm
+
+triplekick: macro
+ db $4e
+ endm
+
+kickcounter: macro
+ db $4f
+ endm
+
+thief: macro
+ db $50
+ endm
+
+arenatrap: macro
+ db $51
+ endm
+
+nightmare: macro
+ db $52
+ endm
+
+defrost: macro
+ db $53
+ endm
+
+curse: macro
+ db $54
+ endm
+
+protect: macro
+ db $55
+ endm
+
+spikes: macro
+ db $56
+ endm
+
+foresight: macro
+ db $57
+ endm
+
+perishsong: macro
+ db $58
+ endm
+
+startsandstorm: macro
+ db $59
+ endm
+
+endure: macro
+ db $5a
+ endm
+
+checkcurl: macro
+ db $5b
+ endm
+
+rolloutpower: macro
+ db $5c
+ endm
+
+effect0x5d: macro
+ db $5d
+ endm
+
+furycutter: macro
+ db $5e
+ endm
+
+attract: macro
+ db $5f
+ endm
+
+happinesspower: macro
+ db $60
+ endm
+
+present: macro
+ db $61
+ endm
+
+damagecalc: macro
+ db $62
+ endm
+
+frustrationpower: macro
+ db $63
+ endm
+
+safeguard: macro
+ db $64
+ endm
+
+checksafeguard: macro
+ db $65
+ endm
+
+getmagnitude: macro
+ db $66
+ endm
+
+batonpass: macro
+ db $67
+ endm
+
+pursuit: macro
+ db $68
+ endm
+
+clearhazards: macro
+ db $69
+ endm
+
+healmorn: macro
+ db $6a
+ endm
+
+healday: macro
+ db $6b
+ endm
+
+healnite: macro
+ db $6c
+ endm
+
+hiddenpower: macro
+ db $6d
+ endm
+
+startrain: macro
+ db $6e
+ endm
+
+startsun: macro
+ db $6f
+ endm
+
+attackup: macro
+ db $70
+ endm
+
+defenseup: macro
+ db $71
+ endm
+
+speedup: macro
+ db $72
+ endm
+
+specialattackup: macro
+ db $73
+ endm
+
+specialdefenseup: macro
+ db $74
+ endm
+
+accuracyup: macro
+ db $75
+ endm
+
+evasionup: macro
+ db $76
+ endm
+
+attackup2: macro
+ db $77
+ endm
+
+defenseup2: macro
+ db $78
+ endm
+
+speedup2: macro
+ db $79
+ endm
+
+specialattackup2: macro
+ db $7a
+ endm
+
+specialdefenseup2: macro
+ db $7b
+ endm
+
+accuracyup2: macro
+ db $7c
+ endm
+
+evasionup2: macro
+ db $7d
+ endm
+
+attackdown: macro
+ db $7e
+ endm
+
+defensedown: macro
+ db $7f
+ endm
+
+speeddown: macro
+ db $80
+ endm
+
+specialattackdown: macro
+ db $81
+ endm
+
+specialdefensedown: macro
+ db $82
+ endm
+
+accuracydown: macro
+ db $83
+ endm
+
+evasiondown: macro
+ db $84
+ endm
+
+attackdown2: macro
+ db $85
+ endm
+
+defensedown2: macro
+ db $86
+ endm
+
+speeddown2: macro
+ db $87
+ endm
+
+specialattackdown2: macro
+ db $88
+ endm
+
+specialdefensedown2: macro
+ db $89
+ endm
+
+accuracydown2: macro
+ db $8a
+ endm
+
+evasiondown2: macro
+ db $8b
+ endm
+
+statmessageuser: macro
+ db $8c
+ endm
+
+statmessagetarget: macro
+ db $8d
+ endm
+
+statupfailtext: macro
+ db $8e
+ endm
+
+statdownfailtext: macro
+ db $8f
+ endm
+
+effectchance: macro
+ db $90
+ endm
+
+effect0x91: macro
+ db $91
+ endm
+
+effect0x92: macro
+ db $92
+ endm
+
+switchturn: macro
+ db $93
+ endm
+
+fakeout: macro
+ db $94
+ endm
+
+bellydrum: macro
+ db $95
+ endm
+
+psychup: macro
+ db $96
+ endm
+
+rage: macro
+ db $97
+ endm
+
+doubleflyingdamage: macro
+ db $98
+ endm
+
+doubleundergrounddamage: macro
+ db $99
+ endm
+
+mirrorcoat: macro
+ db $9a
+ endm
+
+checkfuturesight: macro
+ db $9b
+ endm
+
+futuresight: macro
+ db $9c
+ endm
+
+doubleminimizedamage: macro
+ db $9d
+ endm
+
+skipsuncharge: macro
+ db $9e
+ endm
+
+thunderaccuracy: macro
+ db $9f
+ endm
+
+teleport: macro
+ db $a0
+ endm
+
+beatup: macro
+ db $a1
+ endm
+
+ragedamage: macro
+ db $a2
+ endm
+
+effect0xa3: macro
+ db $a3
+ endm
+
+allstatsup: macro
+ db $a4
+ endm
+
+effect0xa5: macro
+ db $a5
+ endm
+
+effect0xa6: macro
+ db $a6
+ endm
+
+effect0xa7: macro
+ db $a7
+ endm
+
+effect0xa8: macro
+ db $a8
+ endm
+
+clearmissdamage: macro
+ db $a9
+ endm
+
+movedelay: macro
+ db $aa
+ endm
+
+hittarget: macro
+ db $ab
+ endm
+
+tristatuschance: macro
+ db $ac
+ endm
+
+supereffectivelooptext: macro
+ db $ad
+ endm
+
+startloop: macro
+ db $ae
+ endm
+
+curl: macro
+ db $af
+ endm
+
+endturn: macro
+ db $fe
+ endm
+
+endmove: macro
+ db $ff
+ endm
+
diff --git a/macros/movement.asm b/macros/movement.asm
new file mode 100644
index 000000000..a78d532da
--- /dev/null
+++ b/macros/movement.asm
@@ -0,0 +1,286 @@
+turn_head_down: macro
+ db $00
+ endm
+
+turn_head_up: macro
+ db $01
+ endm
+
+turn_head_left: macro
+ db $02
+ endm
+
+turn_head_right: macro
+ db $03
+ endm
+
+half_step_down: macro
+ db $04
+ endm
+
+half_step_up: macro
+ db $05
+ endm
+
+half_step_left: macro
+ db $06
+ endm
+
+half_step_right: macro
+ db $07
+ endm
+
+slow_step_down: macro
+ db $08
+ endm
+
+slow_step_up: macro
+ db $09
+ endm
+
+slow_step_left: macro
+ db $0a
+ endm
+
+slow_step_right: macro
+ db $0b
+ endm
+
+step_down: macro
+ db $0c
+ endm
+
+step_up: macro
+ db $0d
+ endm
+
+step_left: macro
+ db $0e
+ endm
+
+step_right: macro
+ db $0f
+ endm
+
+big_step_down: macro
+ db $10
+ endm
+
+big_step_up: macro
+ db $11
+ endm
+
+big_step_left: macro
+ db $12
+ endm
+
+big_step_right: macro
+ db $13
+ endm
+
+slow_slide_step_down: macro
+ db $14
+ endm
+
+slow_slide_step_up: macro
+ db $15
+ endm
+
+slow_slide_step_left: macro
+ db $16
+ endm
+
+slow_slide_step_right: macro
+ db $17
+ endm
+
+slide_step_down: macro
+ db $18
+ endm
+
+slide_step_up: macro
+ db $19
+ endm
+
+slide_step_left: macro
+ db $1a
+ endm
+
+slide_step_right: macro
+ db $1b
+ endm
+
+fast_slide_step_down: macro
+ db $1c
+ endm
+
+fast_slide_step_up: macro
+ db $1d
+ endm
+
+fast_slide_step_left: macro
+ db $1e
+ endm
+
+fast_slide_step_right: macro
+ db $1f
+ endm
+
+turn_away_down: macro
+ db $20
+ endm
+
+turn_away_up: macro
+ db $21
+ endm
+
+turn_away_left: macro
+ db $22
+ endm
+
+turn_away_right: macro
+ db $23
+ endm
+
+turn_in_down: macro
+ db $24
+ endm
+
+turn_in_up: macro
+ db $25
+ endm
+
+turn_in_left: macro
+ db $26
+ endm
+
+turn_in_right: macro
+ db $27
+ endm
+
+turn_waterfall_down: macro
+ db $28
+ endm
+
+turn_waterfall_up: macro
+ db $29
+ endm
+
+turn_waterfall_left: macro
+ db $2a
+ endm
+
+turn_waterfall_right: macro
+ db $2b
+ endm
+
+slow_jump_step_down: macro
+ db $2c
+ endm
+
+slow_jump_step_up: macro
+ db $2d
+ endm
+
+slow_jump_step_left: macro
+ db $2e
+ endm
+
+slow_jump_step_right: macro
+ db $2f
+ endm
+
+jump_step_down: macro
+ db $30
+ endm
+
+jump_step_up: macro
+ db $31
+ endm
+
+jump_step_left: macro
+ db $32
+ endm
+
+jump_step_right: macro
+ db $33
+ endm
+
+fast_jump_step_down: macro
+ db $34
+ endm
+
+fast_jump_step_up: macro
+ db $35
+ endm
+
+fast_jump_step_left: macro
+ db $36
+ endm
+
+fast_jump_step_right: macro
+ db $37
+ endm
+
+remove_fixed_facing: macro
+ db $3a
+ endm
+
+fix_facing: macro
+ db $3b
+ endm
+
+hide_person: macro
+ db $3d
+ endm
+
+show_person: macro
+ db $3e
+ endm
+
+accelerate_last: macro
+ db $45
+ endm
+
+step_sleep: macro
+ db $46
+ db \1 ; duration
+ endm
+
+step_end: macro
+ db $47
+ endm
+
+remove_person: macro
+ db $49
+ endm
+
+teleport_from: macro
+ db $4c
+ endm
+
+teleport_to: macro
+ db $4d
+ endm
+
+skyfall: macro
+ db $4e
+ endm
+
+step_wait5: macro
+ db $4f
+ endm
+
+hide_emote: macro
+ db $53
+ endm
+
+show_emote: macro
+ db $54
+ endm
+
+step_shake: macro
+ db $55
+ db \1 ; displacement
+ endm
+
diff --git a/macros/sound.asm b/macros/sound.asm
new file mode 100644
index 000000000..38c72f1cf
--- /dev/null
+++ b/macros/sound.asm
@@ -0,0 +1,198 @@
+octave: macro
+ db $d8 - (\1)
+ endm
+
+notetype: macro
+ db $d8
+ db \1 ; note_length
+ if _NARG >= 2
+ db \2 ; intensity
+ endc
+ endm
+
+forceoctave: macro
+ db $d9
+ db \1 ; octave
+ endm
+
+tempo: macro
+ db $da
+ bigdw \1 ; tempo
+ endm
+
+dutycycle: macro
+ db $db
+ db \1 ; duty_cycle
+ endm
+
+intensity: macro
+ db $dc
+ db \1 ; intensity
+ endm
+
+soundinput: macro
+ db $dd
+ db \1 ; input
+ endm
+
+unknownmusic0xde: macro
+ db $de
+ db \1 ; unknown
+ endm
+
+togglesfx: macro
+ db $df
+ endm
+
+unknownmusic0xe0: macro
+ db $e0
+ db \1 ; unknown
+ db \2 ; unknown
+ endm
+
+vibrato: macro
+ db $e1
+ db \1 ; delay
+ db \2 ; extent
+ endm
+
+unknownmusic0xe2: macro
+ db $e2
+ db \1 ; unknown
+ endm
+
+togglenoise: macro
+ db $e3
+ db \1 ; id
+ endm
+
+panning: macro
+ db $e4
+ db \1 ; tracks
+ endm
+
+volume: macro
+ db $e5
+ db \1 ; volume
+ endm
+
+tone: macro
+ db $e6
+ bigdw \1 ; tone
+ endm
+
+unknownmusic0xe7: macro
+ db $e7
+ db \1 ; unknown
+ endm
+
+unknownmusic0xe8: macro
+ db $e8
+ db \1 ; unknown
+ endm
+
+globaltempo: macro
+ db $e9
+ bigdw \1 ; value
+ endm
+
+restartchannel: macro
+ db $ea
+ dw \1 ; address
+ endm
+
+newsong: macro
+ db $eb
+ bigdw \1 ; id
+ endm
+
+sfxpriorityon: macro
+ db $ec
+ endm
+
+sfxpriorityoff: macro
+ db $ed
+ endm
+
+unknownmusic0xee: macro
+ db $ee
+ dw \1 ; address
+ endm
+
+stereopanning: macro
+ db $ef
+ db \1 ; tracks
+ endm
+
+sfxtogglenoise: macro
+ db $f0
+ db \1 ; id
+ endm
+
+music0xf1: macro
+ db $f1
+ endm
+
+music0xf2: macro
+ db $f2
+ endm
+
+music0xf3: macro
+ db $f3
+ endm
+
+music0xf4: macro
+ db $f4
+ endm
+
+music0xf5: macro
+ db $f5
+ endm
+
+music0xf6: macro
+ db $f6
+ endm
+
+music0xf7: macro
+ db $f7
+ endm
+
+music0xf8: macro
+ db $f8
+ endm
+
+unknownmusic0xf9: macro
+ db $f9
+ endm
+
+setcondition: macro
+ db $fa
+ db \1 ; condition
+ endm
+
+jumpif: macro
+ db $fb
+ db \1 ; condition
+ dw \2 ; address
+ endm
+
+jumpchannel: macro
+ db $fc
+ dw \1 ; address
+ endm
+
+loopchannel: macro
+ db $fd
+ db \1 ; count
+ dw \2 ; address
+ endm
+
+callchannel: macro
+ db $fe
+ dw \1 ; address
+ endm
+
+endchannel: macro
+ db $ff
+ endm
+
diff --git a/macros/text.asm b/macros/text.asm
new file mode 100644
index 000000000..ae49d8fbb
--- /dev/null
+++ b/macros/text.asm
@@ -0,0 +1,65 @@
+text_from_ram: macro
+ db 1
+ dw \1
+ endm
+
+text_dunno1: macro
+ db 5
+ endm
+
+text_waitbutton: macro
+ db 6
+ endm
+
+text_dunno2: macro
+ db 7
+ endm
+
+start_asm: macro
+ db 8
+ endm
+
+deciram: macro
+ db 9
+ dw \1
+ db \2
+ endm
+
+interpret_data: macro
+ db 10
+ endm
+
+sound0: macro
+ db 11
+ endm
+
+limited_interpret_data: macro
+ db 12
+ db \1
+ endm
+
+sound0x0F: macro
+ db $f
+ endm
+
+sound0x02: macro
+ db $10
+ endm
+
+sound0x0A: macro
+ db $11
+ endm
+
+sound0x2C: macro
+ db $13
+ endm
+
+current_day: macro
+ db $15
+ endm
+
+text_jump: macro
+ db $16
+ dw \1
+ db BANK(\1)
+ endm