Skip to content

Releases: i2kiselev/fm4-static-recomp

FM4 Static Recomp v0.3.1

Choose a tag to compare

@i2kiselev i2kiselev released this 03 Nov 15:38

FM4 Static Recomp v0.3.1

If you have the launcher, it offers this update itself: it builds 0.3.1 next to your current version and switches over once it's ready (about 3 minutes on the test bench, down from about 10 for earlier updates).
New players should download FM4StaticRecomp-Launcher.zip.

Important

The first start of 0.3.1 compiles the game's shaders for up to 40 seconds before the title screen (longer on a processor with fewer threads). The game may look frozen meanwhile: let it finish. Each version has its own shader cache, so every update does this once. Later starts take a second or two.

Warning

Project Forza Plus 4 needs a new, separate install. Updating your launcher does not add the mod to it, and an install you already set up for vanilla FM4 cannot be switched to the mod. To play the mod, extract FM4StaticRecomp-Launcher.zip into a new, empty folder and choose PROJECT FORZA PLUS 4 at its first setup step. Your vanilla install stays as it is, and you can keep playing both.

Highlights

  • Setup in about 10 minutes instead of 40, with about 10 GB of disk instead of 17, and updates in about 3 minutes instead of 10.
  • Project Forza Plus 4 1.3 sets up from the launcher, as a new install of its own (see above).
  • Rev 1 (1.1) Disc 1, Europe and USA, is supported.
  • Play in a window, and switch with Alt+Enter at any moment (#22).
  • FSR 1, a light upscaler for 1080p screens and handhelds (#27).
  • Xenia Canary careers import with PROFILE → IMPORT SAVE (#35).
  • A saves folder of your own, outside the launcher's data folder (#20).
  • Mirrors work under DLSS, FSR 2 and FSR 3, with less ground and shadow ghosting and fewer trees popping.
  • Laptops with AMD and NVIDIA graphics start the game (#28).

Faster setup

  • The first setup takes about 10 minutes (under 8 on the test bench), down from about 40. It downloads under 0.5 GB, most of it from Microsoft, and needs about 10 GB of disk instead of 17.
  • The ShiftGlue SDK comes prebuilt (12 MB) for this release, instead of being checked out and compiled on your PC. It is built from its pinned source and holds no game code.
  • Only the part of LLVM the build uses is downloaded (35 MB), taken unmodified from the official LLVM release.
  • Build tools download in parallel parts, and a dropped part resumes instead of starting over.
  • Updates take about 3 minutes instead of about 10 (on the test bench, from pressing UPDATE TO to the new version ready, 0.3.0 to 0.3.1), and build next to the version you play. The prebuilt SDK removes most of the old update's work: fetching the SDK's source and compiling it.
  • A build no longer fails while a game process that Windows PowerShell cannot read is still running.

Project Forza Plus 4

Project Forza Plus 4 by Gas-and-Games, the large car, career and physics mod made for Xenia, now has its own launcher install.

It is always a new install. A launcher folder is either vanilla or Project Forza Plus 4, chosen at its first setup, and it cannot be changed afterwards: there is no button that adds the mod to an existing install. Updating to 0.3.1 leaves your vanilla install vanilla.

How to set it up

  1. Extract FM4StaticRecomp-Launcher.zip into a new, empty folder (for example D:\FM4-PFP4), not over your current install.
  2. Start FM4StaticRecompLauncher.exe from that folder and choose PROJECT FORZA PLUS 4.
  3. Give it your Disc 1 (1.0 or Rev 1) and the mod's Project Forza Plus 4 v1.3.zip as you downloaded it. The zip is read in place, never extracted. The Update v1.3 zip is not needed.
  4. Choose a career mode, then let it build, as for vanilla.

What you get

  • Checked file by file against version 1.3: any other version is refused and nothing is changed. Disc 2 and all DLC packs come from the mod, so there is no Disc 2 step. The install takes about 20 GB.
  • Career modes: Normal, Hard, Sandbox and Vanilla, each with or without Harder AI. Change the mode later in SETTINGS → PROJECT FORZA PLUS 4, without the zip. Garages survive a change.
  • New careers: a profile starts with NEW CAREER (the intro race) or one of the mod's Skip Intro saves.
  • AI at high frame rates: the mod's AI was tuned on Xenia at about 62 fps. On a mod install the port keeps the car physics steps the AI expects at any FRAME RATE, also when it changes mid-race, so the mod's FPS files are not needed.
  • Left out: the mod's Xenia workarounds (track files that turn off shadows, specular and road detail blur; 60 fps render scenarios), because this port draws and paces those scenes itself.
  • CHOOSE THE MOD AGAIN in CONTENT puts the mod back without a rebuild if its files are missing or damaged.

Vanilla and mod saves don't mix

  • The mod removes many vanilla parts, and a vanilla career with an engine swap hangs on it. Start a fresh career on the mod.
  • Each profile records its game. IMPORT SAVE refuses the other game's saves, and the SAVES FOLDER setting warns before it takes them over.

The mod's executable is the game's 1.0 code, so a Rev 1 disc runs it too. Details on two new pages: Project Forza Plus 4 and how the port runs it.

Thanks to Gas-and-Games for the mod itself, and to @veronicapetsxh (#18) and @cyberbug3006 (#36) for the proposals.


Rev 1 (1.1) Disc 1

  • The Rev 1 releases now work (Europe 42C67824, USA 33E7B39F), with the 1.0 PAL and USA releases still supported. Setup recognises the release from default.xex and builds that release's code.
  • Saves move between 1.0 and Rev 1 installs in both directions. Rev 1's own content, such as the Le Mans fix, comes with it.
  • The game refuses to start on a game folder of the other code, and asks you to run setup again.
  • Title updates are still not applied.
  • Thanks to @veronicapetsxh and @Eggtooth for the proposal (#18).

Play in a window (#22)

  • WINDOWED and WINDOW SIZE at the top of the launcher's GRAPHICS start the game in a window: 1280x720 by default, up to 3840x2160, in real pixels.
  • Alt+Enter switches between a window and fullscreen at any moment while you play. It does not change the setting.
  • Dragging the window's edges keeps its 16:9 shape. A maximised window shows black bars around the 16:9 picture. A window smaller than 1280x720 keeps the game's usual layout, scaled down.
  • With WINDOWED on, the launcher's RESOLUTION SCALE and UPSCALER rows go by the window's size: an upscaler runs while the render fits the window.
  • Versions before 0.3.1 (after GO BACK TO) still start fullscreen.
  • More on the new Playing in a window page.
  • Thanks to @Eggtooth for the proposal.

Upscalers

  • FSR 1 (#27) is a new UPSCALER choice for any GPU. It upscales and sharpens the finished picture after the game's MSAA and post AA, which stay on, and costs the GPU little. It suits a 1080p screen at 1x, such as a handheld. SHARPNESS sets its strength. Thanks to @I-IALIL for the proposal.
  • Mirrors no longer smear under DLSS, FSR 2 and FSR 3. This covers the cockpit's mirrors and the hood camera's mirror. The mirror glass is drawn without jitter and laid over the upscaled picture.
  • Ground and car shadows under DLSS preset M:
    • The car's ground shadow no longer boils.
    • Ground the car just uncovered no longer trails.
    • In races with AI, the shadow follows your car.
    • Gone: black squares with DLAA, shadow copies, cockpit squares and ghosting when the chase camera rotates.
  • Fewer trees popping: foliage, fences and crowds keep the render size's texture detail, so their shapes stay steady in motion.
  • The upgrade shop's part view keeps its backdrop and floor with an upscaler or SHOWROOM MSAA off (#42). Thanks to @marcohunter45 for the report.
  • Turning an upscaler on mid-game no longer races the GPU: the camera depth gets a descriptor set per MSAA tile.
  • No more validation layer errors from the DLSS output image or FSR 3's 16-bit shaders.
  • FSR 2 in a window shrunk mid-game shows the whole scene, instead of its top-left corner.

Known limitation: FSR 3 ghosts a little behind AI cars in hood cam.


Saves and profiles

  • SAVES FOLDER (SETTINGS → ADVANCED) keeps your profiles, their backups and deleted profiles outside data\, for example in a folder you back up or sync (#20). Choose a folder you used before and its profiles appear again, merged with the install's own. DEFAULT moves them back.
  • Careers from Xenia Canary (#35): PROFILE → IMPORT SAVE takes Xenia's content folder. The new profile plays as the Xenia profile the career was made with, because the game only accepts a save from that profile. Liveries come along. Only Xenia Canary saves are supported; Xenia Edge saves are not supported yet. Thanks to @Jwesleyx1 for the proposal, and for the save that made this work.
  • A Xenia save imported with 0.3.0 now loads its career. The launcher repairs it once, at its first start after the update. If you played a new career in that profile meanwhile, the Xenia career gets a profile of its own, named like the old one with "(Xenia)" after it, and your new career stays.
  • UNLOCK UNICORN CARS in CONTENT makes the 17 unicorn cars of the original disc buyable in the Autoshow for every profile (some of them are on Disc 2, so install that too). Rev 1 and Project Forza Plus 4 have most of them unlocked already. Thanks to @veronicapetsxh for the proposal (#18).
  • A new page, [Profiles and saves](https://github.com/...
Read more

Release v0.3.0

Choose a tag to compare

@i2kiselev i2kiselev released this 28 Oct 21:13

FM4 Static Recomp v0.3.0

If you have the launcher, it offers this update itself: it builds 0.3.0 next to your current version and switches over once it's ready.
New players should download FM4StaticRecomp-Launcher.zip.

Important

The first start of 0.3.0 compiles the game's shaders for about 30 seconds before the title screen (longer on a processor with fewer threads). The game may look frozen meanwhile: let it finish. Each version has its own shader cache, so every update does this once. Later starts take a second or two.

Highlights

  • DLSS, FSR 2 and FSR 3 work with FM4, as upscalers or as anti-aliasing (DLAA).
  • SAVE & APPLY on the GRAPHICS page, which now also opens with BACK + START on a controller.
  • Car thumbnails no longer come out flat white or with the car floating without its shadow.
  • Smoother races: no more hitches from the cars' reflections being read back or from Bluetooth controller rumble.
  • Intel GPUs: the flickering lights are fixed.
  • Start from Steam, Pegasus, Playnite or LaunchBox with --skip-launcher.

Temporal upscalers: DLSS, FSR 2 and FSR 3

Thanks to @arcanite24 and the Pinyon Shift contributors, whose DLSS and FSR integration in Pinyon Shift and the ShiftGlue SDK is the foundation this release's upscaler support is built on.

The game can now render at a lower resolution and have an upscaler rebuild a sharp picture at your screen's resolution: 720p to 1440p, or 1440p to 4K. At your screen's own resolution they work as anti-aliasing alone (DLAA, or FSR's native AA).

The Xbox 360 game never computed the depth-and-motion information these upscalers need, so this version reconstructs it from the game's draws: the camera, its cuts between shots, a sub-pixel jitter of the scene, and the motion of every car, wheel, driver and shadow. The README's new Upscalers page explains how, and which to pick.

How to turn it on

  • GRAPHICS page (or the launcher's SETTINGS) → UPSCALER: OFF, FSR 2, FSR 3 or DLSS. DLSS needs an NVIDIA RTX GPU; FSR 2 and FSR 3 run on any GPU. The row skips an upscaler your GPU cannot run.
  • RESOLUTION SCALE sets the render size. With an upscaler chosen it offers only the scales that fit your screen (1x and 2x on a 1440p display, up to 3x on 4K). Choosing an upscaler over a larger scale lowers the scale with it, and says so.
  • SHARPNESS: Off, or 10 % to 100 %; 30 % by default. One sharpening pass for all three upscalers, so nothing is sharpened twice.
  • DLSS PRESET (launcher SETTINGS, shown while UPSCALER is DLSS): Auto picks preset M where DLSS upscales by more than 1.8x on an RTX 40 or later GPU, K otherwise. K, M, J and L force one; Default leaves it to the DLSS runtime and the NVIDIA app.
  • Launch options: --present_effect=fsr2|fsr3|dlss, --present_upscaler_sharpness=0..100, --present_dlss_preset=....

What the upscaler gets right

  • The camera's history is kept through ordinary camera motion and in replays, and dropped only at a real cut to a new shot.
  • The HUD and menu text no longer boil: the HUD is kept out of the jitter and laid over the upscaled picture.
  • Cars, their parts and lamps move with their own motion, not the camera's. A passing car's exhaust tips and the 599 GTO's exhaust and lamps stay steady.
  • Spinning wheels move with their hub, without the spin, which is too fast for any upscaler to follow.
  • The driver moves with the car.
  • The car's ground shadow moves with the car, and so do the other cars' shadows.
  • Cockpit view: the cabin keeps its own motion, and the dashboard displays stop shimmering.
  • DLSS's preset is picked by GPU and upscale (see DLSS PRESET); preset K keeps tyre smoke's shape.
  • Textures keep the detail of the output resolution instead of the render resolution.
  • Car shadows are sharper at 1x: the races' ground shadow map is drawn at 512 instead of 256, the car's own shadow map at 768 instead of 512.

What changes while an upscaler runs

  • MSAA is off, since the upscaler smooths edges itself. SHOWROOM MSAA, RACE MSAA and POST AA show OFF (DLSS) (or FSR) and keep your choice for when the upscaler is off.
  • FXAA is skipped.
  • The replay cameras' motion blur is off, because the upscaler would turn its smear into ghosting (--fm4_upscaler_replay_blur=true keeps it).
  • A scale whose render is larger than your screen (saved before, or a small window) is downscaled without the upscaler. The row then reads e.g. DLSS (OFF AT 3X), and MSAA and post AA apply again.

No freeze entering a scene

  • The shader cache built at setup now includes the upscalers' pipelines, recorded from a DLSS playthrough.
  • A pipeline it still lacks builds in the background while the game keeps drawing, instead of freezing on the way into the showroom or a race.

Known limitations

  • The mirrors carry the wrong motion: the cockpit's mirrors, the hood camera's rear-view mirror, and the side mirrors seen from the chase camera, which look too reflective.
  • Some thin details shimmer: road cracks and painted lines in the distance, distant fences, trees and crowds.
  • The HUD and menus are drawn at the render resolution and scaled up.

GRAPHICS page

  • BACK + START held together on a controller opens and closes the page anywhere, besides F6 and the game's Options menu. Change the buttons with --pad_chord_game_menu (for example LB+RB+START), or turn it off with an empty value.
  • SAVE & APPLY: changes are drafts until you press Y (keyboard: the menu's Y key, Y by default).
    • A changed row is marked red with "Not applied yet."
    • SAVE & APPLY writes graphics.toml once and applies the changes one after another: scale, upscaler and VSYNC first.
    • The status line says APPLYING SETTINGS, then SETTINGS APPLIED. YOU CAN CONTINUE.
    • Leaving with unapplied changes warns once (UNSAVED CHANGES, B discards); leaving again discards them.
  • First switch to a new resolution scale builds its shaders once: the page says "BUILDING SHADERS FOR 3X, FIRST TIME ONLY". It took 11-12 seconds on an RTX 4070 Ti SUPER; later switches to that scale take about 2.
  • New rows: UPSCALER and SHARPNESS, after RESOLUTION SCALE.

Car thumbnails

  • A bought car is no longer saved flat white. The game lights the car from captures of its photo studio. When the studio streamed in late, the lighting came from an unfinished studio and the car came out evenly over-bright, in the car list and in the garage's big car view, which shows the saved thumbnail. The final render now waits a few frames for the lighting to catch up, behind the "saving content" logo (about 0.1 s per purchase).
  • A bought or repainted car keeps its ground shadow in its thumbnail. With SHOWROOM MSAA off or an upscaler on, thumbnails were rendered without the game's MSAA and lost the shadow, so the car looked as if it floated. This came in with 0.2.0. Thumbnails now always render with the game's own MSAA.
  • Every readback a thumbnail needs is kept while it renders, so no part of its render is skipped or left stale.
  • Thumbnails saved by earlier versions stay as they were; repainting the car renders a new one.
  • New automated tests buy a car and check its thumbnail for both problems, including one with the studio deliberately delayed.

Smoother races

  • No more regular small hitches in races. The cars' 16 KB environment captures (their reflections) are read back every few frames. After a pause of about two seconds, a capture's next readback waited for the whole GPU queue: a 4-14 ms hitch every few seconds. Such recurring readbacks no longer wait. In a 69-second replay at 160 fps, frames over 14 ms went from 9 to 1, and the longest frame from 21.4 to 15.3 ms.
  • Bluetooth controller rumble no longer stalls the game. Each rumble write over Bluetooth blocked the game's main loop, a hitch at every kerb and braking point. Rumble is now sent from its own thread.
  • Fewer shader stutters: the shader cache built at setup holds 4,819 pipelines, up from 4,126.

Intel GPUs

  • Flickering lights on Intel GPUs are fixed (#6). On Intel Arc, one of the renderer's generic EDRAM steps garbled the value the game adjusts the picture's brightness with, so the lights jumped every frame in races. Intel GPUs now use the renderer's specialized EDRAM passes by default (fh1_specialize_edram_passes); a value you set yourself still wins.
  • Thanks to @TRB-ST for reporting it on an Arc B580, capturing the frame dumps that showed the cause, and confirming the fix.
  • On a PC with both integrated and discrete GPUs, the discrete GPU is still chosen first.

Launcher

  • Start from Steam, Pegasus, Playnite, LaunchBox and other frontends: FM4StaticRecompLauncher.exe --skip-launcher starts the game on your last profile without showing the launcher (--profile "<name>" picks another). It waits in the background and closes with the game, so the frontend sees the game running the whole time. Its window opens only when you are needed: unfinished setup or build, an unknown profile name, a game that does not start, or a crash. Steam: Add a Non-Steam Game, then set Launch Options to --skip-launcher. Thanks to @Whatscheiser for the proposal (#14).
  • COMMAND-LINE OPTIONS in SETTINGS → ADVANCED: game options for debugging, passed on its command line. One you enter replaces the launcher's own value of the same option instead of repeating it. data\logs\launcher.log lists them at each start.
  • SETTINGS follow the GRAPHICS page: the UPSCALER and SHARPNESS rows, DLSS PRESET while DLSS is chosen, scales limited to your display under an upscaler, and the MSAA and post AA rows shown as OFF (DLSS).
  • Crash reports work with a data folder that has brackets in its name, and crash r...
Read more

Release v0.2.2

Choose a tag to compare

@i2kiselev i2kiselev released this 25 Oct 14:25

FM4 Static Recomp v0.2.2

If you have the launcher, it offers this update itself: it builds 0.2.2 next to your current version and switches over once it's ready.
New players should download FM4StaticRecomp-Launcher.zip.

Setup no longer fails at the Build step on PCs without Visual Studio

  • On a PC with neither Visual Studio nor the Windows SDK installed, setup stopped a few seconds into the Build step with "Cannot operate on a 'null' input object" (#13). 0.2.0 and 0.2.1 are both affected.
  • Setup now downloads Microsoft's C++ runtime and Windows SDK files as intended, after you accept their licences.
  • If setup stopped there for you: press UPDATE TO 0.2.2 at the bottom of the launcher, or download FM4StaticRecomp-Launcher.zip again. Then run the Build step again.

Smaller fixes

  • Reading the Microsoft Build Tools licence no longer fails if Microsoft's catalogue lists a language without a licence text.
  • Crash reports locate the game and its files more reliably.

Release v0.2.1

Choose a tag to compare

@i2kiselev i2kiselev released this 25 Oct 11:51

FM4 Static Recomp v0.2.1

If you have the launcher, it offers this update itself: it builds 0.2.1 next to your current version and switches over once it's ready.
New players should download FM4StaticRecomp-Launcher.zip.

Game language

  • A new LANGUAGE setting in the launcher starts the game in any language it ships: English (US and UK), French, German, Italian, Spanish (Spain and Mexico), Polish, Russian, Japanese, Korean, Traditional Chinese, Brazilian Portuguese,
    Czech, Hungarian and Dutch.
  • Voice-over exists in English, German, French, Spanish, Mexican Spanish, Italian, Polish, Russian and Japanese. The other languages play English voices.
  • It's also available as the launch option --fm4_language.

Separate MSAA for the showroom and races

  • GAME MSAA is replaced by two settings:
    • SHOWROOM MSAA covers the showroom, menus, pre-race, replays and photo mode.
    • RACE MSAA covers races, the countdown and the results.
    • Each can be 4x, 2x or off.
  • They use the game's own MSAA modes, so they now work at 1x resolution scale too.
    • The new Off is faster than the old GAME MSAA Off. In a 12-car race at 3x: 141 fps against 130.
    • 2x gets 124 fps and 4x 116.
  • Changes apply from the next screen or race.
  • Presets:
    • Console: 4x showroom / 2x races, as on the console.
    • High and Ultra: 2x / 2x.
    • Experimental: 4x / 4x.

Scenery shadows are now Experimental only

  • The High and Ultra presets no longer turn on SCENERY SHADOWS.
  • Known bug: a shadow can vanish or flicker as its object nears the edge of the screen, most visibly on large objects (#3). It will be addressed separately.

Fewer shader stutters

  • The shader cache built at setup now holds 4,126 pipelines, up from 3,497. It adds pipelines for the new MSAA modes and from longer play.

When you update

  • Your previous GAME MSAA and RACE MSAA choices are not carried over. Pick a graphics preset again, or set the two MSAA rows.

Release v0.2.0

Choose a tag to compare

@i2kiselev i2kiselev released this 25 Oct 08:37

A feature release: the game now comes with a launcher. Download one zip, point it at your
Disc 1, and it builds and runs the game. You no longer need the command line, administrator
rights or Visual Studio.

New

  • Launcher (FM4StaticRecomp-Launcher.zip, the only file you need from this release).
    Extract it into a short folder you own, such as D:\FM4, and start
    FM4StaticRecompLauncher.exe. Its first screen walks you through five steps:

    • Disc 1: an ISO, a GOD folder or an extracted folder. It is checked and extracted.
    • Disc 2 (optional): you can also add it later.
    • Microsoft licence: accept it, or use Microsoft's installer instead.
    • Build.
    • Your profile.

    After that, PLAY. See the README's Launcher section.

  • Profiles: separate saves, each with its own gamertag. You can add, rename, import and
    delete them.

  • Content: installs Disc 2 and DLC at any time. Files that are not FM4 DLC are refused.

  • Settings in the launcher: the GRAPHICS page's settings, launch options and advanced
    options.

  • Updates in the launcher: it checks GitHub at start. UPDATE TO builds the new version
    beside the current one, which you can keep playing while it builds. GO BACK TO switches back.
    Each profile's save is zipped to data\backups\ before a new version first runs it.

  • Crash reports: after a crash, the launcher offers a report with your folder paths and
    gamertag taken out, ready to attach to an issue.

  • Builds without administrator rights: setup downloads the parts of Microsoft's C++ runtime
    and Windows SDK it needs (about 300 MB) once you accept their licences. You no longer need
    Visual Studio or Build Tools. With the command line, pass -AcceptMicrosoftLicense to
    tools\setup.ps1.

  • CAR DIRT setting on the GRAPHICS page: ON or OFF. OFF leaves cars clean.

  • One frame rate everywhere: menus, the showroom and the GRAPHICS page now run at your
    FRAME RATE too. Only loading screens stay uncapped, so loads stay fast.

Fixed

  • Install folders with non-English letters now work (#12). The build tools still cannot
    run from a folder with [ or ], or with parentheses together with non-English letters.
    Setup and the launcher now check for this and name the folder, instead of failing partway.
  • Lines down the front of cars from the dirt layer are gone. Xbox 360 footage showed they
    were an emulation bug, not part of the game.
  • Esc on the GRAPHICS page no longer reopens the page when it was opened from the keyboard.

Changed

  • Keyboard steering responds a little faster.
  • The ShiftGlue SDK is updated with Pinyon Shift 0.6.1's upstream changes.
  • Setup deletes the build tools' downloaded archives once unpacked, which saves disk space.

Updating

Launcher (recommended): download FM4StaticRecomp-Launcher.zip and set up in a new folder.
To keep your progress, use PROFILE → import and choose your old state folder
(.local\state in your repository) or its user folder.

Command line: close the game first, then:

git pull
powershell -NoProfile -ExecutionPolicy Bypass -File tools\setup.ps1 -GameRoot D:\FM4\disc1 -AcceptMi

Setup rebuilds the game. The shader cache format changed with the SDK update: setup rebuilds
your cache from the shipped list, and only pipelines beyond that list are lost. Your save,
settings, Disc 2 and DLC stay as they are.

Release v0.1.3

Choose a tag to compare

@i2kiselev i2kiselev released this 21 Oct 18:46

A feature release: the game now plays on the keyboard, and setup builds the shader cache from
your own Disc 1 in about a second instead of a 20-minute warm-up.

New

  • Keyboard play beside the pad, with a layout after Forza Horizon 6's: W/S throttle and
    brake, A/D steer, Space handbrake, E/Q gears, arrow keys to look around, Esc pause. Steering,
    pedals and looking around ramp up and ease back smoothly. Keys can be rebound in
    config\controls.toml; see the README's
    Keyboard section.
  • Keycap prompts: while the keyboard is the last device you used, the game's button icons
    show the bound keys, and English prompt sentences ("PRESS THE BACK BUTTON...") name them too.
    Touch the pad and the controller buttons come back. A few prompts still show the pad (#11).
  • Shader cache built from your disc at setup, replacing the warm-up races. Setup reads the
    shaders on your Disc 1 and adds the 3,497 pipelines of a shipped list to your shader cache;
    the repository holds only that list, no game data. The first launch then compiles them for
    your GPU before the title screen (about 20 seconds on an 8-core CPU). In a scripted race on a
    fresh install, 16 pipelines compiled in play instead of 574. -SkipShaderCache leaves the
    step out.

Documentation

  • The README is shorter and reorganised. Known issues now live in
    GitHub issues instead of a list.

Updating

Close the game first, then:

git pull
powershell -NoProfile -ExecutionPolicy Bypass -File tools\setup.ps1 -GameRoot D:\FM4\disc1

Setup fetches the new SDK and rebuilds the game. Your existing shader cache is kept and only
added to; the first launch after the update can take up to about 20 seconds longer while
the new pipelines compile. Your save, settings, Disc 2 and DLC stay as they are.

Release v0.1.2

Choose a tag to compare

@i2kiselev i2kiselev released this 20 Oct 18:03

A maintenance release: the ShiftGlue SDK is updated to Pinyon Shift 0.6.0's version, with
a few settings and fixes on top. Gameplay and the picture are meant to stay as in 0.1.1.

New

  • VSYNC setting on the GRAPHICS page. Off by default, which is right for G-Sync/FreeSync
    displays; turn it on if you see tearing.
  • New shader warm-up at setup: ten races with ten cars on ten tracks, covering more of the
    game's shaders than the old five-track route (about 20 minutes). It writes straight to your
    shader cache, so you can stop it at any time and keep what it has built.
  • Added --fm4_skip_intro option to skip the startup disclaimer and studio videos.

Faster

  • The SDK's command recorder speed-ups are on: about 4-11 % more draws per second in races.

Fixed

  • Alt-tabbing out of a race with VSYNC off could halt the picture; it now recovers within
    about a second.
  • The Build Tools installer now shows its progress instead of an empty elevated window
    (it takes 10+ minutes).
  • AMD GPUs: a crash (device lost, "Failed to await submission completion Vulkan fences")
    is fixed. The game could wait on a GPU fence before it had been submitted, which AMD's driver
    does not tolerate. Not yet tested on an AMD card with this build; reports welcome.

Updating

Close the game first, then:

git pull
powershell -NoProfile -ExecutionPolicy Bypass -File tools\setup.ps1 -GameRoot D:\FM4\disc1

Setup rebuilds the game. Your existing shader cache is kept. To fill it with the new warm-up's
wider coverage, run tools\warm-up.ps1 -GameRoot D:\FM4\disc1.

Release v0.1.1

Choose a tag to compare

@i2kiselev i2kiselev released this 18 Oct 09:33

What's new

  • Forza Motorsport 4 (USA) 1.0 Disc 1 is supported (#1). Thanks to @gw1337x who proposed it.

Fixes

  • "Disc read error" when loading a race with a DLC car if the project folder path is long (#4). Installed DLC nests deeply, and files past the Windows 260-character path limit could not be opened, so the game reported a disc error. DLC now loads at any path length; no Windows setting is needed.

Documentation

  • Performance benchmarks against Xenia Canary.
  • Issue reporting conventions and a template.
  • YouTube showcase videos.
  • A known-issue note for AMD GPUs (#2).
  • Smaller README fixes.

Updating

  • Close the game, then run git pull and tools\setup.ps1 as in the README's Updating section. Setup fetches the new SDK and rebuilds.
  • Your save, settings, Disc 2 and DLC stay as they are.