summaryrefslogtreecommitdiff
path: root/server/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/lib.rs')
-rw-r--r--server/src/lib.rs19
1 files changed, 18 insertions, 1 deletions
diff --git a/server/src/lib.rs b/server/src/lib.rs
index a59aad11..2cbcc10b 100644
--- a/server/src/lib.rs
+++ b/server/src/lib.rs
@@ -20,5 +20,22 @@ pub mod data;
pub mod entity;
pub mod game;
pub mod interaction;
-pub mod state;
pub mod spatial_index;
+pub mod state;
+
+use hurrycurry_protocol::glam::Vec2;
+
+pub trait InterpolateExt {
+ fn exp_to(&mut self, target: Self, dt: f32);
+}
+impl InterpolateExt for Vec2 {
+ fn exp_to(&mut self, target: Self, dt: f32) {
+ self.x = target.x + (self.x - target.x) * (-dt).exp();
+ self.y = target.y + (self.y - target.y) * (-dt).exp();
+ }
+}
+impl InterpolateExt for f32 {
+ fn exp_to(&mut self, target: Self, dt: f32) {
+ *self = target + (*self - target) * (-dt).exp();
+ }
+}