aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/script_v100he.cpp4
-rw-r--r--scumm/script_v7he.cpp3
2 files changed, 6 insertions, 1 deletions
diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp
index 45d18ccf8b..b132d0263d 100644
--- a/scumm/script_v100he.cpp
+++ b/scumm/script_v100he.cpp
@@ -1102,6 +1102,10 @@ void ScummEngine_v100he::o100_resourceRoutines() {
break;
case 136:
// Queue loading
+ if (_heResType == rtScript && _heResId >= _numGlobalScripts)
+ break;
+
+ ensureResourceLoaded(_heResType, _heResId);
break;
case 137:
if (_heResType == rtScript && _heResId >= _numGlobalScripts)
diff --git a/scumm/script_v7he.cpp b/scumm/script_v7he.cpp
index 5ba8004a14..b85e6da83d 100644
--- a/scumm/script_v7he.cpp
+++ b/scumm/script_v7he.cpp
@@ -512,7 +512,6 @@ void ScummEngine_v70he::o70_resourceRoutines() {
subOp = fetchScriptByte();
- debug(0, "o70_resourceRoutines: case %d", subOp);
switch (subOp) {
case 100: // SO_LOAD_SCRIPT
resid = pop();
@@ -606,6 +605,8 @@ void ScummEngine_v70he::o70_resourceRoutines() {
case 120:
// Queue load script
resid = pop();
+ if (resid >= _numGlobalScripts)
+ break;
ensureResourceLoaded(rtScript, resid);
break;
case 121: