diff options
Diffstat (limited to 'engines/titanic/carry/glass.cpp')
-rw-r--r-- | engines/titanic/carry/glass.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/engines/titanic/carry/glass.cpp b/engines/titanic/carry/glass.cpp index 05c8d111b5..d57c63d0bb 100644 --- a/engines/titanic/carry/glass.cpp +++ b/engines/titanic/carry/glass.cpp @@ -127,14 +127,17 @@ bool CGlass::ActMsg(CActMsg *msg) { bool CGlass::MouseDragEndMsg(CMouseDragEndMsg *msg) { showMouse(); if (msg->_dropTarget) { - error("TODO: See what drop target is"); - CCharacter *npc = dynamic_cast<CCharacter *>(msg->_dropTarget); - if (npc) { - CUseWithCharMsg useMsg(npc); - useMsg.execute(this); + if (msg->_dropTarget->isPet()) { + petAddToInventory(); } else { - CUseWithOtherMsg otherMsg(npc); - otherMsg.execute(this); + CCharacter *npc = dynamic_cast<CCharacter *>(msg->_dropTarget); + if (npc) { + CUseWithCharMsg useMsg(npc); + useMsg.execute(this); + } else { + CUseWithOtherMsg otherMsg(npc); + otherMsg.execute(this); + } } } else if (compareViewNameTo(_fullViewName) && msg->_mousePos.y < 360) { setPosition(_origPos); |