Added
Performance (issue #48, in this build)
- Much faster starts after an update or a cold shader cache: the game keeps its own Vulkan pipeline cache, so the first frames no longer spend 10 - 13 s building pipelines (under 1.1 s on 4 cores once the cache is warm).
- DX12 starts again (v0.20.0 ran out of descriptor slots about a minute in) and uses much less video memory: 15 minutes at 1080p took 2,403 MB, now 2,010 MB (Vulkan: 1,831 MB). A texture that cannot be made no longer crashes low-VRAM cards, and licence plates go away with their car.
- Racers' line planning runs in parallel, and leaving the garage no longer hitches for 150 - 180 ms.
Cars, bikes and parts
- Night dashboards light up as the original's: the dials, needles and gauges.
- Pop-up headlights rise and fold; suspension arms and shocks and the bike's fork and swing arm move with their wheels.
- A torn-off bumper sets up, sounds and disappears with its car; its impact and scrape sounds are the original's.
- Bike riders' animations follow the original's rider state machine in every riding state (start, endo, nitro).
- Car materials use their own anisotropic filtering.
Traffic, people and police
- Traffic semis no longer jump and fall out of the world; traffic wheels roll and steer as the original, and the first frame's velocity starts from the spawn point.
- Traffic follows and stops behind the car ahead and at red lights as the original; lane entries, obstacle filing and the per-frame update order follow the original.
- Walkers drop their face and hands beyond 30 m; story bystanders wear the sets their scripts load (the day and night packs for the champs).
- Story men the scripts park stand in their cars, and meetings happen at the scripts' places; a won story series sends the BESTOF_SH_05 / BEAT_SH_02_EXOTIC man away; cruising hookmen drive their own cars.
- The cops' "sees the target" test is the original's.
Races and career
-
Pause is blocked while the game warps into a cutscene, as the original (garage drive-in, hangout entry, FIND and story meeting places).
-
Declining a telephone challenge works as the script does.
-
Racers: the off-the-line test, the plan distance, the opponent car pick (class from the vehicle table) and the band's equal-sample value follow the original; opponent engines past the 7th car and the hangout radio's pause and resume work.
-
A tournament's race has three opponents, as the original's script sets it; ARCADE's NUMBER OF OPPONENTS row is limited as the original limits it (7).
-
A delivery's lent car wears its race's set-up (paint, parts, livery and performance of all 25 deliveries); the payback hangout's ACCEPT sets the car down at zero speed as the original does; a team flag game's end waits as the race-over list does.
-
Five cars' camera files are read (the Challenger 06 DUB's cockpit, the GTO 66's and the CL65's chase views, the Golf 83's and the Range Rover Sport's look-back), as the original reads them by name hash.
-
The player camera is reset at the original's reset points (after a set-down, QUICK FIX, the gas station's full fix and every race set-up); the GPS jump switches the city to its far models above 750 m.
Menus and HUD
- The nitrous bar returns to its colour after a slipstream.
- Message boxes show CONTINUE (one choice) or ACCEPT (two).
- Flash masks clip and texture swaps work as the original.
- The VEHICLE SELECT starters stand with their lamps and exhaust off.
Cameras, lighting and sea
- Letting go of look-back during an ability cuts to the ability camera; the camera effects' defaults are the original's.
- The police camera's look in the traffic-stop dash-cam walk and the delivery get-keys scene; the day road reflection fades at dawn and dusk; the beach surf strip, the far sea fog and the sea textures follow the original.
Sound
- A sound started part-way in begins on the original's 128-sample boundary (113 recorded starts all equal); background music is cleared in the GH_06 story race; the radio resuming mid-song when you leave the garage no longer freezes the game.
Physics
- Car-versus-city collision (per-polygon contact, the hull polygon loop), the contact refresh, hull and wheel contacts sharing one contact store (a wheel no longer drops a 7th contact), the racers' safe place and set-down and the broad-phase swept sphere were checked bit for bit against the original.
Fixed
- Settings saves no longer collide between the game and the launcher: each save stages in a file of its own, saves wait out a passing "access denied" on Windows, and a read that hits that moment no longer makes the game or launcher fall back to defaults.
Known issues
- Many of this build's changes were checked against the original's code or recordings, not by playing; please report anything that looks or drives wrong.
- DX12: on 4 GB cards DX12 has not been tested since the memory changes, so keep using Vulkan there. DX12 still uses about 180 MB more than Vulkan after 15 minutes, and its first start after an update spends a long time building shaders (one frame took 43 s).
- Stutter: the race start's first tick takes 208 - 264 ms on 4 cores, and entering a hangout has one 127 - 152 ms tick.
- Menu frames, the pause background and the phone are not shaded like the original; popups ignore the animated, pause and priority settings; rider scene gestures play over the riding pose (the head pan still works); the police camera overlay is not drawn; by-day dial numbers are darker than the original; the livery compression job is not ported.
- START is blocked near story and FIND places until the next cutscene ends, as in the original.
- A rare Escalade traffic fall was seen once in over 30 hours of free roam and is not reproduced.
- Issue #43 (the swerve) is open and needs a recording of the original.
- Bikes have the neon's light quads but not its shadow body quad.
Install and update
New here? Download RustyMCLA.exe, put it in a folder of its own and start it; it walks you through the setup. You need your own disc image of the Xbox 360 version of the game (Midnight Club: Los Angeles, Complete Edition). Nothing of the game is included.
Already installed? The launcher offers this update by itself. You can always skip it.
The launcher is not code-signed, so Windows may show "Windows protected your PC". Choose More info, then Run anyway, after comparing the SHA-256 below with your download.
Build
Built on GitHub Actions from commit b3de9875a5017c10a4202b25a5d88b38ce028ec1: https://github.com/holdmysocks/rusty-mcla/actions/runs/43327211586
SHA-256:
fd9f48578989594648ad3e7547a009c5b13bcddca5c304010fd0cdb5d9690d49 RustyMCLA.exe
bf1326f6c54e2cecfd40f08467052f14c7d981aeecec498d1f5e5d8fe38539ee game-0.21.0.zip
This is an unofficial fan project. It is not affiliated with or endorsed by Rockstar Games or Take-Two Interactive. It is licensed under the GNU General Public License, version 3 only.