aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorMartin Kiewitz2010-07-18 20:14:18 +0000
committerMartin Kiewitz2010-07-18 20:14:18 +0000
commit8893d4ef2307696a306ab2e643857b17d354228e (patch)
treeefae5ae6da5fba60a781bda08f8353cb4dd52efe /engines/sci/engine
parentfc1e5c8faeedf13217658d22c7f25adce1a9e75b (diff)
downloadscummvm-rg350-8893d4ef2307696a306ab2e643857b17d354228e.tar.gz
scummvm-rg350-8893d4ef2307696a306ab2e643857b17d354228e.tar.bz2
scummvm-rg350-8893d4ef2307696a306ab2e643857b17d354228e.zip
SCI: add workaround for script 500 lsl3
svn-id: r51008
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/script.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/sci/engine/script.cpp b/engines/sci/engine/script.cpp
index a293f81d2f..42e1c54c90 100644
--- a/engines/sci/engine/script.cpp
+++ b/engines/sci/engine/script.cpp
@@ -437,6 +437,9 @@ void Script::initialiseClasses(SegManager *segMan) {
// WORKAROUND for an invalid species access in the demo of LSL2
if (g_sci->getGameId() == GID_LSL2 && g_sci->isDemo() && species == (int)segMan->classTableSize())
segMan->resizeClassTable(segMan->classTableSize() + 1);
+ // WORKAROUND for an invalid species access in LSL3 script 500
+ if (g_sci->getGameId() == GID_LSL3 && !g_sci->isDemo() && species == (int)segMan->classTableSize())
+ segMan->resizeClassTable(segMan->classTableSize() + 1);
if (species < 0 || species >= (int)segMan->classTableSize())
error("Invalid species %d(0x%x) not in interval [0,%d) while instantiating script %d\n",