Compare commits

2 Commits
peq ... master

Author SHA1 Message Date
6775e4122b approximate round trip test 2025-12-15 15:16:57 -08:00
a34ecc4537 update roblox_bot_file 2025-12-15 15:14:03 -08:00
3 changed files with 15 additions and 7 deletions

5
Cargo.lock generated
View File

@@ -42,7 +42,6 @@ checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
name = "bot-cruncher"
version = "0.1.0"
dependencies = [
"binrw",
"futures",
"strafesnet_roblox_bot_file",
"tokio",
@@ -209,9 +208,9 @@ checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589"
[[package]]
name = "strafesnet_roblox_bot_file"
version = "0.7.1-pre1"
version = "0.8.1"
source = "sparse+https://git.itzana.me/api/packages/strafesnet/cargo/"
checksum = "c308e2ddb87eb19dc1e888b5cd957e3979c47126d2c531b39caa851d709b50cd"
checksum = "33d0fa524476d8b6cf23269b0c9cff6334b70585546b807cb8ec193858defecd"
dependencies = [
"binrw",
"bitflags",

View File

@@ -4,8 +4,7 @@ version = "0.1.0"
edition = "2024"
[dependencies]
binrw = "0.15.0"
futures = "0.3.31"
strafesnet_roblox_bot_file = { version = "0.7.1-pre1", registry = "strafesnet" }
strafesnet_roblox_bot_file = { version = "0.8.1", registry = "strafesnet" }
tokio = { version = "1.48.0", features = ["macros", "rt-multi-thread", "fs"] }
tokio-stream = { version = "0.1.17", features = ["fs"] }

View File

@@ -24,10 +24,11 @@ impl From<tokio::task::JoinError> for Error{
Self::Join(value)
}
}
#[expect(dead_code)]
#[derive(Debug)]
enum RoundTripError{
Decode(v0::Error),
Encode(binrw::Error),
Encode(strafesnet_roblox_bot_file::BinrwError),
RoundTripDecode(v0::Error),
NotEqual,
}
@@ -94,7 +95,16 @@ async fn main()->Result<(),Error>{
let mut data=Vec::with_capacity(file.len()+1024);
v0::serialize(&block,&mut std::io::Cursor::new(&mut data)).map_err(RoundTripError::Encode)?;
let block_rt=v0::read_all_to_block(std::io::Cursor::new(data)).map_err(RoundTripError::RoundTripDecode)?;
if block_rt!=block{
if !(
block_rt.input_events.len()==block.input_events.len()&&
block_rt.output_events.len()==block.output_events.len()&&
block_rt.sound_events.len()==block.sound_events.len()&&
block_rt.world_events.len()==block.world_events.len()&&
block_rt.gravity_events.len()==block.gravity_events.len()&&
block_rt.run_events.len()==block.run_events.len()&&
block_rt.camera_events.len()==block.camera_events.len()&&
block_rt.setting_events.len()==block.setting_events.len()
){
return Err(RoundTripError::NotEqual);
}
Ok(block)