diff options
-rw-r--r-- | Makefile.mingw | 2 | ||||
-rw-r--r-- | scumm/gfx.cpp | 16 | ||||
-rw-r--r-- | scumm/script_v5.cpp | 9 | ||||
-rw-r--r-- | scumm/string.cpp | 9 |
4 files changed, 24 insertions, 12 deletions
diff --git a/Makefile.mingw b/Makefile.mingw index b556ad8293..22ea34fcf0 100644 --- a/Makefile.mingw +++ b/Makefile.mingw @@ -23,7 +23,7 @@ CP = cp # Default compilation parameters. Normally don't edit these # ####################################################################### -CXXFLAGS:= -g -O -Wall -Wstrict-prototypes -Wuninitialized -Wno-long-long -Wno-multichar -Wno-unknown-pragmas +CXXFLAGS:= -g -O -Wall -Wuninitialized -Wno-long-long -Wno-multichar -Wno-unknown-pragmas DEFINES := LDFLAGS := INCLUDES:= -I. -Icommon -Iscumm $(SDL_CFLAGS) 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 |