https://github.com/redstrate/ireko
Library for reading save files from Dolls Nest
https://github.com/redstrate/ireko
dolls-nest
Last synced: over 1 year ago
JSON representation
Library for reading save files from Dolls Nest
- Host: GitHub
- URL: https://github.com/redstrate/ireko
- Owner: redstrate
- License: gpl-3.0
- Created: 2025-02-20T00:34:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-23T21:04:43.000Z (over 1 year ago)
- Last Synced: 2025-02-23T22:18:54.546Z (over 1 year ago)
- Topics: dolls-nest
- Language: Rust
- Homepage:
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ireko
Library for reading save files from [Dolls Nest](https://store.steampowered.com/app/1839430/Dolls_Nest/). Only the demo
is supported because that's what is available at the time of writing.
**The parser is almost now complete (save for a few structs like DateTime), and write support is in progress.**
## Usage
Pass the `.sav` file you want to read as an argument. Not all `.sav` files are known to work, such as `Level.sav` and `Player.sav`.
```shell
$ ireko DollsNestDemo/Saved/SaveGames/AR0XJGFWA6HNIQ1AAUJ9UR828/Persistent.sav
Ok(
TaggedSerialization {
size_in_bytes: 135908,
objs: [
TaggedObject {
size_in_bytes: 135904,
entries: [
Entry {
name: "SavedDataVersion",
type: Some(
Int(
IntProperty {
integer_size: 4,
value: 0,
},
),
),
},
...
```
## Technical Details
Dolls Nest uses [the EasyMultiSave plugin](https://www.fab.com/listings/49f745a1-cbdd-4b18-8278-22ae1075d91d), which
saves using the `.sav` file extension. The save data is zlib-compressed, and decompressing them reveals a very similar
tagged structure to GVAS. See more
information [in this blog post](https://redstrate.com/blog/2025/02/reverse-engineering-dolls-nest-demo-saves/).
## Credits & Thank You
* [uesave-rs](https://github.com/trumank/uesave-rs) for figuring out the basics of the EasyMultiSave format.
## License

This project is licensed under the GNU General Public License 3.