ZachFix is an unofficial continuation and modernization of Peter Thoman's original DPFix for Deadly Premonition: The Director's Cut on Windows.
It is a game-specific Direct3D 9 fix, restoration, and compatibility layer for the original PC executable. ZachFix works with native Windows D3D9 and can also run alongside DXVK or dgVoodoo2.
"Zach, do you see this?"
ZachFix is currently feature-complete and in maintenance mode. No new features are planned. Future updates will focus only on reproducible ZachFix bugs and regressions.
Bug reports are still welcome, but fixes may require a reliable reproduction case.
Experimental PhysX/physics-timing work has been retired from the production tree. ZachFix currently leaves the game's physics implementation and timing untouched; the retained reverse-engineering conclusions live only in the research archive.
v0.2.6 is the current maintenance release.
ZachFix currently supports the 32-bit Steam 1.01b and GOG 1.01b executables. The same ZachFix.asi is used for both and the build is detected automatically.
| Build | PE TimeDateStamp | SizeOfImage |
|---|---|---|
| Steam 1.01b | 0x529721DC |
0x010B5000 |
| GOG 1.01b | 0x52970AF6 |
0x010B5000 |
Unknown executables are logged and build-specific fixes fail closed instead of applying known offsets blindly.
- Native monitor resolution and borderless display handling.
- Arbitrary internal rendering resolution and supersampling.
- Higher-resolution shadows, reflections, and legacy depth of field.
- Original DPFix shadow-depth precision and pixel-offset compatibility fixes.
- Smart bilinear or anisotropic texture filtering.
- DPFix-compatible texture replacement with an optional live texture-authoring mode.
- Optional PostFX stack with ambient occlusion, bloom, depth of field, auto exposure, and highlight shoulder shaping.
- Optional Xbox 360 ENV tone/color restoration and HDTV/BT.709 display-transfer emulation.
- Native D3D9, DXVK, and dgVoodoo2 support.
- Original Easy / Normal / Hard New Game selector restored.
- Original Xbox 360 surround-audio routing restored for the Director's Cut 5.1/7.1 regression, including positional 3D and non-3D cue matrices; stereo output remains vanilla.
- Building day/night behavior restored for the Director's Cut
HOUSE_LIST.NODregression. - Interior visibility-volume fix for props incorrectly disappearing near walls/mirrors.
- Independent high-detail streaming, main-frustum visibility, object activation, native mesh LOD, and alternate low-detail 3D residency distance controls.
- Transactional Save Safety with validated writes and compressed rolling backups.
- Optional build-gated Skip Intro bypass for the publisher/logo startup sequence.
- Optional low-latency CInput ordering removes the PC port's confirmed one-tick input staging delay with reversible, build-gated hot apply.
- Optional Native Gamepad backend with SDL3 as the primary provider and XInput fallback, while keeping DP's existing action/binding system.
- PC and Xbox 360 stick/aim profiles.
- Analog vehicle LT/RT controls.
- Restored native two-channel vibration.
- Automatic keyboard/mouse and controller switching.
- Runtime keyboard/gamepad glyph themes and hot reload.
- F10 configuration UI with Graphics, PostFX, Gamepad, Diagnostics, and About tabs.
- Lossless PNG comparison capture with switchable INI presets and automatic multi-preset batches.
- Runtime resource counters for Hot Apply.
- Texture inspector when Texture Developer Mode is active.
- Optional gameplay tuning pause and frozen PostFX preview.
ZachFix is an ASI plugin. An ASI loader is required. The tested deployment uses Ultimate ASI Loader as winmm.dll.
Typical layout:
Deadly Premonition The Director's Cut/
|-- DP.exe
|-- ZachFix.ini
|-- winmm.dll
|-- scripts/
| `-- ZachFix.asi
`-- ZachFix/
|-- glyphs/
`-- textures/
Press F10 in game to open the ZachFix settings UI. The default comparison-capture hotkeys are F6 (next preset), F7 (capture PNG), and F8 (capture all presets).
For the complete installation guide, backend layouts, the recommended external NTCore 4GB / Large Address Aware patch, and DirectX troubleshooting, see docs/installation.md.
| Backend | ZachFix | F10 UI | Hot Apply |
|---|---|---|---|
| Native Windows D3D9 | Yes | Yes | Yes |
| DXVK | Yes | Yes | Yes |
| dgVoodoo2 | Yes | Yes | Yes |
Only one active graphics-wrapper d3d9.dll should normally exist beside DP.exe.
The main configuration file is ZachFix.ini beside DP.exe. F10 can edit, apply, save, and reload the settings that support runtime changes.
Some settings intentionally require a restart, especially options that determine resource ownership or formats at creation time.
See:
- Configuration reference
- Rendering and world settings
- PostFX
- Gamepad, input, and glyphs
- Textures and texture packs
- Gameplay and restoration fixes
- Save Safety
- Diagnostics
A long-standing Director's Cut PC issue can occasionally restrict the aiming range on both the horizontal and vertical axes. The issue is not currently reproducible on the maintainer's system and remains under investigation.
If it occurs, Alt+Tab out of the game and back in can restore the normal aiming range.
The full documentation is indexed at docs/README.md. The reconciled reverse-engineering archive is indexed separately at research/README.md.
Useful entry points:
- Installation and backend setup
- Supported game builds
- Configuration reference
- Troubleshooting
- Building ZachFix
- Technical architecture
- Reverse-engineering research
Requirements:
- Windows
- Visual Studio 2022 with C++ desktop tools
- CMake 3.20+
- x86 / Win32 target
cmake -S . -B build -A Win32
cmake --build build --config Release
cpack --config build\CPackConfig.cmake -C ReleaseThe built module is ZachFix.asi and the packaged release is ZachFix-v<version>-win32.zip.
See docs/development.md for the complete build/package notes.
- Peter Thoman (Durante) for the original DPFix/DSFix work and rendering research.
- Cesario67 for the earlier DeadlyPremonitionFix analysis that first identified the PC port's long-uptime absolute-QPC/x87 precision failure. ZachFix independently reproduced the bug and uses its own implementation.
- Tsuda Kageyu and contributors for MinHook.
- Omar Cornut and contributors for Dear ImGui.
- Sam Lantinga and SDL contributors for SDL3.
- Rich Geldreich and miniz contributors for miniz.
- Paul Hsieh for SuperFastHash.
- DXVK, ReShade, dgVoodoo2, and Ultimate ASI Loader / ThirteenAG for the surrounding compatibility/modding ecosystem.
- The Deadly Premonition modding community and testers.
See THIRD_PARTY.md for dependency and license details.
ZachFix is distributed under the GNU General Public License v3.0. See LICENSE.
This project is unofficial and is not affiliated with Access Games, SWERY, Rising Star Games, Marvelous, or the publishers/rightsholders of Deadly Premonition.