I’ve decided to share a small utility for tracking completed quest progress for a character, covering all difficulty levels. I’m not really sure who else might need this except, well, people like me with a bit of OCD, who feel compelled to comb through every corner of the game under the looming fear of missing something.
I originally made it just for personal use in my free time, and only gave it a visual cleanup today so I wouldn’t be too embarrassed to show it to the handful of people who might actually find this thing useful.
I think I’ll add a few more features in the future—things that aren’t available in other utilities or are scattered around in various small batch files, scripts, etc. I’ll upload the source code on GitHub a bit later. And of course, thanks go to AaronHutchinson and Odie for their work on the file structure code and to Ceno for the quest hash-reading script, which I relied on for this project.
P.S. Apologies for the file size—Qt, standalone deployment, all that jazz. It probably would’ve been even heavier with static linking, but hey, it’s still better than a sluggish C# app.
I’m a bit confused here—why did you regenerate the quests.json if there was already a ready one in the directory (archive)? Can you reproduce the issue with the relative path to the file? I’ll fix it now.
And the GD ArchiveTool.exe didn’t like my relative paths. So I figured it’d be nice if it can just call ArchiveTool.exe for me with the right paths or something. But including the json is also an option, probably better.
The GDQT should, by default, use the file that comes with it in the archive at ./resources/quests.json. So, in the end, you only need to specify the path to the save file. If that’s the case (delete the settings file and check), I’ll simply make this guide in Settings more informative.
Slightly optimized the gdd/qst structures and JSON generation.
Tweaked the description for JSON data generation.
Separated some code logic for better readability (considering uploading to GitHub soon in case anyone finds it useful or interesting or even wants to help build a proper parser for the qst file instead of “lazy” reading).
If the mod contains qst files, then yes. Just unpack them along with all the quest files from the game into one directory, generate the json data (there is an instructions in the Settings tab), and voilà — quest display from mods works perfectly
As promised, I’ve uploaded the project to GitHub, so feel free to explore, review, poke at messy code, or submit pull requests with improvements, etc. I’ve tried to comment it as thoroughly as possible, including a detailed README file.