Difference between revisions of "RenderWare binary stream file"
m |
m (headlines) |
||
Line 4: | Line 4: | ||
− | =File Format= | + | ==File Format== |
RW streams are split up into sections. Each section has a 12 byte header and can either be empty, contain data or more child sections. Section content, especially of data sections, is determined by an ID in the header. | RW streams are split up into sections. Each section has a 12 byte header and can either be empty, contain data or more child sections. Section content, especially of data sections, is determined by an ID in the header. | ||
Line 16: | Line 16: | ||
The RW version ID varies depending on the RW engine version used for exporting the files. It must be the same for all headers within one file. Backwards compatibility is very limited. | The RW version ID varies depending on the RW engine version used for exporting the files. It must be the same for all headers within one file. Backwards compatibility is very limited. | ||
− | ==Valid RW Section IDs== | + | ===Valid RW Section IDs=== |
See the [[list of RW section IDs]]. | See the [[list of RW section IDs]]. | ||
− | ==Rockstar's Custom Section IDs== | + | ===Rockstar's Custom Section IDs=== |
Rockstar added several vendor specific RW plugins, which have their own ID range (0x0253F2F*). | Rockstar added several vendor specific RW plugins, which have their own ID range (0x0253F2F*). | ||
Line 32: | Line 32: | ||
* [[Frame (RW Section)|Frame]] ''(0x0253F2FE)'' | * [[Frame (RW Section)|Frame]] ''(0x0253F2FE)'' | ||
− | ==Common RW Version IDs== | + | ===Common RW Version IDs=== |
The following is an (incomplete) list of plain text RW versions commonly used in GTA and their encoded equivalent: | The following is an (incomplete) list of plain text RW versions commonly used in GTA and their encoded equivalent: | ||
Line 43: | Line 43: | ||
− | =Common File Structures= | + | ==Common File Structures== |
− | ==Model Files (DFF)== | + | ===Model Files (DFF)=== |
''- coming soon -'' | ''- coming soon -'' | ||
− | ==Texture Archives (TXD)== | + | ===Texture Archives (TXD)=== |
* [[Texture Dictionary (RW Section)|Texture Dictionary]] | * [[Texture Dictionary (RW Section)|Texture Dictionary]] | ||
Line 60: | Line 60: | ||
''* These sections (and their child sections) can appear multiple times. | ''* These sections (and their child sections) can appear multiple times. | ||
− | =Tools & Scripts= | + | ==Tools & Scripts== |
* [http://www.steve-m.com/?page=2&ID=21&act=details RW Analyze] | * [http://www.steve-m.com/?page=2&ID=21&act=details RW Analyze] | ||
Line 66: | Line 66: | ||
− | =See also= | + | ==See also== |
* [http://www.chronetal.co.uk/gta/index.php?page=dff Original DFF format description] by KCow | * [http://www.chronetal.co.uk/gta/index.php?page=dff Original DFF format description] by KCow |
Revision as of 15:22, 5 November 2006
RenderWare binary stream files are hierarchically structured binary data files used by the RenderWare 3.x graphics engine utilized by Rockstar North for their GTA III trilogy (only on PC, PS2 and XBOX, not PSP!) and related games (Manhunt, Bully).
GTA's model files use the file extension .dff
and texture archives use .txd
. Other possible extensions, not used by the GTA games, are .rws
, .bsp
and .dma
. GTA3 does use .anm
for some of its cutscene animations, but it is the only GTA to do so.
Contents
File Format
RW streams are split up into sections. Each section has a 12 byte header and can either be empty, contain data or more child sections. Section content, especially of data sections, is determined by an ID in the header.
There is only one data structure common to all RW streams - the section header:
4 byte - DWORD - section identifier 4 byte - DWORD - section size, including child sections and/or data 4 byte - DWORD - RW version ID
The RW version ID varies depending on the RW engine version used for exporting the files. It must be the same for all headers within one file. Backwards compatibility is very limited.
Valid RW Section IDs
See the list of RW section IDs.
Rockstar's Custom Section IDs
Rockstar added several vendor specific RW plugins, which have their own ID range (0x0253F2F*).
- Specular Material (0x0253F2F6)
- 2dfx (0x0253F2F8)
- Night Vertex Colors (0x0253F2F9)
- Collision Model (0x0253F2FA)
- Reflection Material (0x0253F2FC)
- Mesh Extension (0x0253F2FD)
- Frame (0x0253F2FE)
Common RW Version IDs
The following is an (incomplete) list of plain text RW versions commonly used in GTA and their encoded equivalent:
3.0.0.3 - 0x0003FFFF 3.1.0.0 - 0x00000310 3.3.0.2 - 0x0C02FFFF 3.4.0.3 - 0x1003FFFF 3.6.0.3 - 0x1803FFFF (GTA SA)
Common File Structures
Model Files (DFF)
- coming soon -
Texture Archives (TXD)
- Texture Dictionary
- Struct - 4 byte, 2x word, first one is the texture count
- Texture Native *
- Extension - empty
* These sections (and their child sections) can appear multiple times.
Tools & Scripts
- RW Analyze
- various model file and texture archive related tools
See also
- Original DFF format description by KCow
- RW Analyze discussion thread on GTAForums with lots of format descriptions
- Official RenderWare Site