aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/director/dib.cpp2
-rw-r--r--engines/director/score.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/engines/director/dib.cpp b/engines/director/dib.cpp
index 4e2a21dd38..912f083569 100644
--- a/engines/director/dib.cpp
+++ b/engines/director/dib.cpp
@@ -61,8 +61,8 @@ void DIBDecoder::destroy() {
void DIBDecoder::loadPalette(Common::SeekableReadStream &stream) {
uint16 steps = stream.size()/6;
uint16 index = (steps * 3) - 1;
+ _paletteColorCount = steps;
_palette = new byte[index];
-
for (uint8 i = 0; i < steps; i++) {
_palette[index - 2] = stream.readByte();
stream.readByte();
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 55b37405ee..b3494b644d 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -91,7 +91,8 @@ Score::Score(Archive &movie, Lingo &lingo) {
Common::SeekableReadStream *pal = _movieArchive->getResource(MKTAG('C', 'L', 'U', 'T'), clutList[0]);
palette.loadPalette(*pal);
- g_system->getPaletteManager()->setPalette(palette.getPalette(), 0, 255);
+ g_system->getPaletteManager()->setPalette(palette.getPalette(), 0, palette.getPaletteColorCount());
+
}
void Score::loadFrames(Common::SeekableReadStream &stream) {