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 | 
