diff options
Diffstat (limited to 'engines/titanic/core/game_object.cpp')
-rw-r--r-- | engines/titanic/core/game_object.cpp | 9 |
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; } |