[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