[Scummvm-git-logs] scummvm master -> 00d361a60e7c8a8185aefb67f57bdeccca2e962a

OMGPizzaGuy noreply at scummvm.org
Fri Jan 6 01:38:41 UTC 2023


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:
00d361a60e ULTIMA8: Adjust paperdoll gump for better drag feedback


Commit: 00d361a60e7c8a8185aefb67f57bdeccca2e962a
    https://github.com/scummvm/scummvm/commit/00d361a60e7c8a8185aefb67f57bdeccca2e962a
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2023-01-05T19:38:06-06:00

Commit Message:
ULTIMA8: Adjust paperdoll gump for better drag feedback

Changed paths:
    engines/ultima/ultima8/gumps/paperdoll_gump.cpp


diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
index b905c3c229b..df771c069f4 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
@@ -303,6 +303,15 @@ bool PaperdollGump::StartDraggingItem(Item *item, int mx, int my) {
 	Mouse::get_instance()->setDraggingOffset(frame->_width / 2 - frame->_xoff,
 	        frame->_height / 2 - frame->_yoff);
 
+	// Remove equipment and clear owner on drag start for better drag feedback
+	// NOTE: This original game appears to equip/unequip the item during drag instead of on drop
+	if (_owner == item->getParent() && item->hasFlags(Item::FLG_EQUIPPED)) {
+		Actor *a = getActor(_owner);
+		if (a && a->removeItem(item)) {
+			item->setParent(0);
+		}
+	}
+
 	return ret;
 }
 




More information about the Scummvm-git-logs mailing list