Document some battle animation commands

This commit is contained in:
yenatch 2017-12-29 17:47:45 -05:00
parent cc5aeb8b87
commit c312cab0f0

View File

@ -3,7 +3,9 @@
Defined in [macros/scripts/battle_anims.asm](/macros/scripts/battle_anims.asm) and [data/moves/animations.asm:BattleAnimations](/data/moves/animations.asm). Defined in [macros/scripts/battle_anims.asm](/macros/scripts/battle_anims.asm) and [data/moves/animations.asm:BattleAnimations](/data/moves/animations.asm).
## `$00``$EF`: `anim_wait` *length* ## `$00``$CF`: `anim_wait` *length*
*length*: duration in frames
## `$D0`: `anim_obj` *object*, *x*, *y*, *param* ## `$D0`: `anim_obj` *object*, *x*, *y*, *param*
@ -33,18 +35,30 @@ Spawns an *object* at coordinate (*x*, *y*).
## `$D5`: `anim_5gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*, *gfx5* ## `$D5`: `anim_5gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*, *gfx5*
*gfx*: `ANIM_GFX` constants (see [constants/battle_anim_constants.asm](/constants/battle_anim_constants.asm))
## `$D6`: `anim_incobj` *id* ## `$D6`: `anim_incobj` *id*
## `$D7`: `anim_setobj` *id*, *object* ## `$D7`: `anim_setobj` *id*, *object*
## `$D8`: `anim_incbgeffect` *effect* ## `$D8`: `anim_incbgeffect` *effect*
## `$D9`: `anim_enemyfeetobj` ## `$D9`: `anim_enemyfeetobj`
Temporarily creates sprites from the bottom row of the enemy frontpic, so that the player backpic can be moved around without corrupting the enemy frontpic.
## `$DA`: `anim_playerheadobj` ## `$DA`: `anim_playerheadobj`
Temporarily creates sprites from the top row of the player backpic, so that the enemy frontpic can be moved around without corrupting the player backpic.
## `$DB`: `anim_checkpokeball` ## `$DB`: `anim_checkpokeball`
Sets `var` to the result of [GetPokeBallWobble](/engine/battle_anims/getpokeballwobble.asm).
## `$DC`: `anim_transform` ## `$DC`: `anim_transform`
## `$DD`: `anim_raisesub` ## `$DD`: `anim_raisesub`
@ -53,18 +67,28 @@ Spawns an *object* at coordinate (*x*, *y*).
## `$DF`: `anim_resetobp0` ## `$DF`: `anim_resetobp0`
## `$E0`: `anim_sound` *duration*, *tracks*, *id*
## `$E0`: `anim_sound` *duration*, *tracks*, *sound_id*
Plays a sound.
## `$E1`: `anim_cry` *pitch* ## `$E1`: `anim_cry` *pitch*
Plays the user's cry.
## `$E2`: `anim_minimizeopp` ## `$E2`: `anim_minimizeopp`
## `$E3`: `anim_oamon` ## `$E3`: `anim_oamon`
## `$E4`: `anim_oamoff` ## `$E4`: `anim_oamoff`
## `$E5`: `anim_clearobjs` ## `$E5`: `anim_clearobjs`
Removes all active objects.
## `$E6`: `anim_beatup` ## `$E6`: `anim_beatup`
## `$E7`: `anim_0xe7` ## `$E7`: `anim_0xe7`
@ -85,14 +109,25 @@ Spawns an *object* at coordinate (*x*, *y*).
## `$EF`: `anim_jumpuntil` *address* ## `$EF`: `anim_jumpuntil` *address*
## `$F0`: `anim_bgeffect` *effect*, *unknown1*, *unknown2*, *unknown3*
## `$F0`: `anim_bgeffect` *bg_effect*, *unknown1*, *unknown2*, *unknown3*
*bg_effect*: `ANIM_BG` constants (see [constants/battle_anim_constants.asm](/constants/battle_anim_constants.asm))
## `$F1`: `anim_bgp` *colors* ## `$F1`: `anim_bgp` *colors*
Sets `rBGP` to *colors*.
## `$F2`: `anim_obp0` *colors* ## `$F2`: `anim_obp0` *colors*
Sets `rOBP0` to *colors*.
## `$F3`: `anim_obp1` *colors* ## `$F3`: `anim_obp1` *colors*
Sets `rOBP1` to *colors*.
## `$F4`: `anim_clearsprites` ## `$F4`: `anim_clearsprites`
## `$F5`: `anim_0xf5` ## `$F5`: `anim_0xf5`
@ -103,16 +138,32 @@ Spawns an *object* at coordinate (*x*, *y*).
## `$F8`: `anim_if_param_equal` *value*, *address* ## `$F8`: `anim_if_param_equal` *value*, *address*
Jumps to another script if `wKickCounter` is equal to *value*.
## `$F9`: `anim_setvar` *value* ## `$F9`: `anim_setvar` *value*
Sets `var` to *value*.
## `$FA`: `anim_incvar` ## `$FA`: `anim_incvar`
Increments `var` by 1.
## `$FB`: `anim_if_var_equal` *value*, *address* ## `$FB`: `anim_if_var_equal` *value*, *address*
Jumps to another script if `var` is equal to *value*.
## `$FC`: `anim_jump` *address* ## `$FC`: `anim_jump` *address*
Jumps to another script.
## `$FD`: `anim_loop` *count*, *address* ## `$FD`: `anim_loop` *count*, *address*
Jumps to another script up to *count* times. Then does nothing, allowing execution to continue.
## `$FE`: `anim_call` *address* ## `$FE`: `anim_call` *address*
Calls a script.
## `$FF`: `anim_ret` ## `$FF`: `anim_ret`
Ends the script and returns to the place where it was called. If there was no caller, the animation ends.