diff options
author | David Corrales | 2007-05-26 20:23:24 +0000 |
---|---|---|
committer | David Corrales | 2007-05-26 20:23:24 +0000 |
commit | 3646c968c9578c2a94d65ebd5fb06ec835f8c51d (patch) | |
tree | 8b57b339ebb31a1d7a67f1678aa5dc5c7759070a /engines/sword1/screen.cpp | |
parent | d1f56d93f934150f4b579c2e90564e2bf035f113 (diff) | |
parent | ac45c5b33d834acbc9718f89be76e49d403a4d2c (diff) | |
download | scummvm-rg350-3646c968c9578c2a94d65ebd5fb06ec835f8c51d.tar.gz scummvm-rg350-3646c968c9578c2a94d65ebd5fb06ec835f8c51d.tar.bz2 scummvm-rg350-3646c968c9578c2a94d65ebd5fb06ec835f8c51d.zip |
Merged the fs branch with trunk. r26472:26948
svn-id: r26949
Diffstat (limited to 'engines/sword1/screen.cpp')
-rw-r--r-- | engines/sword1/screen.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/sword1/screen.cpp b/engines/sword1/screen.cpp index a3045440f5..605e1127cf 100644 --- a/engines/sword1/screen.cpp +++ b/engines/sword1/screen.cpp @@ -136,6 +136,12 @@ void Screen::fnSetPalette(uint8 start, uint16 length, uint32 id, bool fadeUp) { uint8 *palData = (uint8*)_resMan->openFetchRes(id); if (start == 0) // force color 0 to black palData[0] = palData[1] = palData[2] = 0; + + if (SwordEngine::_systemVars.isMac) { // see bug #1701058 + if (start != 0 && start + length == 256) // and force color 255 to black as well + palData[(length-1)*3+0] = palData[(length-1)*3+1] = palData[(length-1)*3+2] = 0; + } + for (uint32 cnt = 0; cnt < length; cnt++) { _targetPalette[(start + cnt) * 4 + 0] = palData[cnt * 3 + 0] << 2; _targetPalette[(start + cnt) * 4 + 1] = palData[cnt * 3 + 1] << 2; @@ -359,7 +365,8 @@ void Screen::draw(void) { for (uint16 cnty = 0; cnty < _scrnSizeY; cnty++) for (uint16 cntx = 0; cntx < _scrnSizeX; cntx++) { if (*src) - *dest = *src; + if (!SwordEngine::_systemVars.isMac || *src != 255) // see bug #1701058 + *dest = *src; dest++; src++; } |