The zip below is everything needed to build the game from your own disc: the build scripts, the SDK patches, the function hints, the host application and the guides. As always, it holds no game code, assets or keys; the build takes those from your own copy of Midnight Club: Los Angeles Complete Edition (USA/Europe, Xbox 360) on your machine.
Stuck on one shot of the city when an event starts (#6)
What was reported. Starting a Red Light race, the camera stayed on one shot of an intersection: people walking, music playing, and no input doing anything.
The likely cause. Before an event (and on the way to the garage) the game moves your car behind a short camera flight. Its "warper" notices the end of that flight by predicting it one frame early, from a duration measured at the console's fixed 1/30 s frame. This build times frames by real time, so the warper can miss that frame, and then it waits forever. LARecomp found and measured the same hang with the garage picked from far away.
The fix. src/warp_fix.cpp, ported from LARecomp (with its author's permission): after each warper update, a camera flight that has ended without the game noticing is finished the way the game would have finished it. It is on by default (mcla_warp_fix), and logs warp fix: ... finishing the warp when it steps in.
How far it has been checked. Built and run on PC; a trip to a nearby garage still works. The hang itself was not reproduced here (it needs an event or the garage far from where you are), so whether this is what happened in #6 is not confirmed yet. If you hit it again, please comment on #6 and attach the log.
Linux build (#4), by @MoonFuji
The game now builds and plays natively on Linux with the Vulkan renderer: docs/linux-build-guide.md and scripts/play_linux.sh. Two small SDK patches go with it: page-protection lookups through the PROCMAP_QUERY ioctl instead of reading /proc/self/maps on every GPU write-watch fault (free roam from 23.6 to 29.9 FPS on their laptop), and short waits that sleep instead of spinning. Tested by the contributor on Ubuntu 26.04 with an Intel laptop; see the guide for what has not been tested.
PS5: short waits that spun
That second patch fixes code the PS5 build shares: a wait shorter than 1 ms spun instead of sleeping, which on Linux kept the game's audio worker at 62% of a CPU core. ps5/make_ps5.sh now applies it too. Built for PS5; not yet run on a console, so no measurement there yet.
Also
- Windows build: SDK checkouts where Git made real symbolic links (Developer Mode, or an administrator prompt) no longer stop step 2 (#3).
.recomp.jsonat the root describes the project for recomp.board and similar lists.
Getting it
New build, Windows (details in docs/pc-build-guide.md):
.\scripts\make_pc.ps1 -Iso C:\path\to\your.isoNew build, PS5, on Arch Linux as root (details in docs/ps5-build-guide.md):
bash ps5/make_ps5.sh --iso /path/to/your.iso --console <console address>Linux: docs/linux-build-guide.md.
If you already have a build: update (git pull, or unpack the zip over your copy) and run the same command again; only what changed is rebuilt.