diff options
author | Gregory Montoir | 2007-04-15 20:36:44 +0000 |
---|---|---|
committer | Gregory Montoir | 2007-04-15 20:36:44 +0000 |
commit | 642fa67da9c271244de373431166f23449ec8543 (patch) | |
tree | dbd138e5ebd40f8fa55ed67c049e6e8f0b6eea4a /engines/scumm/actor.cpp | |
parent | f8067d54e53084c9fd7ef848fd855967d0641465 (diff) | |
download | scummvm-rg350-642fa67da9c271244de373431166f23449ec8543.tar.gz scummvm-rg350-642fa67da9c271244de373431166f23449ec8543.tar.bz2 scummvm-rg350-642fa67da9c271244de373431166f23449ec8543.zip |
Added code for decodeParseString.SO_PRINT_WRAP and rewrote the CHARSET_1 function in order to match the original V8 interpreter. This should fix bugs #1036707 and #1662610 (subtitles word wrapping issues).
svn-id: r26516
Diffstat (limited to 'engines/scumm/actor.cpp')
-rw-r--r-- | engines/scumm/actor.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp index af5726a273..f104f7bb8b 100644 --- a/engines/scumm/actor.cpp +++ b/engines/scumm/actor.cpp @@ -1850,6 +1850,7 @@ void ScummEngine::resetV1ActorTalkColor() { #ifndef DISABLE_SCUMM_7_8 void ScummEngine_v7::actorTalk(const byte *msg) { Actor *a; + bool stringWrap; convertMessageToString(msg, _charsetBuffer, sizeof(_charsetBuffer)); @@ -1882,9 +1883,15 @@ void ScummEngine_v7::actorTalk(const byte *msg) { if (_game.version == 7) VAR(VAR_HAVE_MSG) = 0xFF; _haveActorSpeechMsg = true; + if (_game.version == 8) { + stringWrap = _string[0].wrapping; + _string[0].wrapping = true; + } CHARSET_1(); - if (_game.version == 8) + if (_game.version == 8) { VAR(VAR_HAVE_MSG) = (_string[0].no_talk_anim) ? 2 : 1; + _string[0].wrapping = stringWrap; + } } #endif |