diff options
author | Filippos Karapetis | 2008-04-21 18:46:57 +0000 |
---|---|---|
committer | Filippos Karapetis | 2008-04-21 18:46:57 +0000 |
commit | 169bf5ddba25a7ab63b405a48bccc449550a693e (patch) | |
tree | ced734bb1c66e6804afb5c84251dd919e634e2c6 /engines/made | |
parent | 36bec1d5c8f3eb6f299817692558bd2d33ec7d9a (diff) | |
download | scummvm-rg350-169bf5ddba25a7ab63b405a48bccc449550a693e.tar.gz scummvm-rg350-169bf5ddba25a7ab63b405a48bccc449550a693e.tar.bz2 scummvm-rg350-169bf5ddba25a7ab63b405a48bccc449550a693e.zip |
More code merge
svn-id: r31649
Diffstat (limited to 'engines/made')
-rw-r--r-- | engines/made/screen.cpp | 22 | ||||
-rw-r--r-- | engines/made/screen.h | 2 |
2 files changed, 9 insertions, 15 deletions
diff --git a/engines/made/screen.cpp b/engines/made/screen.cpp index b6d66a1330..6c50069bc0 100644 --- a/engines/made/screen.cpp +++ b/engines/made/screen.cpp @@ -73,15 +73,14 @@ void Screen::drawSurface(Graphics::Surface *source, int x, int y) { } -void Screen::setRGBPalette(byte *palette, int start, int count) { - byte colors[1024]; +void Screen::setRGBPalette(byte *palRGB, int start, int count) { for (int i = 0; i < count; i++) { - colors[i * 4 + 0] = palette[i * 3 + 0]; - colors[i * 4 + 1] = palette[i * 3 + 1]; - colors[i * 4 + 2] = palette[i * 3 + 2]; - colors[i * 4 + 3] = 0; + _palette[i * 4 + 0] = palRGB[i * 3 + 0]; + _palette[i * 4 + 1] = palRGB[i * 3 + 1]; + _palette[i * 4 + 2] = palRGB[i * 3 + 2]; + _palette[i * 4 + 3] = 0; } - _vm->_system->setPalette(colors, start, count); + _vm->_system->setPalette(_palette, start, count); } uint16 Screen::updateChannel(uint16 channelIndex) { @@ -251,13 +250,8 @@ uint16 Screen::drawFlex(uint16 flexIndex, int16 x, int16 y, uint16 flag1, uint16 // TODO: Palette stuff; palette should be set in showPage byte *pal = flex->getPalette(); - if (pal) { - for (int i = 0; i < 256; i++) { - _palette[i * 4 + 0] = pal[i * 3 + 0]; - _palette[i * 4 + 1] = pal[i * 3 + 1]; - _palette[i * 4 + 2] = pal[i * 3 + 2]; - } - _vm->_system->setPalette(_palette, 0, 256); + if (pal) { + setRGBPalette(pal); } _vm->_res->freeResource(flex); diff --git a/engines/made/screen.h b/engines/made/screen.h index deb7b93015..545cce2bfd 100644 --- a/engines/made/screen.h +++ b/engines/made/screen.h @@ -61,7 +61,7 @@ public: void clearScreen(); void drawSurface(Graphics::Surface *source, int x, int y); - void setRGBPalette(byte *palette, int start = 0, int count = 256); + void setRGBPalette(byte *palRGB, int start = 0, int count = 256); uint16 updateChannel(uint16 channelIndex); void deleteChannel(uint16 channelIndex); |