[Tool] GD save file editor

Ok, I actually just check the build and it’s the 048089c. Even after I hit the update command it says it’s the latest version, even when I think it should be the build 57b4ab9. Am I doing something wrong or not doing something important?

Thanks again and I’m sorry for the double post.

@Volta_Seca I think GDstash is easier to use

I’ve tried GDStash, but I can’t seem to find the “crafting” tab everyone talks about for some reason

Hm.

Yeah, mine doesn’t look like that at all. Where can I find an update, please?

[Tool] GD Stash
You’ll probably want the second option under the download link. It’s the simplest to get up and running.

1 Like

Thank you very very much!

It has looked like that for a few years now, certainly no new tabs were added. At most you were hiding those features on the Config page if you really do not have those tabs (they are enabled by default).

In any case, update to the latest version if you are not using that already, even if it will not add any tabs :smiley:

Hey Mamba, thanks! Is there a way for me to send you a private message real quick to ask a few things about the program? There’s a particularity that may be the issue with all this.

Sure, click on the avatar and then on the letter icon :smiley:

Howdy!

What is the command you’re running? Creating Screams of the Aether appears to work for me.

It looks like:

> set inv/0/items "Screams of the Aether"

Item placed in inventory-sacks/0/inventory-items/80

Screams of the Aether

            augment-name : ""
            augment-seed : 0
                basename : records/items/gearaccessories/rings/d005_ring.dbr
<more output omitted>

Conduit of Warring Whispers seems to work as well.

Lemme know if you run into any other issues! =)

Is there a command or a specific place to revert a character to the base game code rather than the expansion? Playing with a friend and ive accidentally loaded my character with the expansion active and now they are gone from the base game.

Hey Odie - been trying out the commands to generate gear. Armour, amulets, rings, relics, augments, components, etc. All working beautifully. The one downside seems to be that you can’t have the game open while doing that. I have to write to the DB, then exit, fire up the game, go look and either keep, or delete, close game and re-open gd-edit and repeat the processes. That’s a lot of work.

Is there a command that will tell me the stats on the gear on command line ? Using show inv/0/inventory-items/4 for example will only show me base info, not the complete stats.

Other question - is it possible to execute commands in a batch file or multiple commands on the command line (separated by a semi colon or other syntax characters). That will also help with bulk generations rather than one command at a time. Thanks and please keep this tool alive ! Love the command line functionality.

Not sure if this will help but there is a property in the character file called “expansion-character?”. My characters all have a value of 3, probably because I have both expansion packs and have completed the game from base-AoM-FG. If I create a new character that has not started yet this value is 1, even though I have all expansions plus base active.

Look at your character value and get your friend to do the same. You can change that value to whatever they have and see if that works. Make sure you back up all your characters before you make any changes so you can recover if this turns out to do something bad or undesired.

Hi there!

Regarding item stats… I remember trying to decode the various db record fields that resemble item stats into something more readable. I failed at it so badly that I decided to “shelf it” for a while. x) I could definitely give it another go, but I think the grim tools db have got this covered very well already?

About executing commands using a batch file… I thought I had implemented something along these lines already using stdin redirection. But it apparently only works in bash and not with windows cmd.exe. x_x I will try to get this to work sometime in the next few days. =)

Grimtools lists the range of properties possible. While that is useful to compare, it doesn’t allow me to see the stats on the command line for the piece I just created. I have to go through the game to do so. I tried GDStash and it basically is the same - have to go in game to see the stats. However, as long as I don’t have the stash open (that’s the shared stash by the way, not the individual character stashes) I can write to the stash and then alt+tab back and forth to see stats. With gd-edit I can’t have the game open at all. Is there a way I can have the game open while using gd-edit ? That would avoid you having to make the attempt at extracting properties for gear - either will work for me :smile:

I tried entering multiple commands on the command line. It will only read one and ignore anything after that sooo … back to the batch script idea. If you can make that work for the windows platform that would be awesome. And a command to redirect the output to a file for review would be brilliant ! Looking forward to seeing what you come up with on all fronts :+1::metal::clap:

Did you have any luck with the expansion flags? Just curious if you were able to make things work.

New Version!

This version brings two flags/params you can supply when starting the editor to have it batch execute commands. To use it, start the editor like this:

gd-edit.exe -f "gdc-file-path-goes-here" -b "batch-command-file-path-goes-here"

