github alondero/automobililamborghini-recomp v0.10.0
Automobili Lamborghini Recompiled v0.10.0

3 hours ago

⚠️ You must supply your own ROM

This release contains no game assets or code from the original cartridge. It ships
only the recompiled executable and optional replacement artwork. To play, you must obtain
a legal copy of Automobili Lamborghini (USA).z64 (the North American release is the only
one supported) and place it next to the executable before launching. See BUILDING.md
for the full instructions; in brief:

  1. Extract the archive for your platform into its own folder.
  2. Drop Automobili Lamborghini (USA).z64 into that folder.
  3. Launch the binary.

Game saves go alongside the ROM (or under %LOCALAPPDATA%\LamborghiniRecomp on
Windows / ~/.config/LamborghiniRecomp elsewhere — see README.md).

What's working

The headline of this release is configurable race fields of 2 to 16 cars:
Enhancements > Cars per race now picks the size of the field you race in, so a
six-car grid is no longer the only option. Expanded fields use normally hidden car
types and extra colour variants, keep the native rear start, and fit both results
screens into the original panels — including two-digit finishing positions such as
10/16 and 14/16. Fifteen pull requests have landed on main since v0.9.0.

Also new in this release: ray-traced sun shadows now cover every player race on
all six circuits and every car, instead of a short validation whitelist; the car
details card survives the race
and now appears on the menu you return to after
finishing; a Reset button in the menu overlay returns to the title screen without
closing the game window; and a new Unlock reverse tracks cheat lets you pick the
reverse direction without earning it in a Championship. The optional texture packs are
attached below, including the full HD pack, which was not offered as a download
with the port before.

There's still glitches so please report issues you find.

Optional texture packs

The replacement artwork is shipped as separate downloads. Choose one pack, and disable
any other overlapping pack.

Optional download What changes
automobili-lamborghini-rt64-text-only.rtz Fonts and individual glyphs only.
automobili-lamborghini-rt64-text-hud.rtz Fonts, gauges, HUD labels/arrows, and menu controls.
automobili-lamborghini-rt64-hd.rtz The complete HD texture pack: remastered cars, scenery, skies, signage and UI.

Each archive has a matching -metadata.zip containing pack metadata, credits, artwork
and font licences, provenance, compatibility notes and checksums. SHA256SUMS covers
the platform packages, all three texture archives, their metadata bundles and every
screenshot in this release.

Install one pack: open Mods & texture packs, install the .rtz and enable it.
Disable any other variant and any overlapping pack. If you previously configured
texture_pack in graphics.json, clear it and remove LAMBO_TEXTURE_PACK from your
environment so the legacy override does not take priority. See the modding guide.

These packs come from the texture pack project, which published version
0.3.0 alongside this release. The full pack keeps its existing -hd mod id.
Older ports may fall back to native textures on the HUD tiles whose identities
changed; use these packs with v0.10.0 for the corrected HUD matching.

Screenshots

Windows RT64/D3D12 captures at 1280 x 720. The PNGs are also attached below.

A 16-car field — the new race-field setting, with the original textures and with
the full HD pack:

Original textures Full HD texture pack
Sixteen cars at the start line Sixteen cars at the start line with the HD pack

Ray-traced sun shadows, now available in every player race. Both captures are the
same corner of Circuit 4; with the feature on, the car and the guardrail cast real
shadows instead of the native blob.

Original textures Ray-traced sun shadows
Race with the native shadow Race with ray-traced sun shadows

The title screen, with the original wordmark and with the full HD pack:

Original textures Full HD texture pack
Title screen Title screen with the HD pack

The full HD pack in a race, with the original car and the replacement scenery:

Race with the full HD texture pack

The car details card, the optional card that now also appears on the menu you
return to after a race:

Car select with the details card

The race results, and the circuit setup screen whose DIRECTION row the new
reverse-track cheat unlocks:

Results after a race Circuit setup
Race results Circuit setup with the direction row

Closed since v0.9.0:

