Rage Software XFS

From XentaxWiki
Revision as of 14:13, 5 December 2020 by imported>Ikskoks (→‎Format Specifications)
Jump to navigation Jump to search

XFS


Format Specifications

// XFS file format

// little endian

//header (80 bytes)
8 bytes (char) - magic // "DID DAT\x1A"
2 bytes (uint16) - unknown // "64"   // section table checksum?
2 bytes (uint16) - separator? // "\xFF\xFF"
4 bytes (uint32) - unknown // "8"
4 bytes (uint32) - unknown // "3"
4 bytes (uint32) - header size // "80"
4 bytes (uint32) - nulls
4 bytes (uint32) - data end offset?
48 bytes - unknown


//file array
num_of_entries *
{
   4 bytes (uint32) - file size-8 / uncompressed file size
   4 bytes - compression flag? // "0" - uncompressed, "1" - compressed with RA compression
   x bytes - file data
}

//tail
x bytes - encrypted tail (?)

MultiEx BMS Script

Not written yet.

Notes and Comments

  • This file format occurs in games from Rage Software studio.
    It was probably designed by Digital Image Design before company was sold to Rage Games Limited.
  • This file format uses custom RA compression method which is implementation of LZ77-based algorithm.
  • XFS files seems to be enhanced version of "DID.DAT" archives from older Digital Image Design games.

Related structures

RA compressed data format:

// little endian

2 bytes (uint16) - magic // "RA"
2 bytes (uint16) - version // "\x00\x02"
2 bytes (uint16) - uncompressed file size
2 bytes (uint16) - checksum of the uncompressed data
x bytes - compressed data

Games

List of games using this file format:

  • E-Racer / eRacer
  • Rage Rally
  • Lamborghini (cancelled xbox game)
  • Eurofighter Typhoon

Compatible Programs