diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h index 38665a04ab91..b22f46be7736 100644 --- a/engines/dreamweb/dreambase.h +++ b/engines/dreamweb/dreambase.h @@ -152,6 +152,7 @@ class DreamBase : public SegmentManager { void endPalToStart(); void startPalToEnd(); void palToEndPal(); + void fadeDOS(); void doFade(); void fadeCalculation(); void fadeScreenUp(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 89d53361f504..4b692f859de0 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -1008,25 +1008,6 @@ void DreamGenContext::showGroup() { cx = 0; } -void DreamGenContext::fadeDOS() { - ds = es = data.word(kBuffers); - return; //fixme later - engine->waitForVSync(); - //processEvents will be called from vsync - uint8 *dst = es.ptr(kStartpal, 768); - engine->getPalette(dst, 0, 64); - for (int fade = 0; fade < 64; ++fade) { - for (int c = 0; c < 768; ++c) { //original sources decrement 768 values -> 256 colors - if (dst[c]) { - --dst[c]; - } - } - engine->setPalette(dst, 0, 64); - engine->waitForVSync(); - } -} - - void DreamGenContext::eraseOldObs() { if (data.byte(kNewobs) == 0) return; diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 36328f59dc24..49f319b7542e 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -527,7 +527,6 @@ void dumpSymbol(); void dumpSymBox(); void dumpZoom(); - void fadeDOS(); void selectLocation(); void showGroup(); void loadSpeech(); diff --git a/engines/dreamweb/vgafades.cpp b/engines/dreamweb/vgafades.cpp index d44f82755e87..ceb4178b5979 100644 --- a/engines/dreamweb/vgafades.cpp +++ b/engines/dreamweb/vgafades.cpp @@ -60,6 +60,24 @@ void DreamBase::palToEndPal() { memcpy(endPalette(), mainPalette(), 256 * 3); } +void DreamBase::fadeDOS() { + return; // FIXME later + + engine->waitForVSync(); + //processEvents will be called from vsync + uint8 *dst = startPalette(); + engine->getPalette(dst, 0, 64); + for (int fade = 0; fade < 64; ++fade) { + for (int c = 0; c < 768; ++c) { //original sources decrement 768 values -> 256 colors + if (dst[c]) { + --dst[c]; + } + } + engine->setPalette(dst, 0, 64); + engine->waitForVSync(); + } +} + void DreamBase::doFade() { if (data.byte(kFadedirection) == 0) return; diff --git a/engines/dreamweb/vgagrafx.cpp b/engines/dreamweb/vgagrafx.cpp index 12feb5690ecf..c7d17c101282 100644 --- a/engines/dreamweb/vgagrafx.cpp +++ b/engines/dreamweb/vgagrafx.cpp @@ -202,7 +202,7 @@ void DreamBase::showPCX(const Common::String &name) { // the color components have to be adjusted from 8 to 6 bits. pcxFile.seek(16, SEEK_SET); - mainGamePal = getSegment(data.word(kBuffers)).ptr(kMaingamepal, 768); + mainGamePal = mainPalette(); pcxFile.read(mainGamePal, 48); memset(mainGamePal + 48, 0xff, 720);