diff options
author | Eugene Sandulenko | 2005-08-08 19:40:55 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-08-08 19:40:55 +0000 |
commit | ccfedf06540fd9b0aa91a7f949dd563ab9b4c2ad (patch) | |
tree | 34e03a0b8a89505d9917114a0588032533bcf14f /saga | |
parent | 753ff5a92673c1eb714bc74b3b825b50b3c96a43 (diff) | |
download | scummvm-rg350-ccfedf06540fd9b0aa91a7f949dd563ab9b4c2ad.tar.gz scummvm-rg350-ccfedf06540fd9b0aa91a7f949dd563ab9b4c2ad.tar.bz2 scummvm-rg350-ccfedf06540fd9b0aa91a7f949dd563ab9b4c2ad.zip |
Fix bug #1252277 "ITE: Actions not performed under OS X"
svn-id: r18637
Diffstat (limited to 'saga')
-rw-r--r-- | saga/events.cpp | 8 | ||||
-rw-r--r-- | saga/script.cpp | 1 | ||||
-rw-r--r-- | saga/sthread.cpp | 4 |
3 files changed, 8 insertions, 5 deletions
diff --git a/saga/events.cpp b/saga/events.cpp index ebc959ed9a..b59c8aa1b5 100644 --- a/saga/events.cpp +++ b/saga/events.cpp @@ -417,10 +417,10 @@ int Events::handleOneShot(EVENT *event) { break; } - sthread->_threadVars[kThreadVarAction] = TO_LE_16(event->param3); - sthread->_threadVars[kThreadVarObject] = TO_LE_16(event->param4); - sthread->_threadVars[kThreadVarWithObject] = TO_LE_16(event->param5); - sthread->_threadVars[kThreadVarActor] = TO_LE_16(event->param6); + sthread->_threadVars[kThreadVarAction] = event->param3; + sthread->_threadVars[kThreadVarObject] = event->param4; + sthread->_threadVars[kThreadVarWithObject] = event->param5; + sthread->_threadVars[kThreadVarActor] = event->param6; if (event->op == EVENT_EXEC_BLOCKING) _vm->_script->completeThread(); diff --git a/saga/script.cpp b/saga/script.cpp index 31dde01438..c01126fbe6 100644 --- a/saga/script.cpp +++ b/saga/script.cpp @@ -414,6 +414,7 @@ void Script::doVerb() { } else { if (objectType & (kGameObjectActor | kGameObjectObject)) { scriptEntrypointNumber = _vm->_actor->getObjectScriptEntrypointNumber(_pendingObject[0]); + debug(0, "%d", scriptEntrypointNumber); if ((objectType == kGameObjectActor) && !(_vm->_actor->getObjectFlags(_pendingObject[0]) & (kFollower|kProtagonist|kExtended))) { scriptModuleNumber = _vm->_scene->getScriptModuleNumber(); diff --git a/saga/sthread.cpp b/saga/sthread.cpp index 5816c6c49f..19d7c02a6e 100644 --- a/saga/sthread.cpp +++ b/saga/sthread.cpp @@ -266,8 +266,10 @@ bool Script::runThread(ScriptThread *thread, uint instructionLimit) { thread->push((*addr) & iparam1 ? 1 : 0); break; CASEOP(opGetInt) - addr = thread->baseAddress(scriptS.readByte()); + iparam2 = scriptS.readByte(); + addr = thread->baseAddress(iparam2); iparam1 = scriptS.readSint16LE(); + debug(0, "%d %d %d", *((uint16*)addr), iparam2, iparam1); addr += iparam1; thread->push(*((uint16*)addr)); debug(8, "0x%X", *((uint16*)addr)); |