From 400bda78d2ad98c7671c384e58cb6d74ba7579fd Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sat, 17 Dec 2011 16:21:32 +0200 Subject: DREAMWEB: Fix another regression in selectOb() (thanks wjp) --- engines/dreamweb/object.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'engines') diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp index 3cea2a5c2f..dbae7e2ba5 100644 --- a/engines/dreamweb/object.cpp +++ b/engines/dreamweb/object.cpp @@ -401,8 +401,19 @@ void DreamGenContext::selectOb() { data.byte(kWithobject) = objectId & 0x00FF; data.byte(kWithtype) = objectId >> 8; - if (objectId == data.word(kOldsubject) && data.byte(kCommandtype) != 221) - data.byte(kCommandtype) = 221; + if (objectId == data.word(kOldsubject)) { + if (data.byte(kCommandtype) == 221) { + // Object already selected + if (data.word(kMousebutton) != data.word(kOldbutton) && (data.word(kMousebutton) & 1)) { + delPointer(); + data.byte(kInvopen) = 0; + useRoutine(); + } + return; + } else { + data.byte(kCommandtype) = 221; + } + } data.word(kOldsubject) = objectId; commandWithOb(0, data.byte(kWithtype), data.byte(kWithobject)); -- cgit v1.2.3