aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/graphics/screen_eob.cpp7
-rw-r--r--engines/kyra/graphics/screen_eob.h1
-rw-r--r--engines/kyra/sequence/sequences_darkmoon.cpp4
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();