#1  
Old 11-29-2016, 03:27 PM
Odie Odie is online now
Counsel
 
Join Date: Nov 2016
Posts: 224
Default [Tool] GD save file editor

GD Savefile editor
Links:
http://tiny.cc/gdedexe (Windows)
http://tiny.cc/gdednixbin (Linux)

What is it?
This is a tool that lets you look at and modify the contents of your save file.
Want to rename your character? Sure.
Want to change your level? What about skill points or devotion points? Not a problem.
Want to a specific piece of gear? Easy.
That is... if you're willing to put up with a commandline tool.

Yes, it's a commandline tool. Why would I choose to make such a thing?
Because... I'm a lazy programmer?

A commandline tool lets me just focus on dealing with the features instead of fighting the UI. If
you're willing to overlook the barebones non-UI, I think you'll find a pretty useful little utility
to tweak your character to better enjoy the game.

Need help?
Please see the FAQ page first!

https://odie.github.io/gd-edit-docs/faq/

There's even a search function there.
If an answer *isn't* there, you can always post your question here!

Also, if you'd like an exhaustive list of commands and detailed documentation on them, try:
https://odie.github.io/gd-edit-docs/commands/

Leave me a note here if any of the documentation seems hard to read!

Before getting started
This thing needs Java 8 to run.
You can get your very own copy here: https://java.com/en/download/

How to use it

TLDR version
- "show" command to explore and examine fields
- "set" command to set new values into fields
- "help <cmd name>" command to see some help and get some examples
- Press up-arrow key for command history


The first step
Run the program. A beautiful commandline window will pop up, having located all your save files.
A little green '>' is shown at the bottom of the screen, showing you that the program is waiting
for your input. This is "the prompt".

At the prompt, all the capabilities (commands) of the program is at your fingertips! How exciting!
Also, whatever is shown on screen can also be used as additional commands. Let's try one now!

Select a save file to load by pressing the number corresponding to the save file you want to
load. Hit enter to send your input to the program. (For example, hit 1, then enter)

That's it! You've loaded your character (hopefully). You've just entered a "command", which consists
of putting in some text at the prompt and hitting the enter key.


The core commands: show and set
So what exactly can we do with this character file that's been loaded? Where are these so called
"capabilities" that we talked about?

Well, now that you have the file loaded, you can basically change every piece of information that the
Crate devs have carefully packed into the save files.

Try using the "show" command. A list of 90 some fields, listed in alphabetical order, should scroll by.
Enlarge the window or use your mousewheel to see more of the output.



Changing your level
That's a lot of fields. Don't feel like look at them all?
Try this command: 'show level'
This basically says to show any fields with the string "level" in its name.

On my loaded character, it shows something like this:

Code:
 
character-level : 42
   level-in-bio : 42
      max-level : 42

                3 fields
What? A lowly 42 level character? But I want a god-like 85 level character!

Try putting in these commands commands:
'set character-level 85'
'set level-in-bio 85'
'set max-level 85'
'show level'
Okay. Now your character is at level 85. Save your character by inputting 'w' at the prompt. This will
make a backup of your current save file, then write out a file that gives you a level 85 character. Go ahead
and make sure it worked by loading up the character in the game. I can wait. =)

Okay! That wasn't so hard now, was it? What else can this thing do? Well, as said, the program can manipulate
any field you can see. So things like devotion points (try "show devotion") or skill points (try "show skill")
can be changed just like we did with the character level. The same can be done with your character name or
gender or whatever-you-want. Just look around with the "show" command.

[This example illustrates how to use the "set" and "show" command. For a more robust way to change your
character level, use the "level" command.]

Changing your equipment and weapon
So changing some values are neat. But you want a bit more? Didn't I mention something about items?

Let's take a look at where they are in your loaded character.
'show equipment' shows you all items you have equipped on your character
'show inventory-sacks' shows you all your inventory sacks
'show weapon-sets' shows your equipped weapons, including your alternate set
Let's try checking out the weapons you have equipped.
'show weapon-sets'

