aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-02-04 09:38:51 +0000
committerTravis Howell2006-02-04 09:38:51 +0000
commitba2c097653c04645e5b96831387778f6dc06b891 (patch)
tree25d084d6af51b202ec21e75395d685a662f5e932
parentcd24d93f7b5e2235134ede0854d3a95339c54578 (diff)
downloadscummvm-rg350-ba2c097653c04645e5b96831387778f6dc06b891.tar.gz
scummvm-rg350-ba2c097653c04645e5b96831387778f6dc06b891.tar.bz2
scummvm-rg350-ba2c097653c04645e5b96831387778f6dc06b891.zip
Actually active sprite table doesn't need to be saved.
svn-id: r20369
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/saveload.cpp4
-rw-r--r--scumm/sprite_he.cpp6
3 files changed, 6 insertions, 5 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index f574533258..4f7d4c4872 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -1146,7 +1146,6 @@ protected:
int32 _curMaxSpriteId;
int32 _curSpriteId;
int32 _curSpriteGroupId;
- int32 _numSpritesToProcess;
public:
ScummEngine_v90he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16], int substResFileNameIndex);
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index 8c9fa3753f..98b6a2db62 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -1293,7 +1293,7 @@ void ScummEngine_v90he::saveOrLoad(Serializer *s) {
MKLINE(ScummEngine_v90he, _curMaxSpriteId, sleInt32, VER(51)),
MKLINE(ScummEngine_v90he, _curSpriteId, sleInt32, VER(51)),
MKLINE(ScummEngine_v90he, _curSpriteGroupId, sleInt32, VER(51)),
- MKLINE(ScummEngine_v90he, _numSpritesToProcess, sleInt32, VER(51)),
+ MK_OBSOLETE(ScummEngine_v90he, _numSpritesToProcess, sleInt32, VER(51), VER(63)),
MKLINE(ScummEngine_v90he, _heObject, sleInt32, VER(51)),
MKLINE(ScummEngine_v90he, _heObjectNum, sleInt32, VER(51)),
MKLINE(ScummEngine_v90he, _hePaletteNum, sleInt32, VER(51)),
@@ -1304,9 +1304,7 @@ void ScummEngine_v90he::saveOrLoad(Serializer *s) {
s->saveLoadArrayOf(&_floodFillParams, 1, sizeof(_floodFillParams), floodFillEntries);
- _numSpritesToProcess = _sprite->_numSpritesToProcess;
s->saveLoadEntries(this, HE90Entries);
- _sprite->_numSpritesToProcess = _numSpritesToProcess;
}
void ScummEngine_v99he::saveOrLoad(Serializer *s) {
diff --git a/scumm/sprite_he.cpp b/scumm/sprite_he.cpp
index cdcf144ebc..f0ecc7b6be 100644
--- a/scumm/sprite_he.cpp
+++ b/scumm/sprite_he.cpp
@@ -1422,7 +1422,6 @@ void Sprite::saveOrLoadSpriteData(Serializer *s) {
};
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 {
@@ -1430,6 +1429,11 @@ void Sprite::saveOrLoadSpriteData(Serializer *s) {
s->saveLoadArrayOf(_spriteTable, _varNumSprites, sizeof(_spriteTable[0]), spriteEntries);
s->saveLoadArrayOf(_spriteGroups, _varNumSpriteGroups, sizeof(_spriteGroups[0]), spriteGroupEntries);
}
+
+ // Reset active sprite table
+ if (s->isLoading())
+ _numSpritesToProcess = 0;
+
}
} // End of namespace Scumm