aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/carry/glass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/carry/glass.cpp')
-rw-r--r--engines/titanic/carry/glass.cpp17
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);