Registration Code (Part 1): w%kQ6
Registration Code (Part 2): b<#$1[*(cw~
In order to register on this forum, you must use the codes above. Combine them into one code (copy paste).

Grim Dawn Hook

Topics regarding the new upcoming ARPG Grim Dawn.
Post Reply
User avatar
atom0s
Site Admin
Posts: 414
Joined: Sun Jan 04, 2015 11:23 pm
Location: 127.0.0.1
Contact:

Grim Dawn Hook

Post by atom0s » Tue Mar 24, 2015 3:14 pm

Image


>> What is Grim Dawn Hook?
  • GDHook (short for Grim Dawn Hook) is an injected Direct3D wrapper that hooks onto the rendering engine of Grim Dawn.
    Along with the Direct3D wrapper, GDHook also extends what the game is currently able to do by adding various new features such as:
    • In-Game Console
      • Image

        The in-game console allows users to interact with GDHook and its plugins/addons easily, without having to leave the game.
      Executable Scripts
      • Image

        Executable scripts allow you to easily and quickly run multiple commands at once. You can load all your favorite addons and plugins on the fly with a single script.
      Key Bindings
      • With key bindings, you can easily bind your favorite addon and plugin commands to various keys to quickly execute things on the fly.
        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.
      Addons / Plugins
      • GDHook 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 accessible 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.
      Extensive Font Objects
      • GDHook comes with a unique home-brewed 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.

>> Requirements For GDHook
  • GDHook is developed in Visual Studio 2013 (Update 4). You will need the following packages to ensure that GDHook (and any other bits of it) will run correctly:
    On newer systems you may already have both of these files.

    Please be sure that you install the 32bit version of the Visual C++ Runtime!
    It does not matter if your system is 64bit, you MUST have the 32bit version installed for GDHook to work!

>> Using GDHook
  • GDHook comes with its own injector/launcher. This is how you must run the game if you wish to use GDHook.

    To start, you first need to edit the install path of your Grim Dawn install within the installpath.txt file that is located in the root directory of GDHook. Your install path must point to the full path to Grim Dawn.

    On standard installations, the install path will look like this:
    • 32bit system: C:\Program Files\Steam\SteamApps\common\Grim Dawn\
    • 64bit system: C:\Program Files (x86)\Steam\SteamApps\common\Grim Dawn\
    Do not include the 'Grim Dawn.exe' name at the end!
    After you have edited and saved the installpath.txt, simply run the injector. (GDHook.exe)

>> Legal
  • I, atom0s, do not claim any ownership or copyright of Grim Dawn, its assets, or any of its collective works.

    I, atom0s, am not responsible for what happens while you make use of GDHook. Use at your own risk!

    Grim Dawn is copyright to: © 2009-2015 Crate Entertainment, LLC.

    All rights reserved.
    All other trademarks referenced herein are the properties of their respective owners.

>> Contact

Download
http://dl.atom0s.com/?dir=Game%20Specific/Grim%20Dawn
Derp~
Need a great web host? Check out: AnHonestHost.com


Donations can be made via Paypal:
https://www.paypal.me/atom0s
User avatar
atom0s
Site Admin
Posts: 414
Joined: Sun Jan 04, 2015 11:23 pm
Location: 127.0.0.1
Contact:

Re: Grim Dawn Hook

Post by atom0s » Tue Mar 24, 2015 3:30 pm

Post Reserved
Derp~
Need a great web host? Check out: AnHonestHost.com


Donations can be made via Paypal:
https://www.paypal.me/atom0s
User avatar
atom0s
Site Admin
Posts: 414
Joined: Sun Jan 04, 2015 11:23 pm
Location: 127.0.0.1
Contact:

Re: Grim Dawn Hook

Post by atom0s » Wed Mar 25, 2015 1:47 am

GDHook v1.0.0.1
  • [FIX] Fixed an issue that could prevent graphics device creation on some ATI cards.
  • [FIX] Fixed a crash issue when changing graphics settings.
  • [CHG] Adjusted Screenshots plugin to display messages if things fail.
  • [CHG] Adjusted when screenshots are taken to avoid black / blank screenshots.
  • [CHG] Adjusted when things are rendered to reduce failures while using Direct3D debug libraries.
  • [ADD] Added support for screenshotting multisampled devices. (Anti-alias.)
  • [FIX] Fixed caps lock key not working while typing into the console.
  • [FIX] Fixed numpad keys not working with the console.