hmm... The output is a bit cryptic....
Code:
	0:
   		items : collection of 2 items
   	       unused : false

	1:
   		items : collection of 2 items
  	       unused : true
There seems to be two sets of identical fields. The top one is labled "0:"?
Try "show weapon-sets/0"
Now it just says:
Code:
  	   items : collection of 2 items
	  unused : false

       2 fields
Right, the second set isn't shown anymore because you asked to see the first set, labeled "0".
Can we see what the items actually are?
Try 'show weapon-sets/0/items'
Wait! Just in case you've been entering everything by hand up to this point by hand... Try pushing
the up-arrow key. Yeah, it'll show you the last command entered. You can actually use the up-arrow
and down-arrow key to navigate forward and backwards in the command history.
Less typing = less work = lazy = my cup of tea

Ohhh hey! It shows something more!
Code:
	0:
	        attached : true
	    augment-name : ""
	    augment-seed : 0
	        basename : records/items/gearweapons/melee2h/d005_blunt2h.dbr
	   modifier-name : ""
	     prefix-name : ""
	     relic-bonus : ""
	      relic-name : records/items/materia/compb_hauntedsteel.dbr
	      relic-seed : 472303388
	            seed : 458229418
	     stack-count : 1
	     suffix-name : ""
	  transmute-name : ""
	         unknown : 0
	            var1 : 4

	1:
	        attached : false
	    augment-name : ""
	    augment-seed : 0
	        basename : ""
	   modifier-name : ""
	     prefix-name : ""
	     relic-bonus : ""
	      relic-name : records/items/materia/compb_hauntedsteel.dbr
	      relic-seed : 472303388
	            seed : 458229418
	     stack-count : 1
	     suffix-name : ""
	  transmute-name : ""
	         unknown : 0
	            var1 : 4
So there are two items in the "weapon-sets/0/items" collection. But it's hard to tell heads or tails
from what's being shown here.

Well, as it turns out, Grim Dawn items are first defined by a "basename", which points to the game's database
record that defines what the thing is. It can then be further enhanced by prefix, suffix, and augment, all of
which should point at their appropriate db records.

Sooo... that means we can't even tell what the item is until we look in the game's db? It just so happens that
we have the db loaded and ready to go.

Just dig a bit deeper into this items collection.
Try 'show weapon-sets/0/items/0'
O-kay... It shows quite a bit more doesn't it? It shows you the primary weapon you have equipped. It'll show you
the name, then the "contents" or fields that defines the weapon, then a list of records that relates to the
item. More specifically, it'll show you the basename, prefix, suffix, and augment records if they are available.
That just lets us look at the item though. How do we change the item?
As mentioned earlier, if you know the exact basename, prefix, and suffix, you make any item you want! As a matter
of fact, the editor has a command to help look up records in the database!

Ain't nobody got time for dat! I want my sweet gear NOW!
'set weapon-sets/0/items/0 "Ultos' Stormseeker" 100'

The 2nd parameter here is the name of the item you want. The 3rd parameter here is the level to pretend your character
is at. By default, the editor will try to only create items that the loaded character can equip. But what the heck,
we'll just tell it to pretend we're at level 100.

Save with 'w' and load up the game!

Be warned though. If you go overboard with boosting your character and gear, the game won't be very fun anymore. So
you might want to give yourself something a bit more modest.
'set weapon-sets/0/items/0 "vampiric legion warhammer of valor"'

As you can see, the editor is happy to decipher and find the right basename, prefix, and suffix for you.
Lastly, if you want to find out more about what the editor can do, or need some examples on how it can be used,
use the "help" command!

Got questions and/or issues? Just drop me a note here.

That just about wraps it up for this post. I can't believe you read this wall of text! Good work! Now go give yourself
some nice gear to play with.


Warnings:
This is alpha quality software.
Although it does function normally most of the time,
don't be surprised if you see some exceptions thrown here and there.

Also, I don't claim to know how all the fields affect the game, but they are exposed for tinkering. If something should
go wrong, the editor should have made a backup for you, so don't worry (too much)!

