aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2003-08-28 12:21:35 +0000
committerTravis Howell2003-08-28 12:21:35 +0000
commitcf4ae4097fcddb3fdfd0e1f5104312d4f5dc673e (patch)
tree53a56faed7055e49089f493264ecb32b8b81e8b0 /scumm
parent0a7dd227b8296446d743aa9c5b32fb2d0ab72881 (diff)
downloadscummvm-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.cpp16
-rw-r--r--scumm/script_v5.cpp9
-rw-r--r--scumm/string.cpp9
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