]> git.seodisparate.com - jumpartifact.com_demo_0/commitdiff
Refactor y-pos caluclation when Walker moves
authorStephen Seo <seo.disparate@gmail.com>
Fri, 11 Aug 2023 04:37:47 +0000 (13:37 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Fri, 11 Aug 2023 04:37:47 +0000 (13:37 +0900)
src/walker.h

index 850cdd1486380c2b3f5383298799db7befc4b082..80b8fa8b9805110deae1a6772954520a826fd968 100644 (file)
@@ -90,12 +90,10 @@ void Walker::update(float dt, const TBBS &bbs, unsigned int width,
       float y = 0.0F;
       float z = (float)(idx / width) - SURFACE_Y_OFFSET;
 
-      Ray downwards{.position = Vector3{x, 20.0F, z},
+      Ray downwards{.position = Vector3{x, bbs[idx].max.y + 1.0F, z},
                     .direction = Vector3{0.0F, -1.0F, 0.0F}};
-      for (const auto &bb : bbs) {
-        if (GetRayCollisionBox(downwards, bb).hit) {
-          y = (bb.min.y + bb.max.y) / 2.0F;
-        }
+      if (GetRayCollisionBox(downwards, bbs[idx]).hit) {
+        y = (bbs[idx].min.y + bbs[idx].max.y) / 2.0F;
       }
 
       set_body_pos(Vector3{x, y, z});