aboutsummaryrefslogtreecommitdiff
path: root/saga/sfuncs.cpp
diff options
context:
space:
mode:
authorAndrew Kurushin2004-12-21 06:49:07 +0000
committerAndrew Kurushin2004-12-21 06:49:07 +0000
commitea3b0d11003dbf297b99d22905363df0b24c2f85 (patch)
tree325c5e37fdd246302d529af0d7dcab0671ab4508 /saga/sfuncs.cpp
parentad0b8f1de57e0c217831a60c6d0c93f2d22b2cde (diff)
downloadscummvm-rg350-ea3b0d11003dbf297b99d22905363df0b24c2f85.tar.gz
scummvm-rg350-ea3b0d11003dbf297b99d22905363df0b24c2f85.tar.bz2
scummvm-rg350-ea3b0d11003dbf297b99d22905363df0b24c2f85.zip
- rewritten actors speech engine :
1) there are three types of speech: one acor, multiple actor, non actor 2) slow speech implemented 3) uses native engine flags (async,noanimate...) instead of semaphores - proper timings implemented svn-id: r16237
Diffstat (limited to 'saga/sfuncs.cpp')
-rw-r--r--saga/sfuncs.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/saga/sfuncs.cpp b/saga/sfuncs.cpp
index d00ab6e8a8..2636214677 100644
--- a/saga/sfuncs.cpp
+++ b/saga/sfuncs.cpp
@@ -133,7 +133,7 @@ void Script::setupScriptFuncList(void) {
int Script::SF_putString(SCRIPTFUNC_PARAMS) {
SDataWord_T param = thread->pop();
- debug(1, currentScript()->diag->str[param]);
+ _vm->_console->DebugPrintf(getString(param));
return SUCCESS;
}
@@ -146,9 +146,8 @@ int Script::SF_sleep(SCRIPTFUNC_PARAMS) {
if (!_skipSpeeches) {
time_param = thread->pop();
time = _vm->_sdata->readWordU(time_param);
- time = time * 10; // 72.8 ticks per second
- thread->flags |= kTFlagWaiting; // put thread to sleep
- thread->waitType = kTWaitDelay;
+ thread->wait(kWaitTypeDelay); // put thread to sleep
+ thread->sleepTime = ticksToMSec(time);
}
return SUCCESS;
}
@@ -191,7 +190,7 @@ int Script::SF_objectIsCarried(SCRIPTFUNC_PARAMS) {
int Script::SF_setStatusText(SCRIPTFUNC_PARAMS) {
SDataWord_T param = thread->pop();
- return _vm->_interface->setStatusText(currentScript()->diag->str[param]);
+ return _vm->_interface->setStatusText(getString(param));
}
// Script function #5 (0x05)