summaryrefslogtreecommitdiffstats
path: root/game/client/entity/interpolation.cc
diff options
context:
space:
mode:
authoruntodesu <kirill@untode.su>2025-09-14 19:16:44 +0500
committeruntodesu <kirill@untode.su>2025-09-14 19:16:44 +0500
commit8bcbd2729388edc63c82d77d314b583af1447c49 (patch)
tree460c2b509372077f6adf95d72c4245988a580aed /game/client/entity/interpolation.cc
parent7fc7fdb001bea8674fe0dbc1b962f3ec2702debb (diff)
downloadvoxelius-8bcbd2729388edc63c82d77d314b583af1447c49.tar.bz2
voxelius-8bcbd2729388edc63c82d77d314b583af1447c49.zip
Cleanup math with qfengine ports again
Diffstat (limited to 'game/client/entity/interpolation.cc')
-rw-r--r--game/client/entity/interpolation.cc24
1 files changed, 12 insertions, 12 deletions
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<entity::Transform, entity::client::TransformPrev>);
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<entity::client::HeadIntr>(entt::get<entity::Head, entity::client::HeadPrev>);
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);
}
}