[Scummvm-git-logs] scummvm master -> 729f2375b8e8b3bae0e64dace5e70ce80dee7c10

bluegr noreply at scummvm.org
Mon May 25 02:02:26 UTC 2026


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

Summary:
dfcf68c4e8 NANCY: Fix an off-by-one check in Scene::hasItem()
729f2375b8 NANCY: Fix AR type 11 for Nancy10+


Commit: dfcf68c4e8c3ec16cbda059b93f98cb76c020898
    https://github.com/scummvm/scummvm/commit/dfcf68c4e8c3ec16cbda059b93f98cb76c020898
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-05-25T05:02:16+03:00

Commit Message:
NANCY: Fix an off-by-one check in Scene::hasItem()

Check introduced in 72241e0

Changed paths:
    engines/nancy/state/scene.cpp


diff --git a/engines/nancy/state/scene.cpp b/engines/nancy/state/scene.cpp
index 8af99d22288..3cf4d222c41 100644
--- a/engines/nancy/state/scene.cpp
+++ b/engines/nancy/state/scene.cpp
@@ -392,7 +392,7 @@ void Scene::setNoHeldItem() {
 byte Scene::hasItem(int16 id) const {
 	if (getHeldItem() == id) {
 		return g_nancy->_true;
-	} else if (id > 0 && (uint)id < _flags.items.size()) {
+	} else if (id >= 0 && (uint)id < _flags.items.size()) {
 		return _flags.items[id];
 	} else {
 		// TODO: Happens in Nancy10+. Gets called for item IDs


Commit: 729f2375b8e8b3bae0e64dace5e70ce80dee7c10
    https://github.com/scummvm/scummvm/commit/729f2375b8e8b3bae0e64dace5e70ce80dee7c10
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-05-25T05:02:17+03:00

Commit Message:
NANCY: Fix AR type 11 for Nancy10+

Fixes several hotspots in Nancy10 and newer games

Changed paths:
    engines/nancy/action/arfactory.cpp
    engines/nancy/action/navigationrecords.cpp
    engines/nancy/action/navigationrecords.h


diff --git a/engines/nancy/action/arfactory.cpp b/engines/nancy/action/arfactory.cpp
index 06a5bc7b633..dc6ed81c96c 100644
--- a/engines/nancy/action/arfactory.cpp
+++ b/engines/nancy/action/arfactory.cpp
@@ -92,7 +92,7 @@ ActionRecord *ActionManager::createActionRecord(uint16 type, Common::SeekableRea
 		if (g_nancy->getGameType() <= kGameTypeNancy9)
 			return new HotMultiframeSceneChange(CursorManager::kHotspot);
 		else
-			return new Hot1FrSceneChange(CursorManager::kNormal, true);
+			return new Hot1FrSceneChange(CursorManager::kNormal, true, true);
 	case 12:
 		if (g_nancy->getGameType() <= kGameTypeNancy9) {
 			return new SceneChange();
diff --git a/engines/nancy/action/navigationrecords.cpp b/engines/nancy/action/navigationrecords.cpp
index 834343485bd..b7334a00fa6 100644
--- a/engines/nancy/action/navigationrecords.cpp
+++ b/engines/nancy/action/navigationrecords.cpp
@@ -114,7 +114,12 @@ void Hot1FrSceneChange::readData(Common::SeekableReadStream &stream) {
 		_hotspotDesc.readData(stream);
 	} else {
 		_sceneChange.sceneID = stream.readUint16LE();
-		_sceneChange.continueSceneSound = kContinueSceneSound;
+		if (g_nancy->getGameType() >= kGameTypeNancy10 && _dynamicCursor) {
+			_sceneChange.frameID = stream.readUint16LE();
+			_sceneChange.continueSceneSound = stream.readUint16LE();
+		} else {
+			_sceneChange.continueSceneSound = kContinueSceneSound;
+		}
 		_sceneChange.listenerFrontVector.set(0, 0, 1);
 		readRect(stream, _hotspotDesc.coords);
 	}
diff --git a/engines/nancy/action/navigationrecords.h b/engines/nancy/action/navigationrecords.h
index 37c43b28c28..4cf3a750f68 100644
--- a/engines/nancy/action/navigationrecords.h
+++ b/engines/nancy/action/navigationrecords.h
@@ -107,8 +107,8 @@ protected:
 // hovering; all of them are handled in this class as well.
 class Hot1FrSceneChange : public SceneChange {
 public:
-	Hot1FrSceneChange(CursorManager::CursorType hoverCursor, bool dynamicCursor = false) :
-		_hoverCursor(hoverCursor), _dynamicCursor(dynamicCursor) {}
+	Hot1FrSceneChange(CursorManager::CursorType hoverCursor, bool dynamicCursor = false, bool isTerse = false) :
+		_hoverCursor(hoverCursor), _dynamicCursor(dynamicCursor), _isTerse(isTerse) {}
 	virtual ~Hot1FrSceneChange() {}
 
 	void readData(Common::SeekableReadStream &stream) override;




More information about the Scummvm-git-logs mailing list