This commit is contained in:
Robin Appelman 2022-10-23 16:07:58 +02:00
commit b74df4e965
5 changed files with 18 additions and 17 deletions

View file

@ -20,7 +20,8 @@ cli = ["clap"]
bitbuffer = "0.10.5" bitbuffer = "0.10.5"
tf-demo-parser = { version = "0.4", git = "https://github.com/demostf/parser" } tf-demo-parser = { version = "0.4", git = "https://github.com/demostf/parser" }
#tf-demo-parser = { version = "0.4", path = "../tf-demo-parser" } #tf-demo-parser = { version = "0.4", path = "../tf-demo-parser" }
wasm-bindgen = { version = "0.2", features = ["serde-serialize"] } wasm-bindgen = { version = "0.2" }
serde-wasm-bindgen = "0.4"
web-sys = { version = "0.3", features = ["console"] } web-sys = { version = "0.3", features = ["console"] }
# The `console_error_panic_hook` crate provides better debugging of panics by # The `console_error_panic_hook` crate provides better debugging of panics by

View file

@ -1,13 +1,13 @@
use std::collections::{BTreeMap, BTreeSet}; use std::collections::{BTreeMap, BTreeSet};
use std::iter::once;
use std::mem::{replace, take};
use std::num::NonZeroU32;
use tf_demo_parser::demo::data::{DemoTick, ServerTick}; use tf_demo_parser::demo::data::{DemoTick, ServerTick};
use tf_demo_parser::demo::message::packetentities::{ use tf_demo_parser::demo::message::packetentities::{
EntityId, PacketEntitiesMessage, PacketEntity, UpdateType, EntityId, PacketEntitiesMessage, PacketEntity, UpdateType,
}; };
use tf_demo_parser::demo::packet::datatable::ClassId; use tf_demo_parser::demo::packet::datatable::ClassId;
use tf_demo_parser::demo::sendprop::{SendPropIdentifier, SendPropValue}; use tf_demo_parser::demo::sendprop::{SendPropIdentifier};
use tf_demo_parser::ParserState; use tf_demo_parser::ParserState;
#[derive(Default)] #[derive(Default)]
@ -92,7 +92,7 @@ impl ActiveEntities {
mut self, mut self,
state: &ParserState, state: &ParserState,
delta: ServerTick, delta: ServerTick,
tick: DemoTick, _tick: DemoTick,
parser_state: &ParserState, parser_state: &ParserState,
) -> ( ) -> (
impl IntoIterator<Item = PacketEntitiesMessage>, impl IntoIterator<Item = PacketEntitiesMessage>,

View file

@ -2,27 +2,27 @@ mod entity;
mod string_tables; mod string_tables;
use bitbuffer::{BitRead, BitWrite, BitWriteStream, LittleEndian}; use bitbuffer::{BitRead, BitWrite, BitWriteStream, LittleEndian};
use std::cmp::{max, min}; use std::cmp::{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 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::{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};
use tf_demo_parser::demo::packet::stop::StopPacket; use tf_demo_parser::demo::packet::stop::StopPacket;
use tf_demo_parser::demo::packet::{Packet, PacketType}; use tf_demo_parser::demo::packet::{Packet, PacketType};
use tf_demo_parser::demo::parser::{DemoHandler, Encode, NullHandler, RawPacketStream}; use tf_demo_parser::demo::parser::{DemoHandler, Encode, NullHandler, RawPacketStream};
use tf_demo_parser::{Demo, DemoParser, MessageType, ParserState}; use tf_demo_parser::{Demo, ParserState};
use tf_demo_parser::demo::data::{DemoTick, ServerTick}; use tf_demo_parser::demo::data::{DemoTick, ServerTick};
use wasm_bindgen::prelude::*;
use web_sys::console;
use crate::cut::entity::ActiveEntities; use crate::cut::entity::ActiveEntities;
use crate::cut::string_tables::StringTablesUpdates; use crate::cut::string_tables::StringTablesUpdates;
use crate::mutate::MessageMutator; use crate::mutate::MessageMutator;
use crate::{EditOptions, find_stv, MutatorList, PacketMutator}; use crate::{EditOptions, find_stv, PacketMutator};
const PRESERVE_PACKETS: &[PacketType] = &[ const PRESERVE_PACKETS: &[PacketType] = &[
PacketType::Signon, PacketType::Signon,

View file

@ -1,5 +1,5 @@
use std::collections::BTreeMap; use std::collections::BTreeMap;
use tf_demo_parser::demo::message::stringtable::{StringTableMeta, UpdateStringTableMessage}; use tf_demo_parser::demo::message::stringtable::{UpdateStringTableMessage};
use tf_demo_parser::demo::message::Message; use tf_demo_parser::demo::message::Message;
use tf_demo_parser::demo::packet::stringtable::StringTableEntry; use tf_demo_parser::demo::packet::stringtable::StringTableEntry;

View file

@ -12,9 +12,9 @@ use tf_demo_parser::demo::parser::{RawPacketStream, DemoHandler, Encode};
use tf_demo_parser::demo::packet::PacketType; use tf_demo_parser::demo::packet::PacketType;
use bitbuffer::{BitRead, BitWriteStream, LittleEndian}; use bitbuffer::{BitRead, BitWriteStream, LittleEndian};
use tf_demo_parser::demo::message::packetentities::EntityId; use tf_demo_parser::demo::message::packetentities::EntityId;
use serde::{Serialize, Deserialize};
use bitbuffer::BitWrite; use bitbuffer::BitWrite;
use tf_demo_parser::demo::data::DemoTick;
use crate::clean::clean_demo; use crate::clean::clean_demo;
use crate::cond::strip_cond; use crate::cond::strip_cond;
use crate::cut::cut; use crate::cut::cut;
@ -38,7 +38,7 @@ fn set_panic_hook() {
#[wasm_bindgen] #[wasm_bindgen]
pub fn edit(input: &[u8], options: JsValue) -> Vec<u8> { pub fn edit(input: &[u8], options: JsValue) -> Vec<u8> {
set_panic_hook(); set_panic_hook();
let options: EditOptions = options.into_serde().expect("invalid options"); let options: EditOptions = serde_wasm_bindgen::from_value(options).expect("invalid options");
edit_inner(input, options) edit_inner(input, options)
} }