diff --git a/src/lib.rs b/src/lib.rs index 786bf02..f48632c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -151,11 +151,11 @@ pub fn cut(input: &[u8], start_tick: u32, end_tick: u32) -> Vec { let ty = packet.packet_type(); let original_tick = packet.tick(); packet.set_tick(original_tick - start_tick); - if ty != PacketType::ConsoleCmd { - packet - .encode(&mut out_stream, &handler.state_handler) - .unwrap(); - } + // if ty != PacketType::ConsoleCmd { + packet + .encode(&mut out_stream, &handler.state_handler) + .unwrap(); + // } handler.handle_packet(packet).unwrap(); if original_tick >= end_tick { @@ -163,9 +163,11 @@ pub fn cut(input: &[u8], start_tick: u32, end_tick: u32) -> Vec { } } PacketType::Stop.write(&mut out_stream).unwrap(); - StopPacket { tick: end_tick } - .encode(&mut out_stream, &handler.state_handler) - .unwrap(); + StopPacket { + tick: end_tick - start_tick, + } + .encode(&mut out_stream, &handler.state_handler) + .unwrap(); } out_buffer } diff --git a/tests/reparse.rs b/tests/reparse.rs index a89373a..07bd962 100644 --- a/tests/reparse.rs +++ b/tests/reparse.rs @@ -46,8 +46,10 @@ fn test_reparse_with_analyser= 50000 { + break; + } assert_eq!(original_tick.tick, cut_tick.tick + 30000); - // dbg!(original_tick.tick); let original_state = &original_tick.state; let cut_state = &cut_tick.state; @@ -57,11 +59,11 @@ fn test_reparse_with_analyser)>, + entities: Vec<(EntityId, (Vec, Vec))>, } impl MessageHandler for EntityDumper { - type Output = Vec<(EntityId, Vec)>; + type Output = Vec<(EntityId, (Vec, Vec))>; fn does_handle(message_type: MessageType) -> bool { match message_type { @@ -74,8 +76,10 @@ impl MessageHandler for EntityDumper { match message { Message::PacketEntities(entity_message) => { for entity in &entity_message.entities { - self.entities - .push((entity.entity_index, entity.props().cloned().collect())); + self.entities.push(( + entity.entity_index, + (entity.baseline_props.clone(), entity.props.clone()), + )); } } _ => {}