[Scummvm-git-logs] scummvm master -> 74454b0434037b71fe5c7828c235c7e71006d879

npjg nathanael.gentrydb8 at gmail.com
Mon Jul 27 13:10:15 UTC 2020


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:
a31e3217e8 DIRECTOR: Fix typos
74454b0434 DIRECTOR: Properly initialize current palette id


Commit: a31e3217e86f480724f15e1abbe0a642854e00b2
    https://github.com/scummvm/scummvm/commit/a31e3217e86f480724f15e1abbe0a642854e00b2
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-07-27T09:07:02-04:00

Commit Message:
DIRECTOR: Fix typos

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


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 82eaee6c98..454ba85a34 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1748,9 +1748,9 @@ void LB::b_puppetPalette(int nargs) {
 			} else if (palStr.equalsIgnoreCase("Vivid")) {
 				palette = kClutVivid;
 			} else if (palStr.equalsIgnoreCase("NTSC")) {
-				palette = kClutMetallic;
+				palette = kClutNTSC;
 			} else if (palStr.equalsIgnoreCase("Metallic")) {
-				palette = kClutSystemWin;
+				palette = kClutMetallic;
 			} else {
 				CastMember *member = g_director->getCurrentMovie()->getCastMemberByName(palStr);
 
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index f692c38315..a83ade444b 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -413,7 +413,7 @@ void Score::renderFrame(uint16 frameId, RenderMode mode) {
 		renderSprites(frameId, mode);
 
 	int currentPalette = _frames[frameId]->_palette.paletteId;
-	if (!_puppetPalette && currentPalette != _lastPalette) {
+	if (!_puppetPalette && currentPalette != 0 && currentPalette != _lastPalette) {
 		_lastPalette = currentPalette;
 		g_director->setPalette(currentPalette);
 	}


Commit: 74454b0434037b71fe5c7828c235c7e71006d879
    https://github.com/scummvm/scummvm/commit/74454b0434037b71fe5c7828c235c7e71006d879
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-07-27T09:07:02-04:00

Commit Message:
DIRECTOR: Properly initialize current palette id

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


diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 6bad75a7be..0371f8ff40 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -80,6 +80,7 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
 	_soundManager = nullptr;
 	_currentPalette = nullptr;
 	_currentPaletteLength = 0;
+	_currentPaletteId = 0;
 	_mainStage = nullptr;
 	_windowList = new Datum;
 	_windowList->type = ARRAY;
diff --git a/engines/director/director.h b/engines/director/director.h
index c4c56654d4..a27a6542ca 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -193,6 +193,7 @@ public:
 	void loadDefaultPalettes();
 	const byte *getPalette() const { return _currentPalette; }
 	uint16 getPaletteColorCount() const { return _currentPaletteLength; }
+	int getPaletteId() const { return _currentPaletteId; }
 	void loadPatterns();
 	uint32 transformColor(uint32 color);
 	Graphics::MacPatterns &getPatterns();
@@ -232,6 +233,7 @@ private:
 	DirectorSound *_soundManager;
 	byte *_currentPalette;
 	uint16 _currentPaletteLength;
+	int _currentPaletteId;
 	Lingo *_lingo;
 
 	Stage *_mainStage;
diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp
index 42a9022d0e..c0cbefe2ac 100644
--- a/engines/director/graphics.cpp
+++ b/engines/director/graphics.cpp
@@ -773,6 +773,7 @@ bool DirectorEngine::setPalette(int id) {
 
 	PaletteV4 pal = _loadedPalettes[id];
 	setPalette(pal.palette, pal.length);
+	_currentPaletteId = id;
 
 	return true;
 }
@@ -786,6 +787,8 @@ void DirectorEngine::setPalette(byte *palette, uint16 count) {
 }
 
 void DirectorEngine::clearPalettes() {
+	_currentPaletteId = 0;
+
 	for (Common::HashMap<int, PaletteV4>::iterator it = _loadedPalettes.begin(); it != _loadedPalettes.end(); ++it) {
 		if (it->_value.id > 0)
 			delete[] it->_value.palette;
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index a83ade444b..8cf2f29424 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -228,6 +228,7 @@ void Score::startPlay() {
 	_currentFrame = 0;
 	_playState = kPlayStarted;
 	_nextFrameTime = 0;
+	_lastPalette = _vm->getPaletteId();
 
 	if (_frames.size() <= 1) {	// We added one empty sprite
 		warning("Score::startLoop(): Movie has no frames");




More information about the Scummvm-git-logs mailing list