Skip to content

About

Static recompilation of Midnight Club: Los Angeles (Xbox 360) for PC and PS5. No game data included.

Resources

Stars

50 stars

Watchers

2 watching

Forks

Repository files navigation

MCLA

Static recompilation of Midnight Club: Los Angeles Complete Edition (Xbox 360, title 545407F8) to native code, for PC and for jailbroken PS5 consoles.

The game installed on a PS5 home screen

Installed on a jailbroken PS5. The tile here is one the user supplied at build time; the background is made from the art on their own disc.

Fixed, 2026-10-12: the car reflection bug. Cars no longer come out white with a glow around them at night; the paint mirrors the street again. The Xbox 360's GPU and the PC graphics interfaces treat one blend mode differently, which turned every light glow in the cars' reflection map into a solid square. The fix is in the SDK patches for both renderers: Direct3D 12, and Vulkan, which the PS5 version uses. It is confirmed in game on Windows with Direct3D 12 and on a PS5. To get it, update and run your build command again. Cause and details: REFLECTION_FIX.md.

The same spot before and after the fix, at night and at noon

Before (left) and after (right), at 23:30 and at noon, on Windows with Direct3D 12.

This repository contains no game code, assets or keys. You supply your own legally obtained copy; a script extracts what is needed on your machine, and the recompiled code is generated locally and never committed.

Status

Target State
Windows, D3D12 Boots; menus, races, garage and upgrades work with audio and controller. 30 FPS with occasional texture-load hitches. Car reflections fixed.
Windows, Vulkan Reaches the title screen. Not tested further. Has the car reflection fix.
Linux Builds and plays natively on Vulkan: free roam holds 30 FPS on an Intel Core Ultra 5 238V laptop (Lunar Lake, Mesa ANV) with two Linux patches to the SDK. Tested by one user; the recovery loop is not ported. Build guide: docs/linux-build-guide.md.
PS5 (jailbroken) Plays: career, races, garage, saves, audio and controller, at a steady 30 FPS on a PS5 Pro (firmware 13.42), where the zoomed-out map runs at 20 to 25. Also tested on a PS5 Slim (firmware 12.70), installed from scratch with the one-command build, where it runs well; frame rates were measured on the Pro only. Car reflections fixed, confirmed on a console. Build and install with one command: docs/ps5-build-guide.md.

Details and open problems: docs/known-issues.md.

Which release of the game

Everything here was made with, and is only known to work with, Midnight Club: Los Angeles Complete Edition, USA/Europe, for Xbox 360 (title id 545407F8). The hooks and function hints in config/ are addresses in that release's executable; another region or revision would need them checked again.

How it works

The game's PowerPC code is translated to C++ ahead of time by the ReXGlue SDK (BSD-3, derived from Xenia), which also provides the Xbox 360 kernel, GPU and audio reimplementation. This repository holds the project manifest, function-recovery hints, a small host application, SDK patches, scripts and notes. See docs/architecture.md.

Building and running (Windows)

.\scripts\make_pc.ps1 -Iso C:\path\to\your.iso

It clones and patches the ReXGlue SDK, builds it, extracts your game, recompiles its code and builds mcla.exe. Then double-click the Midnight Club Los Angeles shortcut it leaves in the repository folder (or mcla.exe itself); no options are needed. Requirements (Git, CMake, Ninja, Clang 20, Visual Studio Build Tools, Python 3), every step by hand, options and troubleshooting are in docs/pc-build-guide.md.

Building and running (Linux)

There is no one-command script yet. docs/linux-build-guide.md has the steps (the same as on Windows, by hand, with the linux-amd64 presets and two extra SDK patches), then:

./scripts/play_linux.sh

Building and installing (PS5)

bash ps5/make_ps5.sh --iso /path/to/your.iso --console <console address>

on Arch Linux as root (a few commands to set up under WSL2 on Windows). It builds the toolchain, the Vulkan driver, the recompiler and the game from your own disc image, and uploads the result to the console. The whole procedure, requirements and troubleshooting are in docs/ps5-build-guide.md, written so that it can also be handed to an AI coding agent.

Layout

Path Contents
config/ Function-entry hints, each file documenting how its entries were found
src/ Host application: audio fallback, crash tracer, function-pointer scan
patches/ Changes to the ReXGlue SDK, among them the car reflection fix
scripts/ Extraction, build, run and analysis scripts
ps5/ The PS5 host, the one-command build (make_ps5.sh), title packaging and console probes
docs/ Build guides for PC and PS5, recon report, architecture, function recovery, known issues, PS5 port notes

Credits

  • ReXGlue SDK by Tom Clay and contributors; Xenia by Ben Vanik and contributors.
  • LARecomp by mzzvxm and contributors. The t: drive mapping and the diagnosis of the SDK vblank timer problem come from that project's notes.
  • PS5_Vulkan by mihawk-99 (GPL-3): the RADV port and toolchain the PS5 version is built on.
  • XenonRecomp by hedge-dev, on which ReXGlue's analysis builds.

Licence

GPL-3.0-or-later; see LICENSE. Midnight Club is a trademark of Take-Two Interactive. This project is not affiliated with or endorsed by Rockstar Games or Take-Two.

About

Static recompilation of Midnight Club: Los Angeles (Xbox 360) for PC and PS5. No game data included.

Resources

Stars

50 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages