aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/saveload.cpp
diff options
context:
space:
mode:
authorMax Horn2006-02-20 16:51:30 +0000
committerMax Horn2006-02-20 16:51:30 +0000
commite389bcf497391cf4cde7d7b7a6f4023877205735 (patch)
treeb8314b1ad8bc19117c37df4d4ce27d9cce92a442 /engines/scumm/saveload.cpp
parenta6e5f6fd2cdb574e09fb3bd120b1e8efa034f0cb (diff)
downloadscummvm-rg350-e389bcf497391cf4cde7d7b7a6f4023877205735.tar.gz
scummvm-rg350-e389bcf497391cf4cde7d7b7a6f4023877205735.tar.bz2
scummvm-rg350-e389bcf497391cf4cde7d7b7a6f4023877205735.zip
Replaced _gameId, _version, _heversion, _features, _midi, _platform with a simple ScummGameSettings instance: _game
svn-id: r20795
Diffstat (limited to 'engines/scumm/saveload.cpp')
-rw-r--r--engines/scumm/saveload.cpp46
1 files changed, 23 insertions, 23 deletions
diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp
index 01f2507c60..2fe48e585e 100644
--- a/engines/scumm/saveload.cpp
+++ b/engines/scumm/saveload.cpp
@@ -157,7 +157,7 @@ bool ScummEngine::loadState(int slot, bool compat) {
}
// We (deliberately) broke HE savegame compatibility at some point.
- if (hdr.ver < VER(50) && _heversion >= 71) {
+ if (hdr.ver < VER(50) && _game.heversion >= 71) {
warning("Unsupported version of '%s'", filename);
delete in;
return false;
@@ -250,7 +250,7 @@ bool ScummEngine::loadState(int slot, bool compat) {
initScummVars();
- if (_features & GF_OLD_BUNDLE)
+ if (_game.features & GF_OLD_BUNDLE)
loadCharset(0); // FIXME - HACK ?
//
@@ -264,7 +264,7 @@ bool ScummEngine::loadState(int slot, bool compat) {
setupVolumes();
// Init NES costume data
- if (_platform == Common::kPlatformNES) {
+ if (_game.platform == Common::kPlatformNES) {
if (hdr.ver < VER(47))
_NESCostumeSet = 0;
NES_loadCostumeSet(_NESCostumeSet);
@@ -277,21 +277,21 @@ bool ScummEngine::loadState(int slot, bool compat) {
// WORKAROUND bug #795214: Object 819 could be set to a state of 1 in old save games
// Object 819 is part of the exit of the church and should not be drawn.
- if (hdr.ver < VER(59) && _gameId == GID_MONKEY_VGA) {
+ if (hdr.ver < VER(59) && _game.id == GID_MONKEY_VGA) {
putState(819, 0);
}
- if (hdr.ver < VER(33) && _version >= 7) {
+ if (hdr.ver < VER(33) && _game.version >= 7) {
// For a long time, we didn't set these vars to default values.
VAR(VAR_DEFAULT_TALK_DELAY) = 60;
- if (_version == 7)
+ if (_game.version == 7)
VAR(VAR_NUM_GLOBAL_OBJS) = _numGlobalObjects - 1;
}
if (hdr.ver < VER(30)) {
// For a long time, we used incorrect location, causing it to default to zero.
- if (_version == 8)
- _scummVars[VAR_CHARINC] = (_features & GF_DEMO) ? 3 : 1;
+ if (_game.version == 8)
+ _scummVars[VAR_CHARINC] = (_game.features & GF_DEMO) ? 3 : 1;
// Needed due to subtitle speed changes
_defaultTalkDelay /= 20;
}
@@ -300,7 +300,7 @@ bool ScummEngine::loadState(int slot, bool compat) {
// scumm vars. We now know the proper locations. To be able to properly use
// old save games, we update the old (bad) variables to the new (correct)
// ones.
- if (hdr.ver < VER(28) && _version == 8) {
+ if (hdr.ver < VER(28) && _game.version == 8) {
_scummVars[VAR_CAMERA_MIN_X] = _scummVars[101];
_scummVars[VAR_CAMERA_MAX_X] = _scummVars[102];
_scummVars[VAR_CAMERA_MIN_Y] = _scummVars[103];
@@ -327,15 +327,15 @@ bool ScummEngine::loadState(int slot, bool compat) {
// anyway. There was a time, though, when re-initializing was necessary
// for backwards compatibility, and it may still prove useful if we
// ever add options for using different 16-colour palettes.
- if (_version == 1) {
- if (_platform == Common::kPlatformC64) {
+ if (_game.version == 1) {
+ if (_game.platform == Common::kPlatformC64) {
setupC64Palette();
- } else if (_platform == Common::kPlatformNES) {
+ } else if (_game.platform == Common::kPlatformNES) {
setupNESPalette();
} else {
setupV1Palette();
}
- } else if (_features & GF_16COLOR) {
+ } else if (_game.features & GF_16COLOR) {
switch (_renderMode) {
case Common::kRenderEGA:
setupEGAPalette();
@@ -355,7 +355,7 @@ bool ScummEngine::loadState(int slot, bool compat) {
break;
default:
- if ((_platform == Common::kPlatformAmiga) || (_platform == Common::kPlatformAtariST))
+ if ((_game.platform == Common::kPlatformAmiga) || (_game.platform == Common::kPlatformAtariST))
setupAmigaPalette();
else
setupEGAPalette();
@@ -364,13 +364,13 @@ bool ScummEngine::loadState(int slot, bool compat) {
setDirtyColors(0, 255);
- if (hdr.ver < VER(35) && _gameId == GID_MANIAC && _version == 1)
+ if (hdr.ver < VER(35) && _game.id == GID_MANIAC && _game.version == 1)
setupV1ActorTalkColor();
// Load the static room data
loadRoomSubBlocks();
- if (!(_features & GF_NEW_CAMERA)) {
+ if (!(_game.features & GF_NEW_CAMERA)) {
camera._last.x = camera._cur.x;
}
@@ -457,7 +457,7 @@ bool ScummEngine::getSavegameName(int slot, char *desc) {
}
// We (deliberately) broke HE savegame compatibility at some point.
- if (hdr.ver < VER(57) && _heversion >= 60) {
+ if (hdr.ver < VER(57) && _game.heversion >= 60) {
strcpy(desc, "Unsupported version");
return false;
}
@@ -1073,7 +1073,7 @@ void ScummEngine::saveOrLoad(Serializer *s) {
// For V1-V5 games, there used to be no object name resources.
// At some point this changed. But since old savegames rely on
// unchanged resource counts, we have to hard code the following check
- if (_version < 6 && type == rtObjectName)
+ if (_game.version < 6 && type == rtObjectName)
continue;
for (idx = 1; idx < res.num[type]; idx++)
saveLoadResource(s, type, idx);
@@ -1096,7 +1096,7 @@ void ScummEngine::saveOrLoad(Serializer *s) {
if (_shadowPaletteSize) {
s->saveLoadArrayOf(_shadowPalette, _shadowPaletteSize, 1, sleByte);
// _roomPalette didn't show up until V21 save games
- if (s->getVersion() >= VER(21) && _version < 5)
+ if (s->getVersion() >= VER(21) && _game.version < 5)
s->saveLoadArrayOf(_roomPalette, sizeof(_roomPalette), 1, sleByte);
}
@@ -1143,9 +1143,9 @@ void ScummEngine::saveOrLoad(Serializer *s) {
else
s->saveLoadArrayOf(_scummVars, _numVariables, sizeof(_scummVars[0]), sleInt32);
- if (_gameId == GID_TENTACLE) // Maybe misplaced, but that's the main idea
+ if (_game.id == GID_TENTACLE) // Maybe misplaced, but that's the main idea
_scummVars[120] = var120Backup;
- if (_gameId == GID_INDY4)
+ if (_game.id == GID_INDY4)
_scummVars[98] = var98Backup;
s->saveLoadArrayOf(_bitVars, _numBitVariables >> 3, 1, sleByte);
@@ -1391,7 +1391,7 @@ void ScummEngine::saveLoadResource(Serializer *ser, int type, int idx) {
void ScummEngine::saveResource(Serializer *ser, int type, int idx) {
assert(res.address[type][idx]);
- if ((res.mode[type] == 0) || (_heversion >= 60 && res.mode[type] == 2 && idx == 1)) {
+ if ((res.mode[type] == 0) || (_game.heversion >= 60 && res.mode[type] == 2 && idx == 1)) {
byte *ptr = res.address[type][idx];
uint32 size = ((MemBlkHeader *)ptr)->size;
@@ -1408,7 +1408,7 @@ void ScummEngine::saveResource(Serializer *ser, int type, int idx) {
}
void ScummEngine::loadResource(Serializer *ser, int type, int idx) {
- if ((res.mode[type] == 0) || (_heversion >= 60 && res.mode[type] == 2 && idx == 1)) {
+ if ((res.mode[type] == 0) || (_game.heversion >= 60 && res.mode[type] == 2 && idx == 1)) {
uint32 size = ser->loadUint32();
assert(size);
res.createResource(type, idx, size);