Skip to content

Asobo Save Game File Format Specification

widberg edited this page Jul 16, 2022 · 35 revisions
struct SaveGame
{
    std::uint32_t xliveHeaderSize;
        // Always 4
        // Written by xlive
    std::uint32_t saveGameDataCRC32Checksum0;
        // Alternate CRC-32 Checksum of saveGameData taken as a raw byte buffer
        // Equals saveGameDataCRC32Checksum1
        // Written by xlive
    SaveGameData saveGameData;
        // 199996 bytes
    std::uint32_t saveGameDataCRC32Checksum1;
        // Alternate CRC-32 Checksum of saveGameData taken as a raw byte buffer
        // Equals saveGameDataCRC32Checksum0
};
struct SaveGameData 
{
    std::uint32_t dataCompressedSize;
        // Includes the sizes of dataCompressedSize and dataDecompressedSize
    std::uint32_t dataDecompressedSize;
    std::uint8_t data[dataCompressedSize - 4 - 4];
        // dataCompressedSize and dataDecompressedSize are part of the compressed data so we subtract their size from the data array
        // Data is compressed using Order 1 Arithmetic Coding
        // RTTI indicates that the implementation is a modification of the one presented at the end of
        // https://www.researchgate.net/publication/236980434_Arithmetic_Coding_revealed_-_A_guided_tour_from_theory_to_praxis#pf2f
    std::uint8_t zeros[199996 - 4 - 4 - dataCompressedSize - 1];
        // Filled with 0x00
        // Used to pad the SaveGameData structure size to 199996 bytes
    std::uint8_t version;
        // Always equals 61
};

Home
FAQ

For FMTK Users and Mod Developers

Read the Docs

For FMTK Developers

Asobo BigFile Format Specification
Asobo Classes
      Animation_Z
      Binary_Z
      Bitmap_Z
      Camera_Z
      CollisionVol_Z
      Fonts_Z
      GameObj_Z
      GenWorld_Z
      GwRoad_Z
      Keyframer*_Z
      Light_Z
      LightData_Z
      Lod_Z
      LodData_Z
      Material_Z
      MaterialAnim_Z
      MaterialObj_Z
      Mesh_Z
      MeshData_Z
      Node_Z
      Omni_Z
      Particles_Z
      ParticlesData_Z
      RotShape_Z
      RotShapeData_Z
      Rtc_Z
      Skel_Z
      Skin_Z
      Sound_Z
      Spline_Z
      SplineGraph_Z
      Surface_Z
      SurfaceDatas_Z
      UserDefine_Z
      Warp_Z
      World_Z
      WorldRef_Z
Asobo File Format Idioms
Asobo CRC32
Asobo LZ Compression
Asobo Arithmetic Coding Compression
Asobo Save Game File Format Specification
Asobo Audio Formats
TotemTech/ToonTech/Zouna/ACE/BSSTech/Opal Timeline
Zouna Modding Resources
Miscellaneous

Clone this wiki locally