aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v8.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/script_v8.cpp')
-rw-r--r--scumm/script_v8.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp
index 29d49a0213..dde8b6b269 100644
--- a/scumm/script_v8.cpp
+++ b/scumm/script_v8.cpp
@@ -467,6 +467,7 @@ void ScummEngine_v8::writeVar(uint var, int value) {
void ScummEngine_v8::decodeParseString(int m, int n) {
byte b;
+ const byte *msg;
b = fetchScriptByte();
@@ -513,29 +514,30 @@ void ScummEngine_v8::decodeParseString(int m, int n) {
_string[m].no_talk_anim = true;
break;
case 0xD1: // SO_PRINT_STRING
- _messagePtr = translateTextAndPlaySpeech(_scriptPointer);
- _scriptPointer += resStrLen(_scriptPointer)+ 1;
+ msg = translateTextAndPlaySpeech(_scriptPointer);
+ _scriptPointer += resStrLen(_scriptPointer) + 1;
switch (m) {
case 0:
- actorTalk();
+ actorTalk(msg);
break;
case 1:
- drawString(1);
+ drawString(1, msg);
break;
case 2:
- unkMessage1();
+ unkMessage1(msg);
break;
case 3:
- unkMessage2();
+ unkMessage2(msg);
break;
case 5:{
byte buffer[256];
- addMessageToStack(_messagePtr, buffer, sizeof(buffer));
+ addMessageToStack(msg, buffer, sizeof(buffer));
enqueueText(buffer, _string[m].xpos, _string[m].ypos, _string[m].color, _string[m].charset, _string[m].center);
}
break;
}
+
break;
case 0xD2: // SO_PRINT_WRAP Set print wordwrap
//warning("decodeParseString: SO_PRINT_WRAP");