[Scummvm-git-logs] scummvm master -> 43378b81e4c811514dda8fc56acd1f61478b07ae
djsrv
dservilla at gmail.com
Fri Jul 16 18:47:14 UTC 2021
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
30f0b3995a DIRECTOR: Always call renderFrame in updateStage
43378b81e4 DIRECTOR: Remove unused render modes
Commit: 30f0b3995a8c40908f9f80a14cfe199257b3001d
https://github.com/scummvm/scummvm/commit/30f0b3995a8c40908f9f80a14cfe199257b3001d
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-16T14:46:21-04:00
Commit Message:
DIRECTOR: Always call renderFrame in updateStage
If we don't do this, nothing is actually updated.
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/score.cpp
engines/director/score.h
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index e9e097ff1b..32d9d67e69 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -2135,11 +2135,7 @@ void LB::b_updateStage(int nargs) {
}
Score *score = movie->getScore();
- if (movie->_videoPlayback) {
- movie->getScore()->renderFrame(movie->getScore()->getCurrentFrame(), kRenderNoWindowRender);
- }
-
- if (movie->getWindow()->render())
+ if (score->renderFrame(score->getCurrentFrame()))
g_director->draw();
if (debugChannelSet(-1, kDebugFewFramesOnly)) {
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 3e662d56ce..5bca1d170e 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -468,7 +468,9 @@ void Score::update() {
_nextFrameTime += 1000;
}
-void Score::renderFrame(uint16 frameId, RenderMode mode) {
+bool Score::renderFrame(uint16 frameId, RenderMode mode) {
+ bool updated = false;
+
if (!renderTransition(frameId))
renderSprites(frameId, mode);
@@ -478,8 +480,8 @@ void Score::renderFrame(uint16 frameId, RenderMode mode) {
g_director->setPalette(resolvePaletteId(currentPalette));
}
- if (mode != kRenderNoWindowRender)
- _window->render();
+ if (_window->render())
+ updated = true;
if (_frames[frameId]->_sound1.member || _frames[frameId]->_sound2.member)
playSoundChannel(frameId);
@@ -487,7 +489,10 @@ void Score::renderFrame(uint16 frameId, RenderMode mode) {
if (_cursorDirty) {
renderCursor(_movie->getWindow()->getMousePos());
_cursorDirty = false;
+ updated = true;
}
+
+ return updated;
}
bool Score::renderTransition(uint16 frameId) {
diff --git a/engines/director/score.h b/engines/director/score.h
index ca8e90aa96..f5a0fa609f 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -111,7 +111,7 @@ public:
uint16 getSpriteIdByMemberId(CastMemberID id);
bool renderTransition(uint16 frameId);
- void renderFrame(uint16 frameId, RenderMode mode = kRenderModeNormal);
+ bool renderFrame(uint16 frameId, RenderMode mode = kRenderModeNormal);
void renderSprites(uint16 frameId, RenderMode mode = kRenderModeNormal);
void renderCursor(Common::Point pos);
Commit: 43378b81e4c811514dda8fc56acd1f61478b07ae
https://github.com/scummvm/scummvm/commit/43378b81e4c811514dda8fc56acd1f61478b07ae
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-16T14:46:21-04:00
Commit Message:
DIRECTOR: Remove unused render modes
Changed paths:
engines/director/score.h
diff --git a/engines/director/score.h b/engines/director/score.h
index f5a0fa609f..ba7cb0d79f 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -56,10 +56,7 @@ class AudioDecoder;
enum RenderMode {
kRenderModeNormal,
- kRenderForceUpdate,
- kRenderUpdateStageOnly,
- kRenderNoUnrender,
- kRenderNoWindowRender
+ kRenderForceUpdate
};
class Score {
More information about the Scummvm-git-logs
mailing list