diff options
author | Travis Howell | 2003-08-28 12:21:35 +0000 |
---|---|---|
committer | Travis Howell | 2003-08-28 12:21:35 +0000 |
commit | cf4ae4097fcddb3fdfd0e1f5104312d4f5dc673e (patch) | |
tree | 53a56faed7055e49089f493264ecb32b8b81e8b0 /scumm | |
parent | 0a7dd227b8296446d743aa9c5b32fb2d0ab72881 (diff) | |
download | scummvm-rg350-cf4ae4097fcddb3fdfd0e1f5104312d4f5dc673e.tar.gz scummvm-rg350-cf4ae4097fcddb3fdfd0e1f5104312d4f5dc673e.tar.bz2 scummvm-rg350-cf4ae4097fcddb3fdfd0e1f5104312d4f5dc673e.zip |
Update warnings in mingw makefile.
Add hack to allow nosubtitles in loomcd (Only once game has started)
Revert _roomPalette changes for 256 colors games, caused problems in loomcd, I'm not sure the older 256 color needs these changes.
svn-id: r9890
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/gfx.cpp | 16 | ||||
-rw-r--r-- | scumm/script_v5.cpp | 9 | ||||
-rw-r--r-- | scumm/string.cpp | 9 |
3 files changed, 23 insertions, 11 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index 4448321805..b2cb92d8a9 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -1898,7 +1898,7 @@ void Gdi::unkDecodeB_trans(byte *dst, const byte *src, int height) { do { FILL_BITS; if (color != _transparentColor) - *dst = (_vm->_features & GF_SMALL_HEADER) ? _vm->_roomPalette[color + _palette_mod] : color + _palette_mod; + *dst = color + _palette_mod; dst++; if (!READ_BIT) { } else if (!READ_BIT) { @@ -1930,7 +1930,7 @@ void Gdi::unkDecodeC(byte *dst, const byte *src, int height) { int h = height; do { FILL_BITS; - *dst = (_vm->_features & GF_SMALL_HEADER) ? _vm->_roomPalette[color + _palette_mod] : color + _palette_mod; + *dst = color + _palette_mod; dst += _vm->_screenWidth; if (!READ_BIT) { } else if (!READ_BIT) { @@ -2036,7 +2036,7 @@ void Gdi::unkDecode8(byte *dst, const byte *src, int height) { byte color = *src++; do { - *dst = _vm->_roomPalette[color]; + *dst = color; NEXT_ROW } while (--run); } @@ -2065,7 +2065,7 @@ void Gdi::unkDecode9(byte *dst, const byte *src, int height) { color += bits << i; } for (i = 0; i < ((c & 3) + 2); i++) { - *dst = (run * 16 + _vm->_roomPalette[color]); + *dst = (run * 16 + color); NEXT_ROW } break; @@ -2077,7 +2077,7 @@ void Gdi::unkDecode9(byte *dst, const byte *src, int height) { READ_256BIT; color += bits << j; } - *dst = (run * 16 + _vm->_roomPalette[color]); + *dst = (run * 16 + color); NEXT_ROW } break; @@ -2106,13 +2106,13 @@ void Gdi::unkDecode10(byte *dst, const byte *src, int height) { for (;;) { byte color = *src++; if (color < numcolors) { - *dst = local_palette[_vm->_roomPalette[color]]; + *dst = local_palette[color]; NEXT_ROW } else { uint run = color - numcolors + 1; color = *src++; do { - *dst = _vm->_roomPalette[color]; + *dst = color; NEXT_ROW } while (--run); } @@ -2129,7 +2129,7 @@ void Gdi::unkDecode11(byte *dst, const byte *src, int height) { do { int h = height; do { - *dst = _vm->_roomPalette[color]; + *dst = color; dst += _vm->_screenWidth; for (i = 0; i < 3; i++) { READ_256BIT diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index 748d52028c..dc33592652 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -1661,8 +1661,13 @@ void Scumm_v5::o5_roomOps() { b = getVarOrDirectWord(0x40); } checkRange(256, 0, a, "o5_roomOps: 2: Illegal room color slot (%d)"); - _roomPalette[b] = a; - _fullRedraw = true; + if (_features & GF_16COLOR) { + _roomPalette[b] = a; + _fullRedraw = true; + } else { + _shadowPalette[b] = a; + setDirtyColors(b, b); + } } else { error("room-color is no longer a valid command"); } diff --git a/scumm/string.cpp b/scumm/string.cpp index 2697455bf3..5f39617eee 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -16,7 +16,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +<<<<<<< string.cpp * $Header$ +======= + * $Header$ +>>>>>>> 1.153 * */ @@ -310,7 +314,10 @@ void Scumm::CHARSET_1() { if (_version <= 3) { _charset->printChar(c); } else { - if (_noSubtitles && (_haveMsg == 0xFE || _sound->_talkChannelHandle)) { + if ((_gameId == GID_LOOM256) && _noSubtitles) { + // FIXME Special case for loomcd, since it only uses CD audio.for sound + // We need a way to check if CD audio is been used + } else if (_noSubtitles && (_haveMsg == 0xFE || _sound->_talkChannelHandle)) { // Subtitles are turned off, and there is a voice version // of this message -> don't print it. } else |