aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2007-04-21 21:29:52 +0000
committerEugene Sandulenko2007-04-21 21:29:52 +0000
commit28e721836a959f0283c00aae49dcb0481091e387 (patch)
tree922c535aad6f353bd1b04a9f33aba24901a999c6 /engines
parentb1e79b9253d17ff9ea6d996b4416569c658e9cc8 (diff)
downloadscummvm-rg350-28e721836a959f0283c00aae49dcb0481091e387.tar.gz
scummvm-rg350-28e721836a959f0283c00aae49dcb0481091e387.tar.bz2
scummvm-rg350-28e721836a959f0283c00aae49dcb0481091e387.zip
Slighty modified patch #1704979: "Fix for #1690045: ITE: Item description missing"
svn-id: r26558
Diffstat (limited to 'engines')
-rw-r--r--engines/saga/script.cpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp
index 7c203605ee..97804666d2 100644
--- a/engines/saga/script.cpp
+++ b/engines/saga/script.cpp
@@ -479,18 +479,21 @@ void Script::doVerb() {
if (scriptEntrypointNumber > 0) {
- event.type = kEvTOneshot;
- event.code = kScriptEvent;
- event.op = kEventExecNonBlocking;
- event.time = 0;
- event.param = scriptModuleNumber;
- event.param2 = scriptEntrypointNumber;
- event.param3 = _pendingVerb; // Action
- event.param4 = _pendingObject[0]; // Object
- event.param5 = _pendingObject[1]; // With Object
- event.param6 = (objectType == kGameObjectActor) ? _pendingObject[0] : ID_PROTAG; // Actor
-
- _vm->_events->queue(&event);
+ // WORKAROUND: Fixes bug #1690045 "ITE: Item description missing / ScummVM crash"
+ if (!(_vm->_scene->currentSceneNumber() == 278 && (_pendingObject[0] == 16419 || _pendingObject[1] == 16419))) {
+ event.type = kEvTOneshot;
+ event.code = kScriptEvent;
+ event.op = kEventExecNonBlocking;
+ event.time = 0;
+ event.param = scriptModuleNumber;
+ event.param2 = scriptEntrypointNumber;
+ event.param3 = _pendingVerb; // Action
+ event.param4 = _pendingObject[0]; // Object
+ event.param5 = _pendingObject[1]; // With Object
+ event.param6 = (objectType == kGameObjectActor) ? _pendingObject[0] : ID_PROTAG; // Actor
+
+ _vm->_events->queue(&event);
+ }
} else {
_vm->getExcuseInfo(_pendingVerb, excuseText, excuseSampleResourceId);