[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