RenderWare DAT: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
 
(57 intermediate revisions by the same user not shown)
Line 2: Line 2:
== DAT ==  
== DAT ==  


* ''' Format Type ''':    Image <br>  
* ''' Format Type ''':    Archive <br>  
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>




=== Format Specifications ===  
=== Format Specifications (Kill Switch DAT) ===  


<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:1000px; overflow:auto;">
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:1000px; overflow:auto;">
Line 14: Line 14:


// header chunk
// header chunk
4 bytes (uint32) - chunk type  // 0x19 0x07 0x00 0x00 - unknown type
4 bytes (uint32) - chunk type  // 0x19 0x07 0x00 0x00 - RW DAT archive type?
4 bytes (uint32) - chunk size  // 12
4 bytes (uint32) - chunk size  // 12
4 bytes (uint32) - RW version ID // 0xFF 0xFF 0x00 0x14 - RW v3.5.0.0
4 bytes (uint32) - RW version ID // 0xFF 0xFF 0x00 0x14 - RW v3.5.0.0
Line 37: Line 37:
   4 bytes (uint32) - chunk size?
   4 bytes (uint32) - chunk size?
    
    
   x bytes - chunk data // See "Related structures" section
   x bytes - data chunk // See "Related structures" section
                         // for more information
                         // for more information
}
}
Line 50: Line 50:
</pre>
</pre>
</div>
</div>
<br>


=== Related Structures ===  
=== Format Specifications (Gaelic Games Football 2 PS2 DAT) ===  


In the chunk data section of the container section following chunks can be found:
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:1000px; overflow:auto;">
* rwID_CLUMP
<pre>
* rwID_HANIMANIMATION
// Gaelic Games Football 2 (PS2)
* rwID_TEXTFILE
// DAT file format
* rwID_TEXDICTIONARY
* NAMCO_LEVEL


// header
4 bytes - signature // 0x95 0x97 0x9E 0x91 (RW DAT archive type?)
4 bytes (uint32) - unknown1 // 6
4 bytes (uint32) - unknown2 // 0
4 bytes (uint32) - unknown3 // 1
4 bytes (uint32) - info array offset


'''rwID_TEXDICTIONARY structure'''
// data
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:1000px; overflow:auto;">
num_of_files *
<pre>
{
// Texture dictionary structure (rwID_TEXDICTIONARY)
  4 bytes (uint32) - compressed file size
// TXD file format
  x bytes - file data  // compressed with ZLIB
}


// texture dictionary chunk
// info array
4 bytes (uint32) - chunk type  // 0x16 0x00 0x00 0x00 - texture dictionary
4 bytes (uint32) - number of files
4 bytes (uint32) - chunk size
num_of_files *
4 bytes (uint32) - RW version ID
{
  4 bytes (uint32) - filename length
  x bytes (char) - filename
  4 bytes (uint32) - file offset
  4 bytes (uint32) - f_unknown1
  4 bytes (uint32) - f_unknown2  // 1
  4 bytes (uint32) - f_unknown3
}
</pre>
</div>
<br>


// struct chunk
=== Related Structures ===
4 bytes (uint32) - chunk type  // 0x01 0x00 0x00 0x00 - struct chunk
4 bytes (uint32) - chunk size  // 4
4 bytes (uint32) - RW version ID
4 bytes (uint32) - unknown // 2


// raster chunk
Following data chunks can be found inside container chunks:
4 bytes (uint32) - chunk type  // 0x15 0x00 0x00 0x00 - raster chunk
4 bytes (uint32) - chunk size 
4 bytes (uint32) - RW version ID


// struct chunk
{| class="wikitable sortable"
4 bytes (uint32) - chunk type // 0x01 0x00 0x00 0x00 - struct chunk
|-  
4 bytes (uint32) - chunk size
!    Chunk type                               !! Extension      !! Description
4 bytes (uint32) - RW version ID
|-
4 bytes (uint32) - unknown  // 5
|    rwID_CLUMP                                || .dff          || 3D Models / Atomics / Lights / Cameras
4 bytes (uint32) - unknown  // 4353
|-
65 bytes (char) - texture name + padding // e.g. "barl01_top" or "mask"
|    rwID_HANIMANIMATION                      || .anm          || Animation
 
|-
// texture header (22 bytes)
|    rwID_TEXTFILE                            || .txt          || Text file
4 bytes (uint32) - unknown
|-
3 bytes - nulls
|    [[RenderWare TXD|rwID_TEXDICTIONARY]]    || .txd          || Texture
2 bytes (uint16) - texture width
|-
2 bytes (uint16) - texture height
|    NAMCO_LEVEL                              || .level        || Level data
1 byte (uint8) - texture depth (bits per pixel)  // e.g. 32
|-
10 bytes - unknown
|    [[RWS|rwaID_WAVEDICT]]                    || .rws          || Audio
|-


x bytes - texture data
|}
</pre>
</div>


=== MultiEx BMS Script ===  
=== MultiEx BMS Script ===  


