Jump to content

PCGamingWiki will use a Single Sign On (SSO) system to bridge wiki and forum accounts which is ready for testing. You may login using the 'Login with PCGamingWiki' button on both the wiki and the forum, which will soon be the only option. If you have any issues please message Andytizer on Discord.

About This File

TL;DR

The DirectInputFpxFix fixes an input related FPS drop/slowdown problem that occurs in FEAR, its expansions, Condemned: Criminal Origins and other games. It is easy to install and does not require manual disabling of HID devices.

 

Quick start guide:

  1. Extract the file dinput8.dll to the folder containing the executable of the game. For example: "C:\Program Files (x86)\Steam\steamapps\common\FEAR Ultimate Shooter Edition"
  2. Start the game like you would normally, for example directly through Steam or GOG Galaxy.

Features

The DirectInputFpsFix fixes a bug that causes the FPS to severely drop after a few minutes of play. This problem is probably most widely known in regards to the game FEAR and often occurs in conjunction with the usage of Logitech devices.

 

However, the problem also crops up in other games using the same engine, such as the FEAR expansions or Condemned: Criminal Origins and with non-Logitech hardware configurations. A similar problem has also been reported to occur in other titles, like Prototype.

 

Although this issue can often be fixed by disabling most/all HID-Devices in the device manager, it is bothersome to do so and lately some people reported that that solution does not even work at all anymore, especially on machines running Windows 10.

 

Instructions

Supported Games

The fix is agnostic towards the game that uses it and should therefore work with all versions of a supported game, including the Steam, GOG and retail versions.

  • Confirmed:
    • FEAR and its expansions
    • Condemned: Criminal Origins

    [*]Supposedly:

    • Prototype
    • Kane & Lynch: Dead Men

Feel free to provide feedback if the DLL works on other games as well.

 

Install

The fix does not make any permanent changes to the game or to Windows and can easily be removed.

  1. Extract the file dinput8.dll to the folder containing the executable of the game. For example: "C:\Program Files (x86)\Steam\steamapps\common\FEAR Ultimate Shooter Edition"*
  2. Start the game like you would normally, for example directly through Steam or GOG Galaxy.

*Note that for the FEAR expansions the fix also has to be installed into the corresponding sub-folder of the game

 

Uninstall

  1. Rename or remove the dinput8.dll from the folder of the game.

Known Issues

There are currently no known issues with the fix.

 

Additional Information

Antivirus Software

Since this mod consists of an executable DLL file that uses "hacking techniques" such as injection and hooking, it could be classified as malicious by antivirus software. In that case, it might be necessary to add an exception rule to the scanner.

 

If you lack the trust in random people on the internet -- and I would not blame you -- feel free to use a meta online virus scanner like VirusTotal to verify the file.

 

Loading Other Fixes/Mods/Injectors

To increase the compatibility with other mods or injectors that are using a wrapper DLL, this fix offers two methods for remote loading of additional files. Note that there might still be compatibility issues between the different fixes, mods or injectors that have nothing to do with the loading process.

 

File method:

 

The mod will load another dinput8.dll automatically if it has the name dinput8.dll. Just rename the DLL you want to load accordingly. Using this method will lead to an error if the renamed DLL is not itself a dinput8.dll.

 

Folder method:

 

The mod will also automatically load all DLLs regardless of their names in a dinput8 sub-directory. Just create a corresponding folder in the install directory of the mod. This is the only way to load multiple (conflicting) files.

 

How This Works

The fix is implemented using a common technique known as DLL hooking.

 

User input in games like FEAR can be realized via DirectInput, an API by Microsoft for interacting with HID-Devices. The library is ancient and should no longer be used today, because there are other ways to get mouse and keyboard input, especially for games.

 

The FPS drops happen because the thread that runs DirectInput massively slows down after a while (as can be seen in tools like ProcessExplorer).

 

If an application uses a library like DirectInput, it needs a so-called DLL (dynamic-link library) where the functionality of the library is stored. In many cases, especially for libraries provided by Microsoft, these DLLs usually reside in the Windows folder.

 

However, there is an order of how an application searches for the DLLs it needs. Since the DLL of the fix gets copied into the main folder of the application and has the same name of a DLL needed by the game (the one of DirectInput), it gets loaded instead of the one in the Windows folder.

 