The batch command file should contain a single command on each line. The editor will basically process these lines as if you’ve manually typed them in.

For example, you can supply batch file that looks something like:

level 100
write TestDummy

After the editor starts, it would load up whatever character you specified, take the character to level 100, then save a new copy of it named “TestDummy”.

The editor will send all output to the screen as usual. If you want, you can have the output sent to a text file like so:

gd-edit.exe -f "gdc-file-path-goes-here" -b "batch-command-file-path-goes-here" > "path-to-output-file"

Lastly, although this batch mode technically “works”, I’d expect it to be quite limiting. The editor really was written to be used interactively. Also, I’m not entirely sure how you intend to use this. Restarting the editor over and over to run some commands is likely to be quite slow and tedious. The editor actually loads the entire game DB every time it starts. It could take anywhere from a few seconds to “OMG-WTF-is-this-thing-doing” seconds.

Anyway, lemme know if you need it to be “slightly” enhanced.


That wouldn’t really work. The editor is pretty dumb. It reads and saves the gdc file when you ask it to. The problem is that the game expects it to be the only program that makes changes to the gdc files. This very reasonable assumption means that it is not likely to watch for sudden changes to the character file on the disk. It’s more reasonable for it to not ever read the character file again once a character is loaded.

Anyway… I can look into summarizing item stats again. Can’t promise when I might have that ready though. x_x

Hey Odie,

I used the update feature to upgrade so I assume I’m at the version that will work with the batch function now. I’m a little unclear on the batch file syntax still. Specifically - how would I specify a character if I have multiple characters to select. Usually I would select a number at go from there. My current batch file therefore looks like this

2
level 5
write ButterBar

When I run the command gd-edit.exe -f “C:\Program Files (x86)\GOG Galaxy\Games\Grim Dawn\gd-edit.exe” -b “C:\Users\PJ\Documents\GDTest1.bat” or gd-edit.exe -f “C:\Program Files (x86)\GOG Galaxy\Games\Grim Dawn\gd-edit.exe” -b “C:\Users\PJ\Documents\GDTest1.txt” (not sure if I’m supposed to use a bat or can use a txt for the batch filename. Please let me know) it throws the following error
Exception in thread “main” java.lang.Throwable: I don’t understand this gdc format!
at gd_edit.io.gdc$validate_preamble.invokeStatic(gdc.clj:933)
at gd_edit.io.gdc$validate_preamble.invoke(gdc.clj:930)
at gd_edit.io.gdc$load_character_file.invokeStatic(gdc.clj:1106)
at gd_edit.io.gdc$load_character_file.invoke(gdc.clj:1090)
at gd_edit.command_handlers$load_character_file.invokeStatic(command_handlers.clj:773)
at gd_edit.command_handlers$load_character_file.invoke(command_handlers.clj:769)
at gd_edit.core$_main.invokeStatic(core.clj:564)
at gd_edit.core$_main.doInvoke(core.clj:549)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at gd_edit.core.main(Unknown Source)

What am I doing wrong for this to happen ? Do I also need a exit command after the write , syntax is wrong, version isn’t correct or a combination of things ?

My intent is to run a batch file of commands. Say I want to create 20 different rings, or generate 20 of the same ring (but not use the same seed for each), or create a complete set of gear, augments and other stuff for a character. At the moment I have to repeat the command line a lot for any of that. A batch file saves me doing that (big fan of automating wherever I can). I can then either fire up the game and look at what was done and keep them or trash them and re-run the script. Yes I can do this in GDStash but I like the command line for some things (I have a unix background :+1:) and automation and log files are always good things. Output to screen is fine. If you get the properties of pieces of gear working then output to a file for review will be handy.

I can live without this. As an example though I can create items with GDStash, with the game open (but not the item transfer stash open). I then go to the item transfer stash (the one that is shared with all characters, not the individual inventory stashes) and look at the item(s). This way I can see the properties, pick one and then go back to GDStash and write out what I keep. It saves me closing and restating the game all the time, which I have to do with gd-edit. I can’t imagine GDStash is doing anything gd-edit can’t but as I said I can live without it unless your bored (who isn’t at the moment …)

GD Stash just reads and writes the save files, the rest is up to GD. So anything you can do with it should work with gd-edit as well as far as having the game running but the stash / char you change closed.