Crazy Racing PAK: Difference between revisions

From XentaxWiki
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.