aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/events.cpp
diff options
context:
space:
mode:
authorMax Horn2009-04-11 21:38:41 +0000
committerMax Horn2009-04-11 21:38:41 +0000
commit41bd7cd94b6c26ea06da5a2f3f0aefdf4adc5c90 (patch)
treea290f4f777a914b015b90198f023b4de1a540f8f /engines/saga/events.cpp
parent82f862c6b20de0f2449eb012d4a26e371d87dd52 (diff)
downloadscummvm-rg350-41bd7cd94b6c26ea06da5a2f3f0aefdf4adc5c90.tar.gz
scummvm-rg350-41bd7cd94b6c26ea06da5a2f3f0aefdf4adc5c90.tar.bz2
scummvm-rg350-41bd7cd94b6c26ea06da5a2f3f0aefdf4adc5c90.zip
SAGA: changed _threadList back to a list of ScriptThread objs, instead of ptrs to instances.
svn-id: r39944
Diffstat (limited to 'engines/saga/events.cpp')
-rw-r--r--engines/saga/events.cpp19
1 files changed, 7 insertions, 12 deletions
diff --git a/engines/saga/events.cpp b/engines/saga/events.cpp
index 2e0cb9f09a..cce8464653 100644
--- a/engines/saga/events.cpp
+++ b/engines/saga/events.cpp
@@ -273,7 +273,6 @@ int Events::handleImmediate(Event *event) {
}
int Events::handleOneShot(Event *event) {
- ScriptThread *sthread;
Rect rect;
@@ -478,24 +477,20 @@ int Events::handleOneShot(Event *event) {
case kScriptEvent:
switch (event->op) {
case kEventExecBlocking:
- case kEventExecNonBlocking:
+ case kEventExecNonBlocking: {
debug(6, "Exec module number %ld script entry number %ld", event->param, event->param2);
- sthread = _vm->_script->createThread(event->param, event->param2);
- if (sthread == NULL) {
- _vm->_console->DebugPrintf("Thread creation failed.\n");
- break;
- }
-
- sthread->_threadVars[kThreadVarAction] = event->param3;
- sthread->_threadVars[kThreadVarObject] = event->param4;
- sthread->_threadVars[kThreadVarWithObject] = event->param5;
- sthread->_threadVars[kThreadVarActor] = event->param6;
+ ScriptThread &sthread = _vm->_script->createThread(event->param, event->param2);
+ sthread._threadVars[kThreadVarAction] = event->param3;
+ sthread._threadVars[kThreadVarObject] = event->param4;
+ sthread._threadVars[kThreadVarWithObject] = event->param5;
+ sthread._threadVars[kThreadVarActor] = event->param6;
if (event->op == kEventExecBlocking)
_vm->_script->completeThread();
break;
+ }
case kEventThreadWake:
_vm->_script->wakeUpThreads(event->param);
break;