diff options
author | Travis Howell | 2003-08-18 02:16:48 +0000 |
---|---|---|
committer | Travis Howell | 2003-08-18 02:16:48 +0000 |
commit | 4c6bd7167d3a7df2c0d1a99962dc27d7d274fffc (patch) | |
tree | f97b2fbe1dde2fb9fde176b381561debcd34f4b6 /scumm | |
parent | 99c677f2a3297b16046bfeeb639a3420a046a1dc (diff) | |
download | scummvm-rg350-4c6bd7167d3a7df2c0d1a99962dc27d7d274fffc.tar.gz scummvm-rg350-4c6bd7167d3a7df2c0d1a99962dc27d7d274fffc.tar.bz2 scummvm-rg350-4c6bd7167d3a7df2c0d1a99962dc27d7d274fffc.zip |
Fix v1 zak costume colors
svn-id: r9748
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/costume.cpp | 20 | ||||
-rw-r--r-- | scumm/script_v2.cpp | 6 |
2 files changed, 15 insertions, 11 deletions
diff --git a/scumm/costume.cpp b/scumm/costume.cpp index ffb7941b0a..bf787b2195 100644 --- a/scumm/costume.cpp +++ b/scumm/costume.cpp @@ -321,8 +321,8 @@ void CostumeRenderer::c64_ignorePakCols(int num) { } } -int v1_actor_palatte_1 [] = { 8, 8, 8, 8, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0 }; -int v1_actor_palatte_2 [] = { 0, 7, 2, 6, 9, 1, 3, 7, 7, 1, 1, 9, 1, 4, 5, 5, 4, 1, 0, 5, 4, 2, 2, 7, 7, 0 }; +int v1_mm_actor_palatte_1 [] = { 8, 8, 8, 8, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0 }; +int v1_mm_actor_palatte_2 [] = { 0, 7, 2, 6, 9, 1, 3, 7, 7, 1, 1, 9, 1, 4, 5, 5, 4, 1, 0, 5, 4, 2, 2, 7, 7, 0 }; void CostumeRenderer::procC64(int actor) { const byte *src; @@ -342,12 +342,14 @@ void CostumeRenderer::procC64(int actor) { // TODO: // * test masking (once we implement any masking for V1 games) - byte palette[4]; + byte palette[4] = { 0, 8, 0, 0 }; - palette[0] = 0; - palette[1] = v1_actor_palatte_1[actor]; - palette[2] = v1_actor_palatte_2[actor]; - palette[3] = 0; + if (_vm->_gameId == GID_MANIAC) { + palette[1] = v1_mm_actor_palatte_1[actor]; + palette[2] = v1_mm_actor_palatte_2[actor]; + } else { + palette[2] = _palette[0]; + } v1.skip_width >>= 3; @@ -725,8 +727,10 @@ void CostumeRenderer::setPalette(byte *palette) { int i; byte color; - if (_loaded._format == 0x57) + if (_loaded._format == 0x57) { + _palette[0] = palette[0]; return; + } if (_vm->_features & GF_OLD_BUNDLE) { if ((_vm->VAR(_vm->VAR_CURRENT_LIGHTS) & LIGHTMODE_actor_color)) { diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index 973b7f7281..70876372c2 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -372,7 +372,7 @@ int Scumm_v2::getVar() { return readVar(fetchScriptByte()); } -int actor_speech_color[] = {1, 7, 2, 14, 8, 1, 3, 7, 7, 12, 1, 13, 1, 4, 5, 5, 4, 3, 1, 5, 1, 1, 1, 7, 7, 0}; +int v1_mm_actor_speech_color[] = {1, 7, 2, 14, 8, 1, 3, 7, 7, 12, 1, 13, 1, 4, 5, 5, 4, 3, 1, 5, 1, 1, 1, 7, 7, 0}; void Scumm_v2::decodeParseString() { byte buffer[512]; @@ -417,7 +417,7 @@ void Scumm_v2::decodeParseString() { // V1 Mansion Mansion uses static color table for subtitles if (((_gameId == GID_MANIAC) && (_version == 1)) && _actorToPrintStrFor != 0xFF) - _string[textSlot].color = actor_speech_color[_actorToPrintStrFor]; + _string[textSlot].color = v1_mm_actor_speech_color[_actorToPrintStrFor]; _messagePtr = buffer; switch (textSlot) { @@ -710,7 +710,7 @@ void Scumm_v2::o2_actorSet() { case 5: // Talk Color if ((_gameId == GID_MANIAC) && (_version == 1)) - actor_speech_color[act] = arg; + v1_mm_actor_speech_color[act] = arg; else a->talkColor = arg; break; |