diff options
Diffstat (limited to 'scumm/scumm.cpp')
-rw-r--r-- | scumm/scumm.cpp | 34 |
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); } |