[Scummvm-git-logs] scummvm master -> 9a24e033d0e153b995d6f8c88278dc8575e47097

bluegr noreply at scummvm.org
Sun Jul 5 00:57:56 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:
9a24e033d0 NANCY: NANCY10: Handle Autotext records within TextScroll records


Commit: 9a24e033d0e153b995d6f8c88278dc8575e47097
    https://github.com/scummvm/scummvm/commit/9a24e033d0e153b995d6f8c88278dc8575e47097
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-07-05T03:57:44+03:00

Commit Message:
NANCY: NANCY10: Handle Autotext records within TextScroll records

Fixes showing text in the notes of Nigel's PC in Nancy11

Changed paths:
    engines/nancy/action/autotext.cpp
    engines/nancy/action/autotext.h
    engines/nancy/action/puzzle/peepholepuzzle.h


diff --git a/engines/nancy/action/autotext.cpp b/engines/nancy/action/autotext.cpp
index ee0b31466e7..e1761e4d404 100644
--- a/engines/nancy/action/autotext.cpp
+++ b/engines/nancy/action/autotext.cpp
@@ -59,8 +59,10 @@ void Autotext::readData(Common::SeekableReadStream &stream) {
 	}
 	stream.skip((maxImages - numImages) * (2 + 16));
 
-	if (g_nancy->getGameType() >= kGameTypeNancy10) {
-		// Placement descriptor used to blit viewport surfaces (0-2) onscreen
+	if (g_nancy->getGameType() >= kGameTypeNancy10 && _hasPlacementDescriptor) {
+		// Placement descriptor used to blit viewport surfaces (0-2) onscreen.
+		// Only plain Autotext records carry this; TextScroll handles its own
+		// placement and omits it from the chunk.
 		_placementMode = stream.readUint16LE();
 		readRect(stream, _viewportDest);
 		readRect(stream, _viewportSrc);
diff --git a/engines/nancy/action/autotext.h b/engines/nancy/action/autotext.h
index c5963ab4c51..2be9b24e760 100644
--- a/engines/nancy/action/autotext.h
+++ b/engines/nancy/action/autotext.h
@@ -76,7 +76,9 @@ protected:
 
 	Common::Array<uint16> _hotspotScenes;
 
-	// Nancy 10+ placement descriptor for viewport surfaces (0-2)
+	// Nancy 10+ placement descriptor for viewport surfaces (0-2).
+	// Absent from TextScroll records, which place themselves.
+	bool _hasPlacementDescriptor = true;
 	uint16 _placementMode = 0;
 	Common::Rect _viewportDest;
 	Common::Rect _viewportSrc;
diff --git a/engines/nancy/action/puzzle/peepholepuzzle.h b/engines/nancy/action/puzzle/peepholepuzzle.h
index 54731ff04d0..8dab2fced55 100644
--- a/engines/nancy/action/puzzle/peepholepuzzle.h
+++ b/engines/nancy/action/puzzle/peepholepuzzle.h
@@ -82,7 +82,7 @@ protected:
 // on the fly and replaces the TextScroll/AutotextEntryList
 class TextScroll : public Autotext, public PeepholePuzzle {
 public:
-	TextScroll(bool isEntryList) : _isEntryList(isEntryList) { _selfDisplay = false; }
+	TextScroll(bool isEntryList) : _isEntryList(isEntryList) { _selfDisplay = false; _hasPlacementDescriptor = false; }
 
 	void init() override;
 	void execute() override { PeepholePuzzle::execute(); }




More information about the Scummvm-git-logs mailing list