aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2010-11-27 18:46:12 +0000
committerFilippos Karapetis2010-11-27 18:46:12 +0000
commitc76422412dbecb6ed898d7f93d00c78bf5bb3d93 (patch)
treefde2cf3686fd80756792e33d332f353c85fc1a05 /engines
parent0312235f67b681e6f6947272dbfc433b8142c97e (diff)
downloadscummvm-rg350-c76422412dbecb6ed898d7f93d00c78bf5bb3d93.tar.gz
scummvm-rg350-c76422412dbecb6ed898d7f93d00c78bf5bb3d93.tar.bz2
scummvm-rg350-c76422412dbecb6ed898d7f93d00c78bf5bb3d93.zip
SCI: Compensate for buggy KQ5CD saved games (before r54510)
svn-id: r54513
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/sci.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 35fdbe4ea7..43422b4ede 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -435,6 +435,8 @@ void SciEngine::patchGameSaveRestore(SegManager *segMan) {
const Object *gameObject = segMan->getObject(_gameObjectAddress);
const uint16 gameMethodCount = gameObject->getMethodCount();
const Object *gameSuperObject = segMan->getObject(_gameSuperClassAddress);
+ if (!gameSuperObject)
+ gameSuperObject = gameObject; // happens in KQ5CD, when loading saved games before r54510
const uint16 gameSuperMethodCount = gameSuperObject->getMethodCount();
reg_t methodAddress;
const uint16 kernelCount = _kernel->getKernelNamesSize();