Repository navigation
ZachFix v0.2.2
ZachFix v0.2.2
This update focuses on visual comparison/restoration tools, world visibility controls, and renderer cleanup.
Highlights
Comparison screenshot workflow
ZachFix now includes a built-in workflow for making repeatable A/B screenshots without manually changing settings between captures.
- Added switchable screenshot presets configured directly in
ZachFix.ini. - Presets can start from either the live-switchable original PC rendering state or the user's configured ZachFix state, then override selected rendering, world, and PostFX settings.
- Added lossless final-backbuffer PNG capture.
- Default hotkeys:
- F6: cycle screenshot presets
- F7: capture the current frame
- F8: capture all configured presets as a timestamp-matched comparison set
- Capture All restores the exact live rendering/PostFX state that was active before the batch.
- Optional gameplay-timer freezing is available for fixed-framing comparisons, but remains disabled by default because freezing gameplay timers can hang some cutscenes.
- Restart-only state, such as shadow depth format and already-loaded texture ownership, is intentionally excluded from the live
Originalpreset.
World visibility distance
Added native main-frustum distance controls for the camera classes responsible for several shorter-distance scene elements.
Available modes:
- Original
- Extended: 1000 minimum far plane
- Extended Plus: 5000 minimum far plane
- Extreme: 20000 minimum far plane
Only the native far-plane values for camera classes 3/4/5 are redirected. Object classification, streaming, activation, LOD selection, frustum testing, shadow volumes, and render submission remain handled by the game.
The temporary research probes used to identify this path have been removed from the production build.
Xbox 360 tone and display restoration
Added two new runtime-switchable color/output controls under F10 -> PostFX -> Color.
PostFX.Color.Mode:
PCXbox360GradingXbox360Full
Xbox360Grading restores the scene-authored ENV Contrast/Pitch/Chroma/Addsub tail. Xbox360Full additionally removes the Director's Cut PC-only exposure scaling from the native final-composite path.
PostFX.Color.DisplayGamma:
PCXbox360HDTV
Xbox360HDTV applies the reconstructed Xbox 360 HDTV display transfer as a late full-frame sRGB decode -> BT.709 encode pass before Present, including the HUD and menus.
Both options are hot-switchable and leave DP.exe unmodified.
Renderer cleanup and optimization
- Centralized persistent PostFX tuning state so config, UI, and renderer paths use one shared runtime source of truth.
- Reduced normal render-hook overhead by gating inactive G-buffer/projection tracking and other PostFX work.
- Cached repeated surface state where possible.
- Enabled interprocedural optimization for supported Release builds.
- Removed completed shader-probe, render-trace, and D3D9 resource-lifetime research tooling from the production build and current diagnostics documentation.
Compatibility
Supported game builds:
- Steam 1.01b
- GOG 1.01b
The existing native D3D9, DXVK, and dgVoodoo2 deployment paths remain supported.
Updating
Replace the previous ZachFix files with the contents of ZachFix-v0.2.2-win32.zip.
Existing ZachFix.ini files can be kept. New settings use safe defaults, so the new Xbox 360 color/output restoration and extended frustum modes do not change the existing PC presentation unless enabled.
See CHANGELOG.md in the release package for the full technical change list.