diff options
| author | Max Horn | 2004-04-25 13:34:19 +0000 | 
|---|---|---|
| committer | Max Horn | 2004-04-25 13:34:19 +0000 | 
| commit | f9cd78cedd48371f8aa9d98cbcdeb879fe543fac (patch) | |
| tree | c5c738a5550e26e7df34b87cc16c434331448576 | |
| parent | e39cfbd86429f0d6ae0663b2db5c06038f6415e7 (diff) | |
| download | scummvm-rg350-f9cd78cedd48371f8aa9d98cbcdeb879fe543fac.tar.gz scummvm-rg350-f9cd78cedd48371f8aa9d98cbcdeb879fe543fac.tar.bz2 scummvm-rg350-f9cd78cedd48371f8aa9d98cbcdeb879fe543fac.zip | |
Workaround for bug #864030 (COMI: ASCII 0xb (11) not handled)
svn-id: r13621
| -rw-r--r-- | scumm/charset.cpp | 4 | ||||
| -rw-r--r-- | scumm/string.cpp | 8 | 
2 files changed, 9 insertions, 3 deletions
| diff --git a/scumm/charset.cpp b/scumm/charset.cpp index 2c0ba2ea56..dec2790b72 100644 --- a/scumm/charset.cpp +++ b/scumm/charset.cpp @@ -146,9 +146,7 @@ void CharsetRenderer::addLinebreaks(int a, byte *str, int pos, int maxwidth) {  	while ((chr = str[pos++]) != 0) {  		if (chr == '@')  			continue; -		if (chr == 254) -			chr = 255; -		if (chr == 255) { +		if (chr == 254 || chr == 255) {  			chr = str[pos++];  			if (chr == 3) // 'Wait'  				break; diff --git a/scumm/string.cpp b/scumm/string.cpp index ca4a4505f6..359ce08ea4 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -191,6 +191,14 @@ void ScummEngine::CHARSET_1() {  			_keepText = false;  			break;  		} +		 +		// FIXME: This is a workaround for bug #864030: In COMI, some text +		// contains ASCII character 11 = 0xB. It's not quite clear what it is +		// good for; so for now we just ignore it, which seems to match the +		// original engine (BTW, traditionally, this is a 'vertical tab'). +		if (c == 0x0B) +			continue; +  		if (c == 13) {  		newLine:;  			_charset->_nextLeft = _string[0].xpos; | 
