aboutsummaryrefslogtreecommitdiff
path: root/saga/sfuncs.cpp
diff options
context:
space:
mode:
authorTorbjörn Andersson2004-10-21 06:49:11 +0000
committerTorbjörn Andersson2004-10-21 06:49:11 +0000
commit1e062a6d8980d845f058b2782798d4c6e608c54f (patch)
treeeccfe2f4cac40b97f45521598cba83f5278b0854 /saga/sfuncs.cpp
parented089f7f389e64ddccd751d1d4e30f81c445497e (diff)
downloadscummvm-rg350-1e062a6d8980d845f058b2782798d4c6e608c54f.tar.gz
scummvm-rg350-1e062a6d8980d845f058b2782798d4c6e608c54f.tar.bz2
scummvm-rg350-1e062a6d8980d845f058b2782798d4c6e608c54f.zip
A bunch of mostly panel-related fixes for the ITE intro. Apart from the
numerous animation glitches, it's looking almost like the real thing now. It's no longer possible to walk away during the intro. This should provide a great incentive to implement the "Escape" feature. ;-) svn-id: r15626
Diffstat (limited to 'saga/sfuncs.cpp')
-rw-r--r--saga/sfuncs.cpp29
1 files changed, 14 insertions, 15 deletions
diff --git a/saga/sfuncs.cpp b/saga/sfuncs.cpp
index 84daf5b547..bb8f462c0f 100644
--- a/saga/sfuncs.cpp
+++ b/saga/sfuncs.cpp
@@ -47,8 +47,8 @@ void Script::setupScriptFuncList(void) {
{1, 1, OPCODE(SF_sleep)},
{2, 1, OPCODE(SF_takeObject)},
{3, 1, OPCODE(SF_objectIsCarried)},
- {4, 1, OPCODE(SF_setCommandText)},
- {5, 0, OPCODE(SF_mainMode)},
+ {4, 1, OPCODE(SF_setStatusText)},
+ {5, 0, OPCODE(SF_commandMode)},
{6, 3, OPCODE(SF_actorWalkTo)},
{7, 4, OPCODE(SF_doAction)},
{8, 2, OPCODE(SF_setFacing)},
@@ -163,18 +163,15 @@ int Script::SF_objectIsCarried(R_SCRIPTFUNC_PARAMS) {
// Script function #4 (0x04) nonblocking
// Set the command display to the specified text string
// Param1: dialogue index of string
-int Script::SF_setCommandText(R_SCRIPTFUNC_PARAMS) {
- SDataWord_T s_idx_parm;
+int Script::SF_setStatusText(R_SCRIPTFUNC_PARAMS) {
+ SDataWord_T param = thread->pop();
- s_idx_parm = thread->pop();
- // INCOMPLETE
-
- return R_SUCCESS;
+ return _vm->_interface->setStatusText(currentScript()->diag->str[param]);
}
// Script function #5 (0x05)
-int Script::SF_mainMode(R_SCRIPTFUNC_PARAMS) {
- return R_SUCCESS;
+int Script::SF_commandMode(R_SCRIPTFUNC_PARAMS) {
+ return _vm->_interface->setMode(PANEL_COMMAND);
}
// Script function #6 (0x06) blocking
@@ -279,7 +276,7 @@ int Script::SF_freezeInterface(R_SCRIPTFUNC_PARAMS) {
// Script function #12 (0x0C)
// Disables mouse input, etc.
int Script::SF_dialogMode(R_SCRIPTFUNC_PARAMS) {
- return R_SUCCESS;
+ return _vm->_interface->setMode(PANEL_DIALOGUE);
}
// Script function #14 (0x0E)
@@ -533,15 +530,17 @@ int Script::SF_setFrame(R_SCRIPTFUNC_PARAMS) {
// Script function #39 (0x27)
// Sets the right-hand portrait
int Script::SF_setRightPortrait(R_SCRIPTFUNC_PARAMS) {
- thread->pop();
- return R_SUCCESS;
+ SDataWord_T param = thread->pop();
+
+ return _vm->_interface->setRightPortrait(param);
}
// Script function #40 (0x28)
// Sets the left-hand portrait
int Script::SF_setLeftPortrait(R_SCRIPTFUNC_PARAMS) {
- thread->pop();
- return R_SUCCESS;
+ SDataWord_T param = thread->pop();
+
+ return _vm->_interface->setLeftPortrait(param);
}
// Script function #41 (0x29) nonblocking