diff options
author | Travis Howell | 2008-04-30 04:38:29 +0000 |
---|---|---|
committer | Travis Howell | 2008-04-30 04:38:29 +0000 |
commit | bad36eaa614c0e60ba501e0207c607a0e54756c0 (patch) | |
tree | 146e2c0daf550e83d2958ed4c2243588a30b25ab /engines/scumm | |
parent | 97d2d16757586c2d6d792bc0fc4b8b00a8c35c05 (diff) | |
download | scummvm-rg350-bad36eaa614c0e60ba501e0207c607a0e54756c0.tar.gz scummvm-rg350-bad36eaa614c0e60ba501e0207c607a0e54756c0.tar.bz2 scummvm-rg350-bad36eaa614c0e60ba501e0207c607a0e54756c0.zip |
The Dig (Second release) used similar charset code to COMI. This could cause regressions, if there are differences between the two releases of The Dig.
svn-id: r31784
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/actor.cpp | 9 | ||||
-rw-r--r-- | engines/scumm/intern.h | 2 | ||||
-rw-r--r-- | engines/scumm/string.cpp | 9 |
3 files changed, 14 insertions, 6 deletions
diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp index 8882abfeb4..5002a22a6f 100644 --- a/engines/scumm/actor.cpp +++ b/engines/scumm/actor.cpp @@ -1884,13 +1884,16 @@ void ScummEngine_v7::actorTalk(const byte *msg) { if (_game.version == 7) VAR(VAR_HAVE_MSG) = 0xFF; _haveActorSpeechMsg = true; - if (_game.version == 8) { + if (_game.id == GID_DIG || _game.id == GID_CMI) { stringWrap = _string[0].wrapping; _string[0].wrapping = true; } CHARSET_1(); - if (_game.version == 8) { - VAR(VAR_HAVE_MSG) = (_string[0].no_talk_anim) ? 2 : 1; + if (_game.id == GID_DIG || _game.id == GID_CMI) { + if (_game.version == 8) + VAR(VAR_HAVE_MSG) = (_string[0].no_talk_anim) ? 2 : 1; + else + VAR(VAR_HAVE_MSG) = 1; _string[0].wrapping = stringWrap; } } diff --git a/engines/scumm/intern.h b/engines/scumm/intern.h index c693787e83..391e7216fa 100644 --- a/engines/scumm/intern.h +++ b/engines/scumm/intern.h @@ -909,6 +909,7 @@ public: void processSubtitleQueue(); void addSubtitleToQueue(const byte *text, const Common::Point &pos, byte color, byte charset); void clearSubtitleQueue(); + virtual void CHARSET_1(); protected: virtual int runDialog(Dialog &dialog); @@ -977,7 +978,6 @@ protected: virtual const char *getOpcodeDesc(byte i); virtual void printString(int m, const byte *msg); - virtual void CHARSET_1(); virtual void scummLoop_handleSaveLoad(); diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp index 34ec494850..dfaf0dc6e6 100644 --- a/engines/scumm/string.cpp +++ b/engines/scumm/string.cpp @@ -679,7 +679,12 @@ void ScummEngine::CHARSET_1() { } #ifndef DISABLE_SCUMM_7_8 -void ScummEngine_v8::CHARSET_1() { +void ScummEngine_v7::CHARSET_1() { + if (_game.id == GID_FT) { + ScummEngine::CHARSET_1(); + return; + } + byte subtitleBuffer[2048]; byte *subtitleLine = subtitleBuffer; Common::Point subtitlePos; @@ -830,7 +835,7 @@ void ScummEngine_v8::CHARSET_1() { } } } - _haveMsg = 2; + _haveMsg = (_game.version == 8) ? 2 : 1; _keepText = false; _string[0] = saveStr; } |