remove closed captions

This commit is contained in:
Robin Appelman 2022-04-20 23:19:20 +02:00
commit cdffdf511a

View file

@ -12,8 +12,10 @@ use std::cmp::{max, min};
use std::collections::BTreeSet; use std::collections::BTreeSet;
use std::convert::TryInto; use std::convert::TryInto;
use std::iter::once; use std::iter::once;
use std::mem::take;
use tf_demo_parser::demo::header::Header; use tf_demo_parser::demo::header::Header;
use tf_demo_parser::demo::message::packetentities::{EntityId, PacketEntitiesMessage, UpdateType}; use tf_demo_parser::demo::message::packetentities::{EntityId, PacketEntitiesMessage, UpdateType};
use tf_demo_parser::demo::message::usermessage::UserMessageType;
use tf_demo_parser::demo::message::{Message, NetTickMessage}; use tf_demo_parser::demo::message::{Message, NetTickMessage};
use tf_demo_parser::demo::packet::message::{MessagePacket, MessagePacketMeta}; use tf_demo_parser::demo::packet::message::{MessagePacket, MessagePacketMeta};
use tf_demo_parser::demo::packet::stop::StopPacket; use tf_demo_parser::demo::packet::stop::StopPacket;
@ -215,6 +217,20 @@ pub fn cut(input: &[u8], start_tick: u32, end_tick: u32) -> Vec<u8> {
remove_already_deletes(&mut packet, &start_entities, last_server_tick); remove_already_deletes(&mut packet, &start_entities, last_server_tick);
if let Packet::Message(msg_packet) = &mut packet {
let messages = take(&mut msg_packet.messages);
msg_packet.messages = messages
.into_iter()
.filter(|msg| {
if let Message::UserMessage(usr_msg) = msg {
UserMessageType::CloseCaption != usr_msg.message_type()
} else {
true
}
})
.collect();
}
if ty != PacketType::ConsoleCmd { if ty != PacketType::ConsoleCmd {
packet packet
.encode(&mut out_stream, &handler.state_handler) .encode(&mut out_stream, &handler.state_handler)