v0.12.0 — Toolkit rebase and performance
This release focuses on two things:
- The toolkit rebase. The port now runs on xboxrecomp v0.16.0, rebased
from v0.13.0 with all of the port's own fixes carried over. - Performance optimization. Frames are steadier on variable-refresh
(G-Sync/FreeSync) Windows displays, and Steam Deck fights hold 60 fps at
higher render scales.
It is also the first release built as a release train: the four changes below
were combined on one branch, and the full regression ran once on Windows, macOS
and the Steam Deck on that combination.
What changed
- Toolkit v0.16.0 (#85).
The recompiler and runtime move from xboxrecomp v0.13.0 to upstream v0.16.0,
with the port's own fixes carried over. For players:- Setup time stays about the same. Stock v0.16 made the analysis step
take about 16 minutes on Windows; the fork includes the fix (upstream PR
sp00nznet/xboxrecomp#255),
so it takes under 3. A Windows install from a dump took 16.5 minutes in testing. - Clean audio. Three audio defects found during the migration are fixed:
crackle in borderless full screen on Windows (the port now asks XAudio2 for
a 64 ms queue), clicks at the edges of the music buffer on every platform,
and short silent gaps on macOS. - Saves stay where they are. Existing profiles and title data keep loading
from the same folders.
- Setup time stays about the same. Stock v0.16 made the analysis step
- Even frames on variable-refresh displays (Windows)
(#103, issue
#102). With
G-Sync or FreeSync, fights at heavier picture settings (widescreen, render
scale 3) could alternate long and short frames. The frame is now handed to the
GPU before the game waits for the next 60 Hz tick: frames held two refreshes
fell from 6% to 2% in the measured fight.RECOMP_FLIP_KICK=0restores the
old behaviour. - Smoother Steam Deck fights
(#104). The Vulkan
renderer lets the GPU draw one frame while the CPU prepares the next. A
four-fighter free-for-all at render scale 3 went from 53 to 60 fps, scale 4
from 49 to 60.RECOMP_VK_SYNC=1restores the old behaviour. The same code
runs on macOS. - Setup no longer stops on a locked earlier attempt (Windows)
(#100). Setup
could stop right after "Preparing verified release source" with
[WinError 5]when a folder left by an earlier failed attempt could not be
read. Reusing earlier output is now best effort: such a folder is skipped.
Installing
Download the setup for your platform from this release:
- Windows x64:
DefJamSetup-0.12.0-windows-x64.exe - macOS Apple Silicon:
DefJamSetup-0.12.0-macos-arm64.dmg(unsigned) - Linux x64 / Steam Deck:
DefJamSetup-0.12.0-linux-x64.tar.gz
For an existing installation choose Clean Update: the lifted code changes
with the new toolkit, so setup analyses and builds again. Saves, settings, mods
and texture packs are kept.
Building from source: git submodule update --init --recursive, then analyze,
recomp and build again.
Testing
Each row is the release candidate (release/v0.12.0), not the individual PRs.
| Check | Windows | macOS | Steam Deck |
|---|---|---|---|
Full regress.py
| 14/14 pass (4 macOS/Linux-only skipped), 37 min | 18/18 pass, 40 min; repeat 2/2
| 17/18; replay golden mismatch; separate repeat fails (#98)
|
| Opening-scene audio (Windows: owner settings, 3 runs; macOS: defaults, 2 runs) | clicks 1/0/1, dropouts 1/11/1 | clicks 5/2, dropouts 1/1 | pass |
| Setup install, and Clean Update from v0.11.0 | pass (data folder byte-identical) | — | — |
| Owner play-test | pass | — | — |
Known issues
-
Steam Deck automated replay does not match the Mac golden, and two identical
scripted fights diverge at step 541 in the separate repeat check
(#98). These remain
unresolved; Windows and macOS pass their repeat checks. See the
Deck candidate report. -
Game Mode on the Steam Deck should be set to 60 Hz: at 90 Hz the game turns
vsync off and motion is uneven even at a steady 60 fps. -
A human-played fight slowing to 43-50 fps on a VRR display
(#101) is not
addressed by this release. -
The v0.11.0 known issues (paused HUD anchoring #95, the fire-escape pan, three
uncovered menu backgrounds) still apply.
See known issues for the full list.