mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-24 05:01:43 +00:00
SCI: supporting .used bit 1 in palettes (force direct palette setting) and clipping palette intensity results fixes fade in/out in sq5 intro (some timing problems remain)
svn-id: r47495
This commit is contained in:
parent
0be507e9c3
commit
d0b8a8e468
@ -199,8 +199,8 @@ void SciPalette::merge(Palette *pFrom, Palette *pTo, uint16 flag) {
|
||||
for (i = 1 ; i < 255; i++) {
|
||||
if (!pFrom->colors[i].used)// color is not used - so skip it
|
||||
continue;
|
||||
// forced palette merging or dest color is not used yet
|
||||
if (flag == 2 || (!pTo->colors[i].used)) {
|
||||
// forced palette merging or dest color is not used yet or bit 1 of new color is set
|
||||
if (flag == 2 || (!pTo->colors[i].used) || (pFrom->colors[i].used & 2)) {
|
||||
pTo->colors[i].used = pFrom->colors[i].used;
|
||||
pTo->colors[i].r = pFrom->colors[i].r;
|
||||
pTo->colors[i].g = pFrom->colors[i].g;
|
||||
|
@ -394,9 +394,9 @@ void Screen::setPalette(Palette*pal) {
|
||||
for (int16 i = 0; i < 256; i++) {
|
||||
if (!pal->colors[i].used)
|
||||
continue;
|
||||
bpal[i * 4] = pal->colors[i].r * pal->intensity[i] / 100;
|
||||
bpal[i * 4 + 1] = pal->colors[i].g * pal->intensity[i] / 100;
|
||||
bpal[i * 4 + 2] = pal->colors[i].b * pal->intensity[i] / 100;
|
||||
bpal[i * 4] = CLIP(pal->colors[i].r * pal->intensity[i] / 100, 0, 255);
|
||||
bpal[i * 4 + 1] = CLIP(pal->colors[i].g * pal->intensity[i] / 100, 0, 255);
|
||||
bpal[i * 4 + 2] = CLIP(pal->colors[i].b * pal->intensity[i] / 100, 0, 255);
|
||||
bpal[i * 4 + 3] = 100;
|
||||
}
|
||||
g_system->setPalette(bpal, 0, 256);
|
||||
|
Loading…
x
Reference in New Issue
Block a user