[Scummvm-git-logs] scummvm master -> 506ed95cdcf11523efb06f8816c4f99a32a6a243

sev- sev at scummvm.org
Sun Apr 1 14:41:42 CEST 2018


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
506ed95cdc BLADERUNNER: Fix chapter switching with CDFRAMES.DAT


Commit: 506ed95cdcf11523efb06f8816c4f99a32a6a243
    https://github.com/scummvm/scummvm/commit/506ed95cdcf11523efb06f8816c4f99a32a6a243
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2018-04-01T14:41:23+02:00

Commit Message:
BLADERUNNER: Fix chapter switching with CDFRAMES.DAT

Changed paths:
    engines/bladerunner/slice_animations.cpp
    engines/bladerunner/slice_animations.h


diff --git a/engines/bladerunner/slice_animations.cpp b/engines/bladerunner/slice_animations.cpp
index 411e6a0..f452947 100644
--- a/engines/bladerunner/slice_animations.cpp
+++ b/engines/bladerunner/slice_animations.cpp
@@ -103,13 +103,15 @@ bool SliceAnimations::openFrames(int fileNumber) {
 		}
 	}
 
+	warning("opening: %d", fileNumber);
+
 	if (_framesPageFile._fileNumber == 0) // HDFRAMES.DAT
 		return true;
 
 	if (_framesPageFile._fileNumber == fileNumber)
 		return true;
 
-	_framesPageFile._fileNumber = fileNumber;
+	_framesPageFile.close();
 
 	if (fileNumber == 1 && _framesPageFile.open("CDFRAMES.DAT")) // For Chapter1 we try both CDFRAMES.DAT and CDFRAMES1.DAT
 		return true;
@@ -139,11 +141,17 @@ bool SliceAnimations::PageFile::open(const Common::String &name) {
 		_pageOffsets[pageNumber] = dataOffset + i * _sliceAnimations->_pageSize;
 	}
 
-	debug("PageFile::Open: page file \"%s\" opened with %d pages", name.c_str(), pageCount);
+	debug(5, "PageFile::Open: page file \"%s\" opened with %d pages", name.c_str(), pageCount);
 
 	return true;
 }
 
+void SliceAnimations::PageFile::close() {
+	if (_file.isOpen()) {
+		_file.close();
+	}
+}
+
 void *SliceAnimations::PageFile::loadPage(uint32 pageNumber) {
 	if (_pageOffsets[pageNumber] == -1)
 		return nullptr;
diff --git a/engines/bladerunner/slice_animations.h b/engines/bladerunner/slice_animations.h
index eafba1b..0732e59 100644
--- a/engines/bladerunner/slice_animations.h
+++ b/engines/bladerunner/slice_animations.h
@@ -72,6 +72,7 @@ class SliceAnimations {
 		PageFile(SliceAnimations *sliceAnimations) : _sliceAnimations(sliceAnimations), _fileNumber(-1) {}
 
 		bool  open(const Common::String &name);
+		void  close();
 		void *loadPage(uint32 page);
 	};
 





More information about the Scummvm-git-logs mailing list