Просмотр исходного кода

REVIEWED: CheckCollisionPointLine()

Use fabsf() instead of abs()
raysan5 4 лет назад
Родитель
Сommit
8e51e6d1df
1 измененных файлов с 2 добавлено и 3 удалено
  1. 2 3
      src/shapes.c

+ 2 - 3
src/shapes.c

@@ -1555,11 +1555,10 @@ bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshol
     float dyl = p2.y - p1.y;
     float cross = dxc*dyl - dyc*dxl;
     
-    if (abs(cross) < threshold*fmaxf(fabsf(dxl), fabsf(dyl)))
+    if (fabsf(cross) < (threshold*fmaxf(fabsf(dxl), fabsf(dyl))))
     {
         if (fabsf(dxl) >= fabsf(dyl)) collision = (dxl > 0)? ((p1.x <= point.x) && (point.x <= p2.x)) : ((p2.x <= point.x) && (point.x <= p1.x));
-        else
-        collision = (dyl > 0)? ((p1.y <= point.y) && (point.y <= p2.y)) : ((p2.y <= point.y) && (point.y <= p1.y));
+        else collision = (dyl > 0)? ((p1.y <= point.y) && (point.y <= p2.y)) : ((p2.y <= point.y) && (point.y <= p1.y));
     }
 	
     return collision;