aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreriktorbjorn2011-05-23 23:19:44 +0200
committereriktorbjorn2011-05-23 23:19:44 +0200
commit793849c97480da2e2f9b0b08e004d33205984bc2 (patch)
tree504130187f97c0a16344a71af90cc79ef3a6fe3a
parent5838ef6719f5658dfcb381fbec1ddb7625db58cc (diff)
downloadscummvm-rg350-793849c97480da2e2f9b0b08e004d33205984bc2.tar.gz
scummvm-rg350-793849c97480da2e2f9b0b08e004d33205984bc2.tar.bz2
scummvm-rg350-793849c97480da2e2f9b0b08e004d33205984bc2.zip
TINSEL: Fix bug #3306020, DW2: Crash On Entering Sewers
This is the cowardly fix that reintroduces one of the variables that was removed by a cleanup on April 10.
-rw-r--r--engines/tinsel/handle.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/tinsel/handle.cpp b/engines/tinsel/handle.cpp
index 6f5f92c969..c0daa1869a 100644
--- a/engines/tinsel/handle.cpp
+++ b/engines/tinsel/handle.cpp
@@ -79,6 +79,7 @@ static uint numHandles = 0;
static uint32 cdPlayHandle = (uint32)-1;
+static int cdPlaySceneNum;
static SCNHANDLE cdBaseHandle = 0, cdTopHandle = 0;
static Common::File *cdGraphStream = 0;
@@ -246,7 +247,9 @@ void LoadCDGraphData(MEMHANDLE *pH) {
* @param next Handle of end of range + 1
*/
void LoadExtraGraphData(SCNHANDLE start, SCNHANDLE next) {
- if (start == cdBaseHandle)
+ // It's not clear that this can ever be true. See bug #3306020, DW2:
+ // Crash On Entering Sewers, for some background information.
+ if (cdPlaySceneNum == 0 && start == cdBaseHandle)
return;
OpenCDGraphFile();
@@ -262,6 +265,7 @@ void LoadExtraGraphData(SCNHANDLE start, SCNHANDLE next) {
}
void SetCdPlaySceneDetails(int fileNum, const char *fileName) {
+ cdPlaySceneNum = fileNum;
strcpy(szCdPlayFile, fileName);
}