diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_anim.s | 8 | ||||
-rw-r--r-- | asm/battle_anim_status_effects.s | 4 | ||||
-rw-r--r-- | asm/macros/battle_anim_script.inc | 285 |
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 |