[Scummvm-git-logs] scummvm master -> 4b4f4da44fd775f634694be9f09da51a7a015f6a
moralrecordings
noreply at scummvm.org
Fri May 31 09:18:25 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
4b4f4da44f DIRECTOR: Fix missing cast member ID in palette record
Commit: 4b4f4da44fd775f634694be9f09da51a7a015f6a
https://github.com/scummvm/scummvm/commit/4b4f4da44fd775f634694be9f09da51a7a015f6a
Author: Scott Percival (code at moral.net.au)
Date: 2024-05-31T17:15:57+08:00
Commit Message:
DIRECTOR: Fix missing cast member ID in palette record
This is relied on by b_puppetSprite.
Fixes various palette regressions in The Dark Eye.
Changed paths:
engines/director/castmember/palette.cpp
engines/director/castmember/palette.h
diff --git a/engines/director/castmember/palette.cpp b/engines/director/castmember/palette.cpp
index e6ef96e646e..0c59ab0c072 100644
--- a/engines/director/castmember/palette.cpp
+++ b/engines/director/castmember/palette.cpp
@@ -48,6 +48,17 @@ PaletteCastMember::~PaletteCastMember() {
}
}
+CastMemberID PaletteCastMember::getPaletteId() {
+ load();
+ return _palette ? _palette->id : CastMemberID();
+}
+
+void PaletteCastMember::activatePalette() {
+ load();
+ if (_palette)
+ g_director->setPalette(_palette->id);
+}
+
Common::String PaletteCastMember::formatInfo() {
Common::String result;
if (_palette) {
@@ -89,8 +100,8 @@ void PaletteCastMember::load() {
Common::SeekableReadStreamEndian *pal = arch->getResource(MKTAG('C', 'L', 'U', 'T'), paletteId);
debugC(2, kDebugImages, "PaletteCastMember::load(): linking palette id %d to cast index %d", paletteId, _castId);
PaletteV4 palData = _cast->loadPalette(*pal, paletteId);
- CastMemberID cid(_castId, _cast->_castLibID);
- g_director->addPalette(cid, palData.palette, palData.length);
+ palData.id = CastMemberID(_castId, _cast->_castLibID);
+ g_director->addPalette(palData.id, palData.palette, palData.length);
_palette = new PaletteV4(palData);
delete pal;
} else {
diff --git a/engines/director/castmember/palette.h b/engines/director/castmember/palette.h
index d669d78b82b..78e5bb90f9d 100644
--- a/engines/director/castmember/palette.h
+++ b/engines/director/castmember/palette.h
@@ -31,8 +31,8 @@ public:
PaletteCastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndian &stream, uint16 version);
PaletteCastMember(Cast *cast, uint16 castId, PaletteCastMember &source);
~PaletteCastMember();
- CastMemberID getPaletteId() { return _palette ? _palette->id : CastMemberID(0, 0); }
- void activatePalette() { if (_palette) g_director->setPalette(_palette->id); }
+ CastMemberID getPaletteId();
+ void activatePalette();
Common::String formatInfo() override;
More information about the Scummvm-git-logs
mailing list