Fix room colors in v1 zak

svn-id: r9869
This commit is contained in:
Travis Howell 2003-08-26 15:56:37 +00:00
parent fda7df57fa
commit 63e89e5882
2 changed files with 14 additions and 3 deletions

View file

@ -1346,6 +1346,11 @@ void Gdi::drawStripC64Background(byte *dst, int stripnr, int height) {
height >>= 3; height >>= 3;
for (int y = 0; y < height; y++) { for (int y = 0; y < height; y++) {
_C64Colors[3] = (_C64ColorMap[y + stripnr * height] & 7); _C64Colors[3] = (_C64ColorMap[y + stripnr * height] & 7);
if (_vm->_shadowPalette[0] == 255) {
_vm->_shadowPalette[0] = 0;
_C64Colors[2] = _vm->_shadowPalette[2];
_C64Colors[1] = _vm->_shadowPalette[1];
}
charIdx = _C64PicMap[y + stripnr * height] * 8; charIdx = _C64PicMap[y + stripnr * height] * 8;
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
byte c = _C64CharMap[charIdx + i]; byte c = _C64CharMap[charIdx + i];
@ -3339,7 +3344,7 @@ void Scumm::updatePalette() {
for (i = _palDirtyMin; i <= _palDirtyMax; i++) { for (i = _palDirtyMin; i <= _palDirtyMax; i++) {
byte *data; byte *data;
if (_features & GF_SMALL_HEADER) if (_features & GF_SMALL_HEADER && _version > 1)
data = _currentPalette + _shadowPalette[i] * 3; data = _currentPalette + _shadowPalette[i] * 3;
else else
data = _currentPalette + i * 3; data = _currentPalette + i * 3;

View file

@ -1333,8 +1333,14 @@ void Scumm_v2::o2_roomOps() {
VAR(VAR_CAMERA_MAX_X) = b; VAR(VAR_CAMERA_MAX_X) = b;
break; break;
case 2: /* room color */ case 2: /* room color */
_shadowPalette[b] = a; if (_version == 1) {
_fullRedraw = true; _shadowPalette[0] = 255;
_shadowPalette[1] = a;
_shadowPalette[2] = b;
} else {
_shadowPalette[b] = a;
_fullRedraw = true;
}
break; break;
} }
} }