Darkest-Dungeon-Save-Editor

Darkest Dungeon Save Editor

A clean save editor for the game DarkestDungeon, powered by Typescript, Svelte, and Tauri.

DarkestDungeon Save Editor

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.

Background

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.

Features

  • Save file decoding - Decodes a save file into a valid, editable .json file
  • Json to save file encoding -
  • Name generation - Generates a list of property names used in the game's save files by scanning the game data directory, and optionally any mod directories
  • Backups - A robust system to ensure that your saves are preserved in the case that that app or you breaks a save.

This app aims to provide a nice UI for these tasks, as well as provide a command line interface (CLI) option for those who wish to automate the tasks or who are just power users.

Installing

If 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.

Setting up the CLI

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.

Using the CLI

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)

The Decode Command

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

The Encode Command

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

The Names Command

Usage:

ddseditor encode [--output, -o <outfile>] filename

Where:
<outfile> is the path of the output file
filename is the file to decode

Building the app

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)

Setting Up the Enviroment

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.

Cloning the Program

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.

Installing Dependencies

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

Running the Application

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

Building With Your Changes

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!

Acknowledgements

This program was is inspired by this save editor by robojumper. They provide a great documention of the Darkest Dungeon save format.

Licensing

This program is licensed under the GNU General Public License Version 3

Copyright Travis Lane (Tormak) 2022

Top categories

Loading Svelte Themes