Library for reading save files from Dolls Nest
The biggest change is that structs and properties now provide their own name, which is needed when we want to write everything back to a file. Also a bunch of reorganization of stuff I didn't understand before. |
||
---|---|---|
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 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
.
$ 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.