RenderWare TXD

From XentaxWiki
Revision as of 13:15, 27 March 2021 by imported>Ikskoks (→‎Compatible Programs)
Jump to navigation Jump to search

Back to index | Edit this page

TXD


Format Specifications (RW v3.4.0.5 - TMNT 2003)

// TMNT 2003
// TXD file format


// chunk header
4 bytes (uint32) - chunk type  // e.g. 0x23 - Platform Independent Texture Dictionary
4 bytes (uint32) - chunk size - 12
4 bytes (uint32) - RW version ID  // e.g. 0xFF 0xFF 0x05 0x10 - RW v3.4.0.5
4 bytes (uint32) - number of textures


num_of_textures *
{
   // texture header (112 bytes)
   16 bytes (char) - texture name  // e.g. "tit_studio_ps"
   56 bytes - unknown


   4 bytes (uint32) - chunk type // e.g. 0x18 - Image
   4 bytes (uint32) - chunk size - 8  (image chunk size)
   4 bytes (uint32) - RW version ID

   4 bytes (uint32) - chunk type // e.g. 0x01 - Struct
   4 bytes (uint32) - chunk size  // 16  (struct chunk size)
   4 bytes (uint32) - RW version ID

   4 bytes (uint32) - image width
   4 bytes (uint32) - image height
   4 bytes (uint32) - image depth (bits per pixel)  // e.g. 8
   4 bytes (uint32) - image stride  // usually the same as image width


   x bytes - image data

   x bytes - palette data
}

Format Specifications (RW v3.5.0.0 - Kill Switch)

// Texture dictionary structure (rwID_TEXDICTIONARY)
// TXD file format
// Kill Switch

// texture dictionary chunk
4 bytes (uint32) - chunk type  // 0x16 0x00 0x00 0x00 - texture dictionary
4 bytes (uint32) - chunk size
4 bytes (uint32) - RW version ID // 0xFF 0xFF 0x00 0x14 - RW v3.5.0.0

// struct chunk
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) - number of raster chunks? // 2


number_of_raster_chunks *
{
   // raster chunk
   4 bytes (uint32) - chunk type  // 0x15 0x00 0x00 0x00 - raster chunk
   4 bytes (uint32) - chunk size  
   4 bytes (uint32) - RW version ID

   // struct chunk
   4 bytes (uint32) - chunk type  // 0x01 0x00 0x00 0x00 - struct chunk
   4 bytes (uint32) - chunk size 
   4 bytes (uint32) - RW version ID
   4 bytes (uint32) - unknown  // 5
   4 bytes (uint32) - unknown  // 4353
   65 bytes (char) - raster name + padding // e.g. "barl01_top" or "mask"
   
   // texture header (22 bytes)
   4 bytes (uint32) - unknown
   3 bytes - nulls
   2 bytes (uint16) - texture width
   2 bytes (uint16) - texture height
   1 byte (uint8) - texture depth (bits per pixel)  // e.g. 32
   10 bytes - unknown

   x bytes - texture data

   // extension chunk
   4 bytes (uint32) - chunk type  //  0x03 0x00 0x00 0x00 - extension chunk
   4 bytes (uint32) - chunk size
   4 bytes (uint32) - RW version ID
}

// extension chunk
4 bytes (uint32) - chunk type  //  0x03 0x00 0x00 0x00 - extension chunk
4 bytes (uint32) - chunk size
4 bytes (uint32) - RW version ID

MultiEx BMS Script

Not written yet.

Notes and Comments

  • This file format occurs in games made with RenderWare engine.

Games

List of games using this file format:

  • Bully
  • GTA III
  • GTA IV
  • GTA Vice City
  • GTA San Andreas
  • Killswitch / kill.switch / Kill Switch (TXD files packed in custom containers, see details here).
  • Manhunt
  • Teenage Mutant Ninja Turtles (2003)
  • Many more...

Compatible Programs

See Also