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

npjg nathanael.gentrydb8 at gmail.com
Wed Aug 19 14:44:10 UTC 2020


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:
bd2c3f2bba DIRECTOR: Show ink type as decimal
7d68cd7771 Revert "DIRECTOR: Do not attempt to render cursor from empty sprite"
5583009442 DIRECTOR: Add default cursor arrow case
c99abbc645 DIRECTOR: Load resource files from relative paths
d7ec21cbeb DIRECTOR: Properly discover sprite cursors


Commit: bd2c3f2bba969356d6d85a994dc2c5d48bc87c51
    https://github.com/scummvm/scummvm/commit/bd2c3f2bba969356d6d85a994dc2c5d48bc87c51
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-08-19T10:41:54-04:00

Commit Message:
DIRECTOR: Show ink type as decimal

Changed paths:
    engines/director/score.cpp


diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 83eeb4f990..b48d7024a2 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -502,7 +502,7 @@ void Score::renderSprites(uint16 frameId, RenderMode mode) {
 
 			channel->setClean(nextSprite, i);
 			_window->addDirtyRect(channel->getBbox());
-			debugC(2, kDebugImages, "Score::renderSprites(): CH: %-3d castId: %03d(%s) [ink: %x, puppet: %d, moveable: %d, visible: %d] [bbox: %d,%d,%d,%d] [type: %d fg: %d bg: %d] [script: %d]", i, currentSprite->_castId, numToCastNum(currentSprite->_castId), currentSprite->_ink, currentSprite->_puppet, currentSprite->_moveable, channel->_visible, PRINT_RECT(channel->getBbox()), currentSprite->_spriteType, currentSprite->_foreColor, currentSprite->_backColor, currentSprite->_scriptId);
+			debugC(2, kDebugImages, "Score::renderSprites(): CH: %-3d castId: %03d(%s) [ink: %d, puppet: %d, moveable: %d, visible: %d] [bbox: %d,%d,%d,%d] [type: %d fg: %d bg: %d] [script: %d]", i, currentSprite->_castId, numToCastNum(currentSprite->_castId), currentSprite->_ink, currentSprite->_puppet, currentSprite->_moveable, channel->_visible, PRINT_RECT(channel->getBbox()), currentSprite->_spriteType, currentSprite->_foreColor, currentSprite->_backColor, currentSprite->_scriptId);
 		} else {
 			channel->setClean(nextSprite, i, true);
 		}


Commit: 7d68cd77717562de55f4b20d0b2d8fcd4d92d2e7
    https://github.com/scummvm/scummvm/commit/7d68cd77717562de55f4b20d0b2d8fcd4d92d2e7
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-08-19T10:41:55-04:00

Commit Message:
Revert "DIRECTOR: Do not attempt to render cursor from empty sprite"

This reverts commit 12a35cda57dbcf7e7ae37de7d6c50b15970f15ef.

Changed paths:
    engines/director/score.cpp


diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index b48d7024a2..06689024ae 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -510,9 +510,6 @@ void Score::renderSprites(uint16 frameId, RenderMode mode) {
 }
 
 void Score::renderCursor(uint spriteId) {
-	if (!spriteId)
-		return;
-
 	if (_channels[spriteId]->_cursor.isEmpty()) {
 		if (_currentCursor) {
 			_vm->_wm->popCursor();


Commit: 55830094428f43d834ad54799f84b8eaa177678e
    https://github.com/scummvm/scummvm/commit/55830094428f43d834ad54799f84b8eaa177678e
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-08-19T10:41:55-04:00

Commit Message:
DIRECTOR: Add default cursor arrow case

Changed paths:
    engines/director/cursor.cpp


diff --git a/engines/director/cursor.cpp b/engines/director/cursor.cpp
index fc087d6ab2..f5541d2e14 100644
--- a/engines/director/cursor.cpp
+++ b/engines/director/cursor.cpp
@@ -110,6 +110,7 @@ void Cursor::readFromResource(int resourceId) {
 
 	switch(resourceId) {
 	case -1:
+	case 0:
 		resetCursor(Graphics::kMacCursorArrow, true, resourceId);
 		break;
 	case 1:


Commit: c99abbc645db27f8355403791aa0d497b8c9b4ac
    https://github.com/scummvm/scummvm/commit/c99abbc645db27f8355403791aa0d497b8c9b4ac
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-08-19T10:41:55-04:00

Commit Message:
DIRECTOR: Load resource files from relative paths

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 79f1fe6b5d..9f7952218b 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1120,7 +1120,7 @@ void LB::b_openResFile(int nargs) {
 	if (!g_director->_openResFiles.contains(resPath)) {
 		MacArchive *resFile = new MacArchive();
 
-		if (resFile->openFile(resPath)) {
+		if (resFile->openFile(pathMakeRelative(resPath))) {
 			g_director->_openResFiles.setVal(resPath, resFile);
 		}
 	}


Commit: d7ec21cbeb03a372d2d4afb2c2f5557a497a0efa
    https://github.com/scummvm/scummvm/commit/d7ec21cbeb03a372d2d4afb2c2f5557a497a0efa
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-08-19T10:41:55-04:00

Commit Message:
DIRECTOR: Properly discover sprite cursors

We canot just use getSpriteIDFromPos, as Director gets the cursor from the
topmost sprite that has a non-empty cursor.

Changed paths:
    engines/director/events.cpp
    engines/director/score.cpp
    engines/director/score.h


diff --git a/engines/director/events.cpp b/engines/director/events.cpp
index c4d71b283a..1a7412e52b 100644
--- a/engines/director/events.cpp
+++ b/engines/director/events.cpp
@@ -112,7 +112,7 @@ bool Movie::processEvent(Common::Event &event) {
 		_lastEventTime = g_director->getMacTicks();
 		_lastRollTime =	 _lastEventTime;
 
-		sc->renderCursor(sc->getSpriteIDFromPos(pos));
+		sc->renderCursor(pos);
 
 		if (_currentDraggedChannel) {
 			if (_currentDraggedChannel->_sprite->_moveable) {
@@ -176,7 +176,7 @@ bool Movie::processEvent(Common::Event &event) {
 		}
 
 		registerEvent(kEventMouseUp, spriteId);
-		sc->renderCursor(sc->getSpriteIDFromPos(pos));
+		sc->renderCursor(pos);
 		return true;
 
 	case Common::EVENT_KEYDOWN:
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 06689024ae..528cb1c477 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -509,7 +509,13 @@ void Score::renderSprites(uint16 frameId, RenderMode mode) {
 	}
 }
 
-void Score::renderCursor(uint spriteId) {
+void Score::renderCursor(Common::Point pos) {
+	uint spriteId = 0;
+
+	for (int i = _channels.size() - 1; i >=0; i--)
+		if (_channels[i]->isMouseIn(pos) && !_channels[i]->_cursor.isEmpty())
+			spriteId = i;
+
 	if (_channels[spriteId]->_cursor.isEmpty()) {
 		if (_currentCursor) {
 			_vm->_wm->popCursor();
diff --git a/engines/director/score.h b/engines/director/score.h
index 3c3a64e004..a3c6078c5e 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -108,7 +108,7 @@ public:
 	bool renderTransition(uint16 frameId);
 	void renderFrame(uint16 frameId, RenderMode mode = kRenderModeNormal);
 	void renderSprites(uint16 frameId, RenderMode mode = kRenderModeNormal);
-	void renderCursor(uint spriteId);
+	void renderCursor(Common::Point pos);
 
 private:
 	void update();




More information about the Scummvm-git-logs mailing list