github vyanhursky/DefJamFFNY-recomp v0.10.7
v0.10.7 — Windows start-up and setup fixes

3 hours ago

v0.10.7 — Windows start-up and setup fixes

Two Windows fixes. Nothing else changes; the launcher, controls, graphics and saves are the
same as in v0.10.6.

Fixes

  • The game no longer closes at start-up on PCs where Windows refuses part of its memory
    layout
    (issue #72).
    The port reserves a block of address space for the Xbox's RAM and its device areas. It used
    to accept the RAM location without checking that the device areas fitted beside it, so on
    some PCs audio start-up read memory that had never been mapped and the game stopped with an
    access violation in VCRUNTIME140.dll before the menu. The code dates from v0.1.0, and
    whether it fails depends on how Windows lays out a given PC's address space. The whole layout
    is now checked before the game boots; if any part is unavailable the placement is undone and
    another location is tried, and if none works the game stops with a message instead of crashing.
  • Setup no longer stops at the final link step on some PCs
    (issue #81). Setup builds the
    game in RelWithDebInfo, which CMake links with /INCREMENTAL, and the Microsoft linker's
    incremental code can crash on an image this large (LNK1000: Internal error during IncrCalcPtrs). The link is now non-incremental, which costs nothing on a from-scratch build.

Updating on Windows

Download DefJamSetup-0.10.7-windows-x64.exe from this release and run it. Pick your existing
install and data folders and choose Clean Update (the bundled release, so no network is
needed). Setup rebuilds from your own dump; saves, settings, mods and texture packs are kept,
and the previous version stays on disk until you remove it. If you hit the start-up crash on
v0.10.5 or earlier, Clean Update is the operation that applies when the installed version is
older than this one.

Validation and remaining checks

Run on Windows 11 with an RTX 4070 Ti SUPER, Visual Studio 2019 Build Tools (MSVC 14.29), from the
exact release commit unless noted.

  • Setup update. The published v0.10.6 setup installed from scratch, then this release's
    setup updated it (Clean Update, bundled). Both exited 0. A 125-file inventory of the data
    folder, including a settings file with a comment and an unknown key, a profile marker and a
    pack marker, was byte-identical before and after. The installed game booted to the main menu.
    The setup-built game is the same size as a hand-built one and has no incremental-link file.
  • Memory placement. The toolkit's native Windows placement fixture passes: a foreign mapping
    blocking one device area, all 34 placement operations failing in turn with nothing leaked, a
    collision retried, and exhaustion publishing no usable layout. The memory, settings, texture
    pack and kernel fixtures also pass natively. A 10-boot soak of the game completes 10 of 10.
  • Regression. The full regression (build with the fixes, v0.10.6 sources otherwise) was 12 of 14
    checks passed and 4 not run on Windows by design (the SDL launcher and Vulkan overlay checks).
    The two failures, combat and versus, failed only the audio underrun gate (10 and 23 dry
    buffers) and passed on stock v0.10.6 and on two reruns of this release (27/27 and 26/26
    assertions each), so they look intermittent and are not tied to these changes; the Mac showed
    the same kind of event before. It is tracked in issue #88. The quick regression passes 5 of 5 on the final build, and the
    unit tests pass (537 passed, 25 skipped, all POSIX or macOS only, with the compiler available). The goldens, fights, Story route, 3-boot
    soak and the deterministic replay hash all match.
  • A fixture fixed. One native unit test that builds the skip-intro and unlock hooks with MSVC
    failed on v0.10.6 too: its synthetic guest memory was smaller than an address the debug code
    writes, which MSVC's optimizer turned into a fault. The test's memory is now large enough; the
    game is unaffected.

What this does not establish:

  • Neither reporter has confirmed a fix. The start-up crash and the link crash did not
    reproduce on the test PC (v0.10.6 built and ran here), so both changes rest on the cause
    analysis and the fixture, not on watching a failure disappear. If you still see either,
    please say so on the issue and attach the setup log (%LOCALAPPDATA%\DefJamSetup\logs) or
    the newest logs\run-*.log.err.
  • The 10-boot soak always chose the same memory location on the test PC, so it shows stability
    there, not the retry path with the real game; the retry is covered by the fixture only.
  • The automated checks do not judge how the game looks, sounds or feels. The owner play-tested
    the final build on Windows before release and found it good.

Only game-free setup tools, checksums and provenance are attached. The game is compiled locally
from your own dump; no built game executable is distributed. Known limits are in
known issues.

Don't miss a new DefJamFFNY-recomp release

NewReleases is sending notifications on new releases.