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

bluegr noreply at scummvm.org
Thu May 21 20:16:26 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:
bea92ada62 NANCY: Fix TBOX reader for Nancy 10+ conversation font IDs


Commit: bea92ada62cfb93d0579d93b576c6b6dd7da16d7
    https://github.com/scummvm/scummvm/commit/bea92ada62cfb93d0579d93b576c6b6dd7da16d7
Author: Dukiverse (thedukemc1 at gmail.com)
Date: 2026-05-21T23:16:22+03:00

Commit Message:
NANCY: Fix TBOX reader for Nancy 10+ conversation font IDs

Changed paths:
    engines/nancy/enginedata.cpp


diff --git a/engines/nancy/enginedata.cpp b/engines/nancy/enginedata.cpp
index de40492422f..749e49db028 100644
--- a/engines/nancy/enginedata.cpp
+++ b/engines/nancy/enginedata.cpp
@@ -277,7 +277,11 @@ TBOX::TBOX(Common::SeekableReadStream *chunkStream) : EngineData(chunkStream) {
 	defaultFontID = chunkStream->readUint16LE();
 	defaultTextColor = chunkStream->readUint16LE();
 
-	if (g_nancy->getGameType() >= kGameTypeNancy2) {
+	if (g_nancy->getGameType() >= kGameTypeNancy10) {
+		// Nancy 10+ moved the conversation font IDs to a later position;
+		// the 4 bytes here are unrelated, so skip them.
+		chunkStream->skip(4);
+	} else if (g_nancy->getGameType() >= kGameTypeNancy2) {
 		conversationFontID = chunkStream->readUint16LE();
 		highlightConversationFontID = chunkStream->readUint16LE();
 	} else {
@@ -288,8 +292,11 @@ TBOX::TBOX(Common::SeekableReadStream *chunkStream) : EngineData(chunkStream) {
 	tabWidth = chunkStream->readUint16LE();
 	pageScrollPercent = chunkStream->readUint16LE(); // Not implemented yet
 
-	if (g_nancy->getGameType() >= kGameTypeNancy10)
-		chunkStream->skip(8);	// TODO: 4 new uint16 fields (values: 8, 9, 4, 75 in Nancy10)
+	if (g_nancy->getGameType() >= kGameTypeNancy10) {
+		conversationFontID = chunkStream->readUint16LE();
+		highlightConversationFontID = chunkStream->readUint16LE();
+		chunkStream->skip(4); // 2 unknown uint16 fields (values: 4, 75 in nancy10)
+	}
 
 	Graphics::PixelFormat format = g_nancy->_graphics->getInputPixelFormat();
 	if (g_nancy->getGameType() >= kGameTypeNancy2) {




More information about the Scummvm-git-logs mailing list