[Scummvm-git-logs] scummvm master -> 4b30859276daf59ce5be087ee35dc0d41dc11a39
djsrv
dservilla at gmail.com
Tue Jun 29 19:24:52 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:
e07f7a7f26 DIRECTOR: Use isModified() instead of _modified
4b30859276 DIRECTOR: Make _modified protected
Commit: e07f7a7f2620866b50e6956c7a157ceaf787ee9c
https://github.com/scummvm/scummvm/commit/e07f7a7f2620866b50e6956c7a157ceaf787ee9c
Author: djsrv (dservilla at gmail.com)
Date: 2021-06-29T15:19:24-04:00
Commit Message:
DIRECTOR: Use isModified() instead of _modified
isModified() does not simply return _modified for digital video, so
using _modified instead of isModified() caused digital video to not
update.
Changed paths:
engines/director/channel.cpp
diff --git a/engines/director/channel.cpp b/engines/director/channel.cpp
index 61f5db287e..a231b12369 100644
--- a/engines/director/channel.cpp
+++ b/engines/director/channel.cpp
@@ -424,14 +424,14 @@ void Channel::setBbox(int l, int t, int r, int b) {
// here's the definition, we first need to have widgets to keep, and the cast is not modified(modified means we need to re-create the widget)
// and the castId should be same while castId should not be zero
bool Channel::canKeepWidget(uint16 castId) {
- if (_widget && _sprite && _sprite->_cast && !_sprite->_cast->_modified && castId && castId == _sprite->_castId) {
+ if (_widget && _sprite && _sprite->_cast && !_sprite->_cast->isModified() && castId && castId == _sprite->_castId) {
return true;
}
return false;
}
bool Channel::canKeepWidget(Sprite *currentSprite, Sprite *nextSprite) {
- if (_widget && currentSprite && currentSprite->_cast && nextSprite && nextSprite->_cast && !currentSprite->_cast->_modified && currentSprite->_castId == nextSprite->_castId && currentSprite->_castId) {
+ if (_widget && currentSprite && currentSprite->_cast && nextSprite && nextSprite->_cast && !currentSprite->_cast->isModified() && currentSprite->_castId == nextSprite->_castId && currentSprite->_castId) {
return true;
}
return false;
Commit: 4b30859276daf59ce5be087ee35dc0d41dc11a39
https://github.com/scummvm/scummvm/commit/4b30859276daf59ce5be087ee35dc0d41dc11a39
Author: djsrv (dservilla at gmail.com)
Date: 2021-06-29T15:19:24-04:00
Commit Message:
DIRECTOR: Make _modified protected
We should always use isModified() outside of the CastMember class since
it can be overridden.
Changed paths:
engines/director/cast.cpp
engines/director/castmember.h
engines/director/channel.cpp
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index 814884069e..c79d216a77 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -168,7 +168,7 @@ void Cast::setCastMemberModified(int castId) {
return;
}
- cast->_modified = 1;
+ cast->setModified(true);
}
Common::String Cast::getString(Common::String str) {
diff --git a/engines/director/castmember.h b/engines/director/castmember.h
index 6bbb3fa8da..ca6a149df8 100644
--- a/engines/director/castmember.h
+++ b/engines/director/castmember.h
@@ -72,6 +72,7 @@ public:
virtual bool isEditable() { return false; }
virtual void setEditable(bool editable) {}
virtual bool isModified() { return _modified; }
+ virtual void setModified(bool modified) { _modified = modified; }
virtual Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel) { return nullptr; }
virtual void updateWidget(Graphics::MacWidget *widget, Channel *channel) {}
virtual void updateFromWidget(Graphics::MacWidget *widget) {}
@@ -96,7 +97,6 @@ public:
Common::Rect _boundingRect;
Common::Array<Resource> _children;
- bool _modified;
bool _hilite;
int _purgePriority;
uint32 _size;
@@ -107,6 +107,7 @@ protected:
uint16 _castId;
// a link to the widget we created, we may use it later
Graphics::MacWidget *_widget;
+ bool _modified;
};
class BitmapCastMember : public CastMember {
diff --git a/engines/director/channel.cpp b/engines/director/channel.cpp
index a231b12369..e554e76766 100644
--- a/engines/director/channel.cpp
+++ b/engines/director/channel.cpp
@@ -453,7 +453,7 @@ void Channel::replaceWidget(uint16 previousCastId) {
if (_sprite && _sprite->_cast) {
Common::Rect bbox(getBbox());
- _sprite->_cast->_modified = false;
+ _sprite->_cast->setModified(false);
// if (_sprite->_cast->_type == kCastText)
// debug("%s %d\n", ((TextCastMember *)_sprite->_cast)->_ftext.c_str(), ((TextCastMember *)_sprite->_cast)->_editable);
More information about the Scummvm-git-logs
mailing list