[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