[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