Page 1 of 1

REHDHook - Direct3D Hook / Plugins / Addons and more!

Posted: Wed Jan 28, 2015 10:39 am
by atom0s
by atom0s

What is REHDHook?
  • REHDHook is an injected Direct3D wrapper that hooks onto the games rendering engine. REHDHook includes the following features:
    • In-game Console
    • Scripts
    • Key Bindings
    • Plugins
    • Addons
    • Moveble Font Objects
    With REHDHook, you can create a whole new gaming experience while playing Resident Evil!
  • In-Game Console
    • The in-game console allows users to easily and quickly interact with the game and the hook. Users can hit a predefined hotkey to cause the console to open allowing them to type in commands.
      While the console is open the game is no longer able to handle the keyboard messages preventing the user from accidentally doing something in-game they did not want to do while typing into the console.

      The console is the central hub for communicating with the hook and any loaded plugins / addons. Users can load and unload plugins and addons via the console, create or remove key binds, as well as interact with plugins/addons, the hook, and the game.
    • Scripts are simple text files that allow users to execute a collection of commands at a single time. Whether it be setting a handful of useful key binds at once, loading your favorite plugins / addons, or setting some configuration options.
      Scripts are a quick and easy way to do a lot of things all at once.
    Key Binds
    • Key bindings let you bind a series of keys to execute a specific action. For example, in the beta version I have currently deemed 'F2' as the console key. (This will change later though.) Anytime F2 is pressed the console is toggled with the command: toggleconsole
      Key binds can be grouped with multiple keys, making use of the CTRL, ALT, Windows, Apps, and Shift keys. So you could bind a command to CTRL+ALT+F if you wanted to.

      When a key bind is pressed, REHDHook blocks the game from ever receiving the key presses so that there is no conflict with the game.
    Plugins / Addons
    • REHDHook offers a full plugin interface to communicate with the hook. Plugins are loaded directly into the game allowing users direct access to the games memory. With plugins, you have full access to the hooks various interfaces allowing you to interact with the hook as well, even other plugins.

      Addons are through a plugin called 'Addons'. Addons expose the hooks plugin interface to Lua scripts allowing people whom do not know C/C++ (or any other language that can use a C interface) to create extensions for the game as well.
      Pretty much everything that a plugin can do can be done inside of a Lua addon.
    Movable Font Objects
    • REHDHook comes with a unique font engine that allows you to create objects that are highly customizable. The font objects can act as buttons with callbacks as well allowing users to create more in-depth objects that can be used to interact with the game.
      The font objects can be parented with another object allowing them to move together, as well as be anchored to another ensuring they stay together in the exact location you want them to.

      Font objects can be textured as well allowing you to create mini-UI systems for your addons or plugins.

Setting Up REHDHook
  • Setup is quick and simple. Just extract all the files that are included in the REHDHook package that you downloaded and place the files into a new folder on your computer. REHDHook does not need to be in the same folder as the game, and is recommended that you do not put it there to avoid file conflicts. Afterward, you can edit the following files for more customization:
    - REHDHook\Scripts\Default.txt - Contains the various commands, plugins, and addons that will be automatically executed when the game is loaded.
    - REHDHook\Configs\rehdhook.xml - Contains various configuration options that you can tweak.

Known Bugs
  • - Attempting to alter the window resolution in the game settings while REHDHook is in use will crash the game. This appears to be a bug with the game itself.
    - Text that is sent to the console that contains linebreaks will cause the console to overrun the allotted space for the console.
    - The console key is currently bound to F2 which may conflict with some users. In the future this key will be alterable.

Beta Screenshots Feel free to post anything about this project. Questions, comments, concerns, support etc. :)

Re: REHDHook - Direct3D Hook / Plugins / Addons and more!

Posted: Wed Jan 28, 2015 4:35 pm
by atom0s
REHDHook v1.0.0.1
  • [FIX] Fixed a left-in bug for setting the window to an invalid style.
    [ADD] Added /quit as a console command to also exit the game immediately.
    [CHG] Changed the way the console is first initialized.
    [CHG] Changed the way the console handles when the device is reset.
    [FIX] Fixed a bug in the example addon. (Was missin the common require.)
    [ADD] Added configuration option 'console_key' to allow users to bind the console to their own desired key.
    [ADD] Added key bind commands to the console.
    [ADD] Added healthbar addon.
    [ADD] Added fps addon. (Displays the current game FPS.)
    [ADD] Added mem:AllocMemory to addons.
    [ADD] Added mem:DeallocMemory to addons.
    [ADD] Added documentation.
    [ADD] Added ExamplePlugin.7z which contains an example plugin source code for REHDHook.