Issues with some ATI cards as well as attempting to allow lockable back buffers while multisampling is in-use would cause crashes. These are now fixed and GDHook should no longer crash or fail to create the graphics device. This issue was persistent when changing video settings in-game as well, which is also fixed.

The screenshot plugin has been partially recoded to support a non-lockable back buffer as well. Instead, the plugin will now do some surface/texture magic to create a new render target to handle the screenshot saving. Because of how this magic works, the png library I use to make better quality png screenshots is not used. Instead, the built-in Direct3D PNG screenshot feature is used and thus lower-quality screenshots are created.

Adjustments to when things are rendered has been made as well to reduce errors/failure messages when using the Direct3D debug libraries. This also fixes some minor issues where the Screenshot plugin would sometimes take a blank or black screenshot.

A bug has been discovered that effects the Effects plugin. Multisampling must be turned off in order to use this plugin properly. (Set anti-alias in the game settings to off.) Otherwise you will get a black screen of doom when loading the plugin.

Download
https://www.dropbox.com/sh/t3519ro1ozbt ... RA--a?dl=0
Derp~
Need a great web host? Check out: AnHonestHost.com


Donations can be made via Paypal:
https://www.paypal.me/atom0s
User avatar
immorrr
Posts: 110
Joined: Fri Mar 27, 2015 2:21 pm
Location: Germany

Re: Grim Dawn Hook

Post by immorrr » Sun Apr 12, 2015 1:05 pm

would be cool if you could add copy/paste support...
Mr.BOB
Posts: 6
Joined: Wed Apr 15, 2015 2:03 am

Re: Grim Dawn Hook

Post by Mr.BOB » Wed Apr 15, 2015 2:25 am

Hello atom0s, is there any method to use the player object inside an addon and retrieve a value?

for example:
Player.GetCoords(entity);
Player.GetFaction(entity, faction_name);
Player.GetLevel(entity);
Player.GetPlayerName(entity);

It is only working inside GrimLua for me at the moment.
User avatar
atom0s
Site Admin
Posts: 414
Joined: Sun Jan 04, 2015 11:23 pm
Location: 127.0.0.1
Contact:

Re: Grim Dawn Hook

Post by atom0s » Wed Apr 15, 2015 10:33 am

The addons plugin and the GrimLua plugin use separate Lua states altogether so there is no way to obtain that data from an addon using the games Lua functions.
Instead you will need to manually locate the data and read it via the memory functions that are exposed to the addons.
Derp~
Need a great web host? Check out: AnHonestHost.com


Donations can be made via Paypal:
https://www.paypal.me/atom0s
Mr.BOB
Posts: 6
Joined: Wed Apr 15, 2015 2:03 am

Re: Grim Dawn Hook

Post by Mr.BOB » Wed Apr 15, 2015 11:12 am

Ok, thank you for the answer.

currently I am working on a "Faction (reputation) Tracker" : example from curse

unfortunately I've never used a disassembler before to find memory addresses,
but at the moment I've a solution for my needs:
An add-on script that uses GrimLua to execute a script which writes a txt/json file into the add-on folder
and afterwards the main loop of the add-on uses it and calls GrimLua again after ~1 sec.

Still need to test this 'not so clean' solution if there are some side-effects if used very quickly after each other
User avatar
immorrr
Posts: 110
Joined: Fri Mar 27, 2015 2:21 pm
Location: Germany

Re: Grim Dawn Hook

Post by immorrr » Wed Apr 15, 2015 11:18 am

i can also provide you the pointer to the faction array from which you are able to itterate through the different factions.

Some kind of faction tracker is also already integrated into my trainer :roll:
Image
Mr.BOB
Posts: 6
Joined: Wed Apr 15, 2015 2:03 am

Re: Grim Dawn Hook

Post by Mr.BOB » Wed Apr 15, 2015 11:27 am

immorrr wrote:i can also provide you the pointer to the faction array from which you are able to itterate through the different factions.

Some kind of faction tracker is also already integrated into my trainer :roll:
Well that could help me probably for creating a cleaner solution :)
User avatar
atom0s
Site Admin
Posts: 414
Joined: Sun Jan 04, 2015 11:23 pm
Location: 127.0.0.1
Contact:

Re: Grim Dawn Hook

Post by atom0s » Wed Apr 15, 2015 6:16 pm

If you want to make another thread for current pointers/offsets for the game immorrr that would be good too as a central location for that data.
Derp~
Need a great web host? Check out: AnHonestHost.com


Donations can be made via Paypal:
https://www.paypal.me/atom0s
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest