[Tool] Grim Search

Grim Search (Note: New name! Previously: “Grim Dawn Item Search”)

Grim Search helps you keep track of all your items across your characters, perfect for old-schoolers like me who still uses mules! In addition to search for items, you can also find duplicates. So if you have bags full of loot, you can easily see what items you can sell off to save space.

Download version 0.4.2 from Github:

The latest release can be found at all times here: Releases · hallgeirl/grim-search · GitHub

Features

  • Search for items across all your characters based on name, stat, character name, etc.
  • Filter items based on quality, type, level requirements
  • Find duplicate items for a character (items that also exist on other characters)
  • Douple-click items in the list to open them in the grimtools.com item database for full details.
  • Blueprints and transfer stash contents are listed as part of the search results.

I’ve decided to open source this project on Github: https://github.com/hallgeirl/gd-item-search. Here you will also find some quickstart guides in the readme.

Changelog

0.4.2

  • Add diagnostics logging. The log files are found in the config directory, which can be seen in the Settings tab.

0.4.1

  • Add support for continuous scrolling if you have more than 100 hits. In other words, search results are no longer limited to a fixed number like before.

0.4.0

  • Add new search engine that utilizes Lucene. It should give better performance especially for lower end PCs. The old “classic” search engine is still available and will be selected as default.
  • Avoid reloading items cache and strings cache when not needed. This should speed up refreshing the characters.

0.3.3

  • This is a beta release. Expect some issues.
  • Add support for Grim Dawn v1.2.

0.3.2

  • This is a beta release. Expect some issues.
  • Add damage numbers, as well as pet damage modifiers.

0.3.1

  • This is a beta release. Expect some issues.
  • Store config and cache files in the user’s home directory (~/.local/share/grimsearch on Linux, and %LOCALAPPDATA%/grimsearch on Windows) instead of the same directory as the executable.

0.3.0

  • This is a beta release. Expect some issues.
  • Add support for running on Linux
  • Remove use of ArchiveTool.exe for extracting Grim Dawn data files, which should give a good speed-up for the initial extraction of data files.

0.2.18

  • Fixed a bug where some blueprints, like Pestilence of Dreeg and Decorated Pauldrons, were not searchable.

0.2.18

  • Fixed a bug where some blueprints, like Pestilence of Dreeg and Decorated Pauldrons, were not searchable.

0.2.17

  • Add support for searching for +to all skills modifier (only class-specific +to all skills, like +1 to all skills in soldier, was supported in 0.2.16).
  • Show number of total search results, and number of shown results above the search window.

0.2.16

  • +to skills are now indexed. This means you can search for e.g. “Soldier” to get items with + to all skills to soldier, or “rightous fervor” to search for items with + to Righteous Fervor.
  • Item cache is now automatically reloaded if it’s found to be out of date (e.g. if Grim Dawn has been updated, or the cache format itself is updated).

Updating to this new version will cause a reload of all items to the cache.


Closing notes
The tool will never write to your save files. This is a deliberate choice.

I made the tool for myself and a couple of my friends, so there’s not been any extensive testing yet. I hope someone else can find this useful - and if you find issues/bugs with it (which I’m sure there are since the test candidates have been few), please log the issue in Github. And of course feel free to send me pull requests. And of course feedback is welcome as well. :slight_smile:

5 Likes

I really like the idea that this can be used without disableing steam cloud, as I play from multiple PCs when traveling. I downloaded this, but could not get it to work. Is this currently out of date?

Interesting.

This is what Item Assistant was initially gonna be.

See https://github.com/marius00/iagd/blob/1419af2723b879eca068b81ea8fe2213b74f3078/IAGrim/Utilities/GrimDawnDetector.cs

With a minor registry lookup you don’t need to depend on steam running. (Even though that’s really a minor issue)

Hi!
It is indeed up to date - I tested it right now, and my Grim Dawn is up to date (1.0.6.1). Can you describe what isn’t working/what’s happening? Then I can try figure out what the problem is.
In addition, if you could perhaps attach the Log.txt file that should be in the same folder as the executable, that would help a lot.

Thanks :slight_smile:

What I use the running Steam process for is to find the correct user ID for the logged on user. I ran into an issue where if more than one user uses the same machine, there may be more than one userdata folder for Grim Dawn, one under each user’s folder. Though for the majority of the cases, yours are probably simpler for the end user where you iterate through them and choose one.

I’m noting it down as an improvement - I’m considering trying to detect it your way first, and if there’s multiple hits, require Steam to be running.

Thanks for the tips!

Interesting… I guess it’s just since IA does not allow cloud saving that it’s never been an issue for me. Definitely something I’ll keep in mind, if support for cloud saving is ever added :slight_smile:

I only use the steam folder for finding the arc/arz files, and never even considered your scenario.

