aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Kagerer2009-09-19 17:39:31 +0000
committerFlorian Kagerer2009-09-19 17:39:31 +0000
commitea2b6d12dca199eece9b9a8e9ecc9d877d5b5aa4 (patch)
tree6cb6f37661df7425f9d4ae73a99c8428d762dba5
parent6e4f1482c1397ada9b931602e5a104713d7bb4d7 (diff)
downloadscummvm-rg350-ea2b6d12dca199eece9b9a8e9ecc9d877d5b5aa4.tar.gz
scummvm-rg350-ea2b6d12dca199eece9b9a8e9ecc9d877d5b5aa4.tar.bz2
scummvm-rg350-ea2b6d12dca199eece9b9a8e9ecc9d877d5b5aa4.zip
LOL/PC-98: fix some asserts
svn-id: r44197
-rw-r--r--engines/kyra/screen_lol.cpp3
-rw-r--r--engines/kyra/script_lol.cpp22
2 files changed, 18 insertions, 7 deletions
diff --git a/engines/kyra/screen_lol.cpp b/engines/kyra/screen_lol.cpp
index 8deb43356f..bd37945fae 100644
--- a/engines/kyra/screen_lol.cpp
+++ b/engines/kyra/screen_lol.cpp
@@ -835,6 +835,9 @@ void Screen_LoL::copyColor(int dstColorIndex, int srcColorIndex) {
}
bool Screen_LoL::fadeColor(int dstColorIndex, int srcColorIndex, uint32 elapsedTime, uint32 targetTime) {
+ if (_use16ColorMode)
+ return false;
+
const uint8 *dst = _screenPalette->getData() + 3 * dstColorIndex;
const uint8 *src = _screenPalette->getData() + 3 * srcColorIndex;
uint8 *p = getPalette(1).getData() + 3 * dstColorIndex;
diff --git a/engines/kyra/script_lol.cpp b/engines/kyra/script_lol.cpp
index 956143106d..6d17218f67 100644
--- a/engines/kyra/script_lol.cpp
+++ b/engines/kyra/script_lol.cpp
@@ -869,9 +869,13 @@ int LoLEngine::olol_fadeClearSceneWindow(EMCState *script) {
int LoLEngine::olol_fadeSequencePalette(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_fadeSequencePalette(%p)", (const void *)script);
- _screen->getPalette(3).copy(_screen->getPalette(0), 128);
- _screen->loadSpecialColors(_screen->getPalette(3));
- _screen->fadePalette(_screen->getPalette(3), 10);
+ if (_flags.use16ColorMode) {
+ setPaletteBrightness(_screen->getPalette(0), _brightness, _lampEffect);
+ } else {
+ _screen->getPalette(3).copy(_screen->getPalette(0), 128);
+ _screen->loadSpecialColors(_screen->getPalette(3));
+ _screen->fadePalette(_screen->getPalette(3), 10);
+ }
_screen->_fadeFlag = 0;
return 1;
}
@@ -2430,9 +2434,13 @@ int LoLEngine::tlol_fadeClearWindow(const TIM *tim, const uint16 *param) {
break;
case 1:
- _screen->getPalette(3).copy(_screen->getPalette(0), 128);
- _screen->loadSpecialColors(_screen->getPalette(3));
- _screen->fadePalette(_screen->getPalette(3), 10);
+ if (_flags.use16ColorMode) {
+ _screen->fadePalette(_screen->getPalette(1), 10);
+ } else {
+ _screen->getPalette(3).copy(_screen->getPalette(0), 128);
+ _screen->loadSpecialColors(_screen->getPalette(3));
+ _screen->fadePalette(_screen->getPalette(3), 10);
+ }
_screen->_fadeFlag = 0;
break;
@@ -2442,7 +2450,7 @@ int LoLEngine::tlol_fadeClearWindow(const TIM *tim, const uint16 *param) {
case 3:
_screen->loadSpecialColors(_screen->getPalette(3));
- _screen->fadePalette(_screen->getPalette(3), 10);
+ _screen->fadePalette(_screen->getPalette(_flags.use16ColorMode ? 1 : 3), 10);
_screen->_fadeFlag = 0;
break;