aboutsummaryrefslogtreecommitdiff
path: root/scumm/scumm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/scumm.cpp')
-rw-r--r--scumm/scumm.cpp34
1 files changed, 16 insertions, 18 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index fc63094b5e..b715a50342 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -2257,29 +2257,37 @@ void ScummEngine::initRoomSubBlocks() {
if (ptr) {
_CLUT_offs = ptr - roomptr;
- setPaletteFromRes();
}
if (_version >= 6) {
ptr = findResource(MKID('PALS'), roomptr);
if (ptr) {
_PALS_offs = ptr - roomptr;
- setPalette(0);
}
}
// Color cycling
// HE 7.0 games load resources but don't use them.
if (_version >= 4 && _heversion <= 60) {
- if (_features & GF_SMALL_HEADER)
- ptr = findResourceSmall(MKID('CYCL'), roomptr);
- else
- ptr = findResourceData(MKID('CYCL'), roomptr);
+ ptr = findResourceData(MKID('CYCL'), roomptr);
if (ptr) {
initCycl(ptr);
}
}
+ // Transparent color
+ if (_features & GF_OLD_BUNDLE)
+ gdi._transparentColor = 255;
+ else {
+ ptr = findResourceData(MKID('TRNS'), roomptr);
+ if (ptr)
+ gdi._transparentColor = ptr[0];
+ else if (_version == 8)
+ gdi._transparentColor = 5;
+ else
+ gdi._transparentColor = 255;
+ }
+
// Actor Palette in HE 70 games
if (_heversion == 70) {
ptr = findResourceData(MKID('REMP'), roomptr);
@@ -2323,18 +2331,8 @@ void ScummEngine::initRoomSubBlocks() {
}
- // Transparent color
- if (_features & GF_OLD_BUNDLE)
- gdi._transparentColor = 255;
- else {
- ptr = findResourceData(MKID('TRNS'), roomptr);
- if (ptr)
- gdi._transparentColor = ptr[0];
- else if (_version == 8)
- gdi._transparentColor = 5;
- else
- gdi._transparentColor = 255;
- }
+ if (_PALS_offs || _CLUT_offs)
+ setPalette(0);
initBGBuffers(_roomHeight);
}