From b0d7bb7cfd9b8ba8df66b8aeb3323beb2c57621d Mon Sep 17 00:00:00 2001 From: BuildTools Date: Wed, 27 Jan 2021 18:19:35 -0500 Subject: [PATCH] return toolong rays at max dist isntead of failing --- demo/demo.cpp | 14 +++++++------- stuff/objects/ray2D.h | 7 +------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/demo/demo.cpp b/demo/demo.cpp index 93f9328..62d232b 100644 --- a/demo/demo.cpp +++ b/demo/demo.cpp @@ -2,14 +2,14 @@ void game::run(SDL_Renderer* renderer) { - 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); - std::cout << global::entList.at(0) << std::endl; - if (ray.hitEnt) - std::cout << std::hex << ray.hitEnt << std::endl; + for (int i = 0; i < 360; i += 1) + { + float x = 1 * sinf(i); + float y = 1 * cosf(i); + ray2D ray2 = ray2D::trace(vector2(300, 300), vector2(x, 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 bd70ac7..751d370 100644 --- a/stuff/objects/ray2D.h +++ b/stuff/objects/ray2D.h @@ -19,7 +19,7 @@ struct ray2D { for (square* object : global::entList) { - if (inRect(point, vector2(object->x, object->y), vector2(object->x + object->radius, object->y + object->radius))) + if (inRect(point, vector2(object->x, object->y), vector2(object->x + object->radius, object->y + object->radius)) || ray.dist > 1500) { ray.start = start; ray.end = point; @@ -30,11 +30,6 @@ struct ray2D } } ray.dist = start.distance(point); - if (ray.dist > 1500) - { - ray.dist = -1; - break; - } point.x += direction.x; point.y += direction.y; }