3 unstable releases
0.2.0 | Oct 29, 2019 |
---|---|
0.1.1 | Sep 27, 2019 |
0.1.0 | Sep 26, 2019 |
#2433 in Parser implementations
175KB
5K
SLoC
war
A tool that lets you view/edit Darksiders save files and game assets.
Darksiders Warfinitive Edition - All your save game are belong to us!
You can download the latest version from the releases page.
How to use
You have a couple options:
-
View the worlds/scripts online. Nothing to download, nothing to install.
-
Run
war --help
for the full list of options. -
Continue reading below for the guided tour.
Save editing
Which edition of the game do you have?
OGYour saves should be in a path that looks something like this:
C:\Users\<username>\Documents\My Games\Darksiders\<steam-user-id>\dsauto.dsav
- Run
war dsav decode <path-to-dsav>
to decode a save from.dsav
to.json
. - The newly-created
.json
will have an unpacked version of your save. You can edit this file. - Run
war dsav encode <path-to-json>
to encode back to.dsav
. - To use the new save, just quit to the main menu and choose "Load Game".
Your saves should be in a path that looks something like this:
C:\Program Files (x86)\Steam\userdata\<steam-user-id>\462780\remote\autocloud\save\keen_savegame_0_0.sav
The file contains all 10 save slots (including the autosave slot), but this tool only reads/writes the autosave slot.
- Run
war sav decode <path-to-sav>
to decode the autosave to.json
. - The newly-created
.json
will have an unpacked version of your save. You can edit this file. - Run
war sav encode <path-to-sav> <path-to-json>
to write back to the.sav
. The autosave slot will be overwritten, and the other save slots will be left alone. - If the game is running, you'll need to exit and restart for it to read the new data. Unfortunately, this edition only reads the save file once when the game first loads.
⚠ NOTE (both editions): Darksiders will refuse to load a save if the SaveGameInfo
's UserId
does not match the logged-in Steam user's ID. If you want to use a save on a different account than created it, the UserId
property must be changed to match.
Asset extracting
This app can extract the game's various assets to a readable format. It cannot re-pack them into the original format. These command work just as well on files from both OG and Warmastered.
Manifest
Most of the game's assets (meshes, textures, audio, etc.) are stored in resource packages (*.oppc
) which are referenced by the manifest (media/pc.mnfst
).
To extract these, point the tool at your game directory (either Darksiders
or Darksiders Warmastered Edition
).
war manifest packages unpack <path-to-Darksiders> <output-dir>
The unpacked files will take up about 17GB (for the Warmastered Edition).
Worlds
The game's worlds are stored in /path/to/Darksiders/media/worlds.mnfst
. To extract them, run:
war worlds decode <path-to-worlds.mnfst> <output-dir>
See the browse readme for more info on what exactly these files are.
Scripts
The game's scripts are stored in /path/to/Darksiders/media/scripts.obsp
. To extract them, run:
war obsp decode <path-to-scripts.obsp> <output-dir>
Congratulations, you did it! Now you have several thousand more files on your hard drive. 🎉
Development
Install prerequisites
Install the pre-commit hook
pre-commit install
This installs a Git hook that runs a quick sanity check before every commit.
Run the app
cargo run
Run the tests
cargo test
Dependencies
~8–17MB
~264K SLoC