diff options
author | athrxx | 2019-12-20 01:27:43 +0100 |
---|---|---|
committer | athrxx | 2019-12-20 14:32:24 +0100 |
commit | c8544430dfe7403540b2485d19584d951881e727 (patch) | |
tree | a5805febb350a868e9a265d2d4a00fb93c7ed787 /engines/kyra | |
parent | 2d7355dcf2ccfbffbb62dc2c795962eebcbd94cd (diff) | |
download | scummvm-rg350-c8544430dfe7403540b2485d19584d951881e727.tar.gz scummvm-rg350-c8544430dfe7403540b2485d19584d951881e727.tar.bz2 scummvm-rg350-c8544430dfe7403540b2485d19584d951881e727.zip |
KYRA: (EOB2/FM-TOWNS) - fix minor color glitch
- in nightmare sequence in dungeon level -4
- can not always be noticed
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/graphics/screen_eob.cpp | 7 | ||||
-rw-r--r-- | engines/kyra/graphics/screen_eob.h | 1 | ||||
-rw-r--r-- | engines/kyra/sequence/sequences_darkmoon.cpp | 4 |
3 files changed, 9 insertions, 3 deletions
diff --git a/engines/kyra/graphics/screen_eob.cpp b/engines/kyra/graphics/screen_eob.cpp index 1e3fb383a8..d7916f510f 100644 --- a/engines/kyra/graphics/screen_eob.cpp +++ b/engines/kyra/graphics/screen_eob.cpp @@ -156,6 +156,13 @@ void Screen_EoB::clearCurDim() { fillRect(_curDim->sx << 3, _curDim->sy, ((_curDim->sx + _curDim->w) << 3) - 1, (_curDim->sy + _curDim->h) - 1, _isAmiga ? amigaColorMap[_curDim->unkA] : _use16ColorMode ? 0 : _curDim->unkA); } +void Screen_EoB::clearCurDimOvl(int pageNum) { + if (pageNum > 1 || !_useOverlays) + return; + addDirtyRect(_curDim->sx << 3, _curDim->sy, _curDim->w << 3, _curDim->h); + clearOverlayRect(pageNum, _curDim->sx << 3, _curDim->sy, _curDim->w << 3, _curDim->h); +} + void Screen_EoB::setMouseCursor(int x, int y, const byte *shape) { setMouseCursor(x, y, shape, 0); } diff --git a/engines/kyra/graphics/screen_eob.h b/engines/kyra/graphics/screen_eob.h index fc6c5d28aa..6927ff7cce 100644 --- a/engines/kyra/graphics/screen_eob.h +++ b/engines/kyra/graphics/screen_eob.h @@ -39,6 +39,7 @@ public: void setClearScreenDim(int dim); void clearCurDim(); + void clearCurDimOvl(int pageNum); void setMouseCursor(int x, int y, const byte *shape); void setMouseCursor(int x, int y, const byte *shape, const uint8 *ovl); diff --git a/engines/kyra/sequence/sequences_darkmoon.cpp b/engines/kyra/sequence/sequences_darkmoon.cpp index 7d187e5a5a..b924b8fe85 100644 --- a/engines/kyra/sequence/sequences_darkmoon.cpp +++ b/engines/kyra/sequence/sequences_darkmoon.cpp @@ -1804,10 +1804,8 @@ const char *const DarkmoonSequenceHelper::_palFilesFinaleAmiga[] = { void DarkMoonEngine::seq_nightmare() { Screen::FontId of = _screen->setFont(Screen::FID_6_FNT); - if (_flags.lang == Common::JA_JPN) - _screen->clearCurDim(); + _screen->clearCurDimOvl(0); _screen->copyRegion(0, 0, 0, 120, 176, 24, 12, 2, Screen::CR_NO_P_CHECK); - initDialogueSequence(); gui_drawDialogueBox(); |