aboutsummaryrefslogtreecommitdiff
path: root/saga/sfuncs.cpp
diff options
context:
space:
mode:
authorAndrew Kurushin2005-01-03 21:17:32 +0000
committerAndrew Kurushin2005-01-03 21:17:32 +0000
commitc0d25cbae18152997cb9890b9bb6f158d0262f80 (patch)
tree02a78d961453ca2e45cdc786b16f546c1bb75bee /saga/sfuncs.cpp
parent9f0783e3914a45283cd09cc0d8861c8acd7c9d0e (diff)
downloadscummvm-rg350-c0d25cbae18152997cb9890b9bb6f158d0262f80.tar.gz
scummvm-rg350-c0d25cbae18152997cb9890b9bb6f158d0262f80.tar.bz2
scummvm-rg350-c0d25cbae18152997cb9890b9bb6f158d0262f80.zip
- script execution stops properly
- placard should work over way: set Wait flag for thread (as in opSpeak) remove inner loop (processInput...) svn-id: r16418
Diffstat (limited to 'saga/sfuncs.cpp')
-rw-r--r--saga/sfuncs.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/saga/sfuncs.cpp b/saga/sfuncs.cpp
index d3c57bc8b3..e378cc4b51 100644
--- a/saga/sfuncs.cpp
+++ b/saga/sfuncs.cpp
@@ -918,11 +918,17 @@ int Script::SF_simulSpeech2(SCRIPTFUNC_PARAMS) {
}
// Script function #48 (0x30)
+// Param1: string rid
int Script::sfPlacard(SCRIPTFUNC_PARAMS) {
+ int stringId;
+ const char *string;
GAME_DISPLAYINFO disp;
SURFACE *back_buf = _vm->_gfx->getBackBuffer();
PALENTRY cur_pal[PAL_ENTRIES];
PALENTRY *pal;
+
+ stringId = thread->pop();
+ string = getString(stringId);
_vm->getDisplayInfo(&disp);
@@ -941,7 +947,7 @@ int Script::sfPlacard(SCRIPTFUNC_PARAMS) {
// It doesn't end up in exactly the same spot as the original did it,
// but it's close enough for now at least.
- _vm->textDraw(MEDIUM_FONT_ID, back_buf, getString(thread->pop()),
+ _vm->textDraw(MEDIUM_FONT_ID, back_buf, string,
disp.logical_w / 2,
(disp.scene_h - _vm->_font->getHeight(MEDIUM_FONT_ID)) / 2,
_vm->_gfx->getWhite(), _vm->_gfx->getBlack(),