[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