Crazy Racing PAK: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| Line 75: | Line 75: | ||
[[Category:Extension_pak | Extension: pak]] | [[Category:Extension_pak | Extension: pak]] | ||
[[Category:BMS_None | BMS: None]] | [[Category:BMS_None | BMS: None]] | ||
[[Category:Hash]] | |||
[[Category:LZMA compression]] | |||
[[Category:File Format]] | [[Category:File Format]] | ||
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.