[Scummvm-git-logs] scummvm master -> da05d83f34ff8ec9a3566dfbf3344eb381fb6582
bluegr
noreply at scummvm.org
Wed Oct 7 06:29:39 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:
da05d83f34 NANCY: NANCY6: Fix swapping pieces in RippedLetterPuzzle
Commit: da05d83f34ff8ec9a3566dfbf3344eb381fb6582
https://github.com/scummvm/scummvm/commit/da05d83f34ff8ec9a3566dfbf3344eb381fb6582
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-10-07T09:29:35+03:00
Commit Message:
NANCY: NANCY6: Fix swapping pieces in RippedLetterPuzzle
Empty hotspots only cover the whole piece in Nancy14 and up.
Earlier games use them to disable an action, so the tile puzzle in
scene 2154 rotated its pieces instead of picking them up.
This is a regression from ca21db2694b
Fix #17303
Changed paths:
engines/nancy/action/puzzle/rippedletterpuzzle.cpp
diff --git a/engines/nancy/action/puzzle/rippedletterpuzzle.cpp b/engines/nancy/action/puzzle/rippedletterpuzzle.cpp
index 66047f42529..fbf74e5348f 100644
--- a/engines/nancy/action/puzzle/rippedletterpuzzle.cpp
+++ b/engines/nancy/action/puzzle/rippedletterpuzzle.cpp
@@ -460,8 +460,10 @@ void RippedLetterPuzzle::copyPieceToPickedUp(const uint pos) {
}
Common::Rect RippedLetterPuzzle::getPieceHotspot(const Common::Rect &hotspot, const Common::Rect &screenRect) const {
- // An empty hotspot means the whole piece is interactive
- Common::Rect ret = hotspot.height() ? hotspot : Common::Rect(screenRect.width(), screenRect.height());
+ // In Nancy14 and up, an empty hotspot means the whole piece is interactive.
+ // Earlier games use empty hotspots to disable an action (e.g. the rotation
+ // in nancy6 scene 2154, where pieces can only be swapped)
+ const bool wholePiece = g_nancy->getGameType() >= kGameTypeNancy14 && !hotspot.height();
ret.translate(screenRect.left, screenRect.top);
return ret;
}
More information about the Scummvm-git-logs
mailing list