aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/gfx.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 657dd4c764..471525ffec 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -2312,7 +2312,14 @@ void ScummEngine::transitionEffect(int a) {
while (l <= r) {
if (l >= 0 && l < gdi._numStrips && (uint) t < (uint) bottom) {
virtscr[0].tdirty[l] = t * 8;
- virtscr[0].bdirty[l] = (t + 1) * 8;
+ //HACK: this is bad place of this hack
+ //it fix redraw last 8 lines in room gfx layer
+ //this is only for maniac classic version becouse that game
+ //has bigger height of room gfx layer
+ if ((_version == 1) && (_gameId == GID_MANIAC))
+ virtscr[0].bdirty[l] = (t + 2) * 8;
+ else
+ virtscr[0].bdirty[l] = (t + 1) * 8;
}
l++;
}
@@ -2324,7 +2331,14 @@ void ScummEngine::transitionEffect(int a) {
if (t < 0)
t = 0;
virtscr[0].tdirty[l] = t * 8;
- virtscr[0].bdirty[l] = (b + 1) * 8;
+ //HACK: this is bad place of this hack
+ //it fix redraw last 8 lines in room gfx layer
+ //this is only for maniac classic version becouse that game
+ //has bigger height of room gfx layer
+ if ((_version == 1) && (_gameId == GID_MANIAC))
+ virtscr[0].bdirty[l] = (b + 2) * 8;
+ else
+ virtscr[0].bdirty[l] = (b + 1) * 8;
}
updateDirtyScreen(0);
}