@Kaldaien Kaldaien released this Jul 18, 2017 · 33 commits to dinput8 since this release

Assets 26

New Injection Strategy

I have done away with the old dxgi.dll injection in favor of proxying dinput8.dll.

This new technique has far fewer compatibility issues and has been shown compatible with every overlay, video capture and reshade / 3dmigoto type product tested. Every product except for older versions of FAR ๐Ÿ˜

Please delete dxgi.dll from your NieR: Automata install directory prior to using this version

  • If both DLLs are present, Bad Stuff โ„ข๏ธ will happen!

This, and all future releases, are on a separate release channel than previous builds were.

  • Old versions of SKIM (0.7.5.1 or older) can be used to install/uninstall FAR v 0.6.x.
  • New versions (i.e. the one linked below) can only install FAR v 0.7.x+

0.7.0.2 addresses Steam overlay compatibility issues when combined with ReShade
0.7.0.3 yet more Steam overlay fixes (input hook race)
0.7.0.4 has more Steam overlay fixes (good grief), plus a new mouse warp deadzone feature that's not that useful for this game -- you might notice a new option in the config menu, you can ignore it ๐Ÿญ.
0.7.0.5 may fix problems for unknown third-party software that requires some users to run in Windows 7 (yuck) compatibility mode.
0.7.0.6 includes compatibility updates and floating widgets (CPU load, frame pacing, texture cache stats)
0.7.0.7 fixes Steam overlay input hook race (again)
0.7.0.9 corrects GeForce Experience startup issues
0.7.0.10 fixes compiler ๐Ÿณ๏ธ I never asked for (/Gs) that was causing Windows 7 ๐Ÿ’ฃ!
0.7.0.11 addresses rare heap corruption during version check at startup and introduces many new fun ๐Ÿ“ˆ widgets for your stat nerd pleasure ๐Ÿ˜ƒ
0.7.0.13 improves texture cache performance for injected textures that change texture resolution
0.7.0.14 fixes misaligned memory address in framerate limiter replacement code
0.7.0.15 cumulative compatibility updates + ReShade integration
0.7.0.16 updated ReShade HUD triggers
0.7.0.17 may have solved RTSS problems once and for all
0.7.0.18 improved DirectInput-based injection init.
0.7.0.20 fixes auto-update prompt window foreground behavior
0.7.0.21 still trying to fix Steam overlay incompatibilities

0.7.0.22 FROZEN version if GitHub fails

0.7.0.23 Auto-Update Re-Enabled


ReShade + 3DMigoto

0.7.0.8 addresses compatibility issues when combining 3DMigoto (used by Bande Desinee) + ReShade

To use FAR with both, do not use the traditional ReShade plug-in technique (in the config UI).

  • Place ReShade's DLL in NieR: Automata's install directory as dxgi.dll, and place 3DMigoto as d3d11.dll.
  • Attempting to load ReShade as a plug-in will cause the game to immediately crash

@Kaldaien Kaldaien released this Jun 22, 2017 · 31 commits to master since this release

Assets 17

Special K Facelift

+ New compatibility menu allows you to reset mod config, uninstall the mod or disable ReShade * _Press and **hold**_ Ctrl+Shift at game startup ***until*** the menu appears. + Added reporting of fullscreen vs. windowed mode to the control panel, and override preferences + Added diagnostic info (bootstrapper, game, plug-in versions) to the **Help** menu. + Fixed G-Sync status in D3D11; disabled by default, you can turn this on under the **Display** menu. + Optimized D3D11 state cache and eliminated reference leaks when combined with third-party D3D11 libs

