[Scummvm-git-logs] scummvm master -> adc8847982073fffdb54591039c5c746dc1b181c
npjg
nathanael.gentrydb8 at gmail.com
Fri Aug 14 05:24:37 UTC 2020
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:
adc8847982 DIRECTOR: Make editable texts editable again
Commit: adc8847982073fffdb54591039c5c746dc1b181c
https://github.com/scummvm/scummvm/commit/adc8847982073fffdb54591039c5c746dc1b181c
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-08-14T01:23:11-04:00
Commit Message:
DIRECTOR: Make editable texts editable again
Changed paths:
engines/director/channel.cpp
engines/director/channel.h
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/channel.cpp b/engines/director/channel.cpp
index d8a69d329a..cf93328fde 100644
--- a/engines/director/channel.cpp
+++ b/engines/director/channel.cpp
@@ -280,9 +280,23 @@ void Channel::setClean(Sprite *nextSprite, int spriteId, bool partial) {
_sprite->updateCast();
replaceWidget();
}
+
+ setEditable(_sprite->_editable);
+
_dirty = false;
}
+void Channel::setEditable(bool editable) {
+ if (_sprite->_cast && _sprite->_cast->_type == kCastText) {
+ _sprite->_cast->setEditable(editable);
+
+ if (_widget) {
+ _widget->_editable = editable;
+ g_director->_wm->setActiveWidget(_widget);
+ }
+ }
+}
+
void Channel::replaceSprite(Sprite *nextSprite) {
if (!nextSprite)
return;
diff --git a/engines/director/channel.h b/engines/director/channel.h
index f36824c0d3..b284cd1562 100644
--- a/engines/director/channel.h
+++ b/engines/director/channel.h
@@ -56,6 +56,7 @@ public:
void setBbox(int l, int t, int r, int b);
void setCast(uint16 castId);
void setClean(Sprite *nextSprite, int spriteId, bool partial = false);
+ void setEditable(bool editable);
void replaceSprite(Sprite *nextSprite);
void replaceWidget();
bool updateWidget();
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index f8138927ca..1705f338fb 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -1297,8 +1297,7 @@ void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
}
break;
case kTheEditableText:
- if (sprite->_cast)
- sprite->_cast->setEditable(d.asInt());
+ channel->setEditable(d.asInt());
break;
case kTheForeColor:
if (d.asInt() != sprite->_foreColor) {
More information about the Scummvm-git-logs
mailing list