Races / field size

  • #324 / PR #325 adds Enhancements > Cars per race, selecting 2-16 total cars including the player, with six as the default. A count-only change exhausted the game's allocation pools and left later opponents stationary, so the undersized guest tables were relocated, the pools expanded, the AI dispatch extended and their host readers updated. Fields above eight interpolate positions inside the four authored starting rows, and the rear start is preserved. The minimap now reads the relocated car records and repeats its eight marker colours for entrants 9-16. Both finish-screen phases print decimal ranks; the large font gained gold-tinted fallbacks for the digits 0, 7, 8 and 9. Championships and arcade sequences keep their starting field size between rounds, and championship entrants and points survive. See the race-field notes.
  • PR #333 fixes a stall in expanded fields. With 16 racers the AI pace controller could read past two tables authored for eight entrants; a car starting on grid seed 9 on Novice read the next difficulty row's zero entry, clamped its pace target to zero and stopped accelerating. The three lookup temporaries are now bounded. Actual ranks, grid seeds, difficulty and the native indexes 0-8 are unchanged.

Ray-traced sun shadows

  • PR #336 admits every car and colour on all six circuits in one-player Time Trial, Arcade, Single Race and Championship. The car, mode and circuit whitelists and the obsolete validation-sweep override are gone, while scene consistency, material classification and the native fallback checks stay. The admission regression now covers all 576 car/mode/circuit combinations. The feature remains opt-in, off by default and pre-alpha. See the shadow notes.
  • PR #330 makes the shadows stay on and stay put. They used to fall back to the native blob inside tunnels and to change with the camera, because the admission gate failed closed whenever the car's directional light was not the open-road key and because only the triangles drawn that frame were casters. The key-light gate is gone: in tunnels the shadow follows the car's lamp light, and only cars block it. Patch 0038 separates the instance masks for presented, moving and remembered scenery, fades the sky where scenery hides it, adds a short contact shadow from moving casters and introduces SunShadowStaticCache, which remembers scenery that left the screen and still traces it.
  • #342 / PR #343 cuts the cost of ray-traced shadows in enclosed scenes. Tunnel receivers used to trace every soft sunlight sample before learning that enclosed scenery cancels the sun term; the unchanged sky term is now evaluated after the first blocked sample and the remaining sunlight queries are skipped when their contribution is zero. Contact shadows, sample directions, quality settings and the fallback behaviour are preserved. The change also favours traversal in the small shadow acceleration structures, caches the launch-only shadow tuning overrides on first use and skips preparing shadow settings that are unused while ray-traced shadows are disabled.

Interface / menus

  • PR #332 keeps the car details card after a race. The card was accepted only in the initial menu phase, but returning to the menu keeps phase 10 even on the same car screen, so the card vanished when a race finished. All five phases that call the shared menu renderer are now accepted; the option, the car screen, player/model validation and the display-list bounds still gate drawing.
  • #326 / PR #327 adds a Reset icon beside Quit in the menu overlay. Confirming returns to the title screen in the existing window and process, and cancels out; Cancel leaves play running. It follows the retail return-to-title path, so saved progress and controller assignments remain, while unapplied General and Graphics settings are discarded.
  • PR #322 gates the RmlUi debugger behind the existing default-off developer mode. The red error beacon could appear during normal play; developers can enable it in general.json and press F8 for the inspector. Diagnostic logging stays active in both modes. Fixes #291.

Cheats

  • PR #323 adds Cheats > Unlock reverse tracks, so the REVERSE direction option can be selected without earning it in a Championship. The toggle applies when entering a setup screen, so leave and re-enter it after changing the switch. Saved Championship progress is untouched, because the shared progress bit also unlocks a vehicle category.

Textures / title logo

  • PR #335 stabilises the replacement title logo. The wordmark could revert to the original artwork after an attract demo, because RT64 hashed 16 unused TMEM rows into the identity. T is now bounded for the twelve USA logo contracts, so the identity covers only the loaded logo texels. The companion texture pack PR #19 adds the twelve new identities and keeps all sixty older aliases.

Performance

  • #274 / PR #344 stops ordinary gameplay presses from refreshing the entire settings schema, and stops active fog corrections from hashing nearly every unrelated display-list command. The frontend's menu-opening test is now shared between the host refresh and the queued dispatch, so both use the same profile and binding rules, and the fog index only visits the sparse table when a command is tracked.

Android

  • PR #334 adds Export diagnostics ZIP to the Android launcher. Release APKs used to hide the native startup messages needed to investigate #329. The archive holds bounded native, session and crash logs, graphics settings, device and driver metadata, and Android 11+ game-process exit records with any available traces; it excludes ROMs, saves and driver binaries. This is a diagnostic prerequisite, not a GPU fix, and #329 stays open.

