aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/core/drop_target.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/core/drop_target.cpp')
-rw-r--r--engines/titanic/core/drop_target.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/engines/titanic/core/drop_target.cpp b/engines/titanic/core/drop_target.cpp
index 13a31c3f8a..ffeab03545 100644
--- a/engines/titanic/core/drop_target.cpp
+++ b/engines/titanic/core/drop_target.cpp
@@ -34,7 +34,7 @@ BEGIN_MESSAGE_MAP(CDropTarget, CGameObject)
END_MESSAGE_MAP()
CDropTarget::CDropTarget() : CGameObject(), _itemFrame(0),
- _itemMatchSize(0), _showItem(false), _fieldF4(0), _dropFrame(0),
+ _itemMatchSize(0), _showItem(false), _dropEnabled(false), _dropFrame(0),
_dragFrame(0), _dragCursorId(CURSOR_ARROW), _dropCursorId(CURSOR_HAND),
_clipFlags(20) {
}
@@ -48,7 +48,7 @@ void CDropTarget::save(SimpleFile *file, int indent) {
file->writeQuotedLine(_soundName, indent);
file->writeNumberLine(_showItem, indent);
file->writeQuotedLine(_itemName, indent);
- file->writeNumberLine(_fieldF4, indent);
+ file->writeNumberLine(_dropEnabled, indent);
file->writeNumberLine(_dropFrame, indent);
file->writeNumberLine(_dragFrame, indent);
file->writeQuotedLine(_clipName, indent);
@@ -68,7 +68,7 @@ void CDropTarget::load(SimpleFile *file) {
_soundName = file->readString();
_showItem = file->readNumber();
_itemName = file->readString();
- _fieldF4 = file->readNumber();
+ _dropEnabled = file->readNumber();
_dropFrame = file->readNumber();
_dragFrame = file->readNumber();
_clipName = file->readString();
@@ -113,12 +113,13 @@ bool CDropTarget::DropObjectMsg(CDropObjectMsg *msg) {
}
bool CDropTarget::MouseDragStartMsg(CMouseDragStartMsg *msg) {
+ CTreeItem *dragItem = msg->_dragItem;
if (!checkStartDragging(msg))
return false;
- //msg->_dragItem = msg->_dragItem;
+ msg->_dragItem = dragItem;
CGameObject *obj = dynamic_cast<CGameObject *>(findByName(_itemName));
- if (_itemName.empty() || _fieldF4 || !obj)
+ if (_itemName.empty() || _dropEnabled || !obj)
return false;
CDropZoneLostObjectMsg lostMsg;
@@ -134,7 +135,7 @@ bool CDropTarget::MouseDragStartMsg(CMouseDragStartMsg *msg) {
msg->_dragItem = obj;
CPassOnDragStartMsg passMsg(msg->_mousePos, 1);
passMsg.execute(obj);
- setVisible(true);
+ obj->setVisible(true);
}
return true;
@@ -160,7 +161,7 @@ bool CDropTarget::EnterViewMsg(CEnterViewMsg *msg) {
bool CDropTarget::VisibleMsg(CVisibleMsg *msg) {
setVisible(msg->_visible);
- _fieldF4 = !msg->_visible;
+ _dropEnabled = !msg->_visible;
return true;
}