summaryrefslogtreecommitdiff
path: root/asm/macros
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-11-13 13:34:37 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2019-11-13 13:34:37 -0500
commitcf1b984576e62f1f84e71b9442e1271abcba4a00 (patch)
tree8aadbce21f6e463851d6e3c667ea1bdb53b48de4 /asm/macros
parent8541a6c717f9b6ed908cf16c0a11c09e5bbc9331 (diff)
Dump battle anim scripts
Diffstat (limited to 'asm/macros')
-rw-r--r--asm/macros/battle_anim_script.inc285
1 files changed, 285 insertions, 0 deletions
diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc
new file mode 100644
index 000000000..5426cdfba
--- /dev/null
+++ b/asm/macros/battle_anim_script.inc
@@ -0,0 +1,285 @@
+@ commands
+
+ .macro loadspritegfx tag:req
+ .byte 0x0
+ .2byte \tag
+ .endm
+
+ .macro unloadspritegfx tag:req
+ .byte 0x1
+ .2byte \tag
+ .endm
+
+.macro createsprite template:req, anim_battler:req, subpriority_offset:req, argv:vararg
+ .byte 0x02
+ .4byte \template
+ .if \anim_battler == ANIM_TARGET
+ .byte 0x80 | (\subpriority_offset & 0x7F)
+ .else
+ .byte (\subpriority_offset & 0x7F)
+ .endif
+ .byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2
+.Lsprite_\@_1:
+ .2byte \argv
+.Lsprite_\@_2:
+ .endm
+
+ .macro createvisualtask addr:req, priority:req, argv:vararg
+ .byte 0x03
+ .4byte \addr
+ .byte \priority
+ .byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2
+.Lcreatetask_\@_1:
+ .2byte \argv
+.Lcreatetask_\@_2:
+ .endm
+
+ .macro delay param0:req
+ .byte 0x4
+ .byte \param0
+ .endm
+
+ .macro waitforvisualfinish
+ .byte 0x5
+ .endm
+
+ .macro hang1
+ .byte 0x6
+ .endm
+
+ .macro hang2
+ .byte 0x7
+ .endm
+
+ .macro end
+ .byte 0x8
+ .endm
+
+ .macro playse se:req
+ .byte 0x9
+ .2byte \se
+ .endm
+
+ .macro monbg battler:req
+ .byte 0xa
+ .byte \battler
+ .endm
+
+ .macro clearmonbg battler:req
+ .byte 0xb
+ .byte \battler
+ .endm
+
+ .macro setalpha eva:req, evb:req
+ .byte 0x0C
+ .2byte ((\evb) << 8) | (\eva)
+ .endm
+
+ .macro blendoff
+ .byte 0xd
+ .endm
+
+ .macro call param0:req
+ .byte 0xe
+ .4byte \param0
+ .endm
+
+ .macro return
+ .byte 0xf
+ .endm
+
+ .macro setarg param0:req, param1:req
+ .byte 0x10
+ .byte \param0
+ .2byte \param1
+ .endm
+
+ .macro choosetwoturnanim param0:req, param1:req
+ .byte 0x11
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro jumpifmoveturn param0:req, ptr:req
+ .byte 0x12
+ .byte \param0
+ .4byte \ptr
+ .endm
+
+ .macro goto ptr:req
+ .byte 0x13
+ .4byte \ptr
+ .endm
+
+ .macro fadetobg bg:req
+ .byte 0x14
+ .byte \bg
+ .endm
+
+ .macro restorebg
+ .byte 0x15
+ .endm
+
+ .macro waitbgfadeout
+ .byte 0x16
+ .endm
+
+ .macro waitbgfadein
+ .byte 0x17
+ .endm
+
+ .macro changebg bg:req
+ .byte 0x18
+ .byte \bg
+ .endm
+
+ .macro playsewithpan se:req, pan:req
+ .byte 0x19
+ .2byte \se
+ .byte \pan
+ .endm
+
+ .macro setpan pan:req
+ .byte 0x1a
+ .byte \pan
+ .endm
+
+ .macro panse_1B se:req, param1:req, param2:req, param3:req, param4:req
+ .byte 0x1b
+ .2byte \se
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .byte \param4
+ .endm
+
+ .macro loopsewithpan se:req, pan:req, wait:req, times:req
+ .byte 0x1c
+ .2byte \se
+ .byte \pan
+ .byte \wait
+ .byte \times
+ .endm
+
+ .macro waitplaysewithpan se:req, pan:req, wait:req
+ .byte 0x1d
+ .2byte \se
+ .byte \pan
+ .byte \wait
+ .endm
+
+ .macro setbldcnt param0:req
+ .byte 0x1e
+ .2byte \param0
+ .endm
+
+ .macro createsoundtask addr:req, argv:vararg
+ .byte 0x1F
+ .4byte \addr
+ .byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2
+.Lcreatetask_1F_\@_1:
+ .2byte \argv
+.Lcreatetask_1F_\@_2:
+ .endm
+
+ .macro waitsound
+ .byte 0x20
+ .endm
+
+ .macro jumpargeq param0:req, param1:req, ptr:req
+ .byte 0x21
+ .byte \param0
+ .2byte \param1
+ .4byte \ptr
+ .endm
+
+ .macro monbg_22 battler:req
+ .byte 0x22
+ .byte \battler
+ .endm
+
+ .macro clearmonbg_23 battler:req
+ .byte 0x23
+ .byte \battler
+ .endm
+
+ .macro jumpifcontest ptr:req
+ .byte 0x24
+ .4byte \ptr
+ .endm
+
+ .macro fadetobgfromset param0:req, param1:req, param2:req
+ .byte 0x25
+ .byte \param0
+ .byte \param1
+ .byte \param2
+ .endm
+
+ .macro panse_26 se:req, param1:req, param2:req, param3:req, param4:req
+ .byte 0x26
+ .2byte \se
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .byte \param4
+ .endm
+
+ .macro panse_27 se:req, param1:req, param2:req, param3:req, param4:req
+ .byte 0x27
+ .2byte \se
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .byte \param4
+ .endm
+
+ .macro monbgprio_28 battler:req
+ .byte 0x28
+ .byte \battler
+ .endm
+
+ .macro monbgprio_29
+ .byte 0x29
+ .endm
+
+ .macro monbgprio_2A battler:req
+ .byte 0x2a
+ .byte \battler
+ .endm
+
+ .macro invisible battler:req
+ .byte 0x2b
+ .byte \battler
+ .endm
+
+ .macro visible battler:req
+ .byte 0x2c
+ .byte \battler
+ .endm
+
+ .macro doublebattle_2D battler:req
+ .byte 0x2d
+ .byte \battler
+ .endm
+
+ .macro doublebattle_2E battler:req
+ .byte 0x2e
+ .byte \battler
+ .endm
+
+ .macro stopsound
+ .byte 0x2f
+ .endm
+
+@ useful macros
+ .macro jumpreteq value:req, ptr:req
+ jumpargeq ARG_RET_ID, \value, \ptr
+ .endm
+
+ .macro jumprettrue ptr:req
+ jumpreteq TRUE, \ptr
+ .endm
+
+ .macro jumpretfalse ptr:req
+ jumpreteq FALSE, \ptr
+ .endm