forked from StrafesNET/roblox-bot-player
26 lines
1.1 KiB
Rust
26 lines
1.1 KiB
Rust
use strafesnet_roblox_bot_file::v0;
|
|
use strafesnet_roblox_bot_player::{bot,bvh,head};
|
|
use head::Time as PlaybackTime;
|
|
use strafesnet_common::session::Time as SessionTime;
|
|
|
|
fn main(){
|
|
let bot=include_bytes!("../../web-demo/bhop_marble_7cf33a64-7120-4514-b9fa-4fe29d9523d.qbot");
|
|
let timelines=v0::read_all_to_block(std::io::Cursor::new(bot)).unwrap();
|
|
let bot=bot::CompleteBot::new(timelines);
|
|
let bvh=bvh::Bvh::new(&bot);
|
|
|
|
// sample the position at 0.24s
|
|
let mut playback0=head::PlaybackHead::new(&bot,SessionTime::ZERO);
|
|
for i in 0..10{
|
|
let sample_time=PlaybackTime::from_millis(6543+1*i);
|
|
playback0.set_time(&bot,SessionTime::ZERO,sample_time);
|
|
let pos=playback0.get_position(&bot,SessionTime::ZERO);
|
|
|
|
// get the closest time on the timeline (convert to PlaybackTime which starts at 0)
|
|
let closest_time=bot.playback_time(bvh.closest_time_to_point(&bot,pos).unwrap());
|
|
println!("time={sample_time} closest_time={closest_time}");
|
|
}
|
|
// let mut playback1=head::PlaybackHead::new(&bot,SessionTime::ZERO);
|
|
// playback1.set_time(&bot,SessionTime::ZERO,sample_time);
|
|
}
|