Last edited by Odie; 07-23-2017 at 09:28 AM. Reason: Adds FAQ page url
Reply With Quote
  #2  
Old 12-20-2016, 07:06 AM
Stryker13 Stryker13 is offline
Initiate
 
Join Date: Oct 2016
Posts: 6
Talking this guys is a miracle worker

Quote:
Originally Posted by Odie View Post
GD Savefile editor
Link: https://dl.dropboxusercontent.com/u/...0-SNAPSHOT.exe


What is it?
This is a tool that lets you look at and modify the contents of your save file.
Want to rename your character? Sure.
Want to change your level? What about skill points or devotion points? Not a problem.
Want to a specific piece of gear? Easy.
That is... if you're willing to put up with a commandline tool.

Yes, it's a commandline tool. Why would I choose to make such a thing?
Because... I'm a lazy programmer?

A commandline tool lets me just focus on dealing with the features instead of fighting the UI. If
you're willing to overlook the barebones non-UI, I think you'll find a pretty useful little utility
to tweak your character to better enjoy the game.


How to use it

TLDR version
- "show" command to explore and examine fields
- "set" command to set new values into fields
- "help <cmd name>" command to see some help and get some examples
- Press up-arrow key for command history


The first step
Run the program. A beautiful commandline window will pop up, having located all your save files.
A little green '>' is shown at the bottom of the screen, showing you that the program is waiting
for your input. This is "the prompt".

At the prompt, all the capabilities (commands) of the program is at your fingertips! How exciting!
Also, whatever is shown on screen can also be used as additional commands. Let's try one now!

Select a save file to load by pressing the number corresponding to the save file you want to
load. Hit enter to send your input to the program. (For example, hit 1, then enter)

That's it! You've loaded your character (hopefully). You've just entered a "command", which consists
of putting in some text at the prompt and hitting the enter key.


The core commands: show and set
So what exactly can we do with this character file that's been loaded? Where are these so called
"capabilities" that we talked about?

Well, now that you have the file loaded, you can basically change every piece of information that the
Crate devs have carefully packed into the save files.

Try using the "show" command. A list of 90 some fields, listed in alphabetical order, should scroll by.
Enlarge the window or use your mousewheel to see more of the output.



Changing your level
That's a lot of fields. Don't feel like look at them all?
Try this command: 'show level'
This basically says to show any fields with the string "level" in its name.

On my loaded character, it shows something like this:

Code:
 
character-level : 42
   level-in-bio : 42
      max-level : 42

                3 fields
What? A lowly 42 level character? But I want a god-like 85 level character!

Try putting in these commands commands:
'set character-level 85'
'set level-in-bio 85'
'max-level 85'
'show level'
Okay. Now your character is at level 85. Save your character by inputting 'w' at the prompt. This will
make a backup of your current save file, then write out a file that gives you a level 85 character. Go ahead
and make sure it worked by loading up the character in the game. I can wait. =)

Okay! That wasn't so hard now, was it? What else can this thing do? Well, as said, the program can manipulate
any field you can get your see. So things like devotion points (try "show devotion") or skill points (try "show skill")
can be changed just like we did with the character level. The same can be done with your character name or
gender or whatever-you-want. Just look around with the "show" command.



Changing your equipment and weapon
So changing some values are neat. But you want a bit more? Didn't I mention something about items?

Let's take a look at where they are in your loaded character.
'show equipment' shows you all items you have equipped on your character
'show inventory-sacks' shows you all your inventory sacks
'show weapon-sets' shows your equipped weapons, including your alternate set
Let's try checking out the weapons you have equipped.
'show weapon-sets'

hmm... The output is a bit cryptic....
Code:
	0:
   		items : collection of 2 items
   	       unused : false

	1:
   		items : collection of 2 items
  	       unused : true
There seems to be two sets of identical fields. The top one is labled "0:"?
Try "show weapon-sets/0"
Now it just says:
Code:
  	   items : collection of 2 items
	  unused : false

       2 fields
