diff options
Diffstat (limited to 'engines/illusions/scriptthread.cpp')
| -rw-r--r-- | engines/illusions/scriptthread.cpp | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/illusions/scriptthread.cpp b/engines/illusions/scriptthread.cpp index 6455cfb756..7a37633f94 100644 --- a/engines/illusions/scriptthread.cpp +++ b/engines/illusions/scriptthread.cpp @@ -39,14 +39,14 @@ ScriptThread::ScriptThread(IllusionsEngine *vm, uint32 threadId, uint32 callingT  int ScriptThread::onUpdate() {  	OpCall opCall;  	opCall._result = kTSRun; -	while (!_terminated && opCall._result == 4) { +	while (!_terminated && opCall._result == kTSRun) {  		opCall._op = _scriptCodeIp[0];  		opCall._opSize = _scriptCodeIp[1] >> 1;  		opCall._threadId = _scriptCodeIp[1] & 1 ? _threadId : 0;  		opCall._code = _scriptCodeIp + 2; -		opCall._deltaOfs = 0; +		opCall._deltaOfs = opCall._opSize;  		execOpcode(opCall); -		_scriptCodeIp += opCall._opSize + opCall._deltaOfs; +		_scriptCodeIp += opCall._deltaOfs;  	}  	if (_terminated)  		opCall._result = kTSTerminate; @@ -55,22 +55,27 @@ int ScriptThread::onUpdate() {  void ScriptThread::onSuspend() {  	// TODO +	debug("ScriptThread::onSuspend()");  }  void ScriptThread::onNotify() {  	// TODO +	debug("ScriptThread::onNotify()");  }  void ScriptThread::onPause() {  	// TODO +	debug("ScriptThread::onPause()");  }  void ScriptThread::onResume() {  	// TODO +	debug("ScriptThread::onResume()");  }  void ScriptThread::onTerminated() {  	// TODO +	debug("ScriptThread::onTerminated()");  }  void ScriptThread::execOpcode(OpCall &opCall) {  | 