0.6.2.5 removes light scattering debug code accidentally left in 0.6.2.4.
0.6.2.6 fixes Windows 7-related issues
0.6.2.7 raises texture cache threshold back to normal limits (benefits people with 8 GiB of RAM or less)
0.6.2.8 forces D3D11.1 interop state caching OFF for ancient operating system compatibility
0.6.2.10 re-writes texture cache eviction implementation to work better with the D3D11 render mod tools and multi-threaded engines
0.6.2.11 is my final attempt to improve compatibility with third-party software. If you insist on using stuff like RTSS for its overlay or Resorep for texture injection rather than the stuff built-in to Special K, you will need to roll-back to an earlier version and disable updates because I don't intend to waste any more time trying to support those things.
0.6.2.12 moves crash logs to logs/crash/{timestamp}/... for long-term storage
0.6.2.13 corrects cache purge behavior on systems with unusually low system memory
0.6.2.16 fixes RTSS overlay text


The Special K project itself is back in working order as well. You can install the global injector again and get many of these benefits in all DDraw, D3D8/9/11/12, GL games. Vulkan support is broken, since I only have two games to test with.

Please refer to the Special K Steam group - the global injector install procedure is different.

@Kaldaien Kaldaien released this Jun 12, 2017 · 38 commits to master since this release

Assets 8

Light Volume and Memory Management Improvements

Lighting Changes

  • Transforms camera position into light-space and tests for coverage based on extent
  • Extent range is now 0% (ALL lights are global) to 100% (NO lights are global).
  • Adjusting the slider will bring lights that were projected to infinity back into view
    • Previously this required setting the slider all the way back to 0

Texture Memory Management Changes

  • Removed Staging usage from texture uploads (may fix white screen issues)
  • Fixed texture cache hit false postives in D3D11 Shader Mod Tools

0.6.1.1 Fixes bloom resolution problems in latest version of Special K
0.6.1.2 Implements non-destructive light culling and improves AO resolution scaling

@Kaldaien Kaldaien released this Jun 2, 2017 · 49 commits to master since this release

Assets 12

Global Illumination Fix - Round 2

Significantly more sophisticated approach to Global Illumination performance.


Instead of arbitrarily limiting the number of lights as DrDaxxy's original work did, 0.6.0 is able to compute light volumes and attempt to reduce the working set of lights to only the most significant lights. This cuts down GPU load significantly without the severe artifacts caused by the original solution.

  • A new Minimum Light Extent slider has been added
    • 0.0 = no restriction
    • 64.0 = only display massive lights such as the sun.

There is still room for improvement with this new system and I may release a couple of revisions with better light volume scaling over time.

For now, just play with this slider. It is very likely that you will be able to use higher quality settings if you focus on the slider rather than the old drop-down menu.

I can do solid 60 FPS at 4K on my GTX 1080 laptop with High Quality Global Illumination and Minimum Light Extent = 20.0


There is a new Shader Debugging system under Direct3D11 Settings.

Global Illumination is the Compute Shader with hash: 68b68a14.


0.6.0.1 includes compatibility updates and more advanced shader debugging
0.6.0.2 fixes texture flags that were preventing texture dumping
0.6.0.3 fixes shader cache hash collision mitigation (stability)
0.6.0.4 adds live texture view to D3D11 shader mod tools; should help texture modders
0.6.0.5 fixes compatibility with 3DMIgoto shader injection

May 15, 2017
Update version.ini

@Kaldaien Kaldaien released this May 14, 2017 · 64 commits to master since this release

Assets 12

Fixed Internet-based Auto-Install


