[Scummvm-git-logs] scummvm master -> 895120da72a100eac682606e85188848b21feacd

mduggan noreply at scummvm.org
Sat Mar 11 06:50:10 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:
895120da72 TETRAEDGE: Fix pathfinding for clicks outside move areas


Commit: 895120da72a100eac682606e85188848b21feacd
    https://github.com/scummvm/scummvm/commit/895120da72a100eac682606e85188848b21feacd
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-03-11T15:49:59+09:00

Commit Message:
TETRAEDGE: Fix pathfinding for clicks outside move areas

Changed paths:
    engines/tetraedge/te/te_free_move_zone.cpp


diff --git a/engines/tetraedge/te/te_free_move_zone.cpp b/engines/tetraedge/te/te_free_move_zone.cpp
index d5d6615a141..98368ea3b84 100644
--- a/engines/tetraedge/te/te_free_move_zone.cpp
+++ b/engines/tetraedge/te/te_free_move_zone.cpp
@@ -351,14 +351,8 @@ TeIntrusivePtr<TeBezierCurve> TeFreeMoveZone::curve(const TeVector3f32 &startpt,
 
 		retval = new TeBezierCurve();
 		retval->setControlPoints(pts3d);
-	} else {
-		// No path found, just use start and end points.
-		Common::Array<TeVector3f32> points;
-		points.push_back(startpt);
-		points.push_back(endpt);
-		retval = new TeBezierCurve();
-		retval->setControlPoints(points);
 	}
+	// If no path found, return nullptr.
 
 	return retval;
 }
@@ -462,17 +456,17 @@ static int segmentIntersection(const TeVector2f32 &s1start, const TeVector2f32 &
 						TeVector2f32 *sout, float *fout1, float *fout2) {
 	const TeVector2f32 s1len = s1end - s1start;
 	const TeVector2f32 s2len = s2end - s2start;
-	float dotprod = s1len.getX() * s2len.getX() + s1len.getY() * s2len.getY();
+	float det = s1len.getX() * s2len.getY() + s1len.getY() * s2len.getX();
 	int result = 0;
-	if (dotprod != 0) {
+	if (det != 0) {
 		result = 1;
 		float intersect1 = -((s1len.getY() * s1start.getX() +
 						(s1len.getX() * s2start.getY() - s1len.getX() * s1start.getY())) -
-						 s1len.getY() * s2start.getX()) / dotprod;
+						 s1len.getY() * s2start.getX()) / det;
 		if (intersect1 >= 0.0f && intersect1 <= 1.0f) {
-			float intersect2 = -((s2len.getY() * s2start.getY() +
-						(s2len.getX() * s1start.getX() - s2len.getX() * s2start.getX())) -
-						 s2len.getY() * s1start.getY()) / dotprod;
+			float intersect2 = -((s2len.getY() * s2start.getX() +
+						(s2len.getX() * s1start.getY() - s2len.getX() * s2start.getY())) -
+						 s2len.getY() * s1start.getX()) / det;
 			if (intersect2 >= 0.0f && intersect2 <= 1.0f) {
 				result = 2;
 				if (sout)




More information about the Scummvm-git-logs mailing list