aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-06-19 07:45:40 +0000
committerTravis Howell2006-06-19 07:45:40 +0000
commitf4ff7fabad90c27d52582d08b891b72abc4c5a71 (patch)
tree6db9df9b09b8761d833261c1779342b8eb5813be
parentbc6306192d3f31ff3ab7b72585ec7b58687dc59c (diff)
downloadscummvm-rg350-f4ff7fabad90c27d52582d08b891b72abc4c5a71.tar.gz
scummvm-rg350-f4ff7fabad90c27d52582d08b891b72abc4c5a71.tar.bz2
scummvm-rg350-f4ff7fabad90c27d52582d08b891b72abc4c5a71.zip
Add patch for bug #1507856 - INDY3 VGA: Crashes in Sewer
svn-id: r23177
-rw-r--r--engines/scumm/gfx.cpp8
-rw-r--r--engines/scumm/intern.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index a66f39700c..6dff3ac265 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -789,6 +789,9 @@ void ScummEngine::redrawBGAreas() {
val = +1;
redrawBGStrip(0, 1);
} else if (_fullRedraw || diff != 0) {
+ if (_game.version <= 5) {
+ ((ScummEngine_v5 *)this)->clearFlashlight();
+ }
_bgNeedsRedraw = false;
redrawBGStrip(0, gdi._numStrips);
}
@@ -1089,6 +1092,11 @@ void ScummEngine::drawBox(int x, int y, int x2, int y2, int color) {
}
}
+void ScummEngine_v5::clearFlashlight() {
+ _flashlight.isDrawn = false;
+ _flashlight.buffer = NULL;
+}
+
void ScummEngine_v5::drawFlashlight() {
int i, j, x, y;
VirtScreen *vs = &virtscr[kMainVirtScreen];
diff --git a/engines/scumm/intern.h b/engines/scumm/intern.h
index d44fb63341..d14c31acd6 100644
--- a/engines/scumm/intern.h
+++ b/engines/scumm/intern.h
@@ -59,6 +59,7 @@ protected:
public:
ScummEngine_v5(OSystem *syst, const DetectorResult &dr);
+ void clearFlashlight();
protected:
virtual void setupOpcodes();
virtual void executeOpcode(byte i);