diff options
Diffstat (limited to 'scumm/script_v8.cpp')
-rw-r--r-- | scumm/script_v8.cpp | 16 |
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"); |