0.5.7.1 fixes HTTP timeout response on auto-update
0.5.7.2 "fixes" issues some people were having when trying to run the game at 800x600 (by telling them the software's not compatible with their resolution).
0.5.7.3 includes various compatibility updates, refer to the Special K repository on GitLab for more info.
0.5.7.4 removes thread scheduling debug options added by 0.5.7.2 and adds option to disable gamepad menu input (Input Management/Gamepad)

@Kaldaien Kaldaien released this Apr 28, 2017 · 90 commits to master since this release

Assets 16

Fixes for (4/28/17) Patch

ย ย ย What a worthless patch ๐Ÿ‘Ž


I have made necessary corrections to the stutter elimination code for the new executable.

Other features such as camera control and FPS uncap are disabled until further notice; I have no memory patterns to scan for those features.


0.5.6.1 - Includes new ReShade compatibility features, please refer to the release notes for Special K v 0.8.0 for more info (the procedure for loading ReShade has changed).
0.5.6.2 - Includes compatibility changes for Windows 10 and Steam Overlay, INI file will be reset on update, if you update yourself it's your responsibility to delete dxgi.ini first.
0.5.6.3 - Fixes mouse cursor on some systems; game uses hardware cursor but does not handle WM_SETCURSOR
0.5.6.4 - Re-introduces hudles screenshots and partial camera control.
0.5.6.5 - Re-enables everything the patch broke
0.5.6.6 - Improves input compatibility on AMD systems
0.5.6.7 - Testing new startup and window management compatibility
0.5.6.8 - Addresses compiler optimization problems
0.5.6.9 - Compatibility updates (promoted to release)
0.5.6.10 - Addresses rare XInput hotplug problems
0.5.6.11 - Fixes D3D11 Device Context hook corruption when combined with 3DMigoto's wrapper
0.5.6.12 - Fixes XInput interface mismatch between 3DMigoto (9_1_0) and game (1_3)

@Kaldaien Kaldaien released this Apr 22, 2017 · 95 commits to master since this release

Assets 6

Camera Freelook (early work)

To use, with a gamepad, press 5 on your numberpad.

This disengages the game's ability to read input from XInput controller #0 and allows you to move the camera with the left analog stick. Remember to press 5 again or the game really isn't playable.

To orbit around your character, turn on Origin Lock (default keybinding: Numpad Divide).

Future releases will make the whole process more intuitive and add more controls, such as pitch and using a secondary controller instead of re-purposing the same controller the game uses ๐ŸŽฎ

If you don't have a numberpad, feel free to re-bind this stuff under the HUD / Camera settings.
If you don't have a gamepad, you're screwed ๐Ÿคฃ


0.5.5.1 Adds G-Sync Status Indicator to Config UI
0.5.5.2 Includes Input Management (compatibility) Updates from Special K (0.7.61)
0.5.5.3 Includes Haptic Feedback and Deadzone Compensation from Special K (0.7.65)

@Kaldaien Kaldaien released this Apr 19, 2017 · 101 commits to master since this release

Assets 6

Camera Control, HUDless Screenshot and Keybindings

  • Integrated a small subset of features from Idk31 and Smithfield's CheatEngine table for camera control and HUD opacity.
  • Added a keybinding for HUD free screenshots (default: Numpad -)

0.5.4.1 Fixes various Steam overlay issues
0.5.4.2 Fixes keybinding preferences (they are persistent now)

@Kaldaien Kaldaien released this Apr 17, 2017 · 104 commits to master since this release

Assets 5

Input Management

0.5.3 adds experimental support for gamepad-based configuration.


To use the config menu with a gamepad, press Start + Select / Start + Back. When the menu opens, the mod will attempt to capture all gamepad input until you cancel this mode by pressing B (Xbox) / Circle (PlayStation).

  • The D-Pad can be used to cycle through UI elements
  • A / Cross activates menu items
  • Holding X / Square + Left Analog Stick allows you to drag windows around
  • Pressing Caps Lock engages keyboard input mode, press
    up/down/left/right/enter to interact with the UI
  • Similarly, you can move the UI around by pressing and holding Ctrl + Alt

The config menu must be opened using the special button combo listed above, or it will function normally (only supports keyboard/mouse). This should eliminate accidentally making changes with the gamepad ;)

0.5.3.1 addresses DirectInput / XInput interoperability issues
0.5.3.2 flashes the titlebar when Caps Lock mode is on and accepts keyboard navigation


Someone still needs reprimanding for breaking Markdown on GitHub ๐Ÿ˜ž