Skip to content

TMB_Recomp 0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Nov 12:20
280f185

TMB_Recomp 0.6.0

Twisted Metal: Black (USA) as a native PC game, built on your PC from your own disc: nothing of the game is in this download.

What's new

Added

  • Enhanced textures (AI), made on your PC from your own disc. In the launcher's Settings, Make enhanced
    textures
    reads every arena and car from your disc, including the cars' player versions, and upscales their
    textures 4x with Real-ESRGAN. It takes about 5 to 15 minutes with a recent graphics card and about 700 MB, and
    needs a Vulkan graphics driver. It shows its progress; Stop keeps what is done for next time, and Remove
    deletes the result. Switch the pack on or off there or in the game (F2, Video tab, Texture pack). Real-ESRGAN now
    comes in the build kit, with its licences in kit\licenses\realesrgan. Nothing of the game is downloaded,
    shipped or sent anywhere.
  • Texture upscaling (off by default): the game's own textures can be drawn from 2x or 4x copies with an
    edge-directed or smooth filter, in F2's Video tab or with texture_upscale / texture_filter in video.ini. It is
    BozoEngine's renderer option, from the Soulcalibur III port. Replays are unchanged by it.
  • Loading the pack or the upscaled copies never holds up a frame. One-player, four-player and the story arenas keep
    their frame rate with the full pack and 4x upscaling (timing in
    docs/TEXTURE_UPSCALING.md).

Fixed

  • The launcher's Settings no longer reset the game's frame rate and texture upscaling in video.ini when they
    saved the window.

Changed

  • BozoEngine is updated to a36a4d2. Native callbacks now run on the game's own thread stack instead of a fixed
    area at the top of RAM. TMB declares where its code uses the stack pointer as data (hierTraverseAsm,
    sysSetSp/sysRestoreSp), so a callback taken there still finds the real stack. One-player and four-player
    replays match the previous build on every frame's draws, scratchpad, calls, threads and timing. Sound differs on
    four menu frames only, with equal sample counts.

Developer changes

  • TMB_TEXTURE_DUMP=1|<folder> writes each texture the renderer receives as a PNG named by its identity, and every
    250 frames every texture of the loaded levels' objects, drawn or not.
  • tools/tmb_texture_dump_all.py dumps every arena, AI car and player car in headless runs (2,289 textures on the
    USA disc). tools/tmb_texture_upscale.py (Python) and tmb-texture-pack (native, built and staged with the game)
    turn the dump into a pack; tools/tmb_texture_enhance.py is the launcher's driver for both.
  • Larger texture copies go to the GPU at most 4 MB per frame, and a copy already there is shared when the game moves
    the texture in its VRAM (BozoEngine).

Known limits

  • Only the USA disc is supported. Windows is the validated player target; the migrated Linux player build is not yet
    validated.
  • Enhanced textures need a Vulkan graphics driver and were only tested on one NVIDIA card. The menus and the font
    are left to the engine's upscaling, because the AI model garbles small lettering.
  • Full campaign endings, a fresh standard-user Windows installation and four physical controllers still need
    player/hardware acceptance. Widescreen is not implemented; presentation above 60 Hz remains experimental for
    effects that update at game rate.

Download

  1. TMB_Recomp-0.6.0-bozo.zip below. Check its SHA-256 before running anything:
    Get-FileHash .\TMB_Recomp-0.6.0-bozo.zip (PowerShell) must print

    2168FAD0E16997A01B12AA383B3B23734A0A685A2AB69D95A51273CB17D4BF64
    

Requires Windows 10 version 1903 or newer (or Windows 11), an AVX2 and FMA capable CPU, and OpenGL 3.3.

  1. Unzip it anywhere you like except Program Files, with about 10 GB free, and double-click TMB Launcher.exe. It is not signed: on Windows protected your PC, click More info, then Run anyway.
  2. Select your USA disc image (SCUS-97101), Prepare the game (a few minutes, once), Play.

For a new/separate installation, use TMB_Recomp-0.6.0-bozo.zip (TMB_Recomp_Bozo/). For an existing v0.3.2 installation, use the launcher's Update, or extract TMB_Recomp-0.6.0.zip over its TMB_Recomp/ installation. Both ZIPs contain the same BozoEngine payload; neither retains the old runtime.
Then Rebuild now when the launcher offers it. Saves and settings stay in %APPDATA%\TMB_Recomp. Subsequent BozoEngine updates use -bozo.zip with either installation folder name.

Build information

  • Code: TheBozos/TMB_Recomp (280f1855d521387cd7b86652c8b2f1bc2ed96ac2), BozoEngine a36a4d23f2843a85d28cd177b5f3c554c618c6c4
  • Build kit: GCC 16.2.0-6, CMake 4.4.4-3, Ninja 1.13.2-1 (MSYS2 UCRT64), FFmpeg 9.0.2 (LGPL, static), Python 3.14.10
  • TMB_Recomp-0.6.0-bozo.zip: 175.0 MB, SHA-256 2168fad0e16997a01b12aa383b3b23734a0a685a2ab69d95a51273cb17d4bf64
  • TMB_Recomp-0.6.0.zip: the same BozoEngine build in TMB_Recomp/, for the previous launcher's in-place update; SHA-256 588ad6bb3b5ddc105455efc66403f91174387fb8dfd75496ae81031cf3873e34
  • TMB_Recomp-0.6.0-bozo-sources.zip: 452.3 MB, SHA-256 125fb8eac5a7bc79e6d09e98912c8412fecf1b23b117ca7bbf920addae114f39

Source code and licences

The code is in the zip (source\) and at the commit above: our own code and BozoEngine (the recompiler and runtime it is built on) under the MIT licence. The build kit redistributes unmodified GPL / LGPL programs (GCC, binutils, mingw-w64, the DLLs CMake loads) and FFmpeg (LGPL-2.1+): LICENSES\ in the zip has their licences, and LICENSES\SOURCES.txt lists each package with its exact source on repo.msys2.org. Their corresponding source is attached to this release as TMB_Recomp-0.6.0-bozo-sources.zip. For three years from this release we also provide it on request (GitHub issues).

Twisted Metal: Black © Sony Interactive Entertainment, developed by Incognito Entertainment. An unofficial fan project by The Bozos (boubou666 & Arzaroth), not affiliated with or endorsed by them.