Changes
- Macs: races at full speed.
- The shader translator's output kept every guest register live through one big dispatch loop, and Apple's Metal compiler spilled kilobytes per vertex.
- On Apple devices the game now rewrites those shaders when it loads them, into the same steps in order.
- On an M1 Mac mini the race's GPU time went from about 145 ms to 6.4 ms a frame (6.5 → 60 fps), and the race keeps real speed.
- Other platforms get exactly the same shaders as before.
- iPhone: the game no longer stops at its first frame (#185).
- The game window wasn't high-resolution, so the screen refused every frame as the wrong size. The window now matches the screen.
- A refused frame now rebuilds the swap chain instead of ending the game.
- Going to the background and back is handled too.
- The launcher shows Chinese properly on iOS.
- Phones: the game stays in landscape (#177). It used to turn with the phone and could start in portrait; it now keeps landscape like the launcher.
Everything else is the same as v0.10.5.
Validation
- macOS app, as packaged (M1 Mac mini): a whole Dolphin Resort race at full speed (speed 1.0, 2,668 race frames, all 455 pipelines). Earlier releases ran at about 0.15 speed on the same Mac.
- The Apple shader rewrite:
- 242 of the pack's 476 shaders are rewritten.
- All pass
spirv-val. - A shader interpreter gives bit-identical outputs over 2,521 runs.
- Forced on an RTX 4090 with the Khronos validation layer: a boot and race with no messages.
- The picture is the same; a few texture coordinates differ by tiny rounding.
- iPhone, in the iOS Simulator:
- The game gets past its first frames and plays the opening movie in landscape.
- It survives a trip to the background and back.
- The Simulator's GPU can't draw the title screen, so the title screen and races are untested on iPhone.
- Landscape on Android: on an AYN Thor, SDL's log shows the game now asks for landscape only (
requestedOrientation=6, was 13: every orientation). - Windows x64 package, Vulkan, with the validation layer: a whole race, no validation errors, all 455 pipelines, no untranslatable code.
- AYN Thor, this release's APK: Dolphin Resort at full speed (0.999, 60 fps), all 455 pipelines prepared.
- Unit tests: 156 passed on Linux. GitHub Actions builds and tests passed on Windows, Linux, macOS and Android.
Downloads
- Windows x64: download and extract the Windows ZIP; run
FreeRidersRecompiled.exe. - Linux x64: download and extract the Linux archive; run
FreeRidersRecompiled. - Android 10 or later: prefer
android10-arm64.apk. - Android 9: use
android-arm64.apk. - Android version code: 54. The companion licence archive applies to both APKs.
- macOS (Apple Silicon): download and extract the macOS ZIP; open
FreeRidersRecompiled.app(right-click › Open the first time). - iOS:
ios-arm64.ipa, to install with your own sideloading tool. - Checksums:
SHA256SUMS.txt.
Use your own game disc image. No game data, private saves or test overrides are included.
Known limitations
The same as v0.10.0, except that Mac races are no longer slow. On iPhone, text fields don't bring up the keyboard yet.