add get_angles

This commit is contained in:
2026-03-06 19:03:06 -08:00
parent 006a70a18b
commit e0a8175355
2 changed files with 13 additions and 3 deletions

View File

@@ -117,12 +117,16 @@ impl PlaybackHead{
let p=interp.position();
let a=interp.angles();
(p-bot.world_offset()+CompleteBot::CAMERA_OFFSET,a)
(p-bot.world_offset()+CompleteBot::CAMERA_OFFSET,a.yx())
}
pub fn get_velocity(&self,bot:&CompleteBot,time:SessionTime)->glam::Vec3{
let interp=self.interpolate_output(bot,time);
interp.velocity()
}
pub fn get_angles(&self,bot:&CompleteBot,time:SessionTime)->glam::Vec3{
let interp=self.interpolate_output(bot,time);
interp.angles()
}
}
struct InterpolateOutput<'a>{
@@ -141,9 +145,9 @@ impl InterpolateOutput<'_>{
let v1=vector3_to_glam(&self.event1.velocity);
v0.lerp(v1,self.t)
}
fn angles(&self)->glam::Vec2{
fn angles(&self)->glam::Vec3{
let a0=vector3_to_glam(&self.event0.angles);
let a1=vector3_to_glam(&self.event1.angles);
a0.lerp(a1,self.t).yx()
a0.lerp(a1,self.t)
}
}

View File

@@ -183,4 +183,10 @@ impl PlaybackHead{
pub fn get_game_controls(&self)->u32{
self.head.state().get_controls().bits()
}
#[wasm_bindgen]
pub fn get_angles(&self,bot:&CompleteBot,time:f64)->Vec<f32>{
let time=time::from_float(time).unwrap();
let angles=self.head.get_angles(&bot.bot,time);
angles.to_array().to_vec()
}
}