[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