Skip to content

Asobo Save Game File Format Specification

widberg edited this page Jul 16, 2022 · 35 revisions

This is the save game format used in FUEL. Other games have different formats. Saves are located in %USERPROFILE%\Documents\My Games\FUEL this directory contains one subdirectory for each GFWL profile name, where the name of the subdirectory is the same as the name of the profile. Each of these subdirectories contains a single FUEL_SAVE_V14.sav file which is the save game for that profile. Note that save games use the Alternate CRC-32 algorithm and not the primary one.

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 - 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