1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-04 02:24:12 +02:00

remove the need for full reserve

This commit is contained in:
Robin Appelman 2021-07-24 16:05:23 +02:00
commit 522b282962
5 changed files with 80 additions and 66 deletions

View file

@ -23,8 +23,8 @@ const COPY_TYPES: &[PacketType] = &[
// PacketType::SyncTick, // bit perfect
// PacketType::ConsoleCmd, // bit perfect
// PacketType::DataTables, // bit perfect
// PacketType::StringTables, // clone enough
// PacketType::UserCmd, // bit perfect
// PacketType::StringTables, // close enough
// PacketType::UserCmd, // close enough
];
fn main() -> Result<(), MainError> {
@ -63,21 +63,15 @@ fn main() -> Result<(), MainError> {
match &mut packet {
Packet::Sigon(message_packet) | Packet::Message(message_packet) => {
message_packet.meta.view_angles = Default::default();
let messages = std::mem::take(&mut message_packet.messages);
let messages = messages
.into_iter()
.filter(|msg| msg.get_message_type() != MessageType::SetView)
.map(|mut msg| {
match &mut msg {
Message::ServerInfo(info) => {
info.stv = true;
}
_ => {}
};
msg
})
.collect::<Vec<_>>();
message_packet.messages = messages;
message_packet
.messages
.iter_mut()
.for_each(|msg| match msg {
Message::ServerInfo(info) => {
info.stv = true;
}
_ => {}
});
}
_ => {}
}