Crazy Racing PAK

From XentaxWiki
Revision as of 10:52, 13 August 2022 by imported>Ikskoks (→‎Hash Algorithm)
Jump to navigation Jump to search

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.