github RenanQueiroz/mcla-recomp v0.3.1

latest release: v0.3.2
4 hours ago

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=false turns 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=false turns 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=false turns 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 (the CPU: 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=false turns 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 in release.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 (FidelityFX eee08db1, 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).
  • game in release.json holds 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.

Don't miss a new mcla-recomp release

NewReleases is sending notifications on new releases.