A fix release for v0.3.0: menus, the HUD and the title screen now work properly at any frame rate, and small CPUs get steadier audio. Everything is on by default. The launcher builds Midnight Club: Los Angeles Complete Edition (Xbox 360, USA/Europe, title 545407F8) from your own disc image; no game data is in any of the files below.
What changed
Menus and the HUD
- One press is one step at any frame rate. The game counted frames to repeat a held button, so at 120 FPS a tap could step a menu two or three times.
- Menus answer on the next frame, not up to 33 ms later.
- Smooth UI: menus, the pause menu's camera and panels, and the HUD glide at 50 FPS and above, at their original speed (measured, tried by hand). One SMOOTH UI row in DISPLAY and a Smooth UI launcher setting replace the HUD update rows (
--mcla_ui_interpolate=falseturns it off). The song ticker scrolls at the console's speed again. - The PERFORMANCE and DISPLAY pages fit the screen. Restart-only settings say "(RESTART)".
Title screen and races
- Start works on the first press above 30 FPS (at 120 FPS it was missed about 2 times in 3). The same fix covers any game script that waits for a button press.
- The race countdown keeps time with the race at 60 FPS and above. It fell behind before, so races started on "2".
Controllers
- DualSense adaptive triggers on PC: throttle and brake resistance, on by default for the DualSense and DualSense Edge (
--mcla_adaptive_triggers=falseturns them off). - PS5 build: DualSense rumble from holdmysocks/mcla-recomp, by Zaid Naeem; haptics and adaptive triggers there are opt-in (
docs/building.md). The PC triggers follow their PS5 behaviour and option names.
Small CPUs and the log
- With 5 or fewer threads, the speed-ups now also apply to 4 cores without Hyper-Threading, and the audio gets a higher thread priority and a queue that grows after a dropout (
--mcla_small_cpu_defaults=falseturns it off). On a PC slowed down with four busy programs, the audio dropouts were gone in 5 of 5 runs. If the audio crackled on your small CPU (#21), please tell us whether it's better, and which CPU you have (theCPU:line of the game's log). - The "Too few processor cores" warning is logged once, not about 1,000 times a second.
The README is shorter and the details moved to docs/. Menu and HUD timing and the countdown fix build on LARecomp's notes and findings on the game's UI. Every change has an off switch, listed in docs/off-switches.md; type it under the launcher's Advanced › More mcla.exe options.
Known problems
- Smooth UI blends only at 50 FPS and above and shows the game up to 33 ms late (the pause menu's camera 25 to 58 ms); text scrolling inside a box stays stepped.
- The small-CPU changes were tested only on a fast CPU limited to 4 cores, not on a real older CPU. Under heavy load, frame pacing at a 30 FPS cap was sometimes a little worse;
--mcla_small_cpu_defaults=falseturns the changes off. - As in v0.3.0: fine dots may remain at the edges of palm leaves and in some soft shadows; the story cars' vinyls (#14) are not checked.
Not tested
Everything was tried on one PC (Ryzen 7 9800X3D, RTX 5080, Windows 11, Direct3D 12). Not tried: Vulkan, frame generation, Linux, the PS5 build (the DualSense code is upstream's, not built or run here), a real CPU with 5 or fewer threads. The triggers were tried by hand on one DualSense over USB; the nitro buzz was not. Please tell us how it went in the issues, whether it works or not.
Installing or updating
Already have v0.3.0? Open the launcher and press Update and rebuild when it shows An update is available.
New install: download MCLA-Setup.exe and run it. It is unsigned, so Windows SmartScreen may stop it: click More info, then Run anyway. The setup wizard then builds the game from your .iso; it needs the internet and about 10 GB of disk.
Files
Release v0.3.1, built from commit baa3ebc15b2490f57cad9382d044263362ffe1f6 by https://github.com/RenanQueiroz/mcla-recomp/actions/runs/40961571022.
| Asset | Size | SHA-256 |
|---|---|---|
MCLA-Setup.exe
| 58.6 MB | fe337771c60643e56493a4f84433041f4b69c2a6d542a4167243449fe4df7170
|
MCLA-Launcher-v0.3.1-win-x64.zip
| 70.4 MB | e521192d7cf90c7b6aaf11b8f3fcfdc4ffc6974b330b2decff13446de4b50e99
|
rexglue-sdk-f5337cdc-a0a4c7b93481-llvm-mingw-20250709.zip
| 28.1 MB | d18ffb3d632e178a2995f9e8179faa094af4693066c594d0ece342fca908e86f
|
rexglue-sdk-source-f5337cdc-a0a4c7b93481.tar.xz
| 73.3 MB | a5afd648c3662a1fe01d249231dd381783e0ac71b03647e1f29aee45b6af4bf7
|
release.json
| 8.1 KB | 7611d77a6030350e174292d93e15f9fde7b1c6dbc26acf4f6a8ac9db7b9dff9b
|
NOTICES.txt
| 32.2 KB | 12a03578cc3ac87bc95b801d1934b8789dc98edcace570d0a62e80cecb9ef509
|
SHA256SUMS
| the sums of the six above |
release.json is what the launcher's installer reads; NOTICES.txt has the licences and notices of everything in the assets. Every asset has a build-provenance attestation (gh attestation verify <file> -R RenanQueiroz/mcla-recomp).
- MCLA-Setup.exe: the one file a player downloads. Run it: it installs the launcher for the current user (no administrator rights asked for) in
%LOCALAPPDATA%\Programs\MCLA, makes a Start menu and a desktop shortcut and starts it; the launcher's setup wizard then builds the game from the player's own disc image. Unsigned, so Windows SmartScreen may warn (the README says how to go on). The launcher updates itself by downloading this asset (SHA-256 inrelease.json) and running it with--update. - Launcher zip: the same launcher folder as a zip, for anyone who wants it without the installer: unzip and run
MclaLauncher.exe; .NET and the Windows App SDK are inside. Unsigned. - SDK bundle: the ReXGlue SDK (f5337cdc) with the fork's 71 patches (digest
a0a4c7b93481), built with llvm-mingw 20250709, and FSR's two runtimes (FidelityFXeee08db1, built with the C runtime linked in, so no Visual C++ Redistributable is needed).scripts/make_pc.ps1 -Toolchain mingw -SdkBundle <this zip> -SdkBundleSha256 <the hash>uses it. - Source archive: the corresponding source of the bundle's GPL and LGPL parts (the SDK tree at the pinned commits with the patches applied, and the fork at this commit).
gameinrelease.jsonholds the fingerprints of the supported game (names, sizes and SHA-256 of its files: no content) for the launcher's setup wizard.- No game data is in any asset. The game is built on the player's PC, from their own disc.
When publishing: leave the Target as it is (baa3ebc1), so that the tag is made on the commit this was built from. The tag must point at baa3ebc15b2490f57cad9382d044263362ffe1f6, which release.json names; the launcher's installer checks that.