[Scummvm-git-logs] scummvm master -> f6a0670535c883b082cff7e7fd5afac6b0c8bce8

bluegr noreply at scummvm.org
Thu Jun 4 21:55:39 UTC 2026


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

Summary:
8f77ad0b07 NANCY: Add stubs for new Action Records in Nancy11
b77da6a8af NANCY: Fix SecondaryMovie/SecondaryVideo playing for Nancy11
c7aaf642b6 NANCY: Set the correct ID for no response for Nancy11
5a91983cb4 NANCY: Adapt SetPlayerClock puzzle for Nancy11
c8d1e4a19c NANCY: Add info for the SCTB (ScrollableTextBox) chunk in Nancy11
f6a0670535 NANCY: Disable the text box for Nancy11, for now


Commit: 8f77ad0b072241997025ffb94e013c97a2f5d0fa
    https://github.com/scummvm/scummvm/commit/8f77ad0b072241997025ffb94e013c97a2f5d0fa
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-06-05T00:55:21+03:00

Commit Message:
NANCY: Add stubs for new Action Records in Nancy11

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


diff --git a/engines/nancy/action/arfactory.cpp b/engines/nancy/action/arfactory.cpp
index ac65b5f58fa..d89f822b735 100644
--- a/engines/nancy/action/arfactory.cpp
+++ b/engines/nancy/action/arfactory.cpp
@@ -178,9 +178,21 @@ ActionRecord *ActionManager::createActionRecord(uint16 type, Common::SeekableRea
 	case 29:
 		// Nancy 10+
 		return new ControlUIItems();
+	case 30:	// Nancy11
+		warning("StopPlayerScrolling");	// TODO
+		return nullptr;
+	case 31:	// Nancy11
+		warning("StartPlayerScrolling");	// TODO
+		return nullptr;
 	case 32:
 		// Nancy 10+
 		return new UIPopupPrepScene();
+	case 45:	// Nancy11
+		warning("PlayRandomMovie");	// TODO
+		return nullptr;
+	case 46:	// Nancy11
+		warning("PlayRandomMovieControl");	// TODO
+		return nullptr;
 	case 40:
 		if (g_nancy->getGameType() <= kGameTypeNancy1)
 			return new LightningOn();	// Only used in TVD
@@ -248,6 +260,9 @@ ActionRecord *ActionManager::createActionRecord(uint16 type, Common::SeekableRea
 			return new TableIndexSetValueHS();
 	case 68:
 		return new TextScroll(false);
+	case 69:	// Nancy11
+		warning("TimerControl");	// TODO
+		return nullptr;
 	case 70:
 		return new TextScroll(true); // AutotextEntryList
 	case 71:
@@ -271,8 +286,12 @@ ActionRecord *ActionManager::createActionRecord(uint16 type, Common::SeekableRea
 		return new SetValueCombo();
 	case 79:
 		return new ValueTest();
-	//case 81: // Nancy 11+
-	//	return nullptr;	// TODO
+	case 81:	// Nancy11
+		//warning("AutotextTextBoxWrite");	// TODO
+		return nullptr;
+	case 96:	// Nancy11
+		warning("UnknownAR96");	// TODO
+		return nullptr;
 	case 97:
 		return new EventFlags(true);
 	case 98:
@@ -354,6 +373,9 @@ ActionRecord *ActionManager::createActionRecord(uint16 type, Common::SeekableRea
 		return new AddSearchLink();
 	case 140:
 		return new SetVolume();
+	case 147:	// Nancy11
+		warning("FadeSoundToSilence");	// TODO
+		return nullptr;
 	case 148:
 		// MakeScreenFile - seems to save a cropped image of the screen in a bitmap file?
 		// TODO: Used in Nancy 9, sand castle puzzle
@@ -379,6 +401,9 @@ ActionRecord *ActionManager::createActionRecord(uint16 type, Common::SeekableRea
 		return new StopSound();
 	case 155:
 		return new StopSound(); // StopAndUnloadSound, but we always unload
+	case 156:	// Nancy11
+		warning("Update3DSound");	// TODO
+		return nullptr;
 	case 157:
 		return new PlaySoundCC();
 	case 158:
@@ -479,10 +504,12 @@ ActionRecord *ActionManager::createActionRecord(uint16 type, Common::SeekableRea
 	case 244:
 		return new GridMapPuzzle();
 	// -- Nancy 11 and up --
-	case 245:
-		// return new TypingQuizPuzzle();
-	case 246:
-		// return new MatchPuzzle();
+	case 245:	// Nancy11
+		warning("TypingQuizPuzzle");	// TODO
+		return nullptr;
+	case 246:	// Nancy11
+		warning("MatchPuzzle246");	// TODO
+		return nullptr;
 	default:
 		warning("Unknown action record type %d", type);
 		return nullptr;


Commit: b77da6a8af27eee246f53004ec23c5c36c4db605
    https://github.com/scummvm/scummvm/commit/b77da6a8af27eee246f53004ec23c5c36c4db605
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-06-05T00:55:22+03:00

Commit Message:
NANCY: Fix SecondaryMovie/SecondaryVideo playing for Nancy11

Changed paths:
    engines/nancy/action/secondarymovie.cpp
    engines/nancy/commontypes.cpp


diff --git a/engines/nancy/action/secondarymovie.cpp b/engines/nancy/action/secondarymovie.cpp
index d6421d8ef40..499d7b07791 100644
--- a/engines/nancy/action/secondarymovie.cpp
+++ b/engines/nancy/action/secondarymovie.cpp
@@ -56,6 +56,8 @@ void PlaySecondaryMovie::readData(Common::SeekableReadStream &stream) {
 	ser.syncAsUint16LE(_videoType, kGameTypeNancy7);
 	ser.skip(2, kGameTypeVampire, kGameTypeNancy9); // videoPlaySource
 	ser.syncAsUint16LE(_videoFormat);
+	if (g_nancy->getGameType() >= kGameTypeNancy11)
+		_videoFormat = kLargeVideoFormat;
 	ser.skip(4, kGameTypeVampire, kGameTypeVampire); // paletteStart, paletteSize
 	ser.skip(2, kGameTypeVampire, kGameTypeNancy9);  // hasBitmapOverlaySurface
 	ser.skip(2, kGameTypeVampire, kGameTypeNancy9);  // VIDEO_STOP_RENDERING, VIDEO_CONTINUE_RENDERING
diff --git a/engines/nancy/commontypes.cpp b/engines/nancy/commontypes.cpp
index 2a2fd87e8eb..512502da263 100644
--- a/engines/nancy/commontypes.cpp
+++ b/engines/nancy/commontypes.cpp
@@ -126,7 +126,8 @@ void SecondaryVideoDescription::readData(Common::SeekableReadStream &stream) {
 	frameID = stream.readUint16LE();
 	readRect(stream, srcRect);
 	readRect(stream, destRect);
-	stream.skip(0x20);
+	if (g_nancy->getGameType() <= kGameTypeNancy10)
+		stream.skip(0x20);
 }
 
 void SoundEffectDescription::readData(Common::SeekableReadStream &stream) {


Commit: c7aaf642b60e74c3e22298068f8e2ff3531c20ff
    https://github.com/scummvm/scummvm/commit/c7aaf642b60e74c3e22298068f8e2ff3531c20ff
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-06-05T00:55:23+03:00

Commit Message:
NANCY: Set the correct ID for no response for Nancy11

Changed paths:
    engines/nancy/action/conversation.cpp


diff --git a/engines/nancy/action/conversation.cpp b/engines/nancy/action/conversation.cpp
index 6ece9bbf0ff..64ad001d71e 100644
--- a/engines/nancy/action/conversation.cpp
+++ b/engines/nancy/action/conversation.cpp
@@ -41,7 +41,7 @@ namespace Action {
 ConversationSound::ConversationSound() :
 		RenderActionRecord(8),
 		_noResponse(g_nancy->getGameType() <= kGameTypeNancy2 ||
-					g_nancy->getGameType() >= kGameTypeNancy10 ? 10 : 20),
+					g_nancy->getGameType() == kGameTypeNancy10 ? 10 : 20),
 		_hasDrawnTextbox(false),
 		_pickedResponse(-1) {
 	_conditionalResponseCharacterID = _noResponse;


Commit: 5a91983cb4a048c3a51effa067a5c709cc81b835
    https://github.com/scummvm/scummvm/commit/5a91983cb4a048c3a51effa067a5c709cc81b835
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-06-05T00:55:25+03:00

Commit Message:
NANCY: Adapt SetPlayerClock puzzle for Nancy11

Changed paths:
    engines/nancy/action/puzzle/setplayerclock.cpp


diff --git a/engines/nancy/action/puzzle/setplayerclock.cpp b/engines/nancy/action/puzzle/setplayerclock.cpp
index 8d921f85cca..969479887ed 100644
--- a/engines/nancy/action/puzzle/setplayerclock.cpp
+++ b/engines/nancy/action/puzzle/setplayerclock.cpp
@@ -82,6 +82,10 @@ void SetPlayerClock::readData(Common::SeekableReadStream &stream) {
 
 	stream.skip(2);
 
+	if (g_nancy->getGameType() >= kGameTypeNancy11) {
+		stream.skip(2);
+	}
+
 	_buttonSound.readNormal(stream);
 	_alarmSetScene.readData(stream);
 	_alarmSoundDelay = stream.readUint16LE();


Commit: c8d1e4a19c2fd1394d577993f7c90f7508d08301
    https://github.com/scummvm/scummvm/commit/c8d1e4a19c2fd1394d577993f7c90f7508d08301
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-06-05T00:55:25+03:00

Commit Message:
NANCY: Add info for the SCTB (ScrollableTextBox) chunk in Nancy11

Changed paths:
    engines/nancy/enginedata.h


diff --git a/engines/nancy/enginedata.h b/engines/nancy/enginedata.h
index 23483060220..11d29695d9d 100644
--- a/engines/nancy/enginedata.h
+++ b/engines/nancy/enginedata.h
@@ -506,7 +506,9 @@ struct SHUI : public EngineData {
 	Common::Array<Common::Rect> _sliderRects;	// Slider rects
 };
 
-// Scheduled talk (?) UI. Introduced in Nancy 11
+// ScrollTextBox - introduced in Nancy 11. Configuration for the scrollable
+// text-box UI used for long textbox content (e.g. journal / scheduled-talk
+// panels) that needs to scroll within a fixed frame.
 struct SCTB : public EngineData {
 	SCTB(Common::SeekableReadStream *chunkStream);
 


Commit: f6a0670535c883b082cff7e7fd5afac6b0c8bce8
    https://github.com/scummvm/scummvm/commit/f6a0670535c883b082cff7e7fd5afac6b0c8bce8
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-06-05T00:55:28+03:00

Commit Message:
NANCY: Disable the text box for Nancy11, for now

It has differences in the implementation compared to Nancy10, so it
renders incorrectly as a big red box, so disable it for now

Changed paths:
    engines/nancy/ui/textbox.cpp


diff --git a/engines/nancy/ui/textbox.cpp b/engines/nancy/ui/textbox.cpp
index e7e2d7efe40..9126feb4f38 100644
--- a/engines/nancy/ui/textbox.cpp
+++ b/engines/nancy/ui/textbox.cpp
@@ -118,6 +118,11 @@ void Textbox::init() {
 }
 
 void Textbox::registerGraphics() {
+	if (g_nancy->getGameType() >= kGameTypeNancy11) {
+		// TODO: Textbox for Nancy11+
+		return;
+	}
+
 	RenderObject::registerGraphics();
 	if (_scrollbar)
 		_scrollbar->registerGraphics();




More information about the Scummvm-git-logs mailing list