diff options
| -rw-r--r-- | scumm/gfx.cpp | 18 |
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); } |
