Difference between revisions of "Frame List (RW Section)"
Line 1: | Line 1: | ||
{{RW Section|Frame List|0x000E}} | {{RW Section|Frame List|0x000E}} | ||
− | '''Frame List''' is a container section used in [[model file|DFF files]] as child of a [[Clump (RW Section)| | + | '''Frame List''' is a container section used in [[model file|DFF files]] as child of a [[Clump (RW Section)|clump section]]. Just like the ''clump'' section it does only store child sections and no data. All additional informations are hold by a [[Struct (RW Section)|struct section]]. |
+ | |||
+ | == Structure == | ||
+ | |||
+ | All required information stored inside a ''struct'' section which represents the first child section of the list. | ||
+ | |||
+ | 4b - DWORD - Number of frames | ||
+ | |||
+ | The structure is followed up by an array of frame information data for each frame. It uses the following format: | ||
+ | |||
+ | 36b - TMatrix - Rotation matrix | ||
+ | 12b - TVector - Position | ||
+ | 4b - DWORD - Current frame index (or previous sibling?) | ||
+ | 4b - DWORD - Unknown (next sibling?) | ||
+ | |||
+ | '''TMatrix''' and '''TVector''' are abstract data types with the following format for TVector: | ||
+ | |||
+ | 4b - FLOAT - Coordinate X | ||
+ | 4b - FLOAT - Coordinate Y | ||
+ | 4b - FLOAT - Coordinate Z | ||
+ | |||
+ | And '''TMatrix''' represents a collection of 3 '''TVector's''': | ||
+ | |||
+ | 12b - TVector - Vector 1 | ||
+ | 12b - TVector - Vector 2 | ||
+ | 12b - TVector - Vector 3 | ||
+ | |||
+ | == Extension == | ||
+ | |||
+ | A ''frame list'' can be extented by an [[Extension (RW Section)|extension section]]. For this section the extension can appear multiple times. The amount of extensions does not need to match the number of frames defined above, but it usually does since the extensions are holding the names of the single frames and their animations. | ||
+ | |||
+ | === Child sections === | ||
+ | |||
+ | The extension itself got 2 child section which may appear in random order: | ||
+ | |||
+ | * [[Frame (RW Section)|Frame]] | ||
+ | * [[HAnim PLG (RW Section)|HAnim PLG]] | ||
+ | |||
+ | == See also == | ||
+ | * [[RenderWare_binary_stream_file|RW file format specification]] | ||
+ | |||
+ | {{N|SA|VC}} | ||
+ | [[Category:GTA_3]] |
Revision as of 16:51, 29 October 2010
{{{NAME}}} | |
---|---|
RenderWare Stream Section | |
Vendor | {{{VENDORNAME}}} |
Module | {{{MODULENAME}}} |
Module ID | 0x{{{MODULEID}}}
|
Identifier | 0x{{{IDENTIFIER}}}
|
Chunk ID | 0x{{{MODULEID}}}{{{IDENTIFIER}}}
|
Versions | All |
Hierarchy | |
Parents: None | |
Children: None | |
Extensions: None | |
File Format |
Frame List is a container section used in DFF files as child of a clump section. Just like the clump section it does only store child sections and no data. All additional informations are hold by a struct section.
Structure
All required information stored inside a struct section which represents the first child section of the list.
4b - DWORD - Number of frames
The structure is followed up by an array of frame information data for each frame. It uses the following format:
36b - TMatrix - Rotation matrix 12b - TVector - Position 4b - DWORD - Current frame index (or previous sibling?) 4b - DWORD - Unknown (next sibling?)
TMatrix and TVector are abstract data types with the following format for TVector:
4b - FLOAT - Coordinate X 4b - FLOAT - Coordinate Y 4b - FLOAT - Coordinate Z
And TMatrix represents a collection of 3 TVector's:
12b - TVector - Vector 1 12b - TVector - Vector 2 12b - TVector - Vector 3
Extension
A frame list can be extented by an extension section. For this section the extension can appear multiple times. The amount of extensions does not need to match the number of frames defined above, but it usually does since the extensions are holding the names of the single frames and their animations.
Child sections
The extension itself got 2 child section which may appear in random order: