diff options
| -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;  } | 