Download ... ABwha?dl=0

Re: REHDHook - Direct3D Hook / Plugins / Addons and more!

Posted: Wed Jan 28, 2015 8:37 pm
by atom0s
REHDHook v1.0.0.2
  • [FIX] Fixed console lines overrunning when newlines are used. (May has have some left-over bugs, we'll see!)
    [FIX] Fixed a bug with the configuration manager not loading files properly.
Download ... ABwha?dl=0

XRemap is a plugin that allows users to remap their controller buttons to work as other buttons.
For example pressing A can cause B to be pressed instead.

Download ... ABwha?dl=0

Re: REHDHook - Direct3D Hook / Plugins / Addons and more!

Posted: Fri Jan 30, 2015 10:33 am
by atom0s
  • SpeedTimer is a simple addon to create an in-game timer text object showing the current play time.
    Useful for those streaming or wanting to keep track of their time during speed runs.

    (The timer starts as soon as the game is loaded. It resets once you start a new game or load an existing game.)

    To use this addon, simply place the speedtimer folder into your 'addons' folder, located at: \REHDHook\Scripts\addons\
    Then use the following console command:
    /addon load speedtimer

    Download ... ABwha?dl=0
    (The download can be found inside of the Addons folder.)

  • AutoHideMouse is an addon that enables the auto-hide mouse feature that is built into the game but for whatever reason is not used.

    To use this addon, simply place the autohidemouse folder into your 'addons' folder, located at: \REHDHook\Scripts\addons\
    Then use the following console command:
    /addon load autohidemouse

    Download ... ABwha?dl=0
    (The download can be found inside of the Addons folder.)

  • DoorSkip is an addon that implements the ability to skip door cutscenes.
    This addon patches a byte of memory to make the game think the cutscene is already completed when it is not.

    Credits to mgr.inz.Player for the DoorSkip pattern.

    Please note: I did not test this mod thoroughly for various events in the game that have caused issues with FluffyQuacks first versions of his personal DoorSkip mod. So those same issues he has fixed in his may be present in this addon!

    To use this addon, simply place the doorskip folder inside of your addons folder located at:

    Afterward, load the addon via:
    /addon load doorskip

    You can enable and disable doorskip from the console via the following commands:
    /doorskip on
    /doorskip off

    Download ... ABwha?dl=0
    (The download can be found inside of the Addons folder.)

Re: REHDHook - Direct3D Hook / Plugins / Addons and more!

Posted: Fri Jan 30, 2015 9:05 pm
by atom0s
REHDHook v1.0.0.3
  • [CHG] Plugin interface version has changed to 1.01! (Plugins need to be recompiled with the new SDK.)
    [ADD] Added configuration options to override the window size.
    [FIX] Fixed a bug with the configuration manager not using boolean values properly.
    [ADD] Added the hook version to the launcher.
    [ADD] The launcher will now auto-close when injection is completed successfully.
    [ADD] Added automousehide, doorskip, and speedtimer addons to the release package.
    [ADD] Added some more documentation.
    [CHG] Changed the Changelog format some.
    [CHG] Removed console key configuration from rehdhook.xml, it is now inside of the Default.txt
    [ADD] Added screen size overriding allowing users to render the game at any resolution they want.
    [ADD] Added screen size aspect resolution overriding too. (Use these features with caution!)
    [ADD] Added new screenshot plugin. (Allows plugins to be saved in bmp, jpg and png formats.)
    [FIX] Fixed FPS plugin displaying double the fps.
    [ADD] Added Direct3DPrePresent and Direct3DPostPresent calls to plugins. (Not added to addons since they can't make use of it.)
    [ADD] XRemap plugin is now part of the main release package.
Some stuff to note with this change:
- The console key has been moved to default.txt instead of the xml configuration. This is done to reduce clutter in the xml.
- Any personal plugins will need to be recompiled with the SDK to work with v1.0.0.3! (New Direct3D callbacks are added.)

The new window size and aspect overriding is fairly "fragile". Meaning if you use bad values the following can happen:
- The game will crash.
- The game will hang/freeze.
- The game will over-render off-screen. Meaning the game will render too big for the window and get cut off.

So be sure to use proper values while you are working with them.

Download ... ABwha?dl=0

Screenshot Plugin

I have added a new plugin, Screenshot. This will allow you to take screenshots in BMP, JPG, or PNG formats.
The command is: /screenshot [hide (optional)] [format]

For example:
/screenshot hide
/screenshot png hide
/screenshot png
/screenshot hide png

Will all work. Using hide will hide all of the REHDHook drawn elements from the screen to take a "clean" screenshot.
By default the printscreen button is already bound to take screenshots. You can edit this key in your Default.txt.
Screenshots are saved to \REHDHook\Screenshots\, they use the format:[format] when saved.

Re: REHDHook - Direct3D Hook / Plugins / Addons and more!

Posted: Wed Feb 04, 2015 1:23 am
by atom0s
REHDHook v1.0.0.4
  • [CHG] REHDHOOK_INTERFACE_VERSION bumped to 1.02! (Plugins need to be recompiled with the new SDK.)
    [ADD] XRemap has a new configuration option to enforce rumbling.
    [ADD] XRemap can now fully block a controller button if the configuration is set to -1.
    [ADD] Updated the launcher to include hot-links to open the changelog and documentation folder.
    [ADD] Updated the launcher to include a paypal donation button.
    [CHG] Changed the icon of REHDHook and the launcher.
    [CHG] Changed the look of the closing dialog when you attempt to force-click the game window.
    [CHG] Changed the order in which plugins and font objects render. (Plugins -> Font Objects)
    [CHG] Changed where plugins are told to render. Instead, Render is now called during Present.
    [ADD] Added new plugin 'Effects' which implements post-processing AA effects via SMAA.
    [ADD] Added documentation for bundled plugin commands.
    [ADD] Added documentation for bindable keys.
    [FIX] Fixed a bug that allowed the console to attempt to handle the key that toggles it.
Download ... ABwha?dl=0

Effects Plugin
One of the most common things you may see today with game modes is post-processing effect hooks/wrappers. Things such as ENB, SweetFX, gedosato, and more. Effects brings the power of SweetFX to REHDHook. Effects is a post-processing plugin that uses part of SweetFX's source code and applies SMAA to the game. Along with the SMAA effect, Effects offers a collection of different shaders that can be enabled and disabled via an easy to follow configuration file. With Effects, you can alter the look of the game to suite your needs, whether you want it to be darker to fit a more evil tone, or lighter to brighten the screen for hard to see areas.

You can edit the configuration of the Effects plugin in the file:

The following commands can be used while Effects is loaded:
/effects on - Turns the effects shading on.
/effects off - Turns the effects shading off.
/effects reload - Reloads the effects configurations.
/effects screenshot - Takes a screenshot with the effects applied. (The default Screenshot plugin will not take screenshots with the effects applied!)
/effects edgemethod [0/1] - Sets the edge method used during one of the passes of the SMAA technique. (0 = Luma, 1 = Color)

Re: REHDHook - Direct3D Hook / Plugins / Addons and more!

Posted: Thu Feb 05, 2015 4:36 pm
by atom0s
fpsfix Addon
fpsfix is a simple addon to apply a small patch to a game function removing an unneeded call to query the device for its current state every frame.

Credits to verteks for his finding on this small patch. This addon removes the need to use his d3d9.dll file to apply the fix.

Simply drop the whole fpsfix folder into your addons folder, located at: \REHDHook\Scripts\addons\

Then to load the addon use /addon load fpsfix
The patch will be applied as soon as the addon is loaded.

Download ... ix.7z?dl=0

(Future versions of REHDHook will come with this addon already.)

Re: REHDHook - Direct3D Hook / Plugins / Addons and more!

Posted: Sun Feb 08, 2015 9:39 pm
by atom0s
REHDHook v1.0.0.6
  • [ADD] Added new shader to Effects: SinCity
Download ... ABwha?dl=0

Re: REHDHook - Direct3D Hook / Plugins / Addons and more!

Posted: Tue Feb 17, 2015 12:39 pm
by atom0s
REHDHook v1.0.0.7
  • [ADD] Added new configurations for changing the console font family used.
    [ADD] Added new configurations for changing the console font size used.
    [ADD] Added new configuration for changing the maximum visible line count of the console.
    [CHG] The console will now properly align and size to the font used.
    [FIX] Fixed an issue that would cause typing into the console at high fps rates to spam keys fast.
    [ADD] Added configurations to speedtimer addon.
Download ... ABwha?dl=0