[Scummvm-git-logs] scummvm master -> 49546834b90e5d4d1dfc6aa77c30275d18a5d739

sev- noreply at scummvm.org
Sun Jun 28 21:01:07 UTC 2026


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

Summary:
cc2dd2c4cc DIRECTOR: Add detection entries for Gus Goes to Cyberopolis (Win/Mac)
49546834b9 DIRECTOR: Fix text wrapping in D4 text cast memberso


Commit: cc2dd2c4ccd761bfaf9fd02d33bbc10deadc6537
    https://github.com/scummvm/scummvm/commit/cc2dd2c4ccd761bfaf9fd02d33bbc10deadc6537
Author: ramyak-sharma (ramyaksharma1 at gmail.com)
Date: 2026-06-28T23:01:03+02:00

Commit Message:
DIRECTOR: Add detection entries for Gus Goes to Cyberopolis (Win/Mac)

Changed paths:
    engines/director/detection_tables.h


diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index e7fa1b80af5..5b67a43eee1 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -4566,7 +4566,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2_l("gusmuse", "", "MUSEUM.EXE", "t:a94c1f2c2bb45335edaed96cb99243f7", 697019,
 			"CONTENT/INTRO.DIR", "t:40fb23b25fd6e873338e9f52d10983f7", 217402, Common::NL_NLD, 404),
 
-	MACDEMO1("gusolis", "Demo", "Cyberopolis DEMO", "r:77f4098988d5386794d1530065f514cd", 303961, 404),
+	MACDEMO1("gusolis", "Demo", "Cyberopolis DEMO",			"r:77f4098988d5386794d1530065f514cd", 303961, 404),
+	MACGAME2("gusolis", "",		"Gus Goes to Cyberopolis",	"r:68ed73866232194a9a5609040dc1f242", 291988,
+								"MMVLogo.Dxr",				"d:8971eb558c342d539aef41bf0b6e1268", 81586, 404),
+	WINGAME2("gusolis", "",		"CYBEROP.EXE",              "t:f5d3263ba73e2d069de2bc50e56f8f99", 686707,
+								"MMVLOGO.DXR",				"d:8971eb558c342d539aef41bf0b6e1268", 81586, 404),
 
 	MACGAME1("guspark", "",		"Gus goes to CyberStone Park", "r:ccfbfc1a0ac231db40a250babaa6ad7c", 285282, 404),
 	MACGAME1("guspark", "",		"Gus goes to CyberStone Park", "tr:6cb8084d74e94d6f04f619ee9b423a06", 288490, 404),


Commit: 49546834b90e5d4d1dfc6aa77c30275d18a5d739
    https://github.com/scummvm/scummvm/commit/49546834b90e5d4d1dfc6aa77c30275d18a5d739
Author: ramyak-sharma (ramyaksharma1 at gmail.com)
Date: 2026-06-28T23:01:03+02:00

Commit Message:
DIRECTOR: Fix text wrapping in D4 text cast memberso

MacText treats maxWidth as the outer width and subtracts border/gutter/shadow
internally. Pass _initialRect.width() + padding so the effective inner wrap
width matches the cast member's designed text area.

Also fix wordWrapTextImpl to use >= instead of > so text that exactly fills
the available width wraps correctly, matching Director's behavior.

Changed paths:
    engines/director/castmember/text.cpp
    graphics/font.cpp


diff --git a/engines/director/castmember/text.cpp b/engines/director/castmember/text.cpp
index 7fd5a312104..443bf1c88ca 100644
--- a/engines/director/castmember/text.cpp
+++ b/engines/director/castmember/text.cpp
@@ -299,7 +299,8 @@ bool textWindowCallback(Graphics::WindowClick click, Common::Event &event, void
 Graphics::MacWidget *TextCastMember::createWindowOrWidget(Common::Rect &bbox, Common::Rect dims, Graphics::MacFont *macFont) {
 	Graphics::MacText *widget = nullptr;
 
-	widget = new Graphics::MacText(g_director->getCurrentWindow()->getMacWindow(), bbox.left, bbox.top, dims.width(), dims.height(), g_director->_wm, _ftext, macFont, getForeColor(), getBackColor(), _initialRect.width(), getAlignment(), _lineSpacing, _borderSize, _gutterSize, _boxShadow, _textShadow, _textType == kTextTypeFixed || _textType == kTextTypeScrolling, _textType == kTextTypeScrolling);
+	int maxWidth = _initialRect.width() + _borderSize * 2 + _gutterSize * 2 + _boxShadow;
+	widget = new Graphics::MacText(g_director->getCurrentWindow()->getMacWindow(), bbox.left, bbox.top, dims.width(), dims.height(), g_director->_wm, _ftext, macFont, getForeColor(), getBackColor(), maxWidth, getAlignment(), _lineSpacing, _borderSize, _gutterSize, _boxShadow, _textShadow, _textType == kTextTypeFixed || _textType == kTextTypeScrolling, _textType == kTextTypeScrolling);
 	widget->setSelRange(g_director->getCurrentMovie()->_selStart, g_director->getCurrentMovie()->_selEnd);
 	widget->draw();
 
diff --git a/graphics/font.cpp b/graphics/font.cpp
index 3408c16824b..0c5d1a1c4b8 100644
--- a/graphics/font.cpp
+++ b/graphics/font.cpp
@@ -280,7 +280,7 @@ int wordWrapTextImpl(const Font &font, const StringType &str, int maxWidth, Comm
 			const int w = currentCharWidth + font.getKerningOffset(last, c);
 			last = c;
 			const bool wouldExceedWidth =
-				(lineWidth + tmpWidth + w > targetMaxLineWidth) &&
+				(lineWidth + tmpWidth + w >= targetMaxLineWidth) &&
 				!(mode & kWordWrapAllowTrailingWhitespace && Common::isSpace(c));
 
 			// If this char is a whitespace, then it represents a potential




More information about the Scummvm-git-logs mailing list