aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-02-04 08:40:36 +0000
committerTravis Howell2006-02-04 08:40:36 +0000
commitcd24d93f7b5e2235134ede0854d3a95339c54578 (patch)
treeda75e6d41b5cd3e3918f12ce45fda19b9442e7a4
parent529f2602618e36ce3f578ca356f7a7c97d24d5ac (diff)
downloadscummvm-rg350-cd24d93f7b5e2235134ede0854d3a95339c54578.tar.gz
scummvm-rg350-cd24d93f7b5e2235134ede0854d3a95339c54578.tar.bz2
scummvm-rg350-cd24d93f7b5e2235134ede0854d3a95339c54578.zip
Save complete tables, was off by one.
svn-id: r20368
-rw-r--r--scumm/saveload.h2
-rw-r--r--scumm/sprite_he.cpp12
2 files changed, 10 insertions, 4 deletions
diff --git a/scumm/saveload.h b/scumm/saveload.h
index ce6639e372..379024a0a5 100644
--- a/scumm/saveload.h
+++ b/scumm/saveload.h
@@ -45,7 +45,7 @@ namespace Scumm {
* only saves/loads those which are valid for the version of the savegame
* which is being loaded/saved currently.
*/
-#define CURRENT_VER 63
+#define CURRENT_VER 64
/**
* An auxillary macro, used to specify savegame versions. We use this instead
diff --git a/scumm/sprite_he.cpp b/scumm/sprite_he.cpp
index 9b1185f6f4..cdcf144ebc 100644
--- a/scumm/sprite_he.cpp
+++ b/scumm/sprite_he.cpp
@@ -1421,9 +1421,15 @@ void Sprite::saveOrLoadSpriteData(Serializer *s) {
MKEND()
};
- s->saveLoadArrayOf(_activeSpritesTable, _varNumSprites, sizeof(_activeSpritesTable[0]), spriteEntries);
- s->saveLoadArrayOf(_spriteTable, _varNumSprites, sizeof(_spriteTable[0]), spriteEntries);
- s->saveLoadArrayOf(_spriteGroups, _varNumSpriteGroups, sizeof(_spriteGroups[0]), spriteGroupEntries);
+ if (s->getVersion() >= VER(64)) {
+ s->saveLoadArrayOf(_activeSpritesTable, _varNumSprites + 1, sizeof(_activeSpritesTable[0]), spriteEntries);
+ s->saveLoadArrayOf(_spriteTable, _varNumSprites + 1, sizeof(_spriteTable[0]), spriteEntries);
+ s->saveLoadArrayOf(_spriteGroups, _varNumSpriteGroups + 1, sizeof(_spriteGroups[0]), spriteGroupEntries);
+ } else {
+ s->saveLoadArrayOf(_activeSpritesTable, _varNumSprites, sizeof(_activeSpritesTable[0]), spriteEntries);
+ s->saveLoadArrayOf(_spriteTable, _varNumSprites, sizeof(_spriteTable[0]), spriteEntries);
+ s->saveLoadArrayOf(_spriteGroups, _varNumSpriteGroups, sizeof(_spriteGroups[0]), spriteGroupEntries);
+ }
}
} // End of namespace Scumm