Library for reading save files from Dolls Nest
I figured out what the actual layout of this property is (instead of guessing, which created some bad results.) And added tests of course! Also fixed a bug in read_string_with_length() that didn't handle the case where the string length is zero. |
||
---|---|---|
src | ||
.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.