[Scummvm-git-logs] scummvm master -> f4099d1f87e94291db84d0fa37b65c69e40d394c

fracturehill noreply at scummvm.org
Tue Nov 26 10:32:55 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:
29aba2c259 NANCY: Fix startup crash in The Vampire Diaries
f4099d1f87 NANCY: Fix OrderingPuzzle in The Vampire Diaries


Commit: 29aba2c25944da060cb09259ab93a3b2caf12211
    https://github.com/scummvm/scummvm/commit/29aba2c25944da060cb09259ab93a3b2caf12211
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2024-11-26T11:32:23+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: f4099d1f87e94291db84d0fa37b65c69e40d394c
    https://github.com/scummvm/scummvm/commit/f4099d1f87e94291db84d0fa37b65c69e40d394c
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2024-11-26T11:32:24+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