diff --git a/src/bin/reencode.rs b/src/bin/reencode.rs index cdf7fe8..e02165f 100644 --- a/src/bin/reencode.rs +++ b/src/bin/reencode.rs @@ -14,6 +14,10 @@ fn main() { let mut rply = decode(&mut file).unwrap(); let header = &rply.header; println!("{header:?}"); + if header.version() == 0 { + println!("Can't upgrade v0 replays without a core"); + std::process::exit(-1); + } let mut header_out = header.clone(); header_out.upgrade(); header_out.set_block_size(128); @@ -34,9 +38,9 @@ fn main() { rply.frame_number, frame.inputs(), ); + //frame.drop_checkpoint(); out.write_frame(&frame).unwrap(); if Some(rply.frame_number) == rply.header.frame_count() { - println!("Done!"); break; } } diff --git a/src/rply.rs b/src/rply.rs index 893a0c7..8da6b6a 100644 --- a/src/rply.rs +++ b/src/rply.rs @@ -825,6 +825,11 @@ impl Frame { } output } + pub fn drop_checkpoint(&mut self) { + self.checkpoint_bytes.clear(); + self.checkpoint_compression = Compression::None; + self.checkpoint_encoding = Encoding::Raw; + } } impl Default for Frame {