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

bluegr noreply at scummvm.org
Mon May 4 14:11:15 UTC 2026


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

Summary:
7441142180 NANCY: Initial work on the mouse cursors for Nancy13+
65cdc8aadd NANCY: Add handling for the changes to the BSUM chunk for Nancy14+
d7ba78b517 NANCY: Fix z-order and position of the Nancy10+ notebook and inventory
d3b6140396 DEVTOOLS: Fix missing dialog options in Nancy 8-11 and regen nancy.dat


Commit: 744114218002705d8c8b0b5965c744430b300be4
    https://github.com/scummvm/scummvm/commit/744114218002705d8c8b0b5965c744430b300be4
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-05-04T17:10:24+03:00

Commit Message:
NANCY: Initial work on the mouse cursors for Nancy13+

The mouse cursors were split in two distinct chunks since Nancy13

Changed paths:
    engines/nancy/cursor.cpp
    engines/nancy/cursor.h


diff --git a/engines/nancy/cursor.cpp b/engines/nancy/cursor.cpp
index de77f251875..7ca246e4a32 100644
--- a/engines/nancy/cursor.cpp
+++ b/engines/nancy/cursor.cpp
@@ -74,18 +74,33 @@ void CursorManager::init(Common::SeekableReadStream *chunkStream) {
 	// cursor code in later games.
 
 	uint numCursors = _numCursorTypes * (g_nancy->getGameType() == kGameTypeVampire ? 2 : 3) + g_nancy->getStaticData().numItems * _numCursorTypes;
-	if (g_nancy->getGameType() >= kGameTypeNancy10) {
+	if (g_nancy->getGameType() >= kGameTypeNancy10 && g_nancy->getGameType() <= kGameTypeNancy12) {
 		_numCursorTypes = 37;
 		numCursors = _numCursorTypes * 2 + g_nancy->getStaticData().numItems * 2;
+	} else if (g_nancy->getGameType() >= kGameTypeNancy13) {
+		_numCursorTypes = 37;
+		numCursors = 174;
 	}
 
 	_cursors.resize(numCursors);
 
+	Common::Path uiCursorsImageName;
+	Common::Path inventoryCursorsImageName;
+
+	if (g_nancy->getGameType() <= kGameTypeNancy12) {
+		auto *inventoryData = GetEngineData(INV)
+		assert(inventoryData);
+		inventoryCursorsImageName = inventoryData->inventoryCursorsImageName;
+	} else {
+		readFilename(*chunkStream, uiCursorsImageName);
+		readFilename(*chunkStream, inventoryCursorsImageName);
+	}
+
 	for (uint i = 0; i < numCursors; ++i) {
 		readRect(*chunkStream, _cursors[i].bounds);
 	}
 
-	if (g_nancy->getGameType() >= kGameTypeNancy10)
+	if (g_nancy->getGameType() >= kGameTypeNancy10 && g_nancy->getGameType() <= kGameTypeNancy12)
 		chunkStream->skip(numCursors * 4 * 4);	// TODO
 
 	for (uint i = 0; i < numCursors; ++i) {
@@ -97,10 +112,10 @@ void CursorManager::init(Common::SeekableReadStream *chunkStream) {
 	_primaryVideoInitialPos.x = chunkStream->readUint16LE();
 	_primaryVideoInitialPos.y = chunkStream->readUint16LE();
 
-	auto *inventoryData = GetEngineData(INV);
-	assert(inventoryData);
+	if (g_nancy->getGameType() >= kGameTypeNancy13)
+		g_nancy->_resource->loadImage(uiCursorsImageName, _uiCursorsSurface);
 
-	g_nancy->_resource->loadImage(inventoryData->inventoryCursorsImageName, _invCursorsSurface);
+	g_nancy->_resource->loadImage(inventoryCursorsImageName, _invCursorsSurface);
 
 	setCursor(kNormalArrow, -1);
 	showCursor(false);
@@ -278,20 +293,15 @@ void CursorManager::warpCursor(const Common::Point &pos) {
 }
 
 void CursorManager::applyCursor() {
-	if (g_nancy->getGameType() >= kGameTypeNancy13)
-		return;	// TODO: In nancy13, the cursor format has changed
-
 	if (_curCursorID != _lastCursorID) {
 		Graphics::ManagedSurface *surf;
 		Common::Rect bounds = _cursors[_curCursorID].bounds;
 		Common::Point hotspot = _cursors[_curCursorID].hotspot;
 
-		if (_hasItem) {
+		if (_hasItem)
 			surf = &_invCursorsSurface;
-
-		} else {
-			surf = &g_nancy->_graphics->_object0;
-		}
+		else
+			surf = g_nancy->getGameType() <= kGameTypeNancy12 ? &g_nancy->_graphics->_object0 : &_uiCursorsSurface;
 
 		Graphics::ManagedSurface temp(*surf, bounds);
 
diff --git a/engines/nancy/cursor.h b/engines/nancy/cursor.h
index 0c696e4db72..c4b3834f9ac 100644
--- a/engines/nancy/cursor.h
+++ b/engines/nancy/cursor.h
@@ -112,6 +112,7 @@ private:
 	Common::Point _primaryVideoInitialPos;
 
 	Graphics::ManagedSurface _invCursorsSurface;
+	Graphics::ManagedSurface _uiCursorsSurface;	// Nancy13+
 
 	Common::Point _warpedMousePos;
 	CursorType _curCursorType;


Commit: 65cdc8aadd02ed0566e65d70e2af3351c23e06bf
    https://github.com/scummvm/scummvm/commit/65cdc8aadd02ed0566e65d70e2af3351c23e06bf
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-05-04T17:10:34+03:00

Commit Message:
NANCY: Add handling for the changes to the BSUM chunk for Nancy14+

Nancy14 boots to the menu now, so we can finally remove the intentional
error to the console on startup. Newer games (Nancy16+), which use a
newer CIF version (3) and don't load at all, are handled by the
ADGF_UNSUPPORTED flag in the detection entries, so we no longer need
an explicit version check and error out during startup

Changed paths:
    engines/nancy/enginedata.cpp
    engines/nancy/nancy.cpp


diff --git a/engines/nancy/enginedata.cpp b/engines/nancy/enginedata.cpp
index a98e841c3f4..4df2643d89c 100644
--- a/engines/nancy/enginedata.cpp
+++ b/engines/nancy/enginedata.cpp
@@ -50,15 +50,24 @@ BSUM::BSUM(Common::SeekableReadStream *chunkStream) : EngineData(chunkStream) {
 	readFilename(s, fontFilename, kGameTypeNancy12);
 	readFilename(s, flagsFilename, kGameTypeNancy12);
 
-	s.syncAsUint16LE(firstScene.sceneID);
+	s.skip(1, kGameTypeNancy14);
+	s.syncAsUint16LE(firstScene.sceneID, kGameTypeVampire, kGameTypeNancy13);
 	s.skip(0xC, kGameTypeVampire, kGameTypeVampire); // Palette name + unknown 2 bytes
 	s.syncAsUint16LE(firstScene.frameID);
+	s.syncAsUint16LE(firstScene.sceneID, kGameTypeNancy14);
+	s.skip(2, kGameTypeNancy14); // Unknown
 	s.syncAsUint16LE(firstScene.verticalOffset);
-	s.syncAsUint16LE(startTimeHours);
-	s.syncAsUint16LE(startTimeMinutes);
 
-	s.syncAsUint16LE(adScene.sceneID, kGameTypeNancy7);
+	s.syncAsUint16LE(startTimeHours, kGameTypeVampire, kGameTypeNancy13);
+	s.syncAsUint16LE(startTimeMinutes, kGameTypeVampire, kGameTypeNancy13);
+
+	s.skip(1, kGameTypeNancy14);
+
+	s.skip(1, kGameTypeNancy14);
+	s.syncAsUint16LE(adScene.sceneID, kGameTypeNancy7, kGameTypeNancy13);
 	s.syncAsUint16LE(adScene.frameID, kGameTypeNancy7);
+	s.syncAsUint16LE(adScene.sceneID, kGameTypeNancy14);
+	s.skip(2, kGameTypeNancy14);	// Unknown
 	s.syncAsUint16LE(adScene.verticalOffset, kGameTypeNancy7);
 
 	s.skip(0xA4, kGameTypeVampire, kGameTypeNancy2);
diff --git a/engines/nancy/nancy.cpp b/engines/nancy/nancy.cpp
index 653791444ee..c46413a5442 100644
--- a/engines/nancy/nancy.cpp
+++ b/engines/nancy/nancy.cpp
@@ -431,11 +431,6 @@ void NancyEngine::bootGameEngine() {
 	// Setup mixer
 	syncSoundSettings();
 
-	if (getGameType() >= kGameTypeNancy14) {
-		// Nancy14+ games use a newer font format, which we don't support yet.
-		error("Game not supported; Use console to inspect game data");
-	}
-
 	IFF *iff = _resource->loadIFF("boot");
 	if (!iff)
 		error("Failed to load boot script");


Commit: d7ba78b5174febe6db0241c9701a70313ac00c57
    https://github.com/scummvm/scummvm/commit/d7ba78b5174febe6db0241c9701a70313ac00c57
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-05-04T17:10:37+03:00

Commit Message:
NANCY: Fix z-order and position of the Nancy10+ notebook and inventory

Changed paths:
    engines/nancy/ui/inventorypopup.cpp
    engines/nancy/ui/notebookpopup.cpp


diff --git a/engines/nancy/ui/inventorypopup.cpp b/engines/nancy/ui/inventorypopup.cpp
index 6d6295f0260..0ec033abe84 100644
--- a/engines/nancy/ui/inventorypopup.cpp
+++ b/engines/nancy/ui/inventorypopup.cpp
@@ -34,7 +34,9 @@ namespace Nancy {
 namespace UI {
 
 InventoryPopup::InventoryPopup() :
-		RenderObject(6),
+		// z=12: above the viewport (6) and the taskbar (7). All Nancy
+		// 10+ taskbar popups render on top of the entire scene UI.
+		RenderObject(12),
 		_uiivData(nullptr),
 		_invData(nullptr),
 		_isOpen(false),
@@ -60,7 +62,14 @@ void InventoryPopup::init() {
 
 	// Position the popup using the "normal-size" rects from the popup
 	// header (popup state 2).
-	moveTo(_uiivData->header.normalDestRect);
+	Common::Rect popupRect = _uiivData->header.normalDestRect;
+	if (_uiivData->header.overlayInGameFrame) {
+		const VIEW *view = GetEngineData(VIEW);
+		if (view) {
+			popupRect.translate(view->screenPosition.left, view->screenPosition.top);
+		}
+	}
+	moveTo(popupRect);
 	Common::Rect bounds = _screenPosition;
 	bounds.moveTo(0, 0);
 	_drawSurface.create(bounds.width(), bounds.height(), g_nancy->_graphics->getInputPixelFormat());
diff --git a/engines/nancy/ui/notebookpopup.cpp b/engines/nancy/ui/notebookpopup.cpp
index 6b5b7444648..0c90cb68fa6 100644
--- a/engines/nancy/ui/notebookpopup.cpp
+++ b/engines/nancy/ui/notebookpopup.cpp
@@ -32,7 +32,9 @@ namespace Nancy {
 namespace UI {
 
 NotebookPopup::NotebookPopup() :
-		RenderObject(6),
+		// z=12: above the viewport (6) and the taskbar (7). All Nancy
+		// 10+ taskbar popups render on top of the entire scene UI.
+		RenderObject(12),
 		_uinbData(nullptr),
 		_isOpen(false),
 		_activeTab(0) {}
@@ -43,7 +45,14 @@ void NotebookPopup::init() {
 
 	g_nancy->_resource->loadImage(_uinbData->header.imageName, _overlayImage);
 
-	moveTo(_uinbData->header.normalDestRect);
+	Common::Rect popupRect = _uinbData->header.normalDestRect;
+	if (_uinbData->header.overlayInGameFrame) {
+		const VIEW *view = GetEngineData(VIEW);
+		if (view) {
+			popupRect.translate(view->screenPosition.left, view->screenPosition.top);
+		}
+	}
+	moveTo(popupRect);
 	Common::Rect bounds = _screenPosition;
 	bounds.moveTo(0, 0);
 	_drawSurface.create(bounds.width(), bounds.height(), g_nancy->_graphics->getInputPixelFormat());


Commit: d3b614039669adf1c4c431e26fef2b4d4911cd69
    https://github.com/scummvm/scummvm/commit/d3b614039669adf1c4c431e26fef2b4d4911cd69
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-05-04T17:10:41+03:00

Commit Message:
DEVTOOLS: Fix missing dialog options in Nancy 8-11 and regen nancy.dat

- Fix an incorrect dialog check in Nancy 8 - fix #16685
- Fix incorrect handling of OR logic checks in Nancy 9 - fix #16754

I mistakenly implemented dialog checks with OR boolean clauses as AND.
These have been fixed now for Nancy 9, 10 and 11.

Changed paths:
    devtools/create_nancy/nancy10_data.h
    devtools/create_nancy/nancy11_data.h
    devtools/create_nancy/nancy8_data.h
    devtools/create_nancy/nancy9_data.h
    dists/engine-data/nancy.dat


diff --git a/devtools/create_nancy/nancy10_data.h b/devtools/create_nancy/nancy10_data.h
index bfdde778a5c..2b5148302a5 100644
--- a/devtools/create_nancy/nancy10_data.h
+++ b/devtools/create_nancy/nancy10_data.h
@@ -102,7 +102,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy10ConditionalDialo
 },
 {	// Tex Britten, 24 responses
 	{   0, 1250, "NTS02a",
-		{ { kEv, 168, true }, { kEv, 576, true }, { kEv, 444, false }, { kEv, 607, false } } },
+		{ { kEv, 168, true }, { kEv, 444, false }, { kEv, 607, false } } },
+	{   0, 1250, "NTS02a",
+		{ { kEv, 576, true }, { kEv, 444, false }, { kEv, 607, false } } },
 	{   0, 1251, "NTS02b",
 		{ { kEv, 168, false }, { kEv, 444, false }, { kEv, 576, false }, { kEv, 603, false } } },
 	{   0, 1252, "NTS52",
@@ -152,17 +154,29 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy10ConditionalDialo
 },
 {	// Shorty Thurmond, 12 responses
 	{   0, 1375, "NSK76",
-		{ { kEv, 444, false }, { kEv, 609, true }, { kEv, 548, true }, { kEv, 550, true }, { kEv, 549, true }, { kEv, 577, false }, { kIn, 46, true } } },
+		{ { kEv, 444, false }, { kEv, 609, true }, { kEv, 548, true }, { kEv, 577, false }, { kIn, 46, true } } },
+	{   0, 1375, "NSK76",
+		{ { kEv, 444, false }, { kEv, 609, true }, { kEv, 550, true }, { kEv, 577, false }, { kIn, 46, true } } },
+	{   0, 1375, "NSK76",
+		{ { kEv, 444, false }, { kEv, 609, true }, { kEv, 549, true }, { kEv, 577, false }, { kIn, 46, true } } },
 	{   0, 1376, "NSK76",
 		{ { kEv, 444, false }, { kEv, 609, true }, { kEv, 577, false }, { kIn, 46, false } } },
 	{   0, 1377, "NSK77",
 		{ { kEv, 444, true }, { kEv, 445, false }, { kEv, 577, false }, { kIn, 46, false } } },
 	{   0, 1386, "NSK86",
-		{ { kEv, 444, true }, { kEv, 445, false }, { kEv, 548, true }, { kEv, 550, true }, { kEv, 549, true }, { kEv, 577, false }, { kIn, 46, true } } },
+		{ { kEv, 444, true }, { kEv, 445, false }, { kEv, 548, true }, { kEv, 577, false }, { kIn, 46, true } } },
+	{   0, 1386, "NSK86",
+		{ { kEv, 444, true }, { kEv, 445, false }, { kEv, 550, true }, { kEv, 577, false }, { kIn, 46, true } } },
+	{   0, 1386, "NSK86",
+		{ { kEv, 444, true }, { kEv, 445, false }, { kEv, 549, true }, { kEv, 577, false }, { kIn, 46, true } } },
 	{   0, 1378, "NSK78",
 		{ { kEv, 445, true }, { kEv, 548, false }, { kEv, 550, false }, { kEv, 549, false }, { kEv, 577, false } } },
 	{   0, 1387, "NSK78",
-		{ { kEv, 445, true }, { kEv, 548, true }, { kEv, 550, true }, { kEv, 549, true }, { kEv, 577, false }, { kIn, 46, true } } },
+		{ { kEv, 445, true }, { kEv, 548, true }, { kEv, 577, false }, { kIn, 46, true } } },
+	{   0, 1387, "NSK78",
+		{ { kEv, 445, true }, { kEv, 550, true }, { kEv, 577, false }, { kIn, 46, true } } },
+	{   0, 1387, "NSK78",
+		{ { kEv, 445, true }, { kEv, 549, true }, { kEv, 577, false }, { kIn, 46, true } } },
 	{   0, 1379, "NSK79",
 		{ { kEv, 444, false }, { kEv, 563, true }, { kEv, 562, false } } },
 	{   0, 1380, "NSK80",
@@ -192,7 +206,11 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy10ConditionalDialo
 	{   0, 1550, "NRP50",
 		{ { kEv, 318, true }, { kEv, 71, false } } },
 	{   0, 1551, "NRP51",
-		{ { kEv, 607, true }, { kEv, 168, true }, { kEv, 322, true }, { kEv, 444, false }, { kEv, 70, false } } },
+		{ { kEv, 607, true }, { kEv, 444, false }, { kEv, 70, false } } },
+	{   0, 1551, "NRP51",
+		{ { kEv, 168, true }, { kEv, 444, false }, { kEv, 70, false } } },
+	{   0, 1551, "NRP51",
+		{ { kEv, 322, true }, { kEv, 444, false }, { kEv, 70, false } } },
 	{   0, 1552, "NRP52",
 		{ { kEv, 413, true }, { kEv, 70, true }, { kEv, 321, true }, { kEv, 445, false }, { kEv, 67, false } } },
 	{   0, 1553, "NRP53",
@@ -208,9 +226,15 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy10ConditionalDialo
 	{   0, 1840, "NSP40",
 		{ { kEv, 444, true }, { kEv, 720, true }, { kEv, 255, false } } },
 	{   0, 1841, "NSP41",
-		{ { kEv, 607, true }, { kEv, 168, true }, { kEv, 322, true }, { kEv, 444, false }, { kEv, 477, false } } },
+		{ { kEv, 607, true }, { kEv, 444, false }, { kEv, 477, false } } },
+	{   0, 1841, "NSP41",
+		{ { kEv, 168, true }, { kEv, 444, false }, { kEv, 477, false } } },
+	{   0, 1841, "NSP41",
+		{ { kEv, 322, true }, { kEv, 444, false }, { kEv, 477, false } } },
+	{   0, 1842, "NSP42",
+		{ { kEv, 477, true }, { kEv, 475, false } } },
 	{   0, 1842, "NSP42",
-		{ { kEv, 477, true }, { kEv, 255, true }, { kEv, 475, false } } },
+		{ { kEv, 255, true }, { kEv, 475, false } } },
 	{   0, 1843, "NSP43",
 		{ { kEv, 449, true }, { kEv, 277, true }, { kEv, 445, false }, { kEv, 481, false } } },
 	{   0, 1844, "NSP44",
@@ -222,7 +246,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy10ConditionalDialo
 },
 {	// Bess & George, 44 responses
 	{   0, 1660, "NBG60",
-		{ { kEv, 168, true }, { kEv, 607, true }, { kEv, 322, true }, { kEv, 444, false }, { kEv, 108, false } } },
+		{ { kEv, 168, true }, { kEv, 322, true }, { kEv, 444, false }, { kEv, 108, false } } },
+	{   0, 1660, "NBG60",
+		{ { kEv, 607, true }, { kEv, 322, true }, { kEv, 444, false }, { kEv, 108, false } } },
 	{   0, 1661, "NBG61",
 		{ { kEv, 322, true }, { kEv, 444, false }, { kEv, 108, true }, { kEv, 120, false } } },
 	{   0, 1662, "NBG62",
@@ -240,7 +266,11 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy10ConditionalDialo
 	{   0, 1668, "NBG68",
 		{ { kEv, 91, true }, { kEv, 572, true }, { kEv, 455, true }, { kEv, 438, true }, { kEv, 406, true }, { kEv, 445, false }, { kEv, 213, false }, { kEv, 85, false } } },
 	{   0, 1669, "NBG69",
-		{ { kEv, 506, true }, { kEv, 120, true }, { kEv, 122, true }, { kEv, 424, true }, { kEv, 427, true }, { kEv, 426, true }, { kEv, 445, false }, { kEv, 98, false } } },
+		{ { kEv, 506, true }, { kEv, 120, true }, { kEv, 122, true }, { kEv, 424, true }, { kEv, 445, false }, { kEv, 98, false } } },
+	{   0, 1669, "NBG69",
+		{ { kEv, 506, true }, { kEv, 120, true }, { kEv, 122, true }, { kEv, 427, true }, { kEv, 445, false }, { kEv, 98, false } } },
+	{   0, 1669, "NBG69",
+		{ { kEv, 506, true }, { kEv, 120, true }, { kEv, 122, true }, { kEv, 426, true }, { kEv, 445, false }, { kEv, 98, false } } },
 	{   0, 1670, "NBG70",
 		{ { kEv, 424, true }, { kEv, 78, false }, { kIn, 38, true } } },
 	{   0, 1673, "NBG73",
@@ -264,7 +294,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy10ConditionalDialo
 	{   0, 1683, "NBG83",
 		{ { kEv, 96, true }, { kEv, 678, true }, { kEv, 527, false }, { kEv, 99, false }, { kIn, 30, true } } },
 	{   0, 1922, "NBX22",
-		{ { kEv, 96, true }, { kEv, 527, true }, { kEv, 530, true }, { kEv, 521, false }, { kEv, 522, false }, { kEv, 97, false } } },
+		{ { kEv, 96, true }, { kEv, 527, true }, { kEv, 521, false }, { kEv, 522, false }, { kEv, 97, false } } },
+	{   0, 1922, "NBX22",
+		{ { kEv, 96, true }, { kEv, 530, true }, { kEv, 521, false }, { kEv, 522, false }, { kEv, 97, false } } },
 	{   0, 1684, "NBG84",
 		{ { kEv, 96, true }, { kEv, 535, false }, { kEv, 101, false }, { kIn, 36, true } } },
 	{   0, 1685, "NBG85",
@@ -316,7 +348,11 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy10ConditionalDialo
 	{   0, 1751, "NFJ51",
 		{ { kEv, 319, true }, { kEv, 321, false }, { kEv, 168, false }, { kEv, 607, false }, { kEv, 444, false }, { kEv, 204, false } } },
 	{   0, 1752, "NFJ51",
-		{ { kEv, 319, true }, { kEv, 321, true }, { kEv, 168, true }, { kEv, 607, true }, { kEv, 444, false }, { kEv, 204, false }, { kEv, 203, false } } },
+		{ { kEv, 319, true }, { kEv, 321, true }, { kEv, 444, false }, { kEv, 204, false }, { kEv, 203, false } } },
+	{   0, 1752, "NFJ51",
+		{ { kEv, 319, true }, { kEv, 168, true }, { kEv, 444, false }, { kEv, 204, false }, { kEv, 203, false } } },
+	{   0, 1752, "NFJ51",
+		{ { kEv, 319, true }, { kEv, 607, true }, { kEv, 444, false }, { kEv, 204, false }, { kEv, 203, false } } },
 	{   0, 1753, "NFJ53",
 		{ { kEv, 319, true }, { kEv, 321, true }, { kEv, 444, false }, { kEv, 204, true }, { kEv, 203, false } } },
 	{   0, 1754, "NFJ54",
@@ -344,7 +380,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy10ConditionalDialo
 	{   0, 1767, "NBG83",
 		{ { kEv, 527, false }, { kEv, 678, true }, { kEv, 210, false }, { kIn, 30, true } } },
 	{   0, 1786, "NBX22",
-		{ { kEv, 527, true }, { kEv, 530, true }, { kEv, 521, false }, { kEv, 522, false }, { kEv, 209, false } } },
+		{ { kEv, 527, true }, { kEv, 521, false }, { kEv, 522, false }, { kEv, 209, false } } },
+	{   0, 1786, "NBX22",
+		{ { kEv, 530, true }, { kEv, 521, false }, { kEv, 522, false }, { kEv, 209, false } } },
 	{   0, 1768, "NBG84",
 		{ { kEv, 535, false }, { kEv, 212, false }, { kIn, 36, true } } },
 	{   0, 1769, "NBG85",
diff --git a/devtools/create_nancy/nancy11_data.h b/devtools/create_nancy/nancy11_data.h
index 658917453d8..8a9c416ffeb 100644
--- a/devtools/create_nancy/nancy11_data.h
+++ b/devtools/create_nancy/nancy11_data.h
@@ -180,7 +180,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy11ConditionalDialo
 	{	0, 1559, "NLL59",
 		{ { kEv, 932, true }, { kEv, 967, false }, { kEv, 447, false }, { kEv, 487, false } } },
 	{	0, 1569, "NLL69",
-		{ { kEv, 487, true }, { kIn, 0, true }, { kIn, 1, true } } },
+		{ { kEv, 487, true }, { kIn, 0, true } } },
+	{	0, 1569, "NLL69",
+		{ { kEv, 487, true }, { kIn, 1, true } } },
 	{	0, 1560, "NLL60",
 		{ { kEv, 835, true }, { kEv, 966, false }, { kEv, 446, false }, { kEv, 487, false } } },
 	{	0, 1561, "NLL61",
@@ -258,7 +260,15 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy11ConditionalDialo
 	{	0, 5039, "NHIN36",
 		{ { kEv, 290, true }, { kEv, 483, false } } },
 	{	0, 5037, "NLX37",
-		{ { kEv, 894, true }, { kEv, 843, true }, { kEv, 953, true }, { kEv, 949, true }, { kEv, 834, true }, { kEv, 464, false } } },
+		{ { kEv, 894, true }, { kEv, 464, false } } },
+	{	0, 5037, "NLX37",
+		{ { kEv, 843, true }, { kEv, 464, false } } },
+	{	0, 5037, "NLX37",
+		{ { kEv, 953, true }, { kEv, 464, false } } },
+	{	0, 5037, "NLX37",
+		{ { kEv, 949, true }, { kEv, 464, false } } },
+	{	0, 5037, "NLX37",
+		{ { kEv, 834, true }, { kEv, 464, false } } },
 	{	0, 5039, "NHIN39",
 		{ { kEv, 287, true }, { kEv, 481, false } } },
 },
@@ -284,7 +294,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy11ConditionalDialo
 	{	0, 1984, "NXP84",
 		{ { kEv, 144, true }, { kEv, 494, true }, { kEv, 141, false } } },
 	{	0, 1986, "NXP86",
-		{ { kEv, 145, true }, { kEv, 566, true }, { kEv, 610, true }, { kEv, 140, false } } },
+		{ { kEv, 145, true }, { kEv, 566, true }, { kEv, 140, false } } },
+	{	0, 1986, "NXP86",
+		{ { kEv, 145, true }, { kEv, 610, true }, { kEv, 140, false } } },
 	{	0, 1988, "NXP88",
 		{ { kEv, 145, true }, { kEv, 880, true }, { kEv, 142, false } } },
 },
diff --git a/devtools/create_nancy/nancy8_data.h b/devtools/create_nancy/nancy8_data.h
index d8a7f315a3f..59c0c6d4d96 100644
--- a/devtools/create_nancy/nancy8_data.h
+++ b/devtools/create_nancy/nancy8_data.h
@@ -267,7 +267,7 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy8ConditionalDialog
 },
 {	// Frank & Joe, 21 responses + 2 repeats
 	{	0, 1750, "NFJ50",
-		{ { kEv, 231, true }, { kEv, 148, false } } },
+		{ { kEv, 231, false }, { kEv, 148, false } } },
 	{	0, 1751, "NFJ51",
 		{ { kEv, 231, true }, { kEv, 389, false }, { kEv, 232, false }, { kEv, 228, false }, { kEv, 148, false } } },
 	{	0, 1751, "NFJ51",
diff --git a/devtools/create_nancy/nancy9_data.h b/devtools/create_nancy/nancy9_data.h
index 37ca18d4071..d23a56c4362 100644
--- a/devtools/create_nancy/nancy9_data.h
+++ b/devtools/create_nancy/nancy9_data.h
@@ -82,7 +82,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy9ConditionalDialog
 	{	0, 1254, "NHK54",
 		{ { kEv, 175, true }, { kEv, 190, false }, { kEv, 116, false } } },
 	{	0, 1255, "NHK55",
-		{ { kEv, 249, true }, { kEv, 45, true }, { kEv, 186, false }, { kEv, 192, false } } },
+		{ { kEv, 249, true }, { kEv, 186, false }, { kEv, 192, false } } },
+	{	0, 1255, "NHK55",
+		{ { kEv, 45, true }, { kEv, 186, false }, { kEv, 192, false } } },
 	{	0, 1256, "NHK56",
 		{ { kEv, 318, true }, { kEv, 326, true }, { kEv, 327, false }, { kEv, 184, false } } },
 	{	0, 1257, "NHK57",
@@ -106,7 +108,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy9ConditionalDialog
 	{	0, 1154, "NJK54",
         { { kEv, 508, true }, { kEv, 228, false }, { kIn, 11, false } } },
 	{	0, 1164, "NJK64",
-        { { kEv, 37, true }, { kEv, 409, true }, { kEv, 224, false } } },
+        { { kEv, 37, true }, { kEv, 224, false } } },
+	{	0, 1164, "NJK64",
+        { { kEv, 409, true }, { kEv, 224, false } } },
 	{	0, 1155, "NJK55",
         { { kEv, 409, true }, { kEv, 179, true }, { kEv, 223, false } } },
 	{	0, 1157, "NJK57",
@@ -151,7 +155,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy9ConditionalDialog
 	{	0, 1088, "NKB88",
         { { kEv, 283, true }, { kEv, 508, true }, { kEv, 250, false } } },
 	{	0, 1069, "NKB69",
-        { { kEv, 250, true }, { kEv, 429, true }, { kEv, 428, true }, { kEv, 247, false }, { kEv, 303, false } } },
+        { { kEv, 250, true }, { kEv, 429, true }, { kEv, 247, false }, { kEv, 303, false } } },
+	{	0, 1069, "NKB69",
+        { { kEv, 250, true }, { kEv, 428, true }, { kEv, 247, false }, { kEv, 303, false } } },
 },
 {	// Bess & George, 35 responses
 	{	0, 1650, "NBG50",
@@ -161,15 +167,25 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy9ConditionalDialog
 	{	0, 1653, "NBG53",
         { { kEv, 277, true }, { kEv, 221, false }, { kEv, 83, false } } },
 	{	0, 1654, "NBG54",
-        { { kEv, 222, true }, { kEv, 226, true }, { kEv, 225, true }, { kEv, 283, false }, { kEv, 82, false } } },
+        { { kEv, 222, true }, { kEv, 225, true }, { kEv, 283, false }, { kEv, 82, false } } },
+	{	0, 1654, "NBG54",
+        { { kEv, 226, true }, { kEv, 225, true }, { kEv, 283, false }, { kEv, 82, false } } },
 	{	0, 1655, "NBG55",
         { { kEv, 186, true }, { kEv, 84, false } } },
 	{	0, 1656, "NBG56",
         { { kEv, 268, true }, { kEv, 388, false }, { kEv, 64, false } } },
 	{	0, 1657, "NBG57",
-        { { kEv, 331, false }, { kEv, 409, false }, { kEv, 68, false }, { kIn, 14, true }, { kIn, 15, true }, { kIn, 16, true }, { kIn, 17, true } } },
+        { { kEv, 331, false }, { kEv, 409, false }, { kEv, 68, false }, { kIn, 14, true } } },
+	{	0, 1657, "NBG57",
+        { { kEv, 331, false }, { kEv, 409, false }, { kEv, 68, false }, { kIn, 15, true } } },
+	{	0, 1657, "NBG57",
+        { { kEv, 331, false }, { kEv, 409, false }, { kEv, 68, false }, { kIn, 16, true } } },
+	{	0, 1657, "NBG57",
+        { { kEv, 331, false }, { kEv, 409, false }, { kEv, 68, false }, { kIn, 17, true } } },
+	{	0, 1659, "NBG59",
+        { { kEv, 338, true }, { kEv, 42, true }, { kEv, 420, false }, { kEv, 79, false }, { kIn, 23, true } } },
 	{	0, 1659, "NBG59",
-        { { kEv, 338, true }, { kEv, 42, true }, { kEv, 224, true }, { kEv, 420, false }, { kEv, 79, false }, { kIn, 23, true } } },
+        { { kEv, 338, true }, { kEv, 224, true }, { kEv, 420, false }, { kEv, 79, false }, { kIn, 23, true } } },
 	{	0, 1660, "NBG60",
         { { kEv, 99, true }, { kEv, 177, true }, { kEv, 412, false }, { kEv, 80, false } } },
 	{	0, 1661, "NBG61",
@@ -241,7 +257,13 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy9ConditionalDialog
 	{	0, 1756, "NFJ56",
 		{ { kEv, 138, true }, { kEv, 229, true }, { kEv, 419, false }, { kEv, 75, false }, { kEv, 156, false } } },
 	{	0, 1757, "NFJ57",
-		{ { kEv, 351, true }, { kEv, 192, true }, { kEv, 249, true }, { kEv, 45, true }, { kEv, 186, true }, { kEv, 418, false }, { kEv, 141, false } } },
+		{ { kEv, 351, true }, { kEv, 192, true }, { kEv, 418, false }, { kEv, 141, false } } },
+	{	0, 1757, "NFJ57",
+		{ { kEv, 351, true }, { kEv, 249, true }, { kEv, 418, false }, { kEv, 141, false } } },
+	{	0, 1757, "NFJ57",
+		{ { kEv, 351, true }, { kEv, 45, true }, { kEv, 418, false }, { kEv, 141, false } } },
+	{	0, 1757, "NFJ57",
+		{ { kEv, 351, true }, { kEv, 186, true }, { kEv, 418, false }, { kEv, 141, false } } },
 	{	0, 1758, "NFJ58",
 		{ { kEv, 419, true }, { kEv, 313, true }, { kEv, 415, false }, { kEv, 137, false } } },
 	{	0, 1759, "NFJ59",
@@ -249,7 +271,9 @@ const Common::Array<Common::Array<ConditionalDialogue>> _nancy9ConditionalDialog
 	{	0, 1770, "NFJ70",
 		{ { kEv, 150, false }, { kEv, 426, false }, { kEv, 120, false }, { kIn, 20, true } } },
 	{	0, 1771, "NFJ71",
-		{ { kEv, 518, true }, { kEv, 398, false }, { kEv, 459, false }, { kEv, 126, false } } },
+		{ { kEv, 518, true }, { kEv, 398, false }, { kEv, 126, false } } },
+	{	0, 1771, "NFJ71",
+		{ { kEv, 518, true }, { kEv, 459, false }, { kEv, 126, false } } },
 	{	0, 1772, "NFJ72",
 		{ { kEv, 410, false }, { kEv, 136, false }, { kIn, 14, true }, { kIn, 15, true }, { kIn, 16, true }, { kIn, 17, true } } },
 	{	0, 1773, "NFJ73",
diff --git a/dists/engine-data/nancy.dat b/dists/engine-data/nancy.dat
index f0cad5f2a4e..47b757558ef 100644
Binary files a/dists/engine-data/nancy.dat and b/dists/engine-data/nancy.dat differ




More information about the Scummvm-git-logs mailing list