CI / build

  • PR #328 runs the host checks on every push and pull request, requires the existing RT64 replay and capture regressions, and adds a ROM-free native CTest job. Desktop release builds now run the native fixtures and the headless runtime acceptance before packaging. Runtime acceptance covers 2, 6 and 16-car fields, championship results at places 10 and 16, a pre-game Quit, cancellation, and two resets in one process.
  • The scenario-runner regressions now pass on the Windows release job. The test compared the harness's resolved artifact paths with the raw paths it found on disk, and on a Windows runner whose temporary directory is reachable through a short 8.3 name the two sides differed in form. Both sides are resolved before the comparison, so it no longer depends on which form the path arrives in.

Project / developer docs

  • PR #341 is the first of four staged pull requests for the Japanese cartridge, Super Speed Race 64. It records both cartridges' identity, hashes, size, header and serial, and the Japanese code layout measured from the ROM, and derives lamborghini.jp.syms.toml and lamborghini.jp.toml from the USA symbol table and both cartridges. The Japanese ROM is experimental and is not shipped or linked here; see the Japanese notes.
  • PR #321 corrects the windowed automation helper. It documented a keyboard profile the port does not install; the documented mapping now matches the seeded player-one profile, and the DPI handling and error reporting were fixed.

What's not done yet

This is still pre-1.0 — plenty of force_stub.txt still includes real game primitives
rather than no-ops. The issue tracker is the canonical "what's next" list.

  • Ray-traced sun shadows remain pre-alpha and opt-in. Every player race is now
    admitted, but a complete per-car GPU parity matrix is still outstanding, and
    multiplayer and attract races keep the native shadows. See #281 and #282.
  • The Japanese cartridge is experimental. Only the symbol table and recompile
    configuration landed here; the Japanese ROM is not part of this release and is not
    linked. See the Japanese notes.
  • Android black-screen reports are not fixed. #329 is still open; the new
    diagnostics export is the first step towards reproducing it.
  • The texture packs are optional artwork variants. Their verification covers
    sampled menu and race states rather than every layout, car and game state. Linux and
    Android appearance still need player review, and HUD clamping can affect filtering at
    tile edges, so pixel-identical stock rendering is not claimed.

If you find a crash, please open an issue with lamborghini_crash style notes:

  • Output window text (or the crash-*.txt dump if the native handler caught it)
  • Commit / build provenance (below)
  • Approximate in-game location (title screen / car-select / race lap 2 / etc.)

How to run

Linux

unzip lamborghini-recomp-linux-x64.zip -d lamborghini-recomp
cp "Automobili Lamborghini (USA).z64" lamborghini-recomp/
./lamborghini-recomp/lamborghini_modern

Requires libsdl2-2.0-0 and a Vulkan-capable GPU + driver at runtime. Most
desktop distros ship these already.

Windows

Extract lamborghini-recomp-windows-x64.zip anywhere, drop your ROM in the same
folder, and double-click lamborghini_modern.exe. The bundled SDL2.dll,
dxcompiler.dll, and dxil.dll must stay alongside the EXE.

F11 / Alt+Enter toggles fullscreen (and remembers the choice next launch).

Android

Install lamborghini-recomp-android-arm64.apk, open the app and import your USA
ROM. Android remains experimental; see the Android guide.

Build provenance

  • Commit: d1ab307 (main, 2026-10-25)
  • Workflow run: #40237906119 (Build & Release, dispatch from this SHA)
  • Toolchain: Linux build on ubuntu-latest with gcc / cmake / ninja /
    libsdl2-dev / libvulkan-dev. Windows build on windows-latest with
    MinGW-w64 GCC + Ninja (PowerShell, not MSYS bash) per the project's toolchain
    notes.
  • Texture packs: automobili-lamborghini-rt64-text-only.rtz,
    automobili-lamborghini-rt64-text-hud.rtz and
    automobili-lamborghini-rt64-hd.rtz, from texture pack version 0.3.0 of the
    texture pack project. The archives are the published ones; their
    SHA-256 values match the texture project's own SHA256SUMS.
  • Screenshots: Windows RT64/D3D12 captures at 1280 x 720 from a build of this
    commit, taken with the port's own window driver. They are attached below and
    hosted in docs/images/releases/v0.10.0/.

SHA256SUMS covers the platform packages, all three texture archives, their
metadata bundles and every screenshot in this release.


If you'd rather build it yourself from source instead of running a pre-built
binary, see BUILDING.md. For graphics settings, see README.md.

Don't miss a new automobililamborghini-recomp release

NewReleases is sending notifications on new releases.