Difference between revisions of "Anim Animation (RW Section)"

From GTAMods Wiki
Jump to navigation Jump to search
m (UV Animation - 0x1C1)
 
Line 17: Line 17:
 
=== Header ===
 
=== Header ===
  
   int32 - version    - animation's version format (in all GTAs - 1.0 (0x100))
+
4b  - DWORD   - Version: animation's version format (in all GTAs - 1.0 (0x100))
   int32 - type id    - defines the frame format
+
4b  - DWORD   - Type: defines the frame format
   int32 - frame count - number of frames defined in the container
+
4b  - DWORD   - Frames: number of frames defined in the container
   int32 - flags      - flags for this animation
+
4b  - DWORD   - Flags
  float - duration   - complete duration of the animation
+
4b  - FLOAT   - Duration: complete duration of the animation
  
 
=== Data ===
 
=== Data ===
Line 35: Line 35:
 
'''Header:'''
 
'''Header:'''
  
  int32   - unknown (see below)
+
4b  - INT32   - Unknown (index of first frame?)
  char[32] - name for the animation
+
32b - CHAR[32] - Name for the animation
  float[8] - node to uv channel
+
32b - FLOAT[8] - Node to UV-channel
 
 
The unknown value may be transform type, which is defined as <code>0x01</code> for translation and <code>0x02</code> for rotation. However, for UV animations, this field is not used and typically set to <code>0x00</code>.
 
  
 
'''Data:'''
 
'''Data:'''
Line 45: Line 43:
 
The header is followed by <code>frame count</code> defined in the Anim Animation header.
 
The header is followed by <code>frame count</code> defined in the Anim Animation header.
  
   float  - time     - duration of this frame
+
4b  - FLOAT   - Time: time stamp for this frame (for interpolation)
  int[3] - scale    - defines size for this frame (?, width, height)
+
12b - FLOAT[3] - Scale
  int[3] - position - defines the location for this frame (?, x, y)
+
12b - FLOAT[3] - Position
  int32 - prev    - previous frame index (-1 for the first frame)
+
4b - INT32    - Previous frame index (negative if none)
  
 
== See Also ==
 
== See Also ==
 +
 
* [[UV Animation Dictionary (RW Section)| UV Animation Dictionary]]
 
* [[UV Animation Dictionary (RW Section)| UV Animation Dictionary]]
 
* [[UV Animation PLG (RW Section)| UV Animation PLG]]
 
* [[UV Animation PLG (RW Section)| UV Animation PLG]]

Latest revision as of 09:20, 14 September 2020

Anim Animation
RenderWare Stream Section
Vendor Criterion Games
Module Core
Module ID 0x000000
Identifier 0x1B
Chunk ID 0x0000001B
Versions All
Hierarchy
Parents:
UV Animation Dictionary
Children:
None
Extensions:
None
File Format

Anim Animation is a container defining animation of a certain type defined in its structure.

Stream Format

An Anim Animation block contains no children; All the data is stored in the chunk itself.

Header

4b  - DWORD    - Version: animation's version format (in all GTAs - 1.0 (0x100))
4b  - DWORD    - Type: defines the frame format
4b  - DWORD    - Frames: number of frames defined in the container
4b  - DWORD    - Flags
4b  - FLOAT    - Duration: complete duration of the animation

Data

The header is followed by a frame block. The structure of them depends on the type id defined in the Header.

Known Type ID's

UV Animation - 0x1C1

This structure defines a frame for a UV animation.

Header:

4b  - INT32    - Unknown (index of first frame?)
32b - CHAR[32] - Name for the animation
32b - FLOAT[8] - Node to UV-channel

Data:

The header is followed by frame count defined in the Anim Animation header.

4b  - FLOAT    - Time: time stamp for this frame (for interpolation)
12b - FLOAT[3] - Scale
12b - FLOAT[3] - Position
4b  - INT32    - Previous frame index (negative if none)

See Also