Skip to content

ZachFix v0.2.0 - Restoration Update

Choose a tag to compare

@h714je h714je released this 18 Sep 20:07
· 43 commits to main since this release

ZachFix v0.2.0 — Restoration Update

ZachFix v0.2.0 is a major restoration and stability release for Deadly Premonition: The Director's Cut on PC.

This release goes beyond rendering fixes and compatibility work. Several native game systems that survived in the PC executable but were disabled, damaged, or bypassed by the Director's Cut port have now been restored and integrated into ZachFix.

Highlights

Native difficulty restored

The original Easy / Normal / Hard New Game difficulty selection has been restored using the game's surviving native difficulty state and combat logic.

ZachFix does not emulate difficulty through custom damage multipliers. The game once again stores and consumes its original 0 / 1 / 2 difficulty values through the native save record and surviving gameplay tables and branches.

Continue preserves the saved difficulty normally.

Native controller support improvements

The native controller path has received substantial restoration work:

  • native XInput bridge;
  • independent LT / RT support;
  • original two-channel vibration restored;
  • exact native 16-bit rumble values preserved;
  • Xbox 360-style input profile;
  • optional analog vehicle triggers;
  • automatic keyboard/mouse and controller input switching;
  • permanent vibration test available from the F10 diagnostics UI.

Director's Cut interior visibility fix

Fixed the Director's Cut visibility-volume regression that can make objects such as the pillows near the bedroom mirror disappear.

The normal frustum culling path remains native. ZachFix bypasses only the confirmed broken interior visibility-volume rejection.

The runtime toggle now uses a one-time bridge installed during startup. F10 changes only a data flag and no longer rewrites executable code while the game is running.

World rendering controls

Added native world-detail and object-activation controls.

The original PC object activation radius is preserved as the default, while ZachFix can optionally extend the distance at which world objects become active.

Rendering and Hot Apply hardening

Runtime rendering changes received a substantial stability pass:

  • replacement render resources are safely retired before D3D9 Reset;
  • stale resource identities are discarded across device generations;
  • COM replacement lifetime is protected against Hot Apply/render-thread races;
  • filtering state is rebuilt after a successful Reset;
  • D3D9 hook installation is now transactional;
  • renderer hooks are scoped to the actual Deadly Premonition D3D9 device;
  • unrelated overlay, capture, or injector devices pass through untouched.

Configuration cleanup

Startup and F10 Reload now use the same canonical configuration parser.

Validation, defaults, enum parsing, aliases, and invalid-value handling are therefore consistent regardless of when the INI is loaded.

Steam and GOG build-specific addresses have also been consolidated into the central build profile.

Diagnostics overhead reduced

Diagnostic features now stay out of the normal game path when unused:

  • Tuning Pause timer hooks are installed lazily only when the feature is actually enabled;
  • Shader Probe draw notification has a cheap inactive fast path.

Supported versions

  • Steam 1.01b
  • GOG 1.01b

Both builds use dedicated verified build profiles.

Notes

ZachFix continues to favor narrow restoration of confirmed native behavior over broad bypasses, guessed gameplay coefficients, or permanent research hooks.

Some diagnostic options remain intentionally advanced and are not required for normal gameplay.

Upgrade

Replace the previous ZachFix files with the files from the v0.2.0 package.

Review ZachFix.ini if upgrading from an older release, especially if you previously used experimental or prerelease settings.