[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