RalliSport Challenge RFF: Difference between revisions
Jump to navigation
Jump to search
imported>Alf No edit summary |
imported>Ikskoks m (Ikskoks moved page RalliSport Challenge to RalliSport Challenge RFF) |
||
| (5 intermediate revisions by 2 users not shown) | |||
| Line 10: | Line 10: | ||
'''<font color="green">char</font>'''[<font color="fuchsia">32</font>] magicString; <font color="blue">// == "Refractor2 FinkelArchive 1.0", padded with NULLs</font> | '''<font color="green">char</font>'''[<font color="fuchsia">32</font>] magicString; <font color="blue">// == "Refractor2 FinkelArchive 1.0", padded with NULLs</font> | ||
'''<font color="green">ulong</font>''' TOCOffset; | '''<font color="green">ulong</font>''' TOCOffset; | ||
'''<font color="green">ulong</font>''' archiveType; <font color="blue">// { | '''<font color="green">ulong</font>''' archiveType; <font color="blue">// { 0 = STORE, 1 = ENCRYPTED, 2 = ENCRYPTED_AND_COMPRESSED }</font> | ||
'''<font color="green">uchar</font>''' data[]; | '''<font color="green">uchar</font>''' data[]; | ||
| Line 46: | Line 46: | ||
=== Supported programs === | === Supported programs === | ||
* [http://knowledge.stien.org/?go=download RFFTool] | * [http://knowledge.stien.org/?go=download RFFTool] | ||
[[Category:File Format]] | |||
Latest revision as of 13:29, 17 January 2021
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; // { 0 = STORE, 1 = ENCRYPTED, 2 = 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.