Skip to content

setup.cfg

widberg edited this page Jul 4, 2023 · 34 revisions

GameSetup.exe uses a file called setup.cfg to store image data and some other stuff.

// ImHex Pattern
// setup_cfg.hexpat

struct Action {
    /// trtext ID for the name of the action
    u32 trtext_id;
    /// Default value for the primary input for the action
    u32 primary_default;
    /// Default value for the secondary input for the action
    u32 secondary_default;
    /// Index of the Controls this action is in, in the controls variable
    /// In WALL-E and Ratatouille you need to comment out this field
    u32 controls_index;
};

struct Context {
    /// Only the actions up until the first action where trtext_id is 0 are valid
    Action actions[32];
};

struct Controls {
    u32 count;
    u32 context_count = count / 32;
    Context contexts[context_count];
};

struct SetupCfg {
    /// Required to be 0x80000003 in FUEL
    u32 version;
    /// Offset to the bitmap variable
    u32 bitmap_offset;
    /// Size of the bitmap variable
    u32 bitmap_size;
    /// Offset to the ico variable
    u32 ico_offset;
    /// Size of the ico variable
    u32 ico_size;
    /// Offset to the controls variable
    u32 context_arrays_offset;
    /// Size of the controls variable
    u32 context_arrays_size;
    /// "FUEL"
    char16 game_name[256];
    /// If available_languages[i] where i is a trtext ID is 1
    /// then that language is available for use.
    /// However, available_languages[19] is 1 in my setup.cfg,
    /// but there is no tt19.pc in the trtext directory for me.
    /// trtext ID 19 is French US, so maybe this was from the
    /// developer's computer.
    u32 available_languages[21];
    padding[2048 - sizeof(available_languages)];
    /// ".\trtext\"
    char16 trtext_path[1024];
    /// "U:\Docs\Licences_Projets\ATV_OUTLAWED\ART\INTERFACE\INTERFACE_PAGES\Image installeur\800x285.bmp"
    char16 bitmap_path[1024];
    /// ".\Game.Ico"
    char16 game_ico_path[1024];
    /// Number of players
    u32 nb_player;
    /// The value forced upon the "High Dynamic Range Rendering" checkbox upon starting GameSetup.exe
    /// In Ratatouille you need to comment out this field
    u32 high_dynamic_range_rendering_value;
    /// If 1 then the "High Dynamic Range Rendering" option shows up in video options
    /// Corresponds to the VideoHDRI registry key
    /// In Ratatouille you need to comment out this field
    u32 high_dynamic_range_rendering_visible;
    /// The value forced upon the "Wait VSync" checkbox upon starting GameSetup.exe
    /// Does not correspond to any registry key
    /// In Ratatouille you need to comment out this field
    u32 wait_vsync_value_visible;
    /// If 1 then the "Wait VSync" option shows up in the video options
    /// In Ratatouille you need to comment out this field
    u32 wait_vsync;
    /// "SecuLauncher.exe"
    /// In Ratatouille you need to comment out this field
    char16 secu_launcher[256];
    /// Used with OleLoadPicture
    u8 bitmap[bitmap_size];
    /// Embedded .ico file
    /// Same Icon as the game
    u8 ico[ico_size];
    Controls controls[nb_player];
};

SetupCfg setup_cfg @ 0x0;

game_name

See also: Pixar Demos

available_languages

See also: trtext and Registry UserLanguageID

Bitmap

The 800x285 bitmap data stored in the bitmap variable is shown below. This bitmap is presumably the one stored in the file referenced by bitmap_path, "U:\Docs\Licences_Projets\ATV_OUTLAWED\ART\INTERFACE\INTERFACE_PAGES\Image installeur\800x285.bmp", this string references "ATV Outlawed," a potential candidate for the game's name.

FUEL Bitmap

Ico

The 64x64 largest icon in the ico variable embedded .ico file is shown below. This ico is presumably the one stored in the file referenced by game_ico_path.

FUEL Icon

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