aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/actor.cpp
diff options
context:
space:
mode:
authorGregory Montoir2007-04-15 20:36:44 +0000
committerGregory Montoir2007-04-15 20:36:44 +0000
commit642fa67da9c271244de373431166f23449ec8543 (patch)
treedbd138e5ebd40f8fa55ed67c049e6e8f0b6eea4a /engines/scumm/actor.cpp
parentf8067d54e53084c9fd7ef848fd855967d0641465 (diff)
downloadscummvm-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.cpp9
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