forked from StrafesNET/roblox-bot-player
add get_angles
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user