Library for reading save files from Dolls Nest
This adds a macro that helps deserialize structs when their properties & types are known ahead of time. It's sole job is gluing different binrw macros together so I don't have to. The nice thing about this is that you have more direct access to the underlying data. |
||
---|---|---|
paramacro | ||
src | ||
tests | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
Ireko
Library for reading save files from Dolls Nest. Only the demo is supported because that's what is available at the time of writing.
The parser is not yet complete, and can only dump parts of the structured data. The code is also generally terrible because I'm still exploring the format.
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
.
$ 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, 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.
Credits & Thank You
- uesave-rs for figuring out the basics of the EasyMultiSave format.
License
This project is licensed under the GNU General Public License 3.