This means that all calls to DirectInput go through the Hook-DLL and can either be directed to the original DLL in the Windows folder or changed as necessary. This also allows some insight in how exactly the library is used by the game.

 

It turned out that some games not only unnecessarily register all HID-devices, they also call several functions every frame that usually only should be called once during initialization. The latter seems to apply only to devices that are not keyboards or mice. This eventually leads to circumstances where a lot of time is spent opening and closing device connections.

 

The fix changes the DirectInput initialization in such a way that only keyboard and pointer devices get registered.

 

Contact And Support

If you like this mod and want to support the development or show your appreciation with a donation, you can find more information on my website. There you can also find out more about other mods that I have done and means to contact me if you have a question, want to provide feedback, bug reports and suggestions.


What's New in Version v1.0   See changelog

Released

  • Fixed a compatibility problem that prevented games to start on some systems
  • Added support for additional games
  • Updated the loading system to add support for remote loading of additional DLLs for increased compatibility with other mods and fixes (see Loading Other Fixes/Mods/Injectors)



User Feedback

Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By besubaru
      File courtesy from "https://galgun.pikachu.moe/ModPawn.zip" from the Steam Guide: "https://steamcommunity.com/sharedfiles/filedetails/?id=1603993136"
    • By Methanhydrat
      TL;DR
      The Youngblood Tweaker (YBT) allows additional tweaking of Wolfenstein: Youngblood. This includes options to scale player and enemy damage, adjusting the amount of head bobbing, disabling various HUD elements and more.
      Quick start guide:

      Extract the file dinput8.dll to your main game folder. For example: "C:\Program Files (x86)\Steam\steamapps\common\Wolfenstein Youngblood\". Start the YoungbloodTweakerGUI.exe set the bindings and other settings as desired Start the game like you would normally, for example directly through Steam


      Features The Youngblood Tweaker (YBT) is a small mod that offers additional options for Wolfenstein: Youngblood. The goal is to fix issues that prevent people from enjoying the game, as well as to provide quality of life improvements.
      The mod is still in its infancy with very limited functionality. It may be extended and improved based on user feedback in the future.
      Its features include:

      Adjusting player and enemy damage Disabling various HUD elements, such as enemy healthbars, objective markers, minimap or the crosshair Adjusting the amount of head bobbing when moving or turning Forcing the FOV outside the range that can be set ingame Disabling rendering of the fog


      Instructions Supported Versions
      This mod is designed for the latest, fully patched versions of the game and might not work when used with older or otherwise modified executables.

      Steam (international version) Steam (international demo version)


      Install The mod does not make any permanent changes to the game or to Windows and can easily be removed.

      Extract the file dinput8.dll to your main game folder. For example: "C:\Program Files (x86)\Steam\steamapps\common\Wolfenstein Youngblood\". Start the YoungbloodTweakerGUI.exe set the bindings and other settings as desired Start the game like you would normally, for example directly through Steam


      Note that even though the GUI is for configuration only and does not have to be running for the mod to work, it can be used together with the 'Reload Config' binding to adjust options of the fly. Update

      Perform a regular installation and just overwrite any existing files


      Note that an update retains all configured options unless they have actually been changed or removed in the new version. Uninstall

      Remove or rename the dinput8.dll from the folder of the game.


      Known Issues There are currently no known issues.
      Additional Information
      Antivirus Software
      Since this mod consists of an executable DLL file that uses "hacking techniques" such as injection and hooking, it could be classified as malicious by antivirus software. In that case, it might be necessary to add an exception rule to the scanner.
      If you lack the trust in random people on the internet -- and I would not blame you -- feel free to use a meta online virus scanner like VirusTotal to verify the file.
      GUI Requirements
      The GUI requires the Microsoft .NET Framework 4.7.1 to work; which should already be installed on most systems. If you are having problems starting the program, you can download the required version either through a recommended Windows update (Windows 7 and later) or at Microsoft here.
      Loading Other Fixes/Mods/Injectors
      To increase the compatibility with other mods or injectors that are using a wrapper DLL, this fix offers two methods for remote loading of additional files. Note that there might still be compatibility issues between the different fixes, mods or injectors that have nothing to do with the loading process.
      File method:
      The mod will load another dinput8.dll automatically if it has the name dinput8_Remote.dll. Just rename the DLL you want to load accordingly. Using this method will lead to an error if the renamed DLL is not itself a dinput8.dll.
      Folder method:
      The mod will also automatically load all DLLs regardless of their names in a dinput8_Remote sub-directory. Just create a corresponding folder in the install directory of the mod. This is the only way to load multiple (conflicting) files.
      Input Bindings
      The GUI allows the binding of an action to an arbitrary combination of keys and buttons on the keyboard, the mouse or an XInput compatible controller. The system purposefully does not restrict conflicts, so multiple actions can be bound to the same key.
      Key Names:
      In case of the keyboard there might be a discrepancy between the key that was pressed and the one that is displayed. This is because the names are automatically translated based on the keyboard layout by using a Windows function. However, the mod always uses the physical keys as they were used during the creation of the binding, independent of the name that is displayed.
      Modifiers:
      Modifier bindings can be created by just using the corresponding key combinations. If you bind one action to Space and another another to LCTRL + Space and a third one to LALT + LCTRL + Space, only one of them will be triggered when Space is down, depending on the state of LCTRL and LALT. The system is not restricted to the usual modifier keys ALT, CTRL or SHIFT. Any key or button pressed before another acts as a modifier for the next one. Note that the order of the keys or buttons is only relevant during the binding process to distinguish bindings with the same modifiers. In the above example, Space could be held down and the other actions triggered by pressing LCTRL or LALT afterwards.
      Contact And Support
      If you like this mod and want to support the development or show your appreciation with a donation, you can find more information on my website. There you can also find out more about other mods that I have done and means to contact me if you have a question, want to provide feedback, bug reports and suggestions.
      Version History
      v1.0.1:

      Added support for game version 1.0.3


      v1.0:
      Initial public release


       
    • By Wolfinston
      All credit goes to drennan a gog user I'm simply sharing the mod for preservation purposes.
       
      Drennan made the following mod and said this about it:  
      This mod hides certain elements of the XIII user interface.
      To install, copy HUDFree.u and HUDFree.int into the System subfolder of your 
      XIII folder. In the same folder, edit XIII.ini:
      Replace the value of the DefaultGame key with HUDFree.XIIIHUDFreeGameInfo in 
      the Engine.Engine section of XIII.ini, like this:
      [Engine.Engine]
      DefaultGame=HUDFree.XIIIHUDFreeGameInfo
      Add the following section to XIII.ini to fine-tune what exactly is hidden:
      [HUDFree.XIIIHUDFreeHUD]
      bShowHealth=False
      bShowWeaponsItems=False
      bShowObjective=False
      bShowDialog=True
      bShowEndMessage=False
      bShowSave=False
      bShowPickup=False
      bShowOthers=False
      XIII-HUD-Free-Mod-1.0.1.zip
    • By Apocalypse612
      Name: Warrior Ch. 10 Map 2 Fix - V1.00
      Author: Corey DeFrancesco
      Email: Apocalypse612@yahoo.com
      ------------
      Tools (optional): xdeltaUI
      Patched File Name: war10b.map
      File Directory: $INSTALLATION_DIR$\GOG Games\Nox\maps\war10b
      This file patch applies to the GOG games release, but it should still be valid for the other versions as well. It addresses some issues related to a secret area and Mechanical Golem fight in Warrior Chapter 10 (Map 2) not triggering.
      I have included the modified map file in this pack. If you prefer, you can also use the patch file instead. In order to apply the patch file you will need xdelta (available at Romhacking.net).
      I used NoxEdit2014 in order to fix these problems. Huge shout out to those guys at the NoxCommunity.com forums for making the tool available.

      ------------
      Email me if there are any problems.
      Enjoy!
    • By Keith
      A Cheat Engine table containing a standalone script for changing the FOV in World War Z. It was originally posted by l0wb1t.
  • Who's Online   1 Member, 0 Anonymous, 85 Guests (See full list)

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Member Statistics

    4,359
    Total Members
    3,870
    Most Online
    Mrnightmare027
    Newest Member
    Mrnightmare027
    Joined
×