mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 10:14:06 +02:00
feature gate write support, use hash to compare game event definitions
This commit is contained in:
parent
6ef2b1cea8
commit
fbaca025b6
32 changed files with 6168 additions and 4363 deletions
|
|
@ -1,11 +1,19 @@
|
|||
#[cfg(feature = "write")]
|
||||
use bitbuffer::{BitReadBuffer, BitReadStream, BitWriteStream, LittleEndian};
|
||||
#[cfg(feature = "write")]
|
||||
use std::fs;
|
||||
#[cfg(feature = "write")]
|
||||
use test_case::test_case;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::message::Message;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::packet::Packet;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::parser::{DemoHandler, Encode, NullHandler};
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::{MessageType, Parse};
|
||||
|
||||
#[cfg(feature = "write")]
|
||||
fn setup_packet(handler: &mut DemoHandler<NullHandler>, input: &str) {
|
||||
let data = fs::read(input).unwrap();
|
||||
let mut stream = BitReadStream::new(BitReadBuffer::new_owned(data, LittleEndian));
|
||||
|
|
@ -13,6 +21,7 @@ fn setup_packet(handler: &mut DemoHandler<NullHandler>, input: &str) {
|
|||
handler.handle_packet(packet).unwrap();
|
||||
}
|
||||
|
||||
#[cfg(feature = "write")]
|
||||
fn setup_message(handler: &mut DemoHandler<NullHandler>, input: &str) {
|
||||
let data = fs::read(input).unwrap();
|
||||
let mut stream = BitReadStream::new(BitReadBuffer::new_owned(data, LittleEndian));
|
||||
|
|
@ -25,6 +34,7 @@ fn setup_message(handler: &mut DemoHandler<NullHandler>, input: &str) {
|
|||
handler.handle_message(message, 0.into());
|
||||
}
|
||||
|
||||
#[cfg(feature = "write")]
|
||||
#[test_case("game_event_list.bin", MessageType::GameEventList, &[], &[]; "game_event_list")]
|
||||
#[test_case("packet_entities.bin", MessageType::PacketEntities, &["setup_data_tables.bin", "setup_string_tables.bin"], &[]; "packet_entities")]
|
||||
#[test_case("packet_entities_pov1.bin", MessageType::PacketEntities, &["setup_data_tables_pov.bin", "setup_string_tables_pov.bin"], &[]; "packet_entities_pov1")]
|
||||
|
|
|
|||
|
|
@ -1,16 +1,28 @@
|
|||
#[cfg(feature = "write")]
|
||||
use std::fs;
|
||||
#[cfg(feature = "write")]
|
||||
use test_case::test_case;
|
||||
|
||||
#[cfg(feature = "write")]
|
||||
use bitbuffer::{BitRead, BitReadBuffer, BitReadStream, BitWrite, BitWriteStream, LittleEndian};
|
||||
#[cfg(feature = "write")]
|
||||
use std::collections::HashMap;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::header::Header;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::message::Message;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::packet::datatable::SendTableName;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::packet::Packet;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::parser::{DemoHandler, Encode, NullHandler, RawPacketStream};
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::sendprop::{RawSendPropDefinition, SendPropIdentifier, SendPropName};
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::{Demo, Parse};
|
||||
|
||||
#[cfg(feature = "write")]
|
||||
#[test_case("test_data/small.dem"; "small.dem")]
|
||||
#[test_case("test_data/gully.dem"; "gully.dem")]
|
||||
#[test_case("test_data/comp.dem"; "comp.dem")]
|
||||
|
|
|
|||
|
|
@ -1,11 +1,19 @@
|
|||
use bitbuffer::{BitReadBuffer, BitReadStream, BitWriteStream, LittleEndian};
|
||||
#[cfg(feature = "write")]
|
||||
use bitbuffer::BitWriteStream;
|
||||
use bitbuffer::{BitReadBuffer, BitReadStream, LittleEndian};
|
||||
use std::fs;
|
||||
use test_case::test_case;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::message::stringtable::StringTableMeta;
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::message::stringtable::{
|
||||
parse_string_table_update, write_string_table_update, StringTableMeta,
|
||||
parse_string_table_update, write_string_table_update,
|
||||
};
|
||||
use tf_demo_parser::demo::packet::stringtable::{FixedUserDataSize, StringTable};
|
||||
#[cfg(feature = "write")]
|
||||
use tf_demo_parser::demo::packet::stringtable::FixedUserDataSize;
|
||||
use tf_demo_parser::demo::packet::stringtable::StringTable;
|
||||
|
||||
#[cfg(feature = "write")]
|
||||
#[test_case("test_data/string_tables/decalprecache.bin", "test_data/string_tables/decalprecache_meta.json"; "decalprecache")]
|
||||
#[test_case("test_data/string_tables/downloadables.bin", "test_data/string_tables/downloadables_meta.json"; "downloadables")]
|
||||
#[test_case("test_data/string_tables/DynamicModels.bin", "test_data/string_tables/DynamicModels_meta.json"; "DynamicModels")]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue