1.8.19 ​

Swofty Launcher for F1 25 1.8.19 speeds up Play after the first launch, adds a TV mode for handhelds and couch play, and gives addon creators source code links, depth on track for shader passes and new telemetry.

Play ​

  • Play keeps a copy of your mods in swofty-cache/overlay in the game folder and links the game's files to it. The first Play copies every file; later Plays copy only the files that are new or changed, so they start much sooner.
  • With the data folder on another drive than F1 25, the copy holds every file Play places. On F1 25's own drive, it holds the loose addon files Play used to copy each time.
  • The copy needs the size of those files on F1 25's drive plus 2 GB to spare. With less room, Play copies each file straight into the game folder as before and the Play log says why.
  • Settings > Game drive copy shows the copy's size. Clear deletes it, and the next Play rebuilds it.

TV mode ​

  • The first time the launcher opens, it asks PC or TV mode? TV mode scales the whole launcher up by 30% and widens the scrollbars, for handhelds and couch play. PC mode is the normal layout.
  • Settings > TV mode switches between them at any time.

Addon Browser ​

  • An addon whose creator lists its source code has a Source code button on its Addon Browser page. The Addons page shows the link under Source code, or Not listed for an installed addon without one.

Content packages ​

  • A package whose team names a team row the game database lacks is no longer applied, and the boot log names the team and the missing row. The game read that row without checking it, so such a package crashed the game at boot.

For addon creators ​

  • The manifest takes an optional repository, the https:// URL of the addon's source code. A launcher before 1.8.19 rejects it, so set "compat": { "launcher": ">=1.8.19" } when you use it.
  • Post-process passes that run in the HUD's list now read depth on track and while paused, from a copy the core makes each time the game stops writing depth. has_depth() is false only without a 3D picture, as in a 2D menu.
  • An addon's native code can give its post-process passes bytes every frame with swofty/postfx.hpp. Passes read them with data_size(), data_uint(), data_float() and data_float4().
  • Telemetry version 2 fills car, participant and session fields from the game's UDP packets: tyres, pit and result status, gaps, flags, safety car and more. New telemetry.overtake, telemetry.collision and telemetry.retirement events fire from the same packets. Telemetry is experimental: list "experimental_features": ["telemetry"] in swofty.json, and the game's UDP telemetry output must be on in its settings.
  • sessions::disqualify(car) disqualifies a car in the current session.
  • New docs: the failures system, and a sponsor data model with its research and a registry proposal.