[Scummvm-git-logs] scummvm master -> 1c1ed2e61eca1364186675bb15484e9ba06fd7a0

sev- noreply at scummvm.org
Mon Jun 3 12:01:20 UTC 2024


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

Summary:
a51e33f1de GRAPHICS: MACGUl: Handle empty text in selection logic
16234784af DIRECTOR: Fix ZoomBox not considering stage offset in desktop mode
1a030eed61 DIRECTOR: Duplicate cast member instead of referencing the source
e9ab5f5ee3 DIRECTOR: Fix reverse ink not rendering as expected
1c1ed2e61e GRAPHICS: MACGUI: Fix compilation with DEBUG enabled


Commit: a51e33f1dee3f18e9c7663541d1726a5b37885ee
    https://github.com/scummvm/scummvm/commit/a51e33f1dee3f18e9c7663541d1726a5b37885ee
Author: Krish (ganatrakrish2882005 at gmail.com)
Date: 2024-06-03T14:01:15+02:00

Commit Message:
GRAPHICS: MACGUl: Handle empty text in selection logic

Fixes crash in The Apartment version D4, movie "editableText"
./scummvm --start-movie=editableText theapartment4

Changed paths:
    graphics/macgui/mactext.cpp


diff --git a/graphics/macgui/mactext.cpp b/graphics/macgui/mactext.cpp
index 1797d3d9151..b47a7ef0ec0 100644
--- a/graphics/macgui/mactext.cpp
+++ b/graphics/macgui/mactext.cpp
@@ -1135,7 +1135,9 @@ void MacText::setSelection(int pos, bool start) {
 			colX = _canvas._textMaxWidth;
 	}
 
-	int rowY = _canvas._text[row].y;
+	int rowY = 0;
+	if (!_canvas._text.empty())
+		rowY = _canvas._text[row].y;
 
 	if (start) {
 		_selectedText.startX = colX;


Commit: 16234784afc432019969618e71caa8f2bf3a28cb
    https://github.com/scummvm/scummvm/commit/16234784afc432019969618e71caa8f2bf3a28cb
Author: Krish (ganatrakrish2882005 at gmail.com)
Date: 2024-06-03T14:01:15+02:00

Commit Message:
DIRECTOR: Fix ZoomBox not considering stage offset in desktop mode

Command: ./scummvm --start-movie="zoomBox" --debugflags=desktop theapartment-mac
Clicking on the rectangle to activate the zoomBox effect did not position the animation correctly.

Changed paths:
    engines/director/lingo/lingo-builtins.cpp


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 4cdefe23dfd..61b885f60f5 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -2918,6 +2918,13 @@ void LB::b_zoomBox(int nargs) {
 		return;
 	}
 
+	if (Director::g_director->desktopEnabled()) {
+		Director::Datum stageRect = Director::g_director->getStage()->getStageRect();
+		Common::Point stageOffset(stageRect.u.farr->arr[0].asInt(), stageRect.u.farr->arr[1].asInt());
+		startRect.translate(stageOffset.x, stageOffset.y);
+		endRect.translate(stageOffset.x, stageOffset.y);
+	}
+
 	Graphics::ZoomBox *box = new Graphics::ZoomBox;
 	box->start = startRect;
 	box->end = endRect;


Commit: 1a030eed618f7547a36b0ca2dff0e374e7995356
    https://github.com/scummvm/scummvm/commit/1a030eed618f7547a36b0ca2dff0e374e7995356
Author: Krish (ganatrakrish2882005 at gmail.com)
Date: 2024-06-03T14:01:15+02:00

Commit Message:
DIRECTOR: Duplicate cast member instead of referencing the source

Command: ./scummvm --start-movie="copyToClipBoard cast" workshop
Copying and pasting a cast member twice resulted in a crash in ScummVM.

Changed paths:
    engines/director/lingo/lingo-builtins.cpp


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 61b885f60f5..2952adfc7e6 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -2542,7 +2542,7 @@ void LB::b_pasteClipBoardInto(int nargs) {
 
 	Score *score = movie->getScore();
 	castMember->setModified(true);
-	movie->createOrReplaceCastMember(*to.u.cast, castMember);
+	movie->duplicateCastMember(*g_director->_clipBoard, *to.u.cast);
 	score->refreshPointersForCastMemberID(to.asMemberID());
 }
 


Commit: e9ab5f5ee33ed1df0621a112b208657e563ddad5
    https://github.com/scummvm/scummvm/commit/e9ab5f5ee33ed1df0621a112b208657e563ddad5
Author: Krish (ganatrakrish2882005 at gmail.com)
Date: 2024-06-03T14:01:15+02:00

Commit Message:
DIRECTOR: Fix reverse ink not rendering as expected

This fix ensures elements using reverse ink are now rendered correctly. Seen in many places in The Apartment (any version).

Test movies were created, to test all inks in 1bpp.

./scummmvm --start-movie=1bpp-inktest-1/2  director-tests

The reverse ink is 5th in the first column

Changed paths:
    engines/director/graphics.cpp


diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp
index 39f106c27ff..6393661cf42 100644
--- a/engines/director/graphics.cpp
+++ b/engines/director/graphics.cpp
@@ -581,7 +581,7 @@ void DirectorPlotData::inkBlitShape(Common::Rect &srcRect) {
 	case kInkTypeNotGhost:
 		return;
 	case kInkTypeReverse:
-		ms->foreColor = 0;
+		ms->foreColor = 255;
 		ms->backColor = 0;
 		break;
 	default:


Commit: 1c1ed2e61eca1364186675bb15484e9ba06fd7a0
    https://github.com/scummvm/scummvm/commit/1c1ed2e61eca1364186675bb15484e9ba06fd7a0
Author: Krish (ganatrakrish2882005 at gmail.com)
Date: 2024-06-03T14:01:15+02:00

Commit Message:
GRAPHICS: MACGUI: Fix compilation with DEBUG enabled

Changed paths:
    graphics/macgui/mactext-canvas.cpp


diff --git a/graphics/macgui/mactext-canvas.cpp b/graphics/macgui/mactext-canvas.cpp
index 58b6db69be3..8718392034c 100644
--- a/graphics/macgui/mactext-canvas.cpp
+++ b/graphics/macgui/mactext-canvas.cpp
@@ -656,6 +656,8 @@ void MacTextCanvas::render(int from, int to, int shadow) {
 				int xOffset = (_text[i].width - _text[i].charwidth) / 2;
 				surface->blitFrom(image, Common::Point(xOffset, _text[i].y));
 
+				Common::Rect bbox(xOffset, _text[i].y, xOffset + image->w, _text[i].y + image->h);
+
 				D(9, "MacTextCanvas::render: Image %d x %d bbox: %d, %d, %d, %d", image->w, image->h, bbox.left, bbox.top,
 						bbox.right, bbox.bottom);
 			}




More information about the Scummvm-git-logs mailing list