forked from StrafesNET/strafe-client
i128 not necessary in this case and use glam
This commit is contained in:
parent
6ada08ef6f
commit
c7da64cc64
19
src/body.rs
19
src/body.rs
@ -58,18 +58,13 @@ impl MouseInterpolationState {
|
|||||||
match self.interpolation {
|
match self.interpolation {
|
||||||
MouseInterpolation::First => self.mouse0,
|
MouseInterpolation::First => self.mouse0,
|
||||||
MouseInterpolation::Lerp => {
|
MouseInterpolation::Lerp => {
|
||||||
//a 5 hour run uses 45 bits of TIME
|
let m0=self.mouse0.as_i64vec2();
|
||||||
//mouse positions may accumulate on a map where the player spins, especially for high dpi...
|
let m1=self.mouse1.as_i64vec2();
|
||||||
let x0=self.mouse0.x as i128;
|
//these are deltas
|
||||||
let y0=self.mouse0.y as i128;
|
let t1t=(self.time1-time) as i64;
|
||||||
let x1=self.mouse1.x as i128;
|
let tt0=(time-self.time0) as i64;
|
||||||
let y1=self.mouse1.y as i128;
|
let dt=(self.time1-self.time0) as i64;
|
||||||
let t1t=(self.time1-time) as i128;
|
((m0*t1t+m1*tt0)/dt).as_ivec2()
|
||||||
let tt0=(time-self.time0) as i128;
|
|
||||||
let dt=(self.time1-self.time0) as i128;
|
|
||||||
glam::ivec2(
|
|
||||||
((x0*t1t+x1*tt0)/dt) as i32,
|
|
||||||
((y0*t1t+y1*tt0)/dt) as i32)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user