[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