3-16. AnimList
3. Anim Area
The Anim area stores actual animation data. The format varies according to the animation type specified in the AnimGroup area. The memory maps for each type follow.
When ANIM_TYPE_STATIC_AANIM_TYPE_FULL is specified
u32 | anim_tag |
u32 | this_anim_index |
u32 | anim_size |
float | translate_x |
float | translate_y |
float | translate_z |
float | rotate_axis_x |
float | rotate_axis_y |
float | rotate_axis_z |
float | rotate_expand_flag |
float | scale_x |
float | scale_y |
float | scale_z |
Figure: Anim Area Memory Map
When STATIC_AFULL is specified
u32 anim_tag |
Tag indicating Anim. Depending on the animation type specified, choose one of the followings.
TAG_ANIM_STATIC 0x000c0101 TAG_ANIM_FULL 0x000c0103 |
u32 this_anim_index | Index number of this Anim |
u32 anim_size | Size of this Anim |
float translate_x | Parallel translation on X axial direction |
float translate_y | Parallel translation on Y axial direction |
float translate_z | Parallel translation on Z axial direction |
float rotate_axis_x | Rotation angle (radius) for local X axis |
float rotate_axis_y | Rotation angle (radius) for local Y axis |
float rotate_axis_z | Rotation angle (radius) for local Z axis |
float rotate_expand_flag | Expansion flag. Set default as 0x00000000 |
float scale_x | Scale value on X axial direction |
float scale_y | Scale value on Y axial direction |
float scale_z | Scale value on Z axial direction |
When ANIM_TYPE_KEY is specified
u32 | anim_tag |
u32 | this_anim_index |
u32 | anim_size |
u32 | key |
u32 | next_key |
u32 | interpolation_type |
float | translate_x |
float | translate_y |
float | translate_z |
float | rotate_axis_x |
float | rotate_axis_y |
float | rotate_axis_z |
float | rotate_expand_flag |
float | scale_x |
float | scale_y |
float | scale_z |
Figure: Anim Area Memory Map
When ANIM_TYPE_KEY is specified
u32 anim_tag |
Indicates Anim. Set the following Tag.
TAG_ANIM_KEY 0x000c0104 |
u32 this_anim_index | Index number of this Anim |
u32 anim_size | Size of this Anim |
u32 key | Current key frame value |
u32 next_key | Next key frame value |
u32 interpolation_type |
Specifies the interpolation type from this key to the next. The following are current interpolation types.
INTERPOLATION_STATIC 0x00000000 INTERPOLATION_LINEAR 0x00000001 INTERPOLATION_SLOWIN 0x00000002 INTERPOLATION_SLOWOUT 0x00000004 INTERPOLATION_SLOW 0x00000006 INTERPOLATION_STATIC fixes the animation data from this key frame to the next. INTERPOLATION_LINEAR performs a linear transition on the animation data from this key to the next. INTERPOLATION_SLOWIN smooths the transition of animation data to the next key frame. INTERPOLATION_SLOWOUT smooths the transition of animation data from this key frame. INTERPOLATION_SLO performs both SLOWIN and SLOWOUT. |
float translate_x | Parallel translation on X axial direction |
float translate_y | Parallel translation on Y axial direction |
float translate_z | Parallel translation on Z axial direction |
float rotate_axis_x | Rotation angle (radius) for local X axis |
float rotate_axis_y | Rotation angle (radius) for local Y axis |
float rotate_axis_z | Rotation angle (radius) for local Z axis |
float rotate_expand_flag | Expansion flag. Set default as 0x00000000 |
float scale_x | Scale value on X axial direction |
float scale_y | Scale value on Y axial direction |
float scale_z | Scale value on Z axial direction |
u32 | anim_tag |
u32 | this_anim_index |
u32 | anim_size |
u32 | lookat_obj_index |
u32 | upper_obj_index |
Figure: Anim Area Memory Map
When ANIM_TYPE_BILLBOARD_OBJ is specified
u32 anim_tag |
Tag indicating Anim. Specify the following tag.
TAG_ANIM_BILLBOARD_OBJ 0x000c0105 |
u32 this_anim_index | Index number of this Anim |
u32 anim_size | Size of this Anim. |
u32 lookat_obj_index | Index number in ObjList. Determines the direction of the local Z axis. |
u32 upper_obj_index | Index number in ObjList. Determines the direction of the local Y axis. |