aboutsummaryrefslogtreecommitdiff
path: root/scumm/saveload.cpp
diff options
context:
space:
mode:
authorTravis Howell2005-04-26 15:13:04 +0000
committerTravis Howell2005-04-26 15:13:04 +0000
commit26ace2309274a907bfc11424f05342e8b512435a (patch)
tree4adbeca054068707980e6f9729c817f05b528363 /scumm/saveload.cpp
parent4239ac74076bb0c7024bd11a511933a3596a5c69 (diff)
downloadscummvm-rg350-26ace2309274a907bfc11424f05342e8b512435a.tar.gz
scummvm-rg350-26ace2309274a907bfc11424f05342e8b512435a.tar.bz2
scummvm-rg350-26ace2309274a907bfc11424f05342e8b512435a.zip
Save addtion HE opcodes specific variables.
svn-id: r17824
Diffstat (limited to 'scumm/saveload.cpp')
-rw-r--r--scumm/saveload.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index 64cf888926..764e81db0c 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -958,15 +958,63 @@ void ScummEngine_v70he::saveOrLoad(Serializer *s, uint32 savegameVersion) {
MKEND()
};
+ const SaveLoadEntry HE70Entries[] = {
+ MKLINE(ScummEngine_v70he, _heSndSoundId, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v70he, _heSndOffset, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v70he, _heSndChannel, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v70he, _heSndFlags, sleInt32, VER(51)),
+ MKEND()
+ };
+
if (_heversion >= 71) {
s->saveLoadArrayOf(_wiz._polygons, ARRAYSIZE(_wiz._polygons), sizeof(_wiz._polygons[0]), polygonEntries);
}
+
+ s->saveLoadEntries(this, HE70Entries);
}
void ScummEngine_v90he::saveOrLoad(Serializer *s, uint32 savegameVersion) {
ScummEngine_v70he::saveOrLoad(s, savegameVersion);
+ const SaveLoadEntry floodStateEntries[] = {
+ MKLINE(FloodStateParameters, box.left, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, box.top, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, box.right, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, box.bottom, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, field_10, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, field_14, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, field_18, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, field_1C, sleInt32, VER(51)),
+ MKEND()
+ };
+
+ const SaveLoadEntry HE90Entries[] = {
+ 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)),
+ MKLINE(ScummEngine_v90he, _heObject, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v90he, _heObjectNum, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v90he, _hePaletteNum, sleInt32, VER(51)),
+ MKEND()
+ };
+
saveOrLoadSpriteData(&*s, savegameVersion);
+
+ s->saveLoadArrayOf(&_floodStateParams, 1, sizeof(_floodStateParams), floodStateEntries);
+ s->saveLoadEntries(this, HE90Entries);
+}
+
+void ScummEngine_v100he::saveOrLoad(Serializer *s, uint32 savegameVersion) {
+ ScummEngine_v90he::saveOrLoad(s, savegameVersion);
+
+ const SaveLoadEntry HE100Entries[] = {
+ MKLINE(ScummEngine_v100he, _heResId, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v100he, _heResType, sleInt32, VER(51)),
+ MKEND()
+ };
+
+ s->saveLoadEntries(this, HE100Entries);
}
void ScummEngine::saveLoadResource(Serializer *ser, int type, int idx) {