From af8b91ab33741cc3f7c658cbc2a5acd7a4a714a2 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Tue, 26 Jan 2021 08:19:15 -0500 Subject: [PATCH] return -1 dist on failed rays, slightly extend max ray distance --- main.cpp | 3 ++- stuff/objects/ray2D.h | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/main.cpp b/main.cpp index bbcada4..ff050c8 100644 --- a/main.cpp +++ b/main.cpp @@ -35,12 +35,13 @@ int main(int argc, char** argv) SDL_SetRenderDrawColor(renderer, 0, 0, 0, 0); SDL_RenderFillRect(renderer, NULL); SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); + ray2D ray = ray2D::trace(vector2(0, 201), vector2(1, 0)); ray2D ray2 = ray2D::trace(vector2(201, 0), vector2(0, 1)); - SDL_RenderDrawLine(renderer, ray.start.x, ray.start.y, ray.end.x, ray.end.y); SDL_RenderDrawLine(renderer, ray2.start.x, ray2.start.y, ray2.end.x, ray2.end.y); + //demo rays with moving object global::entList.at(0).x = global::mousePos.x; global::entList.at(0).y = global::mousePos.y; diff --git a/stuff/objects/ray2D.h b/stuff/objects/ray2D.h index 4cf117e..f39a4a3 100644 --- a/stuff/objects/ray2D.h +++ b/stuff/objects/ray2D.h @@ -33,8 +33,11 @@ struct ray2D } } ray.dist = start.distance(point); - if (ray.dist > 1000) + if (ray.dist > 1500) + { + ray.dist = -1; break; + } point.x += direction.x; point.y += direction.y; }