Skip to content

Forza Mod Tool v1.2.6

Choose a tag to compare

@HTTPJXRDN HTTPJXRDN released this 09 Oct 21:41
· 15 commits to main since this release
4520e7c

Forza Mod Tool v1.2.6

Changes since v1.2.5.

  • Standardized Motorsport display wording and documentation to FM8. Crypto resource identifiers and file-format handling are unchanged.

(NEW) Garage Viewer (FH6)

  • Batch-edit Original Owner, Distance Driven and Top Speed across selected cars. Check only the fields to replace; typing checks that field automatically, and mixed values remain unchanged unless chosen. Typed validation and writes are atomic across the whole selection. Invalid drafts retain the selection; applying a batch preserves it without selecting extra cars.

  • Selected cars now have a larger, higher-detail cached preview below their fields. The preview grows with the window/panel and uses a separate bounded cache. Rapid selection changes cannot leave an image from a previous selection; multi-selection clears the single-car image.

  • The owned list can be resized vertically against the selected-car fields and horizontally against the stock catalog. Collapsing the fields frees their space; reopening them restores the resized split for the current session.

  • Garage, catalog and selected-car panel scrollbars match the other tabs: slim, dark rounded thumbs with pink drag highlighting, in both orientations.

  • Added actual per-instance garage previews from FH6's local thumbnail cache, matched through the saved CTN reference and cache manifest. Visible/selected images load lazily at bounded sizes; absent previews remain placeholders instead of guessing from the model ID. Optional cache-folder selection is available. Cache files are read-only and not bundled. Windows WebP decoding support is needed for previews, not for garage editing.

  • Added editable Original Owner, Distance Driven and Top Speed fields for selected garage instances. They use the existing Career_Garage storage values (no guessed unit conversions); Original Owner does not change account identity. Apply, selection changes and export validate pending drafts. Invalid values retain the draft and block the action. Numeric writes are typed/parameterized; Top Speed accepts dot or comma on either regional layout. Revert restores original values.

  • Condensed the owned garage and stock catalog into collapsible, alphabetical manufacturer groups with counts. Search opens matching groups. Manufacturer labels come from the GameDB make records and shared friendly-name formatter.

  • Multi-select with Ctrl/Shift in both lists. Add selected cars creates one stock instance per selected model in an all-or-nothing transaction; an invalid model or failed insert leaves the entire batch unapplied. Remove selected retains current/pending, barn-find and model protections. Manufacturer headers offer Select all (catalog) and Select removable (garage, skipping protected/unknown models). Duplicate/current-car actions remain single-selection.

  • Updated the default embedded FH6 catalog to the verified 682-model game update, including all 11 new models. The older 671-model reference is retained for version-matched stock comparisons and merging older modded databases. New-version Car Editor comparison/restore now has a matching clean baseline as well.

  • Add a stock car from the catalog, duplicate an existing instance with its configuration/purchased parts, or remove selected instances and their linked purchased parts.

  • Set as current car updates the selected garage instance reference without changing the general garage Flags field. Export verification allows only this explicit profile-property change; pending selection and account/progress data remain untouched.

  • Reduced garage-list reads to seven displayed/reference columns instead of the entire configuration/tuning record. Friendly names are cached and catalog schema loading is limited to relevant tables.

  • Current/pending cars, barn-find VIN references and catalog removal locks are protected. Unknown garage-linked schemas are viewing-only.

  • Revert restores the original loaded snapshot. Export creates a new save, verifies encrypted payload round-trip, and preserves account and non-garage progress sections byte-for-byte.

  • Optional full FH6 GameDB catalog loading supports newer/custom model names and matching stock part IDs. Motorsport profiles/catalogs and sparse car-export catalogs are not supported.

  • Confirmed Add/Remove, changing the current car, and Original Owner/history-field edits working in game. Full save backups are still essential; adding a car does not grant collection rewards or alter career progression.

  • Removed the experimental label from Garage Viewer; the full-save backup reminder and reference protections remain.

  • Documented a garage recovery workflow for incompatible car instances after SQL Live Editor/GameDB edits. This is not a universal corrupt-save repair and requires a readable profile and a safely removable affected instance.

Temporary workspace

  • Temporary working copies use the normal Windows temporary folder (%TEMP%), usually on C:, under ForzaModTool\Work.

Car Editor

  • Added draggable width dividers for the car picker, options and activity panels. The engine/motor list has a bottom grip to resize its height, with a usable minimum. These are session-only layout changes; editor operations and existing custom controls are unchanged.
  • Renamed Slam it — drift suspension to Remove suspension limit — drift suspension.
  • Added a separate Remove suspension limit — race suspension checkbox, off by default.
  • Race uses the existing Drift lower-limit settings on its linked front/rear spring-damper physics rows, creating a Race upgrade from the car's stock suspension when needed.
  • Race does not expose a steering-angle field or overwrite existing Race steering angles. Drift keeps its steering-angle input and decimal dot/comma support.
  • Both options can be applied independently or together, including through the existing selected-car workflow. Repeated Apply does not add duplicate suspension upgrades.

DB Browser

  • Fixed Add record ignoring typed values while the storage type remained DEFAULT. Typing automatically selects the column's storage type; manual type selection remains available.
  • Untouched DEFAULT fields retain database defaults. Explicit DEFAULT/NULL choices clear the draft; empty TEXT and literal "NULL" remain distinct from SQL NULL.
  • Fixed Delete record requiring a current column: row-header and data-cell selections both work.
  • Pending inline edits are validated first. Deleting after changing a primary key uses the updated identity; no selection cannot delete a stale current record.

Crypto: FH6 profiles

  • Added C_ProfileData decrypt/re-encrypt to the existing Crypto buttons. Decrypt extracts a standalone C_ProfileData.sqlite for DB Browser or an external SQLite editor. Re-encryption reinserts the edited database into the matching original save template, preserving the other three sections byte-for-byte. Older full-payload .decrypted exports remain supported; Profile Editor and Garage Viewer still load complete profiles.
  • Added an independently remembered Profile template, shown instead of the DB template when a profile is staged. Profile SQLite is identified by its save-specific schema even if renamed, and is never re-encrypted as a GameDB. Committed WAL changes are included through a consistent SQLite snapshot; changing inputs abort without output.
  • Profile templates/outputs must authenticate; all section markers and embedded SQLite integrity are checked. Re-encryption verifies exact payload bytes. Corrupt inputs, wrong/missing templates and existing outputs are rejected; originals are never overwritten. Save Swap is unchanged, and FM8 profiles are not supported.