Thank you, this is exactly what I wanted to create a few days ago, but now I don’t have to anymore :smiley:
One suggestion though: include which crafting bonus an item has (if it has one).
Edit: also, searching for duplicates across ALL characters instead of just one character would be nice.
Edit 2: I noticed that the search tool displays the level of the base item when it comes to MIs, when in game, they might differ (e.g. game says you have a level 94 solael pants, but the search tool says it’s 84). Maybe add an option to just show the level it shows in game?
Also how about increasing the 50 results limit (along with a button to only start searching when you finished typing your word)?
Sorry for all the requests, this is still the best tool ever in my opinion.
Edit 3: I currently have a lot of blazehearts and mythical stormhearts, but the search tool does not detect them (it does detect the regular stormheart).

I will give it another try when I get home this evening. Do I open steam, run the program, and then run Grim Dawn?

Just a point to OP/the dev here, the level for greens needs to be calculated as the highest level from any record (highest from prefix, suffix, base). Same with item quality etc.

And to feel free to tell me to butt out if I’m just interfering =)
Just found it a nice project, since it’s what I initially intended to make.

By no means are you interfering! I love it :slight_smile: Thanks!
I’m noting it down as an issue as I don’t have time immediately to work on this - but thankfully summer vacation is coming up, and I always get a bit of coding withdrawal during those periods :wink:

(PS: Just to confirm - you are marius00 at github, right?)

Hi!
There’s no requirement to run Grim Dawn while you use the program as it uses Grim Dawn’s savefiles, not realtime data. :slight_smile:

But yes, simply:

  1. Open Steam and log on (assuming Grim Dawn is installed on Steam)
  2. Run the program, go to the Settings tab, and click “Detect settings from running Steam process”. Then answer “Yes” when asked to load all items and characters. (PS: This is fairly slow as it extracts all the GD data files! But eventually it will complete. On my machine it takes about 2 minutes)
  3. Then go nuts and search :slight_smile: Steps #1 and #2 is a one-time thing (although I recommend redoing it after patches due to item changes)

Do let me know how it goes, and please give me some details on the issues you may encounter!

Thanks a lot for the feedback on this! :slight_smile:

  1. Good suggestion - I’ve noted it down. Stats are one weakness though in the current version - I have only included a small subset of the stats currently (mainly damage).
  2. (edit #1) Duplicates across all characters - Can I ask about the use case for this?
    To give some insight into how I intended the duplicate search to be used - you’re currently playing one character and want to clean up your inventory. You search for what items are duplicates, so you can easily sell off the stuff you already have, before wasting transfer stash space.
  3. (edit #2) I guess the level issue is related to affixes…? If so - got an issue for it :slight_smile: https://github.com/hallgeirl/gd-item-search/issues/10
    And I agree on the search limit - I had to limit it due to performance though. But I’m sure there are better ways of solving this… It’ll be an interesting problem to solve and I’ll put it on my todo! https://github.com/hallgeirl/gd-item-search/issues/12
  4. (edit #3) Hm, that’s odd! What do you search for? I unfortunately don’t have a mythical Stormheart. Would you be willing to send me your savefile so I can debug this? If so, please register an issue on Github and simply attach the file. :slight_smile:

Again, thanks a lot for the valuable feedback! I have a lot of improvements to work on in the upcoming summer vacation :wink:

Edit:
After playing with this tool for a few more days, I’m perfectly fine with the way it is. I even like the how the level of greens is calculated as the level of the base item, rather than the “real” way it’s calculated. The only thing it lacks now is that it doesn’t display which crafting bonuses are applied to an item. Aside from that, it’s perfect!

Not sure what happened, but the tool does detect the mythical stormheart and blazeheart items. However, it does not detect the lokarr set for me. I’ve tried restarting everything a couple of times (this seemed to fix the stormheart issue) but it didn’t help. I’ve uploaded a character to the github issues page.

Thanks for the upload - I’ll have a look at this shortly!

Edit: This has now been fixed. New version is available on github. Also see the note I made in the issue on how to make this work if you have already loaded all the items with an older version of the tool: https://github.com/hallgeirl/gd-item-search/issues/13

Just a quick heads up to those following this tool and the progress - I’ve decided to simplify the name to “Grim Search”. Sounds less convoluted, cooler, and less to write. I realize it will take a while to get all the way there though… so apologies for any remaining instances of the old name. :wink:

Thanks to my friend Thor Stensrud for the suggestion.

1 Like

I’m really liking this tool. I just downloaded it, and it’s quite helpful to find my stuff with my mules.
One thing I think would be nice, would be the ability to select multiple items and copy paste them, maybe in a listed/tabbed format? The idea was to look up all my legendaries and easily be able to paste them into a trade channel

Is there a way to list all duplicate items without specifying a particular one?

That I am!

Now we need a fast way to make mules. Maybe a checkbox ‘Mule’ when a character is created along with ‘Vetaran’ and 'Hardcore. Mule characters can’t equip any items, have always 0 iron bits but have all stash and inventory tabs unlocked and of course have the access to the Devil’s Crossing smuggler granted.