summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim.s8
-rw-r--r--asm/battle_anim_status_effects.s4
-rw-r--r--asm/macros/battle_anim_script.inc285
3 files changed, 291 insertions, 6 deletions
diff --git a/asm/battle_anim.s b/asm/battle_anim.s
index d9471c9dd..42d099c4c 100644
--- a/asm/battle_anim.s
+++ b/asm/battle_anim.s
@@ -118,7 +118,7 @@ DoMoveAnim: @ 807259C
ldr r0, _080725CC @ =gBattlerTarget
ldrb r0, [r0]
strb r0, [r2]
- ldr r0, _080725D0 @ =gUnknown_81C68F4
+ ldr r0, _080725D0 @ =gBattleAnims_Moves
movs r2, 0x1
bl LaunchBattleAnimation
pop {r0}
@@ -128,7 +128,7 @@ _080725C0: .4byte gBattleAnimAttacker
_080725C4: .4byte gBattlerAttacker
_080725C8: .4byte gBattleAnimTarget
_080725CC: .4byte gBattlerTarget
-_080725D0: .4byte gUnknown_81C68F4
+_080725D0: .4byte gBattleAnims_Moves
thumb_func_end DoMoveAnim
thumb_func_start LaunchBattleAnimation
@@ -247,7 +247,7 @@ _080726A6:
cmp r0, 0
beq _08072706
movs r4, 0
- ldr r2, _080726E8 @ =gUnknown_81C68EC
+ ldr r2, _080726E8 @ =gMovesWithQuietBGM
b _080726EE
.align 2, 0
_080726C0: .4byte gUnknown_2037F18
@@ -260,7 +260,7 @@ _080726D8: .4byte RunAnimScriptCommand
_080726DC: .4byte gBattleAnimArgs
_080726E0: .4byte 0x0000ffff
_080726E4: .4byte gUnknown_2037EEE
-_080726E8: .4byte gUnknown_81C68EC
+_080726E8: .4byte gMovesWithQuietBGM
_080726EC:
adds r4, 0x1
_080726EE:
diff --git a/asm/battle_anim_status_effects.s b/asm/battle_anim_status_effects.s
index c70d88cef..c8b1ddbf5 100644
--- a/asm/battle_anim_status_effects.s
+++ b/asm/battle_anim_status_effects.s
@@ -905,7 +905,7 @@ LaunchStatusAnimation: @ 807886C
strb r4, [r0]
ldr r0, _080788AC @ =gBattleAnimTarget
strb r4, [r0]
- ldr r0, _080788B0 @ =gUnknown_81C6E84
+ ldr r0, _080788B0 @ =gBattleAnims_StatusConditions
movs r2, 0
bl LaunchBattleAnimation
ldr r0, _080788B4 @ =task0A_80788BC
@@ -925,7 +925,7 @@ LaunchStatusAnimation: @ 807886C
.align 2, 0
_080788A8: .4byte gBattleAnimAttacker
_080788AC: .4byte gBattleAnimTarget
-_080788B0: .4byte gUnknown_81C6E84
+_080788B0: .4byte gBattleAnims_StatusConditions
_080788B4: .4byte task0A_80788BC
_080788B8: .4byte gTasks
thumb_func_end LaunchStatusAnimation
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