Right, the second set isn't shown anymore because you asked to see the first set, labeled "0".
Can we see what the items actually are?
Try 'show weapon-sets/0/items'
Wait! Just in case you've been entering everything by hand up to this point by hand... Try pushing
the up-arrow key. Yeah, it'll show you the last command entered. You can actually use the up-arrow
and down-arrow key to navigate forward and backwards in the command history.
Less typing = less work = lazy = my cup of tea

Ohhh hey! It shows something more!
Code:
	0:
	        attached : true
	    augment-name : ""
	    augment-seed : 0
	        basename : records/items/gearweapons/melee2h/d005_blunt2h.dbr
	   modifier-name : ""
	     prefix-name : ""
	     relic-bonus : ""
	      relic-name : records/items/materia/compb_hauntedsteel.dbr
	      relic-seed : 472303388
	            seed : 458229418
	     stack-count : 1
	     suffix-name : ""
	  transmute-name : ""
	         unknown : 0
	            var1 : 4

	1:
	        attached : false
	    augment-name : ""
	    augment-seed : 0
	        basename : ""
	   modifier-name : ""
	     prefix-name : ""
	     relic-bonus : ""
	      relic-name : records/items/materia/compb_hauntedsteel.dbr
	      relic-seed : 472303388
	            seed : 458229418
	     stack-count : 1
	     suffix-name : ""
	  transmute-name : ""
	         unknown : 0
	            var1 : 4
So there are two items in the "weapon-sets/0/items" collection. But it's hard to tell heads or tails
from what's being shown here.

Well, as it turns out, Grim Dawn items are first defined by a "basename", which points to the game's database
record that defines what the thing is. It can then be further enhanced by prefix, suffix, and augment, all of
which should point at their appropriate db records.

Sooo... that means we can't even tell what the item is until we look in the game's db? It just so happens that
we have the db loaded and ready to go.

Just dig a bit deeper into this items collection.
Try 'show weapon-sets/0/items/0'
O-kay... It shows quite a bit more doesn't it? It shows you the primary weapon you have equipped. It'll show you
the name, then the "contents" or fields that defines the weapon, then a list of records that relates to the
item. More specifically, it'll show you the basename, prefix, suffix, and augment records if they are available.
That just lets us look at the item though. How do we change the item?
As mentioned earlier, if you know the exact basename, prefix, and suffix, you make any item you want! As a matter
of fact, the editor has a command to help look up records in the database!

Ain't nobody got time for dat! I want my sweet gear NOW!
'set weapon-sets/0/items/0 "Ultos' Stormseeker" 100'

The 3rd parameter here is the name of the item you want. The 4th parameter here is the level to pretend your character
is at. By default, the editor will try to only create items that the loaded character can equip. But what the heck,
we'll just tell it to pretend we're at level 100.

Save with 'w' and load up the game!

Be warned though. If you go overboard with boosting your character and gear, the game won't be very fun anymore. So
you might want to give yourself something a bit more modest.
'set weapon-sets/0/items/0 "vampiric legion warhammer of valor"'

As you can see, the editor is happy to decipher and find the right basename, prefix, and suffix for you.
Lastly, if you want to find out more about what the editor can do, or need some examples on how it can be used,
use the "help" command!

Got questions and/or issues? Just drop me a note here.

That just about wraps it up for this post. I can't believe you read this wall of text! Good work! Now go give yourself
some nice gear to play with.


Warnings:
This is alpha quality software.
Although it does function normally most of the time,
don't be surprised if you see some exceptions thrown here and there.

Also, I don't claim to know how all the fields affect the game, but they are exposed for tinkering. If something should
go wrong, the editor should have made a backup for you, so don't worry (too much)!
Awesome!!! thanks man....was tired and chose the wrong faction....took 2 minutes to fix!!!
Reply With Quote
  #3  
Old 12-20-2016, 10:47 AM
Odie Odie is online now
Counsel
 
Join Date: Nov 2016
Posts: 224
Default

Great! Glad you found it useful!

Thanks for letting me know too! I honestly have no idea if anybody is using this thing.

Last edited by Odie; 12-20-2016 at 10:57 AM.
Reply With Quote
  #4  
Old 12-22-2016, 04:44 PM
Medved2k Medved2k is offline
Initiate
 
Join Date: Dec 2016
Posts: 5
Default

try to use it for rename character, but can't load anyone character is there any instructions for setup?
Reply With Quote
  #5  
Old 12-22-2016, 04:49 PM
griffisu's Avatar
griffisu griffisu is offline
Supporter
 
Join Date: Nov 2016
Posts: 187
Default

possibly a derp on me, but it keeps asking for java

and I have java installed
Reply With Quote
  #6  
Old 12-22-2016, 09:39 PM
lodgeij lodgeij is offline
Initiate
 
Join Date: Nov 2016
Posts: 10
Default

Is this GoG Compatible? as all I get when I run it is :

Please choose a character to load:

No matter which character name I type in I get :

Don't know how to handle this command

My save folder has a pile of loose files and a single main folder inside this folder is the name of my Characters shown as

_xxxxx
_yyyyy
_zzzzz

Regards
Reply With Quote
  #7  
Old 12-24-2016, 02:47 AM
Odie Odie is online now
Counsel
 
Join Date: Nov 2016
Posts: 224
Default

Quote:
Originally Posted by griffisu View Post
possibly a derp on me, but it keeps asking for java

and I have java installed
Hmm... The editor needs java 8 to run. Maybe you have an earlier version installed? Would you mind installing the latest version and trying again?

https://java.com/en/download/
Reply With Quote
  #8  
Old 12-24-2016, 02:57 AM
Odie Odie is online now
Counsel
 
Join Date: Nov 2016
Posts: 224
Default

Quote:
Originally Posted by Medved2k View Post
try to use it for rename character, but can't load anyone character is there any instructions for setup?
Hi there!

There isn't anything to setup (besides java). The editor was written assuming people are playing via Steam using cloud save though (only because that's what my setup is).

Anyway, if you can tell me a bit more about your setup, I can update the editor to better find your character files.

It'll be really helpful to know:
- Are you running the Steam version or GOG version?
- If on Steam, are you using cloud save?
Reply With Quote
  #9  
Old 12-24-2016, 03:06 AM
Odie Odie is online now
Counsel
 
Join Date: Nov 2016
Posts: 224
Default

Quote:
Originally Posted by lodgeij View Post
Is this GoG Compatible? as all I get when I run it is :

Please choose a character to load:

No matter which character name I type in I get :

Don't know how to handle this command

My save folder has a pile of loose files and a single main folder inside this folder is the name of my Characters shown as

_xxxxx
_yyyyy
_zzzzz

Regards

Unfortunately, the editor was developed against the steam version so it looks in the default steam save file path. It shouldn't be too hard to add more paths to look for save files though.

Can you give me the full path to the "main" folder where your characters are? Also, did you install the game to the default install path? Or did you install the game to a custom location?

I'm just trying to figure out if I should add a way for people to just tell the editor where the save file directory is, in case they installed to a non-standard location.
Reply With Quote
  #10  
Old 12-24-2016, 10:31 AM
slipperypete slipperypete is offline
Campaigner
 
Join Date: Dec 2015
Posts: 686
Default

Quote:
Originally Posted by Odie View Post
I'm just trying to figure out if I should add a way for people to just tell the editor where the save file directory is, in case they installed to a non-standard location.
"My Documents\My Games\Grim Dawn\save", that's the non-cloud steam folder at least.
__________________
http://grimdawn.dreamcrash.org/ia/help.html

http://items.dreamcrash.org/ComponentAssembler - Relics

http://grimdawn.dreamcrash.org/damage - Damage parser - "What killed me?" (beta!)
Reply With Quote
Reply

Tags
editor, save file

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


Grim Dawn ©2017 Crate Entertainment, LLC.
vBulletin® 3.8.4 ©2000-2014, Jelsoft Enterprises Ltd.