Not written yet.
Not written yet.
=== QuickBMS Script ===
* [https://github.com/bartlomiejduda/Tools/blob/master/NEW%20Tools/Gaelic%20Games%20Football%202/gaelic_games_football_2_DAT_script.bms gaelic_games_football_2_DAT_script.bms]


=== Notes and Comments ===  
=== Notes and Comments ===  


* This file format occurs in games made with '''RenderWare''' engine.
* This file format occurs in games made with '''RenderWare''' engine.
* Files inside archive can be compressed with '''ZLIB compression'''.


=== Games ===  
=== Games ===  
List of games using this file format:
List of games using this file format:
* Killswitch / kill.switch / Kill Switch
* Disney Pixar Cars (PSP)
* Killswitch / kill.switch / Kill Switch [RW v3.5.0.0] (*.DAT)
* Gaelic Games Football 2 (PS2) [RW 3.7.0.2 Build A] (*.DAT)


=== Compatible Programs ===  
=== Compatible Programs ===  


* [http://www.steve-m.com/downloads/tools/rwanalyze/ RW Analyze]
* [http://www.steve-m.com/downloads/tools/rwanalyze/ RW Analyze]
* [https://github.com/bartlomiejduda/Tools/blob/master/NEW%20Tools/Kill%20Switch/Kill_Switch_DAT_Tool.py Kill_Switch_DAT_Tool.py]
* [https://github.com/xaylinks/gametools/blob/main/rw-ffff0218.js rw-ffff0218.js (made for PSP Disney Pixar Cars)]


=== See Also ===  
=== See Also ===  
Line 134: Line 151:




[[Category:Complete Almost Done|Killswitch DAT]]
[[Category:Complete Almost Done|RenderWare DAT]]
[[Category:Platform PC|Killswitch DAT]]
[[Category:Platform PC|RenderWare DAT]]
[[Category:CE None|Killswitch DAT]]
[[Category:Platform PS2|RenderWare DAT]]
[[Category:Format_Image | Type: Image]]
[[Category:CE None|RenderWare DAT]]
[[Category:CE Compressed|RenderWare DAT]]
[[Category:Format_Archive | Type: Archive]]
[[Category:Extension_dat | Extension: dat]]
[[Category:Extension_dat | Extension: dat]]
[[Category:BMS_None | BMS: None]]
[[Category:BMS_None | BMS: None]]
[[Category:ZLIB compression]]
[[Category:File Format]]
[[Category:File Format]]

Latest revision as of 19:34, 24 October 2021

Back to index | Edit this page

DAT


Format Specifications (Kill Switch DAT)

// Kill Switch 
// DAT file format

// header chunk
4 bytes (uint32) - chunk type  // 0x19 0x07 0x00 0x00 - RW DAT archive type?
4 bytes (uint32) - chunk size  // 12
4 bytes (uint32) - RW version ID // 0xFF 0xFF 0x00 0x14 - RW v3.5.0.0
12 bytes (char) - some string  // "StopSystem.X"

// start chunk
// Note: This chunk is some kind of data start marker
4 bytes (uint32) - chunk type  // 0x06 0x07 0x00 0x00 - data start marker
4 bytes (uint32) - chunk size  // 0
4 bytes (uint32) - RW version ID // 0xFF 0xFF 0x00 0x14 - RW v3.5.0.0

// data chunks
num_of_data_chunks *
{

   // container chunk
   4 bytes (uint32) - chunk type  // 0x16 0x07 0x00 0x00 - container for assets
   4 bytes (uint32) - chunk size
   4 bytes (uint32) - RW version ID
   4 bytes (uint32) - GUID + path length
   x bytes (char) - GUID + path string
   4 bytes (uint32) - chunk size?
   
   x bytes - data chunk // See "Related structures" section
                        // for more information
}


// end chunk
// Note: This chunk is some kind of data end marker
4 bytes (uint32) - chunk type  // 0x06 0x07 0x00 0x00 - data end marker
4 bytes (uint32) - chunk size  // 0
4 bytes (uint32) - RW version ID // 0xFF 0xFF 0x00 0x14 - RW v3.5.0.0
   


Format Specifications (Gaelic Games Football 2 PS2 DAT)

// Gaelic Games Football 2 (PS2)
// DAT file format

// header
4 bytes - signature // 0x95 0x97 0x9E 0x91 (RW DAT archive type?)
4 bytes (uint32) - unknown1 // 6
4 bytes (uint32) - unknown2 // 0
4 bytes (uint32) - unknown3 // 1
4 bytes (uint32) - info array offset

// data
num_of_files *
{
   4 bytes (uint32) - compressed file size
   x bytes - file data  // compressed with ZLIB
}

// info array
4 bytes (uint32) - number of files
num_of_files *
{
   4 bytes (uint32) - filename length
   x bytes (char) - filename
   4 bytes (uint32) - file offset
   4 bytes (uint32) - f_unknown1
   4 bytes (uint32) - f_unknown2  // 1
   4 bytes (uint32) - f_unknown3
}


Related Structures

Following data chunks can be found inside container chunks:

Chunk type Extension Description
rwID_CLUMP .dff 3D Models / Atomics / Lights / Cameras
rwID_HANIMANIMATION .anm Animation
rwID_TEXTFILE .txt Text file
rwID_TEXDICTIONARY .txd Texture
NAMCO_LEVEL .level Level data
rwaID_WAVEDICT .rws Audio

MultiEx BMS Script

Not written yet.

QuickBMS Script

Notes and Comments

  • This file format occurs in games made with RenderWare engine.
  • Files inside archive can be compressed with ZLIB compression.

Games

List of games using this file format:

  • Disney Pixar Cars (PSP)
  • Killswitch / kill.switch / Kill Switch [RW v3.5.0.0] (*.DAT)
  • Gaelic Games Football 2 (PS2) [RW 3.7.0.2 Build A] (*.DAT)

Compatible Programs

See Also