aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/core/game_object.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/core/game_object.cpp')
-rw-r--r--engines/titanic/core/game_object.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/engines/titanic/core/game_object.cpp b/engines/titanic/core/game_object.cpp
index ab91a6decc..1519a2de66 100644
--- a/engines/titanic/core/game_object.cpp
+++ b/engines/titanic/core/game_object.cpp
@@ -289,18 +289,17 @@ bool CGameObject::checkPoint(const Point &pt, bool ignoreSurface, bool visibleOn
return pixel != transColor;
}
-bool CGameObject::findPoint(Point &pt) {
+bool CGameObject::findPoint(Quadrant quadrant, Point &pt) {
// Start by checking a centroid point in the bounds
if (!_bounds.isEmpty()) {
- pt = Point((_bounds.left + _bounds.right) / 2,
- (_bounds.top + _bounds.bottom) / 2);
+ pt = _bounds.getPoint(quadrant);
if (checkPoint(pt, false, true))
return true;
}
// Scan through all the area of the bounds to find a valid point
- for (pt.y = _bounds.top; pt.y < _bounds.bottom; ++pt.y) {
- for (pt.x = _bounds.left; pt.x < _bounds.right; ++pt.x) {
+ for (; pt.y < _bounds.bottom; ++pt.y, pt.x = _bounds.left) {
+ for (; pt.x < _bounds.right; ++pt.x) {
if (checkPoint(pt, false, true))
return true;
}