mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 18:24:05 +02:00
commit
5f6600cfdb
1 changed files with 14 additions and 2 deletions
|
|
@ -2,6 +2,9 @@ use std::env;
|
|||
use std::fs;
|
||||
|
||||
use main_error::MainError;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use tf_demo_parser::demo::header::Header;
|
||||
use tf_demo_parser::demo::parser::analyser::MatchState;
|
||||
use tf_demo_parser::demo::parser::player_summary_analyzer::PlayerSummaryAnalyzer;
|
||||
pub use tf_demo_parser::{Demo, DemoParser, Parse, ParseError, ParserState, Stream};
|
||||
|
||||
|
|
@ -9,6 +12,14 @@ pub use tf_demo_parser::{Demo, DemoParser, Parse, ParseError, ParserState, Strea
|
|||
#[global_allocator]
|
||||
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
struct JsonDemo {
|
||||
header: Header,
|
||||
#[serde(flatten)]
|
||||
state: MatchState,
|
||||
}
|
||||
|
||||
fn main() -> Result<(), MainError> {
|
||||
#[cfg(feature = "better_panic")]
|
||||
better_panic::install();
|
||||
|
|
@ -34,8 +45,9 @@ fn main() -> Result<(), MainError> {
|
|||
} else {
|
||||
DemoParser::new(demo.get_stream())
|
||||
};
|
||||
let (_, state) = parser.parse()?;
|
||||
println!("{}", serde_json::to_string(&state)?);
|
||||
let (header, state) = parser.parse()?;
|
||||
let demo = JsonDemo { header, state };
|
||||
println!("{}", serde_json::to_string(&demo)?);
|
||||
} else {
|
||||
let parser = DemoParser::new_with_analyser(demo.get_stream(), PlayerSummaryAnalyzer::new());
|
||||
let (header, state) = parser.parse()?;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue