diff --git a/src/walker.h b/src/walker.h index bf4268a..24c5532 100644 --- a/src/walker.h +++ b/src/walker.h @@ -35,9 +35,9 @@ class Walker { Walker(float x, float z, bool auto_roaming, float body_height = 2.0F, float body_feet_radius = 1.7F, float feet_radius = 1.5F); - template - void update(float dt, const TBBS &bbs, unsigned int width, - unsigned int height); + template + void update(float dt, const std::array &bbs, + unsigned int width, unsigned int height); void draw(const Model &model); @@ -76,9 +76,9 @@ class Walker { float roaming_timer; }; -template -void Walker::update(float dt, const TBBS &bbs, unsigned int width, - unsigned int height) { +template +void Walker::update(float dt, const std::array &bbs, + unsigned int width, unsigned int height) { if ((flags & 4) != 0 && (flags & 3) == 0) { roaming_timer += dt; if (roaming_timer > roaming_time) { @@ -223,6 +223,7 @@ void Walker::update(float dt, const TBBS &bbs, unsigned int width, for (const auto &bb : bbs) { if (GetRayCollisionBox(downwards, bb).hit) { leg_target.y = (bb.min.y + bb.max.y) / 2.0F; + break; } } }