[Scummvm-git-logs] scummvm master -> 6a5ff0ca40adfa3a64b0c573186ffbad36552ba3

bluegr noreply at scummvm.org
Wed Jun 17 06:45:49 UTC 2026


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

Summary:
6a5ff0ca40 NANCY: Correct handling of the Nancy10+ SecondaryVideo dependency block


Commit: 6a5ff0ca40adfa3a64b0c573186ffbad36552ba3
    https://github.com/scummvm/scummvm/commit/6a5ff0ca40adfa3a64b0c573186ffbad36552ba3
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-06-17T09:45:41+03:00

Commit Message:
NANCY: Correct handling of the Nancy10+ SecondaryVideo dependency block

Fixes the character availability checks in Nancy 10, thus the relevant
hack can be removed now

Changed paths:
    engines/nancy/action/secondaryvideo.cpp


diff --git a/engines/nancy/action/secondaryvideo.cpp b/engines/nancy/action/secondaryvideo.cpp
index ff51376a40d..c1547957c57 100644
--- a/engines/nancy/action/secondaryvideo.cpp
+++ b/engines/nancy/action/secondaryvideo.cpp
@@ -210,11 +210,11 @@ void PlaySecondaryVideo::readData(Common::SeekableReadStream &stream) {
 		_videoDescs[i].readData(stream);
 	}
 
-	// Nancy 10+ tail: 16 trailing bytes after the video descs. Purpose
-	// not yet identified.
-	if (g_nancy->getGameType() >= kGameTypeNancy10) {
-		stream.skip(16);
-	}
+	// Nancy 10+ stores the record's dependency block right after the video
+	// descs (one 16-byte entry per dependency). We deliberately leave it in
+	// the stream so the generic dependency parser in ActionManager picks it
+	// up; characters whose availability is gated by an event flag carry a
+	// kEvent dependency here.
 }
 
 void PlaySecondaryVideo::execute() {
@@ -241,18 +241,6 @@ void PlaySecondaryVideo::execute() {
 				_currentViewportFrame = -1;
 			}
 
-			// HACK: Checks for character availability in Nancy10. These are
-			// currently not handled correctly, so we hardcode them here at the moment.
-			// TODO: Find out why these are not handled correctly and implement a
-			// proper solution for them.
-			if (g_nancy->getGameType() == kGameTypeNancy10) {
-				uint16 sceneId = NancySceneState.getSceneInfo().sceneID;
-				if ((sceneId == 2307 && NancySceneState.getEventFlag(556, g_nancy->_false)) || // EV_ST_Available
-					(sceneId == 2605 && NancySceneState.getEventFlag(588, g_nancy->_false)) || // EV_TB_Available
-					(sceneId == 2915 && NancySceneState.getEventFlag(156, g_nancy->_false))) // EV_DG_Available
-					_currentViewportFrame = -1;
-			}
-
 			if (_currentViewportFrame != -1) {
 				if (!_isInFrame) {
 					_decoder.start();




More information about the Scummvm-git-logs mailing list