[Scummvm-git-logs] scummvm branch-2-9 -> bf58bef6efe1fc0402b277bb8858a559a4377c3d
fracturehill
noreply at scummvm.org
Tue Nov 26 10:34:10 UTC 2024
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
2ab938967d NANCY: Fix startup crash in The Vampire Diaries
bf58bef6ef NANCY: Fix OrderingPuzzle in The Vampire Diaries
Commit: 2ab938967d7ee3c386f6a7ec8bfeff07510143d7
https://github.com/scummvm/scummvm/commit/2ab938967d7ee3c386f6a7ec8bfeff07510143d7
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2024-11-26T11:33:38+01:00
Commit Message:
NANCY: Fix startup crash in The Vampire Diaries
It seems AVIDecoder::decodeNextFrame() may return a
nullptr instead of a surface.
Changed paths:
engines/nancy/state/logo.cpp
diff --git a/engines/nancy/state/logo.cpp b/engines/nancy/state/logo.cpp
index af7b672a360..f57103cf1b6 100644
--- a/engines/nancy/state/logo.cpp
+++ b/engines/nancy/state/logo.cpp
@@ -114,8 +114,11 @@ void Logo::init() {
// play the video before the game logo
void Logo::playIntroVideo() {
if (_tvdVideoDecoder.needsUpdate()) {
- _videoObj._drawSurface.blitFrom(*_tvdVideoDecoder.decodeNextFrame());
- _videoObj.setVisible(true);
+ const Graphics::Surface *frame = _tvdVideoDecoder.decodeNextFrame();
+ if (frame) {
+ _videoObj._drawSurface.blitFrom(*frame);
+ _videoObj.setVisible(true);
+ }
}
if (_tvdVideoDecoder.endOfVideo() || (g_nancy->_input->getInput().input & NancyInput::kLeftMouseButtonDown)) {
_state = kStartSound;
Commit: bf58bef6efe1fc0402b277bb8858a559a4377c3d
https://github.com/scummvm/scummvm/commit/bf58bef6efe1fc0402b277bb8858a559a4377c3d
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2024-11-26T11:34:01+01:00
Commit Message:
NANCY: Fix OrderingPuzzle in The Vampire Diaries
Reading of the data was wrong after a refactoring and
rendered the game unfinishable.
Changed paths:
engines/nancy/action/puzzle/orderingpuzzle.cpp
diff --git a/engines/nancy/action/puzzle/orderingpuzzle.cpp b/engines/nancy/action/puzzle/orderingpuzzle.cpp
index 93fdbab40ff..aa85295db79 100644
--- a/engines/nancy/action/puzzle/orderingpuzzle.cpp
+++ b/engines/nancy/action/puzzle/orderingpuzzle.cpp
@@ -187,10 +187,27 @@ void OrderingPuzzle::readData(Common::SeekableReadStream &stream) {
}
}
- _solveExitScene.readData(stream, ser.getVersion() == kGameTypeVampire);
+ if (ser.getVersion() == kGameTypeVampire) {
+ _solveExitScene._sceneChange.readData(stream, true);
+ ser.skip(2); // shouldStopRendering
+ ser.syncAsSint16LE(_solveExitScene._flag.label);
+ ser.syncAsByte(_solveExitScene._flag.flag);
+ } else {
+ _solveExitScene.readData(stream);
+ }
+
ser.syncAsUint16LE(_solveSoundDelay);
_solveSound.readNormal(stream);
- _exitScene.readData(stream, ser.getVersion() == kGameTypeVampire);
+
+ if (ser.getVersion() == kGameTypeVampire) {
+ _exitScene._sceneChange.readData(stream, true);
+ ser.skip(2); // shouldStopRendering
+ ser.syncAsSint16LE(_exitScene._flag.label);
+ ser.syncAsByte(_exitScene._flag.flag);
+ } else {
+ _exitScene.readData(stream);
+ }
+
readRect(stream, _exitHotspot);
if (isKeypad && g_nancy->getGameType() >= kGameTypeNancy7) {
More information about the Scummvm-git-logs
mailing list