From 8bcbd2729388edc63c82d77d314b583af1447c49 Mon Sep 17 00:00:00 2001 From: untodesu Date: Sun, 14 Sep 2025 19:16:44 +0500 Subject: Cleanup math with qfengine ports again --- game/client/entity/interpolation.cc | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'game/client/entity/interpolation.cc') diff --git a/game/client/entity/interpolation.cc b/game/client/entity/interpolation.cc index ef23a4c..c88fcf2 100644 --- a/game/client/entity/interpolation.cc +++ b/game/client/entity/interpolation.cc @@ -19,9 +19,9 @@ static void transform_interpolate(float alpha) entt::get); for(auto [entity, interp, current, previous] : group.each()) { - interp.angles[0] = math::lerp(previous.angles[0], current.angles[0], alpha); - interp.angles[1] = math::lerp(previous.angles[1], current.angles[1], alpha); - interp.angles[2] = math::lerp(previous.angles[2], current.angles[2], alpha); + interp.angles[0] = glm::mix(previous.angles[0], current.angles[0], alpha); + interp.angles[1] = glm::mix(previous.angles[1], current.angles[1], alpha); + interp.angles[2] = glm::mix(previous.angles[2], current.angles[2], alpha); // Figure out previous chunk-local floating-point coordinates transformed // to the current WorldCoord's chunk domain coordinates; we're interpolating @@ -33,9 +33,9 @@ static void transform_interpolate(float alpha) interp.chunk.y = current.chunk.y; interp.chunk.z = current.chunk.z; - interp.local.x = math::lerp(previous_local.x, current.local.x, alpha); - interp.local.y = math::lerp(previous_local.y, current.local.y, alpha); - interp.local.z = math::lerp(previous_local.z, current.local.z, alpha); + interp.local.x = glm::mix(previous_local.x, current.local.x, alpha); + interp.local.y = glm::mix(previous_local.y, current.local.y, alpha); + interp.local.z = glm::mix(previous_local.z, current.local.z, alpha); } } @@ -44,13 +44,13 @@ static void head_interpolate(float alpha) auto group = globals::dimension->entities.group(entt::get); for(auto [entity, interp, current, previous] : group.each()) { - interp.angles[0] = math::lerp(previous.angles[0], current.angles[0], alpha); - interp.angles[1] = math::lerp(previous.angles[1], current.angles[1], alpha); - interp.angles[2] = math::lerp(previous.angles[2], current.angles[2], alpha); + interp.angles[0] = glm::mix(previous.angles[0], current.angles[0], alpha); + interp.angles[1] = glm::mix(previous.angles[1], current.angles[1], alpha); + interp.angles[2] = glm::mix(previous.angles[2], current.angles[2], alpha); - interp.offset.x = math::lerp(previous.offset.x, current.offset.x, alpha); - interp.offset.y = math::lerp(previous.offset.y, current.offset.y, alpha); - interp.offset.z = math::lerp(previous.offset.z, current.offset.z, alpha); + interp.offset.x = glm::mix(previous.offset.x, current.offset.x, alpha); + interp.offset.y = glm::mix(previous.offset.y, current.offset.y, alpha); + interp.offset.z = glm::mix(previous.offset.z, current.offset.z, alpha); } } -- cgit