What's Changed
TU2 (Title Update 2) stability — random crash fixes
- Unified post-codegen patcher (
apply_generated_patches.py): detects setjmp/longjmp by function signature, works on both base XEX and TU2, and is idempotent. - Patched all 4 setjmp call sites (previously only 1) — unpatched sites left the host jmp_buf unarmed, so longjmp jumped into stale state → random crash.
- Patched all 14 longjmp call sites (previously only 1).
- Stripped the TU2 fiber-switch
bnectrgate inside setjmp. OnPreLaunchModulenow detects the loaded image variant and clears the correct TU2 fiber-switch callback slot (0x82CE68E4; base was0x82B101E4).FiberRestoreContextnow restores the full guest jmp_buf state: f14–f31, r1, r13–r31, CR, LR, and v64–v127.
Codegen trap fixes
- Added 35 missing manifest entrypoints for unresolved branch/call targets.
- 181 unresolved calls/branches resolved — 0 remaining
REX_FATALunresolved traps (was 85). - Eliminated the runtime "Call to unresolved function" spam that preceded access-violation crashes.
Native renderer (Vulkan / DiligentCore, experimental)
- Restored the
dantes_inferno_nativebuild target, DiligentCore integration, and SSE3/SSE4.1 compile flags lost when the project files were re-stamped. - Wired the real
NativePresenter(previously a color-clear smoke test): D3D12 presenter is detached before Vulkan swapchain creation, fixingVK_ERROR_NATIVE_WINDOW_IN_USE_KHR. - Verified D3D12→Vulkan shared-texture GPU interop (zero-copy presentation), 3440×1440 ultrawide, 2× resolution scale.
dantes_inferno_native.exeis now bundled in the installer — selecting "Native (Vulkan, experimental)" in the launcher runs it.
Also in this release
- DLC auto-install (Trials of Saint Lucia + item DLC), TU2 bundled as
default.xexp. Place DLC files in "Path to game \dlc\454108CF\00000002"
