aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFlorian Kagerer2010-10-02 23:18:15 +0000
committerFlorian Kagerer2010-10-02 23:18:15 +0000
commit77fe52bbd787f1c379061fdfee67eeea248a5465 (patch)
treec70239fb762b715dbe13666c53951bb28209e317 /engines
parenta6839d5ffdb1a6446ec77f26d6136694592dae13 (diff)
downloadscummvm-rg350-77fe52bbd787f1c379061fdfee67eeea248a5465.tar.gz
scummvm-rg350-77fe52bbd787f1c379061fdfee67eeea248a5465.tar.bz2
scummvm-rg350-77fe52bbd787f1c379061fdfee67eeea248a5465.zip
INDY3/FM-TOWNS: fix intro graphics bug
svn-id: r52987
Diffstat (limited to 'engines')
-rw-r--r--engines/scumm/gfx.cpp9
-rw-r--r--engines/scumm/gfx_towns.cpp2
2 files changed, 5 insertions, 6 deletions
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index 2ee54337b8..5a2be3f7d8 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -326,7 +326,7 @@ void ScummEngine::initScreens(int b, int h) {
if (!_townsClearLayerFlag && (h - b != _virtscr[kMainVirtScreen].h))
_townsScreen->clearLayer(0);
- if (_game.id == GID_MONKEY2 || _game.id == GID_INDY4) {
+ if (_game.id != GID_MONKEY) {
_textSurface.fillRect(Common::Rect(0, 0, _textSurface.w * _textSurfaceMultiplier, _textSurface.h * _textSurfaceMultiplier), 0);
_townsScreen->clearLayer(1);
}
@@ -3678,18 +3678,17 @@ void ScummEngine::fadeOut(int effect) {
if (_game.version < 7)
camera._last.x = camera._cur.x;
+ if (_game.version == 3 && _game.platform == Common::kPlatformFMTowns)
+ _textSurface.fillRect(Common::Rect(0, vs->topline * _textSurfaceMultiplier, _textSurface.pitch, (vs->topline + vs->h) * _textSurfaceMultiplier), 0);
+
// TheDig can disable fadeIn(), and may call fadeOut() several times
// successively. Disabling the _screenEffectFlag check forces the screen
// to get cleared. This fixes glitches, at least, in the first cutscenes
// when bypassed of FT and TheDig.
if ((_game.version == 7 || _screenEffectFlag) && effect != 0) {
-
// Fill screen 0 with black
memset(vs->getPixels(0, 0), 0, vs->pitch * vs->h);
- if (_game.version == 3 && _game.platform == Common::kPlatformFMTowns)
- _textSurface.fillRect(Common::Rect(0, vs->topline * _textSurfaceMultiplier, _textSurface.pitch, (vs->topline + vs->h) * _textSurfaceMultiplier), 0);
-
// Fade to black with the specified effect, if any.
switch (effect) {
case 1:
diff --git a/engines/scumm/gfx_towns.cpp b/engines/scumm/gfx_towns.cpp
index 602f6984b4..1a1e2adc9d 100644
--- a/engines/scumm/gfx_towns.cpp
+++ b/engines/scumm/gfx_towns.cpp
@@ -49,7 +49,7 @@ void ScummEngine::towns_drawStripToScreen(VirtScreen *vs, int dstX, int dstY, in
int sp1 = vs->pitch - (width * vs->bytesPerPixel);
int sp2 = _textSurface.pitch - width * m;
- if (vs->number == kMainVirtScreen) {
+ if (vs->number == kMainVirtScreen || _game.id == GID_INDY3 || _game.id == GID_ZAK) {
for (int h = 0; h < height; ++h) {
if (_bytesPerPixelOutput == 2) {
for (int w = 0; w < width; ++w) {