1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 10:14:06 +02:00
This commit is contained in:
Robin Appelman 2021-07-25 17:04:50 +02:00
commit 43b7270fcd
29 changed files with 3818 additions and 76 deletions

7
codegen/Cargo.lock generated
View file

@ -95,8 +95,6 @@ dependencies = [
[[package]]
name = "bitbuffer"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29a6edc6bf48f16337689fb5122a6407713ecc23e57fbbcfde367c51fdb6aec1"
dependencies = [
"bitbuffer_derive",
"err-derive",
@ -108,8 +106,6 @@ dependencies = [
[[package]]
name = "bitbuffer_derive"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4090254bfbc71442ff4a426ddba663346e26fd14b55b259281f763e350d7f621"
dependencies = [
"proc-macro2",
"quote",
@ -236,6 +232,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8672257d642ffdd235f6e9c723c2326ac1253c8f3c022e7cfd2e57da55b1131"
dependencies = [
"enumflags2_derive",
"serde",
]
[[package]]
@ -898,7 +895,7 @@ dependencies = [
[[package]]
name = "tf-demo-parser"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"bitbuffer",
"enumflags2",

File diff suppressed because it is too large Load diff

View file

@ -230,6 +230,8 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
use crate::{ParseError, Result};
use bitbuffer::{BitRead, LittleEndian, BitWrite, BitWriteStream};
use serde::{Deserialize, Serialize};
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*;
);
let event_definitions = events.iter().map(|event| {
@ -264,6 +266,10 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
};
quote!(
#[cfg_attr(
feature = "wasm",
derive(wasm_typescript_definition::TypescriptDefinition)
)]
#[derive(Debug, BitWrite, PartialEq, Serialize, Deserialize)]
pub struct #name {
#(#fields)*
@ -379,12 +385,21 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
#(#event_definitions)*
#[cfg_attr(
feature = "wasm",
derive(wasm_typescript_definition::TypescriptDefinition)
)]
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub enum GameEvent {
#(#event_variants)*
Unknown(RawGameEvent),
}
#[cfg_attr(
feature = "wasm",
derive(wasm_typescript_definition::TypescriptDefinition)
)]
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum GameEventType {
#(#event_types)*