mirror of
https://codeberg.org/demostf/tf-demos-viewer.git
synced 2026-06-03 10:04:12 +02:00
parser 0.8
This commit is contained in:
parent
2ecf3098c8
commit
fc35fe8b1c
3 changed files with 27 additions and 28 deletions
42
Cargo.lock
generated
42
Cargo.lock
generated
|
|
@ -17,20 +17,21 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitbuffer"
|
name = "bitbuffer"
|
||||||
version = "0.7.1"
|
version = "0.8.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6007718437539bc4564d96742ad7a86adf1244b5fb6e0381b426034f957edb7f"
|
checksum = "e2b3cd4415fb790abfc898cd449f319029933a867462634dbd427c3f884ba6c5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitbuffer_derive",
|
"bitbuffer_derive",
|
||||||
|
"err-derive",
|
||||||
"memchr",
|
"memchr",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitbuffer_derive"
|
name = "bitbuffer_derive"
|
||||||
version = "0.7.1"
|
version = "0.8.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1d481746ea558a93cdbd62cd9766ab7f56789dcb2605b8344727c5ee92007070"
|
checksum = "7f51dcbe693d21078994abd2afac5adc9bcc80fbdf80206ebdb33fec4a145693"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 1.0.24",
|
"proc-macro2 1.0.24",
|
||||||
"quote 1.0.7",
|
"quote 1.0.7",
|
||||||
|
|
@ -188,9 +189,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num_enum"
|
name = "num_enum"
|
||||||
version = "0.4.3"
|
version = "0.5.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ca565a7df06f3d4b485494f25ba05da1435950f4dc263440eda7a6fa9b8e36e4"
|
checksum = "226b45a5c2ac4dd696ed30fa6b94b057ad909c7b7fc2e0d0808192bced894066"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"derivative",
|
"derivative",
|
||||||
"num_enum_derive",
|
"num_enum_derive",
|
||||||
|
|
@ -198,9 +199,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num_enum_derive"
|
name = "num_enum_derive"
|
||||||
version = "0.4.3"
|
version = "0.5.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ffa5a33ddddfee04c0283a7653987d634e880347e96b5b2ed64de07efb59db9d"
|
checksum = "1c0fd9eba1d5db0994a239e09c1be402d35622277e35468ba891aa5e3188ce7e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro-crate",
|
"proc-macro-crate",
|
||||||
"proc-macro2 1.0.24",
|
"proc-macro2 1.0.24",
|
||||||
|
|
@ -209,23 +210,29 @@ dependencies = [
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "parse-display"
|
name = "once_cell"
|
||||||
version = "0.1.2"
|
version = "1.5.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bd87725635cbae7fe960f91f55a114ed104e637790317cc8d9197ea16b058010"
|
checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "parse-display"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "12035532e456d9f4f59fcfa3834dc5f45b391d9029f5287292bf41960b05ce91"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static",
|
"once_cell",
|
||||||
"parse-display-derive",
|
"parse-display-derive",
|
||||||
"regex",
|
"regex",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "parse-display-derive"
|
name = "parse-display-derive"
|
||||||
version = "0.1.2"
|
version = "0.4.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "cc52b391380aa8550348736a356bf028f5469391d580533a566e97543f55e813"
|
checksum = "449f5881ab953fa168d60a57dd182a3e1fdeff16bb9bdd309145fbd8f32326ec"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static",
|
"once_cell",
|
||||||
"proc-macro2 1.0.24",
|
"proc-macro2 1.0.24",
|
||||||
"quote 1.0.7",
|
"quote 1.0.7",
|
||||||
"regex",
|
"regex",
|
||||||
|
|
@ -431,7 +438,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tf-demo-parser"
|
name = "tf-demo-parser"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c55bccc934036ee9fb1c88106ef3b23a4375bc2fb7cddb735e15d1f265561713"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitbuffer",
|
"bitbuffer",
|
||||||
"enumflags2",
|
"enumflags2",
|
||||||
|
|
@ -451,7 +460,6 @@ dependencies = [
|
||||||
name = "tf-demos-viewer"
|
name = "tf-demos-viewer"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"console_error_panic_hook",
|
|
||||||
"futures",
|
"futures",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"tf-demo-parser",
|
"tf-demo-parser",
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,7 @@ wasm-opt = false
|
||||||
wasm-bindgen = "0.2.45"
|
wasm-bindgen = "0.2.45"
|
||||||
wee_alloc = { version = "0.4.2", optional = true }
|
wee_alloc = { version = "0.4.2", optional = true }
|
||||||
web-sys = { version = "0.3.22", features = ["console"] }
|
web-sys = { version = "0.3.22", features = ["console"] }
|
||||||
tf-demo-parser = { path = "../tf-demo-parser" }
|
tf-demo-parser = "0.2"
|
||||||
|
|
||||||
[target."cfg(debug_assertions)".dependencies]
|
|
||||||
console_error_panic_hook = "0.1.5"
|
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
wasm-bindgen-test = "0.2.45"
|
wasm-bindgen-test = "0.2.45"
|
||||||
|
|
|
||||||
10
src/lib.rs
10
src/lib.rs
|
|
@ -74,8 +74,7 @@ impl FlatState {
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
pub fn parse_demo(buffer: Box<[u8]>) -> Result<FlatState, JsValue> {
|
pub fn parse_demo(buffer: Box<[u8]>) -> Result<FlatState, JsValue> {
|
||||||
let buffer = buffer.into_vec();
|
let (parsed, world) = parse_demo_inner(&buffer).map_err(|e| JsValue::from(e.to_string()))?;
|
||||||
let (parsed, world) = parse_demo_inner(buffer).map_err(|e| JsValue::from(e.to_string()))?;
|
|
||||||
|
|
||||||
let world = world.ok_or_else(|| JsValue::from_str("No world defined in demo"))?;
|
let world = world.ok_or_else(|| JsValue::from_str("No world defined in demo"))?;
|
||||||
|
|
||||||
|
|
@ -92,7 +91,7 @@ pub fn get_map(state: &FlatState) -> String {
|
||||||
state.header.map.clone()
|
state.header.map.clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse_demo_inner(buffer: Vec<u8>) -> Result<(ParsedDemo, Option<World>), ParseError> {
|
pub fn parse_demo_inner(buffer: &[u8]) -> Result<(ParsedDemo, Option<World>), ParseError> {
|
||||||
let demo = Demo::new(buffer);
|
let demo = Demo::new(buffer);
|
||||||
let parser = DemoParser::new_with_analyser(demo.get_stream(), GameStateAnalyser::default());
|
let parser = DemoParser::new_with_analyser(demo.get_stream(), GameStateAnalyser::default());
|
||||||
let (header, mut ticker) = parser.ticker()?;
|
let (header, mut ticker) = parser.ticker()?;
|
||||||
|
|
@ -115,10 +114,5 @@ pub fn parse_demo_inner(buffer: Vec<u8>) -> Result<(ParsedDemo, Option<World>),
|
||||||
// This is like the `main` function, except for JavaScript.
|
// This is like the `main` function, except for JavaScript.
|
||||||
#[wasm_bindgen(start)]
|
#[wasm_bindgen(start)]
|
||||||
pub fn main_js() -> Result<(), JsValue> {
|
pub fn main_js() -> Result<(), JsValue> {
|
||||||
// This provides better error messages in debug mode.
|
|
||||||
// It's disabled in release mode so it doesn't bloat up the file size.
|
|
||||||
#[cfg(debug_assertions)]
|
|
||||||
console_error_panic_hook::set_once();
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue