A clean save editor for the game DarkestDungeon, powered by TypeScript
, Svelte
, and Tauri
. The app offers a variety of features for generating hashes, encoding and decoding saves for the game.
Darkest Dungeon save files are saved with the .json
extension, but the files aren't actually in the JSON
format. Their format is very similar but due to the slight differences requires a custom binary reader to parse them.
.json
fileIf you want to download the app and get started, grab the newest release here. If you would like to build the app yourself, keep reading to learn how.
Before you start with the cli, you need to add two entries to you $PATH
system variable. If you don't know how, check out this article. In order to run the commands from the command line, and the two following lines to your $PATH
variable:
C:\Program Files\Darkest Dungeon Save Editor\_up_
C:\Program Files\Darkest Dungeon Save Editor
IMPORTANT
The default installation path is C:\Program Files\Darkest Dungeon Save Editor
. If you installed the app somewhere else, you should use that path.
The CLI is made up of three commands, decode, encode, and names. These commands can be automated using scripts if you want to recurringly run them (say to save them as .json
for reference)
Usage:
ddseditor decode [--names, -n <namefile>] [--output, -o <outfile>] filename
Where:
<namefile>
is the txt cache of names
<outfile>
is the path of the output file
filename
is the file to decode
Usage:
ddseditor names [--output, -o <outfile>] [...dirs]
Where:
<outfile>
is the path of the output file
[..dirs]
is a space seperated list of directory paths with game data
Usage:
ddseditor encode [--output, -o <outfile>] filename
Where:
<outfile>
is the path of the output file
filename
is the file to decode
Please note: you may edit and distrubute this program as you see fit but you must retain the license and the copyright notice I included (feel free to mark your contributions as I have)
I used the Tauri framework for the program, so you will need to to setup your enviroment as specified here. Additionally, you need a Node.js installation, as well as npm
, which should be included with the node install.
The next step is to get a local copy of the repository. This can be done many ways, I recommend forking this repository and cloning that.
IMPORTANT:
If you make changes you are not allowed to redistribute the application with me labeled as the developer. Please remember to change the author
information in the package.json
and the related copyright information in src-tauri/tauri.config.json
file. You should also change the copyright notice in src/App.svelte
.
Once you have cloned the repository and opened it in your preffered Editor/IDE (I recommend VSCode), you will need to install the program's dependencies. To do this, you will need to run two commands:
First:
npm i
Next:
cd src-tauri
cargo install
Now you are finally ready to get the app up and running! Assuming everything is set up correctly, all you need to do is run:
npm run tauri dev
Once you have made your edits and are ready to share it with the world, run the following command:
npm run tauri build
This will generate a .msi
file in src-tauri/target/release/bundle/msi/app_name.msi
. And there you go, you've got a distributeable installer!
This program was is inspired by this save editor by robojumper. They provide a great documention of the Darkest Dungeon save format.
This program is licensed under the GNU General Public License Version 3
Copyright Travis Lane (Tormak) 2022