Crazy Racing PAK: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| Line 33: | Line 33: | ||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | <div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | ||
<pre> | <pre> | ||
// Hash function (by barncastle) | |||
uint Hash(string value) | uint Hash(string value) | ||
{ | { | ||
Revision as of 10:52, 13 August 2022
Back to index | Edit this page
PAK
- Format Type : Archive
- Endian Order : Little Endian
- Signature : None
Format Specifications
// Crazy Racing PAK file format (by barncastle)
struct Archive
{
uint FileCount;
FileInfo FileInfos[FileCount];
byte Data[x];
}
struct FileInfo
{
uint Hash;
int Offset; // multiply by 4
int CompressedSize; // LZMA
}
Hash Algorithm
// Hash function (by barncastle)
uint Hash(string value)
{
// append suffix and lowercase
// e.g. Res\ALight.mesh => res\res\alight.mesh
value = (@"res\" + value).ToLower();
uint h = 0u;
for (int i = 0; i < value.Length; i++)
h = 31 * h + (byte)value[i];
return h;
}
Notes and Comments
- Files are compressed with LZMA compression.
- Filenames are hashed.
Games
List of games using this file format:
- Crazy Racing (Android) (*.PAK)
QuickBMS Script
Not written yet.
Compatible Programs
None.