[Scummvm-git-logs] scummvm master -> fb9f163c89f19049f05005b6c0daa8b33a2b58b7
neuromancer
noreply at scummvm.org
Fri Dec 30 14:49:58 UTC 2022
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
fb9f163c89 FREESCAPE: improved palette handling for Driller Amstrad CPC releases
Commit: fb9f163c89f19049f05005b6c0daa8b33a2b58b7
https://github.com/scummvm/scummvm/commit/fb9f163c89f19049f05005b6c0daa8b33a2b58b7
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-12-30T11:48:24-03:00
Commit Message:
FREESCAPE: improved palette handling for Driller Amstrad CPC releases
Changed paths:
engines/freescape/games/palettes.cpp
engines/freescape/gfx.cpp
diff --git a/engines/freescape/games/palettes.cpp b/engines/freescape/games/palettes.cpp
index 7fcdc792323..989ff3c0d8f 100644
--- a/engines/freescape/games/palettes.cpp
+++ b/engines/freescape/games/palettes.cpp
@@ -83,13 +83,20 @@ byte kDrillerCPCPalette[27][3] = {
{0xff, 0xff, 0xff},
};
+byte kDrillerCPCPalette1[27][3] = {
+ {0x00, 0x00, 0x00}, // 0: black
+ {0xff, 0x80, 0x00}, // 1: orange
+ {0x00, 0xff, 0xff}, // 2: cyan
+ {0x00, 0x80, 0x00}, // 3: green
+};
+
void FreescapeEngine::loadColorPalette() {
if (_renderMode == Common::kRenderEGA) {
_gfx->_palette = (byte *)&dos_EGA_palette;
} else if (_renderMode == Common::kRenderZX) {
_gfx->_palette = (byte *)kDrillerZXPalette;
} else if (_renderMode == Common::kRenderCPC) {
- _gfx->_palette = (byte *)kDrillerCPCPalette;
+ _gfx->_palette = (byte *)kDrillerCPCPalette1;
} else if (_renderMode == Common::kRenderCGA) {
_gfx->_palette = nullptr; // palette depends on the area
} else if (_renderMode == Common::kRenderAmiga || _renderMode == Common::kRenderAtariST) {
diff --git a/engines/freescape/gfx.cpp b/engines/freescape/gfx.cpp
index 30e92e2ae16..f5aa745d93b 100644
--- a/engines/freescape/gfx.cpp
+++ b/engines/freescape/gfx.cpp
@@ -126,7 +126,7 @@ bool Renderer::getRGBAtCPC(uint8 index, uint8 &r1, uint8 &g1, uint8 &b1, uint8 &
return false;
assert (_renderMode == Common::kRenderCPC);
- if (index == 4) { // Solid colors
+ if (index <= 4) { // Solid colors
readFromPalette(index - 1, r1, g1, b1);
r2 = r1;
g2 = g1;
@@ -135,11 +135,12 @@ bool Renderer::getRGBAtCPC(uint8 index, uint8 &r1, uint8 &g1, uint8 &b1, uint8 &
}
byte *entry = (*_colorMap)[index - 1];
- byte be = *(entry);
- readFromPalette((be >> 4), r1, g1, b1);
+ //entry++;
entry++;
- be = *(entry);
- readFromPalette((be >> 4), r2, g2, b2);
+ byte be = *(entry);
+ //be = *(entry);
+ readFromPalette((be >> 4) % 4, r1, g1, b1);
+ readFromPalette((be & 0xf) % 4, r2, g2, b2);
return true;
}
More information about the Scummvm-git-logs
mailing list