RalliSport Challenge RFF: Difference between revisions
Jump to navigation
Jump to search
imported>Alf No edit summary |
imported>Alf No edit summary |
(No difference)
| |
Revision as of 04:00, 5 January 2006
RFF
- Format Type: Archive
- Endian Order: Little endian
Format specifications
RFF
{
char[32] magicString; // == "Refractor2 FinkelArchive 1.0", padded with NULLs
ulong TOCOffset;
ulong archiveType; // { 1 = STORE, 2 = ENCRYPTED, 3 = ENCRYPTED_AND_COMPRESSED }
uchar data[];
TOC fileList;
}
TOC
{
ulong nFiles;
fileEntry[nFiles] files;
char[4] padding; // == NULL
}
fileEntry
{
ulong filenameLength;
char[filenameLength] filename;
ulong size;
ulong uncompressedSize;
ulong dataOffset;
FILETIME time; // 64-bit integer
char[4] padding; // == NULL
}
MultiEx BMS
Not written yet.
Notes and comments
- Encryption is provided by Blowfish, a symmeteric cipher using 64-bit blocks, thus requiring the input data chunk size to be divisible by eight bytes. The retail version uses the 64-bit key { 0x72, 0x03, 0x17, 0xF4, 0x12, 0x43, 0x92, 0x88 }, and the demo { 0x23, 0x43, 0x55, 0x02, 0x37, 0x99, 0xaf, 0xc7 }.
- zlib is used for compression.
- FILETIME is a 64-bit datatype for representing time on Microsoft operating systems.
- The XBOX version of RalliSport Challenge uses the RFA format.