diff options
author | Joost Peters | 2005-04-06 11:59:28 +0000 |
---|---|---|
committer | Joost Peters | 2005-04-06 11:59:28 +0000 |
commit | abe278b1edb1dbd4302799774bf44111e347855d (patch) | |
tree | d9348de00004097a577d7ad093a243f790593e5b /gob/video.cpp | |
parent | 5d3dbc0d45143a965cb439fe89774b9f57dfcaa3 (diff) | |
download | scummvm-rg350-abe278b1edb1dbd4302799774bf44111e347855d.tar.gz scummvm-rg350-abe278b1edb1dbd4302799774bf44111e347855d.tar.bz2 scummvm-rg350-abe278b1edb1dbd4302799774bf44111e347855d.zip |
more accurate palette
svn-id: r17412
Diffstat (limited to 'gob/video.cpp')
-rw-r--r-- | gob/video.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gob/video.cpp b/gob/video.cpp index 97aae3660e..ec87e44ce2 100644 --- a/gob/video.cpp +++ b/gob/video.cpp @@ -331,9 +331,9 @@ void vid_setPalElem(int16 index, char red, char green, char blue, int16 unused, error("vid_setPalElem: Video mode 0x%x is not supported!", vidMode); - pal[0] = red << 2; - pal[1] = green << 2; - pal[2] = blue << 2; + pal[0] = (red << 2) | (red & 3); + pal[1] = (green << 2) | (green & 3); + pal[2] = (blue << 2) | (blue & 3); pal[3] = 0; g_system->setPalette(pal, index, 1); } @@ -353,9 +353,9 @@ void vid_setPalette(PalDesc *palDesc) { numcolors = 16; for (i = 0; i < numcolors; i++) { - pal[i * 4 + 0] = palDesc->vgaPal[i].red << 2; - pal[i * 4 + 1] = palDesc->vgaPal[i].green << 2; - pal[i * 4 + 2] = palDesc->vgaPal[i].blue << 2; + pal[i * 4 + 0] = (palDesc->vgaPal[i].red << 2) | (palDesc->vgaPal[i].red & 3); + pal[i * 4 + 1] = (palDesc->vgaPal[i].green << 2) | (palDesc->vgaPal[i].green & 3); + pal[i * 4 + 2] = (palDesc->vgaPal[i].blue << 2) | (palDesc->vgaPal[i].blue & 3); pal[i * 4 + 3] = 0; } @@ -376,9 +376,9 @@ void vid_setFullPalette(PalDesc *palDesc) { } for (i = 0; i < 256; i++) { - pal[i * 4 + 0] = colors[i].red << 2; - pal[i * 4 + 1] = colors[i].green << 2; - pal[i * 4 + 2] = colors[i].blue << 2; + pal[i * 4 + 0] = (colors[i].red << 2) | (colors[i].red & 3); + pal[i * 4 + 1] = (colors[i].green << 2) | (colors[i].green & 3); + pal[i * 4 + 2] = (colors[i].blue << 2) | (colors[i].blue & 3); pal[i * 4 + 3] = 0; } g_system->setPalette(pal, 0, 256); |