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 inVCRUNTIME140.dllbefore 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 inRelWithDebInfo, 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,combatandversus, 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 newestlogs\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.