diff --git a/docs/move_anim_commands.md b/docs/move_anim_commands.md index 9772550c3..1b9bd5b8f 100644 --- a/docs/move_anim_commands.md +++ b/docs/move_anim_commands.md @@ -5,7 +5,26 @@ Defined in [macros/scripts/move_anim.asm](/macros/scripts/move_anim.asm) and [ba ## `$00`−`$EF`: `anim_wait` *length* -## `$D0`: `anim_obj` *object*, *x*, *y*, *param* +## `$D0`: `anim_obj` *object*, *x1*, *x2*, *y1*, *y2*, *param* + +The *x1*/*x2* and *y1*/*y2* pairs specify the position on screen of the animation object. +*x1*/*y1* specify a tile position, and *x2*/*y2* specify a pixel offset from that tile. + +Values for *x2*/*y2* are in the 0-7 range, since 8 pixels make a tile. + +Values for *x1* are between -16 to 31. In practice *x1* starts between 0 to 15, then between -16 to -10. Negative values are relative to the opponent, while positive values are relative to the player. Useful values are between 14 to -10 (for the opponent) and between 0 to 13 (for the player). + +Some sample values are: + +- 0: player left border +- 6: player center +- -15: enemy center +- -10: enemy right border + +Values for *y1* are also between -16 to 31; the useful range is between 2 to 14. +Values between 2 to 8 will be in the opponent's area (2 being the top border and 8 being the +bottom border), and values between 8 to 14 will be in the player's area (again, 8 being the top border and 14 being the bottom border). +The center of the body is often 2 to 4 tiles away from the border (i.e., 5-6 for the opponent or 10-11 for the player). ## `$D1`: `anim_1gfx` *gfx*