#8142 closed patch
Make saveload system extensible
Reported by: | fingolfin | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: |
Description
This patch (as discussed on IRC) implements versioning on the fields store in save games. This way, it becomes easy to remove/add/grow fields in the save game, whil still being able to load older save games.
I can load all my old V8 & V9 save games (as well as all the savegames here that are labeled as V7 - due to a bug, all versions of ScummVM up to and including 0.3.0 would under certain conditions save states as V8, sometimes even incorrectly marked as V7).
The new save game format V10 is in effect a few KB bigger than the old. The reason is that we didn't save a lot things that should have been saved - e.g. we only saved 64 of the 256 bytes of each actor's palette.
I would check this in directly, but I think some people should test it independently first, as it is always risky to mess with the save/load system.
Ticket imported from: #650085. Ticket imported from: patches/247.
Attachments (1)
Change History (5)
by , 22 years ago
Attachment: | saveload.patch added |
---|
comment:1 by , 22 years ago
comment:2 by , 22 years ago
Owner: | set to |
---|
comment:3 by , 22 years ago
Owner: | changed from | to
---|---|
Status: | new → closed |
comment:4 by , 6 years ago
Component: | → Engine: SCUMM |
---|
I also have save game compression with MiniLZO working just fine over here. Rates are not as high as they would be with gzip, of course, but still acceptable. E.g.
atlantis.s34 48645 (uncompressed) 19659 (LZO) 12476 (gzip)
dig.s05
239278 (uncompressed) 32427 (LZO) 23875 (gzip)