I hook into and proxy the following functions:
void GAME::GameEngine::SetTransferOpen(bool)
class GAME::InventorySack & GAME::Player::GetPrivateStash(void)
That gets around the issue other tools run into with âreading a memory addressâ etc, since these functions are likely to stay consistent across many, if not all future patches.
If the game is started before IA, then IA has no way of knowing until the player opens & closes the stash.
If the game is not running when IA is launched, then you can deduce that the stash is closed.
typedef int (__thiscall *SetTransferOpenPtr)(void*, bool);
SetTransferOpenPtr OriginalSetTransferOpen;
void __fastcall SetTransferOpen(void* This, void* notUsed, bool isOpen) {
OriginalSetTransferOpen(This, isOpen);
/* Your code here, stash is OPEN if isOpen */
}
typedef int* (__thiscall *GetPrivateStashPtr)(void*);
GetPrivateStashPtr OriginalGetPrivateStash;
void* __fastcall GetPrivateStash(void* This, void* notUsed) {
void* v = OriginalGetPrivateStash(This);
/* Your code here, stash is OPEN */
return v;
}
The first function will let you know when the Transfer stash is opened, and when transfer/private stash is closed.
The latter will let you know when the private stash is opened.
Since closing a private stash is always followed by SetTransferOpen(false), these two functions are all thatâs needed.
Now, the player actively tradeskilling is also a possibility, as that accesses the stash, but Iâve not included them as I donât provide any hotkeys that could allow the player to both transfer and tradeskill at the same time.
While the program is active, anything in stash 4 will be auto loaded into the programâs âstashâ once you exit the in game stash interface. Stash 3 should be kept clear to bring items in, as required.
Absolutely an amazing time saver to use this mod to clean house. I had 14 mules worth of hoarding, plus nearly a dozen characters all with scattered rares through legendaries. 1/2 hour later, I now have filterable database of âall the thingsâ. If you hoard, and donât have the time to tidy up all your mules, I highly reccomend this mod.
Slipperypete would it be possible to add in âelementalâ as a filter for both damage and resistance? That stat is seen on the item summary, but currently I canât seem to filter to it.
Same for the âTotal Speedâ item stat on gear.
Pet stats for a filter as well would be nice, would probably work best in itâs own section of a filter category.
Minor Bugs:
The filter for attack speed is just called âSpeedâ.
Item preview stats will write on top of each other if there are too many to fit in the box size you have given them.
Ah the battle is heating up. 3 Stash Managers now in the running. I have yet to use one yet but I am now approaching the phase where Iâm thinking about it.
Listing items with cold/lightning/fire dmgwill now also list items with +elemental
Listing items with cold/lightning/fire resist will now also list items with +elemental resist
Listing items with +attack speed will now also list items with +totalspeed
Listing items with +run speed will now also list items with +totalspeed
Listing items with +cast speed will now also list items with +totalspeed
UI: Can now filter by elemental specifically (resist/dmg)
UI: âSpeedâ renamed to âAttack Speedâ (filter only)
UI: Can now filter by +n to mastery skills (no class selection)
UI: Added some additional space to prevent skill text overlap
Is anyone having problems scrolling the left side panel using the mousewheel?
So far Iâve only one report of it, from a Windows 7 user, been unable to reproduce the issue.
It doesnât seem to be finding items, is there a options file or something that I need to incertain my game and save paths so that it can find the files or something?
EDiT: Never mind sorry restarting my computer seems to have got it working
Seen you have the program sorting by stat type are you able to have it show stats of the items or are we just going to have to put it ingame to see the exact stats
It doesnât seem to be finding items, is there a options file or something that I need to incertain my game and save paths so that it can find the files or something?
One thing I forgot to mention (Iâll get it fixed) is that it needs to find Grim Dawn on itâs first run.
In most cases it will find GD via the steam registry entries, but if those donât exist, GD needs to be running.
Seen you have the program sorting by stat type are you able to have it show stats of the items or are we just going to have to put it ingame to see the exact stats
For now, youâll have to place them in-game to see how much the item actually gives.
I may invest some time into analyzing Grim Dawn and figuring out how it assigns stats, but so far I havenât gotten around to it, nor came across any existing resources which solves the problem.
I have the âbasic statsâ of the item, the ones youâd see when standing at the blacksmith. But as you know, the blacksmith may say +20% and the final result is +46%⌠so, yeah.
The program opens, but there are 0 items found. I tried with the game open, closed, and the stash open or closed, but there are still 0 items found. Also, I noticed that you left out bleeding damage.
Thanks for your reply. I went through those steps. Still nothing in IA. When I installed the program, I did not install .net; is that relevant to my problem?
Running Windows 10.
If youâre running Windows 10 you already have .net >= 4.5
The real question is, have any items disappeared from Tab 4 in your in-game inventory?
It will only remove items if you are in-game, and have just closed tab 4.
Can also try looking at the logs to see if thereâs anything fishy: â%appdata%âŚ\local\evilsoft\IAGDâ
Do you use steam cloud to sync your save games?
May be a problem⌠What is the timestamp on your âtransfer.gstâ file, located under âmy documents\my games\grim dawnâ?
I have another user with the same problem, and his stash was last updated months ago.
Nothing has disappeared from the in-game stash.
The date on my âtransfer.gstâ file is 3/9/2016. I have been using steam cloud to sync my save games. I will disable it and see what happens.
After disabling Steam cloud sync, there are still no items appearing in IA when I go through the steps that you have outlined.
The contents of the log files are as follows:
2016-03-15 13:36:27,461 INFO [IAGrim.Program]: Starting IA:GDâŚ
2016-03-15 13:36:27,468 INFO [IAGrim.Program]: Calling runâŚ
2016-03-15 13:36:28,639 INFO [IAGrim.Listener.RegisterWindow]: Created window with hwnd 2883980
2016-03-15 13:36:29,296 INFO [IAGrim.Utilities.ExceptionReporter]: Sent anonymous usage statistics to developer.
2016-03-15 13:36:29,858 INFO [IAGrim.Listener.GDInjector]: Injected dll into process 2576
2016-03-15 13:36:29,860 INFO [IAGrim.Listener.InjectionVerifier]: Running ListdllsâŚ
2016-03-15 13:36:29,977 INFO [IAGrim.Listener.GDInjector]: InjectionVerifier reports injection succeeded.
2016-03-15 13:22:55,499 INFO [IAGrim.Program]: Starting IA:GDâŚ
2016-03-15 13:22:55,505 INFO [IAGrim.Program]: Calling runâŚ
2016-03-15 13:22:56,689 INFO [IAGrim.Listener.RegisterWindow]: Created window with hwnd 787380
2016-03-15 13:22:57,302 INFO [IAGrim.Utilities.ExceptionReporter]: Sent anonymous usage statistics to developer.
2016-03-15 13:22:57,907 INFO [IAGrim.Listener.GDInjector]: Injected dll into process 6568
2016-03-15 13:22:57,909 INFO [IAGrim.Listener.InjectionVerifier]: Running ListdllsâŚ
2016-03-15 13:22:58,052 INFO [IAGrim.Listener.GDInjector]: InjectionVerifier reports injection succeeded.
2016-03-15 13:28:10,285 INFO [IAGrim.Listener.GDInjector]: Injected dll into process 492
2016-03-15 13:28:10,285 INFO [IAGrim.Listener.InjectionVerifier]: Running ListdllsâŚ
2016-03-15 13:28:10,438 INFO [IAGrim.Listener.GDInjector]: InjectionVerifier reports injection succeeded.
2016-03-15 13:16:09,056 INFO [IAGrim.Program]: Starting IA:GDâŚ
2016-03-15 13:16:09,072 INFO [IAGrim.Program]: Calling runâŚ
2016-03-15 13:16:09,369 INFO [IAGrim.GrimDawnDetector]: Grim Dawn install location located using App Id
2016-03-15 13:16:10,494 INFO [IAGrim.Arz.ArzParser]: Loaded 73639 strings from Grim Dawn.
2016-03-15 13:16:10,494 INFO [IAGrim.Arz.ArzParser]: Attempting to parse items from Grim Dawn
2016-03-15 13:16:12,119 INFO [IAGrim.Arz.ArzParser]: Loaded 9704 items from Grim Dawn.
2016-03-15 13:16:33,841 INFO [IAGrim.Database.DatabaseItemDao]: Stored 9704 items to cache.
2016-03-15 13:16:33,934 INFO [IAGrim.Listener.RegisterWindow]: Created window with hwnd 983130
2016-03-15 13:16:34,669 INFO [IAGrim.Utilities.ExceptionReporter]: Sent anonymous usage statistics to developer.
2016-03-15 13:16:52,042 INFO [IAGrim.Listener.GDInjector]: Injected dll into process 6568
2016-03-15 13:16:52,044 INFO [IAGrim.Listener.InjectionVerifier]: Running ListdllsâŚ
2016-03-15 13:16:52,219 INFO [IAGrim.Listener.GDInjector]: InjectionVerifier reports injection succeeded.