1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 10:14:06 +02:00

dont do view angles lazy for now

This commit is contained in:
Robin Appelman 2021-07-23 22:16:36 +02:00
commit ba2e3b5897
2 changed files with 6 additions and 11 deletions

View file

@ -20,11 +20,11 @@ use tf_demo_parser::{Demo, MessageType, Parse};
const COPY_TYPES: &[PacketType] = &[ const COPY_TYPES: &[PacketType] = &[
// PacketType::Sigon, // PacketType::Sigon,
// PacketType::Message, // PacketType::Message,
// PacketType::SyncTick, // bit perfect // PacketType::SyncTick, // bit perfect
// PacketType::ConsoleCmd, // bit perfect // PacketType::ConsoleCmd, // bit perfect
// PacketType::DataTables, // bit perfect // PacketType::DataTables, // bit perfect
// PacketType::StringTables, // clone enough // PacketType::StringTables, // clone enough
// PacketType::UserCmd, // bit perfect // PacketType::UserCmd, // bit perfect
]; ];
fn main() -> Result<(), MainError> { fn main() -> Result<(), MainError> {
@ -62,7 +62,7 @@ fn main() -> Result<(), MainError> {
} else { } else {
match &mut packet { match &mut packet {
Packet::Sigon(message_packet) | Packet::Message(message_packet) => { Packet::Sigon(message_packet) | Packet::Message(message_packet) => {
// message_packet.meta.view_angles = Default::default(); message_packet.meta.view_angles = Default::default();
let messages = std::mem::take(&mut message_packet.messages); let messages = std::mem::take(&mut message_packet.messages);
let messages = messages let messages = messages
.into_iter() .into_iter()
@ -79,9 +79,6 @@ fn main() -> Result<(), MainError> {
.collect::<Vec<_>>(); .collect::<Vec<_>>();
message_packet.messages = messages; message_packet.messages = messages;
} }
Packet::ConsoleCmd(cmd) => {
println!("{}", cmd.command);
}
_ => {} _ => {}
} }

View file

@ -1,6 +1,4 @@
use bitbuffer::{ use bitbuffer::{bit_size_of, BitRead, BitWrite, BitWriteStream, Endianness, LittleEndian};
bit_size_of, BitRead, BitWrite, BitWriteStream, Endianness, LazyBitRead, LittleEndian,
};
use crate::demo::message::{Message, MessageType}; use crate::demo::message::{Message, MessageType};
use crate::demo::parser::Encode; use crate::demo::parser::Encode;
@ -19,7 +17,7 @@ pub struct MessagePacketMeta {
pub struct MessagePacket<'a> { pub struct MessagePacket<'a> {
pub tick: u32, pub tick: u32,
pub messages: Vec<Message<'a>>, pub messages: Vec<Message<'a>>,
pub meta: LazyBitRead<'a, MessagePacketMeta, LittleEndian>, pub meta: MessagePacketMeta,
} }
#[derive(Clone, Debug, PartialEq, Default)] #[derive(Clone, Debug, PartialEq, Default)]
@ -140,7 +138,7 @@ impl<'a> Parse<'a> for MessagePacket<'a> {
impl Encode for MessagePacket<'_> { impl Encode for MessagePacket<'_> {
fn encode(&self, stream: &mut BitWriteStream<LittleEndian>, state: &ParserState) -> Result<()> { fn encode(&self, stream: &mut BitWriteStream<LittleEndian>, state: &ParserState) -> Result<()> {
self.tick.write(stream)?; self.tick.write(stream)?;
self.meta.read()?.write(stream)?; self.meta.write(stream)?;
stream.reserve_byte_length(32, |stream| { stream.reserve_byte_length(32, |stream| {
for message in self.messages.iter() { for message in self.messages.iter() {
message.get_message_type().write(stream)?; message.get_message_type().write(stream)?;