[Scummvm-git-logs] scummvm branch-2-7 -> 9010056d7edd40ed6e14ca63d430cc3a65626b19

OMGPizzaGuy noreply at scummvm.org
Fri Feb 10 23:37:49 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:
9010056d7e ULTIMA8: Fix #14031 - ignore transparent non-solids when tracing items.


Commit: 9010056d7edd40ed6e14ca63d430cc3a65626b19
    https://github.com/scummvm/scummvm/commit/9010056d7edd40ed6e14ca63d430cc3a65626b19
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2023-02-10T17:37:22-06:00

Commit Message:
ULTIMA8: Fix #14031 - ignore transparent non-solids when tracing items.

Changed paths:
    engines/ultima/ultima8/world/item_sorter.cpp


diff --git a/engines/ultima/ultima8/world/item_sorter.cpp b/engines/ultima/ultima8/world/item_sorter.cpp
index 8fbf42c7c7e..661a21c6d86 100644
--- a/engines/ultima/ultima8/world/item_sorter.cpp
+++ b/engines/ultima/ultima8/world/item_sorter.cpp
@@ -385,6 +385,10 @@ uint16 ItemSorter::Trace(int32 x, int32 y, HitFace *face, bool item_highlight) {
 				// Doesn't Overlap
 				if (x < it->_sx || x >= it->_sx2 || y < it->_sy || y >= it->_sy2) continue;
 
+				// Skip transparent non-solids
+				if (!it->_solid && it->_trans)
+					continue;
+
 				// Now check the _frame itself
 				const ShapeFrame *_frame = it->_shape->getFrame(it->_frame);
 				assert(_frame); // invalid frames shouldn't have been added to the list
@@ -414,6 +418,10 @@ uint16 ItemSorter::Trace(int32 x, int32 y, HitFace *face, bool item_highlight) {
 			// Doesn't Overlap
 			if (x < it->_sx || x >= it->_sx2 || y < it->_sy || y >= it->_sy2) continue;
 
+			// Skip transparent non-solids
+			if (!it->_solid && it->_trans)
+				continue;
+
 			// Now check the _frame itself
 			const ShapeFrame *_frame = it->_shape->getFrame(it->_frame);
 			assert(_frame); // invalid frames shouldn't have been added to the list




More information about the Scummvm-git-logs mailing list