github vyanhursky/DefJamFFNY-recomp v0.12.3
v0.12.3 — Smoother fights and the CachyOS build fix

3 hours ago

v0.12.3 — Smoother fights and the CachyOS build fix

A small release. Fights no longer judder from the game stepping its simulation
unevenly, and setup builds again on Linux compilers that default to C++20 (GCC 16
on CachyOS). Two pull requests were combined on one branch (release/v0.12.3), with a docs fix (#149),
and the full regression ran once per platform on that combination.

What changed

  • Smoother fights: an even simulation step every frame
    (#143, issue
    #140). Frames
    arrived evenly at 60 a second, but the fight's simulation sometimes ran no step
    on one frame and two on the next, so motion jumped like 30 fps. The game's 60 Hz
    frame clock and the display drift slowly in phase; when a clock tick sat right on
    the main loop's check it fell on alternate sides of it. Each tick is now steered
    by at most 1% of a frame toward the middle between two checks. In the owner's
    play-test the uneven frames in fights fell from 11.2% to 0.1%. The simulation and
    game speed are unchanged (the replay checks match). RECOMP_FRAME_CLOCK_LOCK=0
    turns it off; RECOMP_FRAME_CLOCK_TRACE=1 logs steps per frame. Menus are
    unchanged.
  • Setup builds again under C++20 (CachyOS, GCC 16)
    (#139, issue
    #138). The mod
    manager code stored a file path's UTF-8 form in a type that changed in C++20, so
    the Linux build stopped on compilers that default to it. A unit test now guards
    against the pattern returning.

Installing

Download the setup for your platform from this release:

  • Windows x64: DefJamSetup-0.12.3-windows-x64.exe
  • macOS Apple Silicon: DefJamSetup-0.12.3-macos-arm64.dmg (unsigned)
  • Linux x64 / Steam Deck: DefJamSetup-0.12.3-linux-x64.tar.gz

For an existing installation choose Clean Update: the game code changed, 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.3), not the individual PRs.

Check Windows macOS Steam Deck / Linux
Full regress.py 14/14 pass (4 macOS/Linux-only skipped), 37 min pass (owner's run) pass (owner's run)
Opt-in checks (skipintro, fight-terrordome, ffa-result, two-matches, repeat, visual) 6/6 pass; two-matches and visual on a rerun (see below) — —
Setup install, and Clean Update from v0.12.2 pass (data folder byte-identical) — —
Owner play-test pass — —

On Windows, two-matches failed once because a fighter was put out of the
free-for-all with health left, which its "ended at zero health" assertion does
not allow (the same flake ffa-result showed in v0.12.1). It passed 35/35 on a
rerun. visual failed once on the crib screen: the randomly chosen "now playing"
track had a title longer than the area the baseline ignores. It passed 4/4 on four
reruns, two of them with the frame-clock lock turned off, with the same results.

Known issues

  • HD widescreen menu backgrounds can flash black side bars on Windows with three
    texture packs installed
    (#141); not
    addressed by this release.
  • Menus can still step 0 or 2 times on alternate frames, because their frame
    times alternate short and long; the frame-clock lock does not change that.
  • Story shops still pause briefly while a chosen item loads
    (#119).
  • The v0.12.0 known issues (Steam Deck repeat check #98, VRR slowdown #101) still
    apply.

See known issues for the full list.

Don't miss a new DefJamFFNY-recomp release

NewReleases is sending notifications on new releases.