1.3.1
Swofty Launcher for F1 25 1.3.1 plays any copy of F1 25 you have: Steam's, the EA app's, or a folder you add.
Steam and EA app copies
- The game name next to the cover art opens a switcher. It lists every copy with its store, version and folder, and Add another folder…. See Steam and EA app copies.
- On Windows, the launcher finds the EA app copy from the registry, the Windows uninstall entries, the EA app's download folders and
Program Files\EA Games. - An added folder without the game shows as Folder not found in the switcher.
- A folder you picked with Locate game in an earlier version stays the active copy.
- Stop closes the active copy's game only. While another copy's game runs, the play bar names its store, Play is unavailable, and Switch to it makes that copy active. See While F1 25 is running.
- Switching copies reuses each copy's
F1_25.exeidentity until the game updates. swofty game list,swofty game use <steam|ea|folder>andswofty game add <folder>do the same from the command line.run,applyandbuilduse the active copy, and--gamestill picks a folder for one run.swofty doctorlists every copy.
The matching store starts
- Play on a Steam copy starts Steam, as before. Play on an EA app copy starts the EA app, installs your profile, then asks the EA app to launch F1 25 with one click. Play in VR passes
-vrthrough the EA app too. See EA app. - When the EA app doesn't start the game within 3 minutes, the launcher opens the EA app and asks you to press Play there.
- On Linux, Play starts a closed EA app by running
launch.ea_launch_commandwithout the link. swofty game launchasks the EA app to start the EA app copy as it's installed, without your profile or offline play. Seeswofty game.- Start Steam automatically reads Start the EA app automatically for an EA app copy. The setting is
launch.start_storeinconfig.json;launch.start_steamstill works.swofty run --no-start-storereplaces--no-start-steam, which still works. - On Linux, set
launch.ea_launch_commandto a command that hands{url}to the EA app in its Wine prefix, andlaunch.ea_prefixto that prefix. See The EA app copy on Linux. - For an EA app copy, Your game files have been edited says to repair the game in the EA app instead of verifying it in Steam.
In-game loader on the EA app build
- Every build of F1 25 uses the same binding rules: each binding has a pattern for each build, and a known address counts only after its bytes match.
- Each of the 299 bindings is checked against the code of the Steam and EA app builds of F1 25 1.0.141.7865 before release.
- The EA app build's code unpacks while the game starts. The loader resolves bindings, scans and installs hooks once that code has unpacked, and never writes into code that is still packed.
loader.loghas one[bind]line per binding with how it was found, and a summary line for each pass. Send Logs include it.- The loader no longer writes a copy of the EA app build's code to
swofty\ea-rdata.dump.
Updates
- Update installs the launcher first, then Simplified for Swofty. When both have an update, one Update installs both and the launcher restarts once.
- Simplified for Swofty is checked against the launcher you'll have after the update. A release that needs a launcher you can't update to yet isn't offered, and Play stays available.
- The launcher picks the newest Simplified for Swofty release that supports it, not only the one GitHub marks as latest. See Publishing a Simplified for Swofty release.
- A failed part no longer stops the other. If only Simplified for Swofty fails, Play comes back with the error and Try again.
- After an earlier launcher updates itself to 1.3.1, the restarted launcher installs a pending Simplified for Swofty update on its own.
Addons
- The build skips a database removal of a record the game ships with unless the op sets
allow_stock_removal, and warns with the count per addon. The addon's row shows a badge such as 12 removals skipped. See Removing stock records. - F1 25 no longer crashes at startup with a mod made for an earlier game version whose database lacks records later updates added. A profile with such a mod goes back to runtime database edits instead of writing
gamedatabases.2025.bin. - F1 25 no longer crashes at startup with Driver Manager and a team mod made for an earlier game version, such as RM Designs' Peugeot TotalEnergies F1 Team. Driver Manager 0.1.1 builds after every other addon, so its free agents go into the driver pools the mod leaves. See Driver Manager.
add-rowwrites over stock keys a mod left above a row count it lowered, instead of failing withalready exists. See The row-count rule.