1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 18:24:05 +02:00

properly reencode unknown game event definitions

This commit is contained in:
Robin Appelman 2021-07-22 13:24:48 +02:00
commit bd9d174444
7 changed files with 1061 additions and 898 deletions

302
codegen/Cargo.lock generated
View file

@ -8,6 +8,21 @@ version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
[[package]]
name = "addr2line"
version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a"
dependencies = [
"gimli",
]
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "0.7.18" version = "0.7.18"
@ -48,26 +63,19 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
[[package]] [[package]]
name = "backtrace" name = "backtrace"
version = "0.3.56" version = "0.3.60"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d117600f438b1707d4e4ae15d3595657288f8235a0eb593e80ecc98ab34e1bc" checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282"
dependencies = [ dependencies = [
"backtrace-sys", "addr2line",
"cc",
"cfg-if", "cfg-if",
"libc", "libc",
"miniz_oxide",
"object",
"rustc-demangle", "rustc-demangle",
] ]
[[package]]
name = "backtrace-sys"
version = "0.1.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18fbebbe1c9d1f383a9cc7e8ccdb471b91c8d024ee9c2ca5b5346121fe8b4399"
dependencies = [
"cc",
"libc",
]
[[package]] [[package]]
name = "base64" name = "base64"
version = "0.13.0" version = "0.13.0"
@ -86,14 +94,14 @@ dependencies = [
[[package]] [[package]]
name = "bitbuffer" name = "bitbuffer"
version = "0.9.3" version = "0.9.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e73a154e33cb38a0561f1ba4677c66f2dfd7db72300e49d81ab3125f54a6a01" checksum = "c69c4d2ef0cb9cd4cbb53bf5cd13746e6bc73c6ff2aedbfee0951c18553232d3"
dependencies = [ dependencies = [
"bitbuffer_derive", "bitbuffer_derive",
"err-derive", "err-derive",
"memchr", "memchr",
"num-traits", "num-traits 0.2.14",
] ]
[[package]] [[package]]
@ -127,9 +135,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.0.66" version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48" checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
@ -175,11 +183,10 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
[[package]] [[package]]
name = "crossbeam-utils" name = "crossbeam-utils"
version = "0.8.1" version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d" checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
dependencies = [ dependencies = [
"autocfg",
"cfg-if", "cfg-if",
"lazy_static", "lazy_static",
] ]
@ -212,6 +219,15 @@ version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
[[package]]
name = "enum_primitive"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180"
dependencies = [
"num-traits 0.1.43",
]
[[package]] [[package]]
name = "enumflags2" name = "enumflags2"
version = "0.7.1" version = "0.7.1"
@ -265,9 +281,9 @@ dependencies = [
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.2" version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
@ -275,19 +291,25 @@ dependencies = [
] ]
[[package]] [[package]]
name = "hermit-abi" name = "gimli"
version = "0.1.18" version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c" checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189"
[[package]]
name = "hermit-abi"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [ dependencies = [
"libc", "libc",
] ]
[[package]] [[package]]
name = "instant" name = "instant"
version = "0.1.9" version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
] ]
@ -306,15 +328,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.86" version = "0.2.98"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c" checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
[[package]] [[package]]
name = "lock_api" name = "lock_api"
version = "0.4.2" version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312" checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"
dependencies = [ dependencies = [
"scopeguard", "scopeguard",
] ]
@ -331,6 +353,92 @@ version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
[[package]]
name = "miniz_oxide"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
dependencies = [
"adler",
"autocfg",
]
[[package]]
name = "num"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f"
dependencies = [
"num-bigint",
"num-complex",
"num-integer",
"num-iter",
"num-rational",
"num-traits 0.2.14",
]
[[package]]
name = "num-bigint"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d0a3d5e207573f948a9e5376662aa743a2ea13f7c50a554d7af443a73fbfeba"
dependencies = [
"autocfg",
"num-integer",
"num-traits 0.2.14",
]
[[package]]
name = "num-complex"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"
dependencies = [
"num-traits 0.2.14",
]
[[package]]
name = "num-integer"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
dependencies = [
"autocfg",
"num-traits 0.2.14",
]
[[package]]
name = "num-iter"
version = "0.1.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
dependencies = [
"autocfg",
"num-integer",
"num-traits 0.2.14",
]
[[package]]
name = "num-rational"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
dependencies = [
"autocfg",
"num-bigint",
"num-integer",
"num-traits 0.2.14",
]
[[package]]
name = "num-traits"
version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
dependencies = [
"num-traits 0.2.14",
]
[[package]] [[package]]
name = "num-traits" name = "num-traits"
version = "0.2.14" version = "0.2.14"
@ -342,9 +450,9 @@ dependencies = [
[[package]] [[package]]
name = "num_enum" name = "num_enum"
version = "0.5.1" version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "226b45a5c2ac4dd696ed30fa6b94b057ad909c7b7fc2e0d0808192bced894066" checksum = "e5adf0198d427ee515335639f275e806ca01acf9f07d7cf14bb36a10532a6169"
dependencies = [ dependencies = [
"derivative", "derivative",
"num_enum_derive", "num_enum_derive",
@ -352,9 +460,9 @@ dependencies = [
[[package]] [[package]]
name = "num_enum_derive" name = "num_enum_derive"
version = "0.5.1" version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c0fd9eba1d5db0994a239e09c1be402d35622277e35468ba891aa5e3188ce7e" checksum = "b1def5a3f69d4707d8a040b12785b98029a39e8c610ae685c7f6265669767482"
dependencies = [ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2", "proc-macro2",
@ -362,6 +470,15 @@ dependencies = [
"syn", "syn",
] ]
[[package]]
name = "object"
version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7"
dependencies = [
"memchr",
]
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.8.0" version = "1.8.0"
@ -388,7 +505,7 @@ dependencies = [
"cfg-if", "cfg-if",
"instant", "instant",
"libc", "libc",
"redox_syscall 0.2.4", "redox_syscall 0.2.9",
"smallvec", "smallvec",
"winapi", "winapi",
] ]
@ -427,10 +544,11 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
[[package]] [[package]]
name = "proc-macro-crate" name = "proc-macro-crate"
version = "0.1.5" version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92"
dependencies = [ dependencies = [
"thiserror",
"toml", "toml",
] ]
@ -478,9 +596,9 @@ dependencies = [
[[package]] [[package]]
name = "rand" name = "rand"
version = "0.8.3" version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
dependencies = [ dependencies = [
"libc", "libc",
"rand_chacha", "rand_chacha",
@ -490,9 +608,9 @@ dependencies = [
[[package]] [[package]]
name = "rand_chacha" name = "rand_chacha"
version = "0.3.0" version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [ dependencies = [
"ppv-lite86", "ppv-lite86",
"rand_core", "rand_core",
@ -500,18 +618,18 @@ dependencies = [
[[package]] [[package]]
name = "rand_core" name = "rand_core"
version = "0.6.1" version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c026d7df8b298d90ccbbc5190bd04d85e159eaf5576caeacf8741da93ccbd2e5" checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
dependencies = [ dependencies = [
"getrandom 0.2.2", "getrandom 0.2.3",
] ]
[[package]] [[package]]
name = "rand_hc" name = "rand_hc"
version = "0.3.0" version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
dependencies = [ dependencies = [
"rand_core", "rand_core",
] ]
@ -524,9 +642,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.2.4" version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05ec8ca9416c5ea37062b502703cd7fcb207736bc294f6e0cf367ac6fc234570" checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee"
dependencies = [ dependencies = [
"bitflags", "bitflags",
] ]
@ -582,15 +700,15 @@ dependencies = [
[[package]] [[package]]
name = "rustc-demangle" name = "rustc-demangle"
version = "0.1.18" version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e3bad0ee36814ca07d7968269dd4b7ec89ec2da10c4bb613928d3077083c232" checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49"
[[package]] [[package]]
name = "rustversion" name = "rustversion"
version = "1.0.4" version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd" checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088"
[[package]] [[package]]
name = "ryu" name = "ryu"
@ -630,18 +748,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.123" version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae" checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.123" version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31" checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -650,9 +768,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.62" version = "1.0.64"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea1c6153794552ea7cf7cf63b1231a25de00ec90db326ba6264440fa08e31486" checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@ -661,9 +779,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_repr" name = "serde_repr"
version = "0.1.6" version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dc6b7951b17b051f3210b063f12cc17320e2fe30ae05b0fe2a3abb068551c76" checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -682,6 +800,21 @@ version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451" checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451"
[[package]]
name = "steamid-ng"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffb049f8faa2cba570c5366dbaf88ee5849725b16edb771848639fac92e33673"
dependencies = [
"enum_primitive",
"lazy_static",
"num",
"regex",
"serde",
"serde_derive",
"thiserror",
]
[[package]] [[package]]
name = "structmeta" name = "structmeta"
version = "0.1.3" version = "0.1.3"
@ -707,9 +840,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.73" version = "1.0.74"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -729,9 +862,9 @@ dependencies = [
[[package]] [[package]]
name = "synstructure" name = "synstructure"
version = "0.12.4" version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" checksum = "474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -748,7 +881,7 @@ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
"rand", "rand",
"redox_syscall 0.2.4", "redox_syscall 0.2.9",
"remove_dir_all", "remove_dir_all",
"winapi", "winapi",
] ]
@ -771,13 +904,14 @@ dependencies = [
"err-derive", "err-derive",
"fnv", "fnv",
"main_error", "main_error",
"num-traits", "num-traits 0.2.14",
"num_enum", "num_enum",
"parse-display", "parse-display",
"serde", "serde",
"serde_json", "serde_json",
"serde_repr", "serde_repr",
"snap", "snap",
"steamid-ng",
] ]
[[package]] [[package]]
@ -795,6 +929,26 @@ dependencies = [
"toolchain_find", "toolchain_find",
] ]
[[package]]
name = "thiserror"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]] [[package]]
name = "toml" name = "toml"
version = "0.5.8" version = "0.5.8"
@ -825,21 +979,21 @@ checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
[[package]] [[package]]
name = "unicode-xid" name = "unicode-xid"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
[[package]] [[package]]
name = "version_check" name = "version_check"
version = "0.9.2" version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
[[package]] [[package]]
name = "walkdir" name = "walkdir"
version = "2.3.1" version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
dependencies = [ dependencies = [
"same-file", "same-file",
"winapi", "winapi",

View file

@ -6282,410 +6282,410 @@ pub enum GameEvent {
ReplayServerError(ReplayServerErrorEvent), ReplayServerError(ReplayServerErrorEvent),
Unknown(RawGameEvent), Unknown(RawGameEvent),
} }
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] #[derive(Clone, Debug, PartialEq, Eq, Hash)]
pub enum GameEventType { pub enum GameEventType {
ServerSpawn = 0, ServerSpawn,
ServerChangeLevelFailed = 1, ServerChangeLevelFailed,
ServerShutdown = 2, ServerShutdown,
ServerCvar = 3, ServerCvar,
ServerMessage = 4, ServerMessage,
ServerAddBan = 5, ServerAddBan,
ServerRemoveBan = 6, ServerRemoveBan,
PlayerConnect = 7, PlayerConnect,
PlayerConnectClient = 8, PlayerConnectClient,
PlayerInfo = 9, PlayerInfo,
PlayerDisconnect = 10, PlayerDisconnect,
PlayerActivate = 11, PlayerActivate,
PlayerSay = 12, PlayerSay,
ClientDisconnect = 13, ClientDisconnect,
ClientBeginConnect = 14, ClientBeginConnect,
ClientConnected = 15, ClientConnected,
ClientFullConnect = 16, ClientFullConnect,
HostQuit = 17, HostQuit,
TeamInfo = 18, TeamInfo,
TeamScore = 19, TeamScore,
TeamPlayBroadcastAudio = 20, TeamPlayBroadcastAudio,
PlayerTeam = 21, PlayerTeam,
PlayerClass = 22, PlayerClass,
PlayerDeath = 23, PlayerDeath,
PlayerHurt = 24, PlayerHurt,
PlayerChat = 25, PlayerChat,
PlayerScore = 26, PlayerScore,
PlayerSpawn = 27, PlayerSpawn,
PlayerShoot = 28, PlayerShoot,
PlayerUse = 29, PlayerUse,
PlayerChangeName = 30, PlayerChangeName,
PlayerHintMessage = 31, PlayerHintMessage,
BasePlayerTeleported = 32, BasePlayerTeleported,
GameInit = 33, GameInit,
GameNewMap = 34, GameNewMap,
GameStart = 35, GameStart,
GameEnd = 36, GameEnd,
RoundStart = 37, RoundStart,
RoundEnd = 38, RoundEnd,
GameMessage = 39, GameMessage,
BreakBreakable = 40, BreakBreakable,
BreakProp = 41, BreakProp,
EntityKilled = 42, EntityKilled,
BonusUpdated = 43, BonusUpdated,
AchievementEvent = 44, AchievementEvent,
AchievementIncrement = 45, AchievementIncrement,
PhysgunPickup = 46, PhysgunPickup,
FlareIgniteNpc = 47, FlareIgniteNpc,
HelicopterGrenadePuntMiss = 48, HelicopterGrenadePuntMiss,
UserDataDownloaded = 49, UserDataDownloaded,
RagdollDissolved = 50, RagdollDissolved,
HLTVChangedMode = 51, HLTVChangedMode,
HLTVChangedTarget = 52, HLTVChangedTarget,
VoteEnded = 53, VoteEnded,
VoteStarted = 54, VoteStarted,
VoteChanged = 55, VoteChanged,
VotePassed = 56, VotePassed,
VoteFailed = 57, VoteFailed,
VoteCast = 58, VoteCast,
VoteOptions = 59, VoteOptions,
ReplaySaved = 60, ReplaySaved,
EnteredPerformanceMode = 61, EnteredPerformanceMode,
BrowseReplays = 62, BrowseReplays,
ReplayYoutubeStats = 63, ReplayYoutubeStats,
InventoryUpdated = 64, InventoryUpdated,
CartUpdated = 65, CartUpdated,
StorePriceSheetUpdated = 66, StorePriceSheetUpdated,
EconInventoryConnected = 67, EconInventoryConnected,
ItemSchemaInitialized = 68, ItemSchemaInitialized,
GcNewSession = 69, GcNewSession,
GcLostSession = 70, GcLostSession,
IntroFinish = 71, IntroFinish,
IntroNextCamera = 72, IntroNextCamera,
PlayerChangeClass = 73, PlayerChangeClass,
TfMapTimeRemaining = 74, TfMapTimeRemaining,
TfGameOver = 75, TfGameOver,
CtfFlagCaptured = 76, CtfFlagCaptured,
ControlPointInitialized = 77, ControlPointInitialized,
ControlPointUpdateImages = 78, ControlPointUpdateImages,
ControlPointUpdateLayout = 79, ControlPointUpdateLayout,
ControlPointUpdateCapping = 80, ControlPointUpdateCapping,
ControlPointUpdateOwner = 81, ControlPointUpdateOwner,
ControlPointStartTouch = 82, ControlPointStartTouch,
ControlPointEndTouch = 83, ControlPointEndTouch,
ControlPointPulseElement = 84, ControlPointPulseElement,
ControlPointFakeCapture = 85, ControlPointFakeCapture,
ControlPointFakeCaptureMultiplier = 86, ControlPointFakeCaptureMultiplier,
TeamPlayRoundSelected = 87, TeamPlayRoundSelected,
TeamPlayRoundStart = 88, TeamPlayRoundStart,
TeamPlayRoundActive = 89, TeamPlayRoundActive,
TeamPlayWaitingBegins = 90, TeamPlayWaitingBegins,
TeamPlayWaitingEnds = 91, TeamPlayWaitingEnds,
TeamPlayWaitingAboutToEnd = 92, TeamPlayWaitingAboutToEnd,
TeamPlayRestartRound = 93, TeamPlayRestartRound,
TeamPlayReadyRestart = 94, TeamPlayReadyRestart,
TeamPlayRoundRestartSeconds = 95, TeamPlayRoundRestartSeconds,
TeamPlayTeamReady = 96, TeamPlayTeamReady,
TeamPlayRoundWin = 97, TeamPlayRoundWin,
TeamPlayUpdateTimer = 98, TeamPlayUpdateTimer,
TeamPlayRoundStalemate = 99, TeamPlayRoundStalemate,
TeamPlayOvertimeBegin = 100, TeamPlayOvertimeBegin,
TeamPlayOvertimeEnd = 101, TeamPlayOvertimeEnd,
TeamPlaySuddenDeathBegin = 102, TeamPlaySuddenDeathBegin,
TeamPlaySuddenDeathEnd = 103, TeamPlaySuddenDeathEnd,
TeamPlayGameOver = 104, TeamPlayGameOver,
TeamPlayMapTimeRemaining = 105, TeamPlayMapTimeRemaining,
TeamPlayTimerFlash = 106, TeamPlayTimerFlash,
TeamPlayTimerTimeAdded = 107, TeamPlayTimerTimeAdded,
TeamPlayPointStartCapture = 108, TeamPlayPointStartCapture,
TeamPlayPointCaptured = 109, TeamPlayPointCaptured,
TeamPlayPointLocked = 110, TeamPlayPointLocked,
TeamPlayPointUnlocked = 111, TeamPlayPointUnlocked,
TeamPlayCaptureBroken = 112, TeamPlayCaptureBroken,
TeamPlayCaptureBlocked = 113, TeamPlayCaptureBlocked,
TeamPlayFlagEvent = 114, TeamPlayFlagEvent,
TeamPlayWinPanel = 115, TeamPlayWinPanel,
TeamPlayTeamBalancedPlayer = 116, TeamPlayTeamBalancedPlayer,
TeamPlaySetupFinished = 117, TeamPlaySetupFinished,
TeamPlayAlert = 118, TeamPlayAlert,
TrainingComplete = 119, TrainingComplete,
ShowFreezePanel = 120, ShowFreezePanel,
HideFreezePanel = 121, HideFreezePanel,
FreezeCamStarted = 122, FreezeCamStarted,
LocalPlayerChangeTeam = 123, LocalPlayerChangeTeam,
LocalPlayerScoreChanged = 124, LocalPlayerScoreChanged,
LocalPlayerChangeClass = 125, LocalPlayerChangeClass,
LocalPlayerRespawn = 126, LocalPlayerRespawn,
BuildingInfoChanged = 127, BuildingInfoChanged,
LocalPlayerChangeDisguise = 128, LocalPlayerChangeDisguise,
PlayerAccountChanged = 129, PlayerAccountChanged,
SpyPdaReset = 130, SpyPdaReset,
FlagStatusUpdate = 131, FlagStatusUpdate,
PlayerStatsUpdated = 132, PlayerStatsUpdated,
PlayingCommentary = 133, PlayingCommentary,
PlayerChargeDeployed = 134, PlayerChargeDeployed,
PlayerBuiltObject = 135, PlayerBuiltObject,
PlayerUpgradedObject = 136, PlayerUpgradedObject,
PlayerCarryObject = 137, PlayerCarryObject,
PlayerDropObject = 138, PlayerDropObject,
ObjectRemoved = 139, ObjectRemoved,
ObjectDestroyed = 140, ObjectDestroyed,
ObjectDetonated = 141, ObjectDetonated,
AchievementEarned = 142, AchievementEarned,
SpecTargetUpdated = 143, SpecTargetUpdated,
TournamentStateUpdate = 144, TournamentStateUpdate,
TournamentEnableCountdown = 145, TournamentEnableCountdown,
PlayerCalledForMedic = 146, PlayerCalledForMedic,
PlayerAskedForBall = 147, PlayerAskedForBall,
LocalPlayerBecameObserver = 148, LocalPlayerBecameObserver,
PlayerIgnitedInv = 149, PlayerIgnitedInv,
PlayerIgnited = 150, PlayerIgnited,
PlayerExtinguished = 151, PlayerExtinguished,
PlayerTeleported = 152, PlayerTeleported,
PlayerHealedMedicCall = 153, PlayerHealedMedicCall,
LocalPlayerChargeReady = 154, LocalPlayerChargeReady,
LocalPlayerWindDown = 155, LocalPlayerWindDown,
PlayerInvulned = 156, PlayerInvulned,
EscortSpeed = 157, EscortSpeed,
EscortProgress = 158, EscortProgress,
EscortRecede = 159, EscortRecede,
GameUIActivated = 160, GameUIActivated,
GameUIHidden = 161, GameUIHidden,
PlayerEscortScore = 162, PlayerEscortScore,
PlayerHealOnHit = 163, PlayerHealOnHit,
PlayerStealSandvich = 164, PlayerStealSandvich,
ShowClassLayout = 165, ShowClassLayout,
ShowVsPanel = 166, ShowVsPanel,
PlayerDamaged = 167, PlayerDamaged,
ArenaPlayerNotification = 168, ArenaPlayerNotification,
ArenaMatchMaxStreak = 169, ArenaMatchMaxStreak,
ArenaRoundStart = 170, ArenaRoundStart,
ArenaWinPanel = 171, ArenaWinPanel,
PveWinPanel = 172, PveWinPanel,
AirDash = 173, AirDash,
Landed = 174, Landed,
PlayerDamageDodged = 175, PlayerDamageDodged,
PlayerStunned = 176, PlayerStunned,
ScoutGrandSlam = 177, ScoutGrandSlam,
ScoutSlamdollLanded = 178, ScoutSlamdollLanded,
ArrowImpact = 179, ArrowImpact,
PlayerJarated = 180, PlayerJarated,
PlayerJaratedFade = 181, PlayerJaratedFade,
PlayerShieldBlocked = 182, PlayerShieldBlocked,
PlayerPinned = 183, PlayerPinned,
PlayerHealedByMedic = 184, PlayerHealedByMedic,
PlayerSappedObject = 185, PlayerSappedObject,
ItemFound = 186, ItemFound,
ShowAnnotation = 187, ShowAnnotation,
HideAnnotation = 188, HideAnnotation,
PostInventoryApplication = 189, PostInventoryApplication,
ControlPointUnlockUpdated = 190, ControlPointUnlockUpdated,
DeployBuffBanner = 191, DeployBuffBanner,
PlayerBuff = 192, PlayerBuff,
MedicDeath = 193, MedicDeath,
OvertimeNag = 194, OvertimeNag,
TeamsChanged = 195, TeamsChanged,
HalloweenPumpkinGrab = 196, HalloweenPumpkinGrab,
RocketJump = 197, RocketJump,
RocketJumpLanded = 198, RocketJumpLanded,
StickyJump = 199, StickyJump,
StickyJumpLanded = 200, StickyJumpLanded,
RocketPackLaunch = 201, RocketPackLaunch,
RocketPackLanded = 202, RocketPackLanded,
MedicDefended = 203, MedicDefended,
LocalPlayerHealed = 204, LocalPlayerHealed,
PlayerDestroyedPipeBomb = 205, PlayerDestroyedPipeBomb,
ObjectDeflected = 206, ObjectDeflected,
PlayerMvp = 207, PlayerMvp,
RaidSpawnMob = 208, RaidSpawnMob,
RaidSpawnSquad = 209, RaidSpawnSquad,
NavBlocked = 210, NavBlocked,
PathTrackPassed = 211, PathTrackPassed,
NumCappersChanged = 212, NumCappersChanged,
PlayerRegenerate = 213, PlayerRegenerate,
UpdateStatusItem = 214, UpdateStatusItem,
StatsResetRound = 215, StatsResetRound,
ScoreStatsAccumulatedUpdate = 216, ScoreStatsAccumulatedUpdate,
ScoreStatsAccumulatedReset = 217, ScoreStatsAccumulatedReset,
AchievementEarnedLocal = 218, AchievementEarnedLocal,
PlayerHealed = 219, PlayerHealed,
BuildingHealed = 220, BuildingHealed,
ItemPickup = 221, ItemPickup,
DuelStatus = 222, DuelStatus,
FishNotice = 223, FishNotice,
FishNoticeArm = 224, FishNoticeArm,
SlapNotice = 225, SlapNotice,
ThrowableHit = 226, ThrowableHit,
PumpkinLordSummoned = 227, PumpkinLordSummoned,
PumpkinLordKilled = 228, PumpkinLordKilled,
MerasmusSummoned = 229, MerasmusSummoned,
MerasmusKilled = 230, MerasmusKilled,
MerasmusEscapeWarning = 231, MerasmusEscapeWarning,
MerasmusEscaped = 232, MerasmusEscaped,
EyeballBossSummoned = 233, EyeballBossSummoned,
EyeballBossStunned = 234, EyeballBossStunned,
EyeballBossKilled = 235, EyeballBossKilled,
EyeballBossKiller = 236, EyeballBossKiller,
EyeballBossEscapeImminent = 237, EyeballBossEscapeImminent,
EyeballBossEscaped = 238, EyeballBossEscaped,
NpcHurt = 239, NpcHurt,
ControlPointTimerUpdated = 240, ControlPointTimerUpdated,
PlayerHighFiveStart = 241, PlayerHighFiveStart,
PlayerHighFiveCancel = 242, PlayerHighFiveCancel,
PlayerHighFiveSuccess = 243, PlayerHighFiveSuccess,
PlayerBonusPoints = 244, PlayerBonusPoints,
PlayerUpgraded = 245, PlayerUpgraded,
PlayerBuyback = 246, PlayerBuyback,
PlayerUsedPowerUpBottle = 247, PlayerUsedPowerUpBottle,
ChristmasGiftGrab = 248, ChristmasGiftGrab,
PlayerKilledAchievementZone = 249, PlayerKilledAchievementZone,
PartyUpdated = 250, PartyUpdated,
PartyPrefChanged = 251, PartyPrefChanged,
PartyCriteriaChanged = 252, PartyCriteriaChanged,
PartyInvitesChanged = 253, PartyInvitesChanged,
PartyQueueStateChanged = 254, PartyQueueStateChanged,
PartyChat = 255, PartyChat,
PartyMemberJoin = 256, PartyMemberJoin,
PartyMemberLeave = 257, PartyMemberLeave,
MatchInvitesUpdated = 258, MatchInvitesUpdated,
LobbyUpdated = 259, LobbyUpdated,
MvmMissionUpdate = 260, MvmMissionUpdate,
RecalculateHolidays = 261, RecalculateHolidays,
PlayerCurrencyChanged = 262, PlayerCurrencyChanged,
DoomsdayRocketOpen = 263, DoomsdayRocketOpen,
RemoveNemesisRelationships = 264, RemoveNemesisRelationships,
MvmCreditBonusWave = 265, MvmCreditBonusWave,
MvmCreditBonusAll = 266, MvmCreditBonusAll,
MvmCreditBonusAllAdvanced = 267, MvmCreditBonusAllAdvanced,
MvmQuickSentryUpgrade = 268, MvmQuickSentryUpgrade,
MvmTankDestroyedByPlayers = 269, MvmTankDestroyedByPlayers,
MvmKillRobotDeliveringBomb = 270, MvmKillRobotDeliveringBomb,
MvmPickupCurrency = 271, MvmPickupCurrency,
MvmBombCarrierKilled = 272, MvmBombCarrierKilled,
MvmSentryBusterDetonate = 273, MvmSentryBusterDetonate,
MvmScoutMarkedForDeath = 274, MvmScoutMarkedForDeath,
MvmMedicPowerUpShared = 275, MvmMedicPowerUpShared,
MvmBeginWave = 276, MvmBeginWave,
MvmWaveComplete = 277, MvmWaveComplete,
MvmMissionComplete = 278, MvmMissionComplete,
MvmBombResetByPlayer = 279, MvmBombResetByPlayer,
MvmBombAlarmTriggered = 280, MvmBombAlarmTriggered,
MvmBombDeployResetByPlayer = 281, MvmBombDeployResetByPlayer,
MvmWaveFailed = 282, MvmWaveFailed,
MvmResetStats = 283, MvmResetStats,
DamageResisted = 284, DamageResisted,
RevivePlayerNotify = 285, RevivePlayerNotify,
RevivePlayerStopped = 286, RevivePlayerStopped,
RevivePlayerComplete = 287, RevivePlayerComplete,
PlayerTurnedToGhost = 288, PlayerTurnedToGhost,
MedigunShieldBlockedDamage = 289, MedigunShieldBlockedDamage,
MvmAdvWaveCompleteNoGates = 290, MvmAdvWaveCompleteNoGates,
MvmSniperHeadshotCurrency = 291, MvmSniperHeadshotCurrency,
MvmMannhattanPit = 292, MvmMannhattanPit,
FlagCarriedInDetectionZone = 293, FlagCarriedInDetectionZone,
MvmAdvWaveKilledStunRadio = 294, MvmAdvWaveKilledStunRadio,
PlayerDirectHitStun = 295, PlayerDirectHitStun,
MvmSentryBusterKilled = 296, MvmSentryBusterKilled,
UpgradesFileChanged = 297, UpgradesFileChanged,
RdTeamPointsChanged = 298, RdTeamPointsChanged,
RdRulesStateChanged = 299, RdRulesStateChanged,
RdRobotKilled = 300, RdRobotKilled,
RdRobotImpact = 301, RdRobotImpact,
TeamPlayPreRoundTimeLeft = 302, TeamPlayPreRoundTimeLeft,
ParachuteDeploy = 303, ParachuteDeploy,
ParachuteHolster = 304, ParachuteHolster,
KillRefillsMeter = 305, KillRefillsMeter,
RpsTauntEvent = 306, RpsTauntEvent,
CongaKill = 307, CongaKill,
PlayerInitialSpawn = 308, PlayerInitialSpawn,
CompetitiveVictory = 309, CompetitiveVictory,
CompetitiveStatsUpdate = 310, CompetitiveStatsUpdate,
MiniGameWin = 311, MiniGameWin,
SentryOnGoActive = 312, SentryOnGoActive,
DuckXpLevelUp = 313, DuckXpLevelUp,
QuestLogOpened = 314, QuestLogOpened,
SchemaUpdated = 315, SchemaUpdated,
LocalPlayerPickupWeapon = 316, LocalPlayerPickupWeapon,
RdPlayerScorePoints = 317, RdPlayerScorePoints,
DemomanDetStickies = 318, DemomanDetStickies,
QuestObjectiveCompleted = 319, QuestObjectiveCompleted,
PlayerScoreChanged = 320, PlayerScoreChanged,
KilledCappingPlayer = 321, KilledCappingPlayer,
EnvironmentalDeath = 322, EnvironmentalDeath,
ProjectileDirectHit = 323, ProjectileDirectHit,
PassGet = 324, PassGet,
PassScore = 325, PassScore,
PassFree = 326, PassFree,
PassPassCaught = 327, PassPassCaught,
PassBallStolen = 328, PassBallStolen,
PassBallBlocked = 329, PassBallBlocked,
DamagePrevented = 330, DamagePrevented,
HalloweenBossKilled = 331, HalloweenBossKilled,
EscapedLootIsland = 332, EscapedLootIsland,
TaggedPlayerAsIt = 333, TaggedPlayerAsIt,
MerasmusStunned = 334, MerasmusStunned,
MerasmusPropFound = 335, MerasmusPropFound,
HalloweenSkeletonKilled = 336, HalloweenSkeletonKilled,
EscapeHell = 337, EscapeHell,
CrossSpectralBridge = 338, CrossSpectralBridge,
MiniGameWon = 339, MiniGameWon,
RespawnGhost = 340, RespawnGhost,
KillInHell = 341, KillInHell,
HalloweenDuckCollected = 342, HalloweenDuckCollected,
SpecialScore = 343, SpecialScore,
TeamLeaderKilled = 344, TeamLeaderKilled,
HalloweenSoulCollected = 345, HalloweenSoulCollected,
RecalculateTruce = 346, RecalculateTruce,
DeadRingerCheatDeath = 347, DeadRingerCheatDeath,
CrossbowHeal = 348, CrossbowHeal,
DamageMitigated = 349, DamageMitigated,
PayloadPushed = 350, PayloadPushed,
PlayerAbandonedMatch = 351, PlayerAbandonedMatch,
ClDrawline = 352, ClDrawline,
RestartTimerTime = 353, RestartTimerTime,
WinLimitChanged = 354, WinLimitChanged,
WinPanelShowScores = 355, WinPanelShowScores,
TopStreamsRequestFinished = 356, TopStreamsRequestFinished,
CompetitiveStateChanged = 357, CompetitiveStateChanged,
GlobalWarDataUpdated = 358, GlobalWarDataUpdated,
StopWatchChanged = 359, StopWatchChanged,
DsStop = 360, DsStop,
DsScreenshot = 361, DsScreenshot,
ShowMatchSummary = 362, ShowMatchSummary,
ExperienceChanged = 363, ExperienceChanged,
BeginXpLerp = 364, BeginXpLerp,
MatchmakerStatsUpdated = 365, MatchmakerStatsUpdated,
RematchVotePeriodOver = 366, RematchVotePeriodOver,
RematchFailedToCreate = 367, RematchFailedToCreate,
PlayerRematchChange = 368, PlayerRematchChange,
PingUpdated = 369, PingUpdated,
MMStatsUpdated = 370, MMStatsUpdated,
PlayerNextMapVoteChange = 371, PlayerNextMapVoteChange,
VoteMapsChanged = 372, VoteMapsChanged,
ProtoDefChanged = 373, ProtoDefChanged,
PlayerDomination = 374, PlayerDomination,
PlayerRocketPackPushed = 375, PlayerRocketPackPushed,
QuestRequest = 376, QuestRequest,
QuestResponse = 377, QuestResponse,
QuestProgress = 378, QuestProgress,
ProjectileRemoved = 379, ProjectileRemoved,
QuestMapDataChanged = 380, QuestMapDataChanged,
GasDousedPlayerIgnited = 381, GasDousedPlayerIgnited,
QuestTurnInState = 382, QuestTurnInState,
ItemsAcknowledged = 383, ItemsAcknowledged,
CapperKilled = 384, CapperKilled,
MainMenuStabilized = 385, MainMenuStabilized,
WorldStatusChanged = 386, WorldStatusChanged,
HLTVStatus = 387, HLTVStatus,
HLTVCameraman = 388, HLTVCameraman,
HLTVRankCamera = 389, HLTVRankCamera,
HLTVRankEntity = 390, HLTVRankEntity,
HLTVFixed = 391, HLTVFixed,
HLTVChase = 392, HLTVChase,
HLTVMessage = 393, HLTVMessage,
HLTVTitle = 394, HLTVTitle,
HLTVChat = 395, HLTVChat,
ReplayStartRecord = 396, ReplayStartRecord,
ReplaySessionInfo = 397, ReplaySessionInfo,
ReplayEndRecord = 398, ReplayEndRecord,
ReplayReplaysAvailable = 399, ReplayReplaysAvailable,
ReplayServerError = 400, ReplayServerError,
Unknown, Unknown(String),
} }
impl GameEventType { impl GameEventType {
pub fn from_type_name(name: &str) -> Self { pub fn from_type_name(name: &str) -> Self {
@ -7091,10 +7091,10 @@ impl GameEventType {
"replay_endrecord" => GameEventType::ReplayEndRecord, "replay_endrecord" => GameEventType::ReplayEndRecord,
"replay_replaysavailable" => GameEventType::ReplayReplaysAvailable, "replay_replaysavailable" => GameEventType::ReplayReplaysAvailable,
"replay_servererror" => GameEventType::ReplayServerError, "replay_servererror" => GameEventType::ReplayServerError,
_ => GameEventType::Unknown, ty => GameEventType::Unknown(ty.into()),
} }
} }
pub fn as_str(&self) -> &'static str { pub fn as_str(&self) -> &str {
match self { match self {
GameEventType::ServerSpawn => "server_spawn", GameEventType::ServerSpawn => "server_spawn",
GameEventType::ServerChangeLevelFailed => "server_changelevel_failed", GameEventType::ServerChangeLevelFailed => "server_changelevel_failed",
@ -7497,7 +7497,7 @@ impl GameEventType {
GameEventType::ReplayEndRecord => "replay_endrecord", GameEventType::ReplayEndRecord => "replay_endrecord",
GameEventType::ReplayReplaysAvailable => "replay_replaysavailable", GameEventType::ReplayReplaysAvailable => "replay_replaysavailable",
GameEventType::ReplayServerError => "replay_servererror", GameEventType::ReplayServerError => "replay_servererror",
GameEventType::Unknown => "unknown", GameEventType::Unknown(ty) => &ty,
} }
} }
} }
@ -8697,7 +8697,9 @@ impl GameEvent {
GameEventType::ReplayServerError => { GameEventType::ReplayServerError => {
GameEvent::ReplayServerError(ReplayServerErrorEvent::read(stream, definition)?) GameEvent::ReplayServerError(ReplayServerErrorEvent::read(stream, definition)?)
} }
GameEventType::Unknown => GameEvent::Unknown(RawGameEvent::read(stream, definition)?), GameEventType::Unknown(_) => {
GameEvent::Unknown(RawGameEvent::read(stream, definition)?)
}
}) })
} }
pub fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> bitbuffer::Result<()> { pub fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> bitbuffer::Result<()> {

View file

@ -239,7 +239,10 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
quote!(pub #name: #ty,) quote!(pub #name: #ty,)
}); });
let name = Ident::new(&format!("{}Event", get_event_name(event.event_type.as_str())), span); let name = Ident::new(
&format!("{}Event", get_event_name(event.event_type.as_str())),
span,
);
let entry_readers = event.entries.iter().map(|entry| { let entry_readers = event.entries.iter().map(|entry| {
let name_str = get_entry_name(&entry.name); let name_str = get_entry_name(&entry.name);
@ -293,9 +296,8 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
let event_types = events.iter().map(|event| { let event_types = events.iter().map(|event| {
let name_str = get_event_name(event.event_type.as_str()); let name_str = get_event_name(event.event_type.as_str());
let name = Ident::new(&name_str, span); let name = Ident::new(&name_str, span);
let id = Literal::u16_unsuffixed(event.id.into());
quote!(#name = #id,) quote!(#name,)
}); });
let type_from_names = events.iter().map(|event| { let type_from_names = events.iter().map(|event| {
@ -382,23 +384,23 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
Unknown(RawGameEvent), Unknown(RawGameEvent),
} }
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] #[derive(Clone, Debug, PartialEq, Eq, Hash)]
pub enum GameEventType { pub enum GameEventType {
#(#event_types)* #(#event_types)*
Unknown, Unknown(String),
} }
impl GameEventType { impl GameEventType {
pub fn from_type_name(name: &str) -> Self { pub fn from_type_name(name: &str) -> Self {
match name { match name {
#(#type_from_names)* #(#type_from_names)*
_ => GameEventType::Unknown, ty => GameEventType::Unknown(ty.into()),
} }
} }
pub fn as_str(&self) -> &'static str { pub fn as_str(&self) -> &str {
match self { match self {
#(#type_to_names)* #(#type_to_names)*
GameEventType::Unknown => "unknown", GameEventType::Unknown(ty) => &ty,
} }
} }
} }
@ -407,7 +409,7 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
pub fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> { pub fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(match definition.event_type { Ok(match definition.event_type {
#(#read_events)* #(#read_events)*
GameEventType::Unknown => GameEvent::Unknown(RawGameEvent::read(stream, definition)?), GameEventType::Unknown(_) => GameEvent::Unknown(RawGameEvent::read(stream, definition)?),
}) })
} }
pub fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> bitbuffer::Result<()> { pub fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> bitbuffer::Result<()> {

View file

@ -6282,410 +6282,410 @@ pub enum GameEvent {
ReplayServerError(ReplayServerErrorEvent), ReplayServerError(ReplayServerErrorEvent),
Unknown(RawGameEvent), Unknown(RawGameEvent),
} }
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] #[derive(Clone, Debug, PartialEq, Eq, Hash)]
pub enum GameEventType { pub enum GameEventType {
ServerSpawn = 0, ServerSpawn,
ServerChangeLevelFailed = 1, ServerChangeLevelFailed,
ServerShutdown = 2, ServerShutdown,
ServerCvar = 3, ServerCvar,
ServerMessage = 4, ServerMessage,
ServerAddBan = 5, ServerAddBan,
ServerRemoveBan = 6, ServerRemoveBan,
PlayerConnect = 7, PlayerConnect,
PlayerConnectClient = 8, PlayerConnectClient,
PlayerInfo = 9, PlayerInfo,
PlayerDisconnect = 10, PlayerDisconnect,
PlayerActivate = 11, PlayerActivate,
PlayerSay = 12, PlayerSay,
ClientDisconnect = 13, ClientDisconnect,
ClientBeginConnect = 14, ClientBeginConnect,
ClientConnected = 15, ClientConnected,
ClientFullConnect = 16, ClientFullConnect,
HostQuit = 17, HostQuit,
TeamInfo = 18, TeamInfo,
TeamScore = 19, TeamScore,
TeamPlayBroadcastAudio = 20, TeamPlayBroadcastAudio,
PlayerTeam = 21, PlayerTeam,
PlayerClass = 22, PlayerClass,
PlayerDeath = 23, PlayerDeath,
PlayerHurt = 24, PlayerHurt,
PlayerChat = 25, PlayerChat,
PlayerScore = 26, PlayerScore,
PlayerSpawn = 27, PlayerSpawn,
PlayerShoot = 28, PlayerShoot,
PlayerUse = 29, PlayerUse,
PlayerChangeName = 30, PlayerChangeName,
PlayerHintMessage = 31, PlayerHintMessage,
BasePlayerTeleported = 32, BasePlayerTeleported,
GameInit = 33, GameInit,
GameNewMap = 34, GameNewMap,
GameStart = 35, GameStart,
GameEnd = 36, GameEnd,
RoundStart = 37, RoundStart,
RoundEnd = 38, RoundEnd,
GameMessage = 39, GameMessage,
BreakBreakable = 40, BreakBreakable,
BreakProp = 41, BreakProp,
EntityKilled = 42, EntityKilled,
BonusUpdated = 43, BonusUpdated,
AchievementEvent = 44, AchievementEvent,
AchievementIncrement = 45, AchievementIncrement,
PhysgunPickup = 46, PhysgunPickup,
FlareIgniteNpc = 47, FlareIgniteNpc,
HelicopterGrenadePuntMiss = 48, HelicopterGrenadePuntMiss,
UserDataDownloaded = 49, UserDataDownloaded,
RagdollDissolved = 50, RagdollDissolved,
HLTVChangedMode = 51, HLTVChangedMode,
HLTVChangedTarget = 52, HLTVChangedTarget,
VoteEnded = 53, VoteEnded,
VoteStarted = 54, VoteStarted,
VoteChanged = 55, VoteChanged,
VotePassed = 56, VotePassed,
VoteFailed = 57, VoteFailed,
VoteCast = 58, VoteCast,
VoteOptions = 59, VoteOptions,
ReplaySaved = 60, ReplaySaved,
EnteredPerformanceMode = 61, EnteredPerformanceMode,
BrowseReplays = 62, BrowseReplays,
ReplayYoutubeStats = 63, ReplayYoutubeStats,
InventoryUpdated = 64, InventoryUpdated,
CartUpdated = 65, CartUpdated,
StorePriceSheetUpdated = 66, StorePriceSheetUpdated,
EconInventoryConnected = 67, EconInventoryConnected,
ItemSchemaInitialized = 68, ItemSchemaInitialized,
GcNewSession = 69, GcNewSession,
GcLostSession = 70, GcLostSession,
IntroFinish = 71, IntroFinish,
IntroNextCamera = 72, IntroNextCamera,
PlayerChangeClass = 73, PlayerChangeClass,
TfMapTimeRemaining = 74, TfMapTimeRemaining,
TfGameOver = 75, TfGameOver,
CtfFlagCaptured = 76, CtfFlagCaptured,
ControlPointInitialized = 77, ControlPointInitialized,
ControlPointUpdateImages = 78, ControlPointUpdateImages,
ControlPointUpdateLayout = 79, ControlPointUpdateLayout,
ControlPointUpdateCapping = 80, ControlPointUpdateCapping,
ControlPointUpdateOwner = 81, ControlPointUpdateOwner,
ControlPointStartTouch = 82, ControlPointStartTouch,
ControlPointEndTouch = 83, ControlPointEndTouch,
ControlPointPulseElement = 84, ControlPointPulseElement,
ControlPointFakeCapture = 85, ControlPointFakeCapture,
ControlPointFakeCaptureMultiplier = 86, ControlPointFakeCaptureMultiplier,
TeamPlayRoundSelected = 87, TeamPlayRoundSelected,
TeamPlayRoundStart = 88, TeamPlayRoundStart,
TeamPlayRoundActive = 89, TeamPlayRoundActive,
TeamPlayWaitingBegins = 90, TeamPlayWaitingBegins,
TeamPlayWaitingEnds = 91, TeamPlayWaitingEnds,
TeamPlayWaitingAboutToEnd = 92, TeamPlayWaitingAboutToEnd,
TeamPlayRestartRound = 93, TeamPlayRestartRound,
TeamPlayReadyRestart = 94, TeamPlayReadyRestart,
TeamPlayRoundRestartSeconds = 95, TeamPlayRoundRestartSeconds,
TeamPlayTeamReady = 96, TeamPlayTeamReady,
TeamPlayRoundWin = 97, TeamPlayRoundWin,
TeamPlayUpdateTimer = 98, TeamPlayUpdateTimer,
TeamPlayRoundStalemate = 99, TeamPlayRoundStalemate,
TeamPlayOvertimeBegin = 100, TeamPlayOvertimeBegin,
TeamPlayOvertimeEnd = 101, TeamPlayOvertimeEnd,
TeamPlaySuddenDeathBegin = 102, TeamPlaySuddenDeathBegin,
TeamPlaySuddenDeathEnd = 103, TeamPlaySuddenDeathEnd,
TeamPlayGameOver = 104, TeamPlayGameOver,
TeamPlayMapTimeRemaining = 105, TeamPlayMapTimeRemaining,
TeamPlayTimerFlash = 106, TeamPlayTimerFlash,
TeamPlayTimerTimeAdded = 107, TeamPlayTimerTimeAdded,
TeamPlayPointStartCapture = 108, TeamPlayPointStartCapture,
TeamPlayPointCaptured = 109, TeamPlayPointCaptured,
TeamPlayPointLocked = 110, TeamPlayPointLocked,
TeamPlayPointUnlocked = 111, TeamPlayPointUnlocked,
TeamPlayCaptureBroken = 112, TeamPlayCaptureBroken,
TeamPlayCaptureBlocked = 113, TeamPlayCaptureBlocked,
TeamPlayFlagEvent = 114, TeamPlayFlagEvent,
TeamPlayWinPanel = 115, TeamPlayWinPanel,
TeamPlayTeamBalancedPlayer = 116, TeamPlayTeamBalancedPlayer,
TeamPlaySetupFinished = 117, TeamPlaySetupFinished,
TeamPlayAlert = 118, TeamPlayAlert,
TrainingComplete = 119, TrainingComplete,
ShowFreezePanel = 120, ShowFreezePanel,
HideFreezePanel = 121, HideFreezePanel,
FreezeCamStarted = 122, FreezeCamStarted,
LocalPlayerChangeTeam = 123, LocalPlayerChangeTeam,
LocalPlayerScoreChanged = 124, LocalPlayerScoreChanged,
LocalPlayerChangeClass = 125, LocalPlayerChangeClass,
LocalPlayerRespawn = 126, LocalPlayerRespawn,
BuildingInfoChanged = 127, BuildingInfoChanged,
LocalPlayerChangeDisguise = 128, LocalPlayerChangeDisguise,
PlayerAccountChanged = 129, PlayerAccountChanged,
SpyPdaReset = 130, SpyPdaReset,
FlagStatusUpdate = 131, FlagStatusUpdate,
PlayerStatsUpdated = 132, PlayerStatsUpdated,
PlayingCommentary = 133, PlayingCommentary,
PlayerChargeDeployed = 134, PlayerChargeDeployed,
PlayerBuiltObject = 135, PlayerBuiltObject,
PlayerUpgradedObject = 136, PlayerUpgradedObject,
PlayerCarryObject = 137, PlayerCarryObject,
PlayerDropObject = 138, PlayerDropObject,
ObjectRemoved = 139, ObjectRemoved,
ObjectDestroyed = 140, ObjectDestroyed,
ObjectDetonated = 141, ObjectDetonated,
AchievementEarned = 142, AchievementEarned,
SpecTargetUpdated = 143, SpecTargetUpdated,
TournamentStateUpdate = 144, TournamentStateUpdate,
TournamentEnableCountdown = 145, TournamentEnableCountdown,
PlayerCalledForMedic = 146, PlayerCalledForMedic,
PlayerAskedForBall = 147, PlayerAskedForBall,
LocalPlayerBecameObserver = 148, LocalPlayerBecameObserver,
PlayerIgnitedInv = 149, PlayerIgnitedInv,
PlayerIgnited = 150, PlayerIgnited,
PlayerExtinguished = 151, PlayerExtinguished,
PlayerTeleported = 152, PlayerTeleported,
PlayerHealedMedicCall = 153, PlayerHealedMedicCall,
LocalPlayerChargeReady = 154, LocalPlayerChargeReady,
LocalPlayerWindDown = 155, LocalPlayerWindDown,
PlayerInvulned = 156, PlayerInvulned,
EscortSpeed = 157, EscortSpeed,
EscortProgress = 158, EscortProgress,
EscortRecede = 159, EscortRecede,
GameUIActivated = 160, GameUIActivated,
GameUIHidden = 161, GameUIHidden,
PlayerEscortScore = 162, PlayerEscortScore,
PlayerHealOnHit = 163, PlayerHealOnHit,
PlayerStealSandvich = 164, PlayerStealSandvich,
ShowClassLayout = 165, ShowClassLayout,
ShowVsPanel = 166, ShowVsPanel,
PlayerDamaged = 167, PlayerDamaged,
ArenaPlayerNotification = 168, ArenaPlayerNotification,
ArenaMatchMaxStreak = 169, ArenaMatchMaxStreak,
ArenaRoundStart = 170, ArenaRoundStart,
ArenaWinPanel = 171, ArenaWinPanel,
PveWinPanel = 172, PveWinPanel,
AirDash = 173, AirDash,
Landed = 174, Landed,
PlayerDamageDodged = 175, PlayerDamageDodged,
PlayerStunned = 176, PlayerStunned,
ScoutGrandSlam = 177, ScoutGrandSlam,
ScoutSlamdollLanded = 178, ScoutSlamdollLanded,
ArrowImpact = 179, ArrowImpact,
PlayerJarated = 180, PlayerJarated,
PlayerJaratedFade = 181, PlayerJaratedFade,
PlayerShieldBlocked = 182, PlayerShieldBlocked,
PlayerPinned = 183, PlayerPinned,
PlayerHealedByMedic = 184, PlayerHealedByMedic,
PlayerSappedObject = 185, PlayerSappedObject,
ItemFound = 186, ItemFound,
ShowAnnotation = 187, ShowAnnotation,
HideAnnotation = 188, HideAnnotation,
PostInventoryApplication = 189, PostInventoryApplication,
ControlPointUnlockUpdated = 190, ControlPointUnlockUpdated,
DeployBuffBanner = 191, DeployBuffBanner,
PlayerBuff = 192, PlayerBuff,
MedicDeath = 193, MedicDeath,
OvertimeNag = 194, OvertimeNag,
TeamsChanged = 195, TeamsChanged,
HalloweenPumpkinGrab = 196, HalloweenPumpkinGrab,
RocketJump = 197, RocketJump,
RocketJumpLanded = 198, RocketJumpLanded,
StickyJump = 199, StickyJump,
StickyJumpLanded = 200, StickyJumpLanded,
RocketPackLaunch = 201, RocketPackLaunch,
RocketPackLanded = 202, RocketPackLanded,
MedicDefended = 203, MedicDefended,
LocalPlayerHealed = 204, LocalPlayerHealed,
PlayerDestroyedPipeBomb = 205, PlayerDestroyedPipeBomb,
ObjectDeflected = 206, ObjectDeflected,
PlayerMvp = 207, PlayerMvp,
RaidSpawnMob = 208, RaidSpawnMob,
RaidSpawnSquad = 209, RaidSpawnSquad,
NavBlocked = 210, NavBlocked,
PathTrackPassed = 211, PathTrackPassed,
NumCappersChanged = 212, NumCappersChanged,
PlayerRegenerate = 213, PlayerRegenerate,
UpdateStatusItem = 214, UpdateStatusItem,
StatsResetRound = 215, StatsResetRound,
ScoreStatsAccumulatedUpdate = 216, ScoreStatsAccumulatedUpdate,
ScoreStatsAccumulatedReset = 217, ScoreStatsAccumulatedReset,
AchievementEarnedLocal = 218, AchievementEarnedLocal,
PlayerHealed = 219, PlayerHealed,
BuildingHealed = 220, BuildingHealed,
ItemPickup = 221, ItemPickup,
DuelStatus = 222, DuelStatus,
FishNotice = 223, FishNotice,
FishNoticeArm = 224, FishNoticeArm,
SlapNotice = 225, SlapNotice,
ThrowableHit = 226, ThrowableHit,
PumpkinLordSummoned = 227, PumpkinLordSummoned,
PumpkinLordKilled = 228, PumpkinLordKilled,
MerasmusSummoned = 229, MerasmusSummoned,
MerasmusKilled = 230, MerasmusKilled,
MerasmusEscapeWarning = 231, MerasmusEscapeWarning,
MerasmusEscaped = 232, MerasmusEscaped,
EyeballBossSummoned = 233, EyeballBossSummoned,
EyeballBossStunned = 234, EyeballBossStunned,
EyeballBossKilled = 235, EyeballBossKilled,
EyeballBossKiller = 236, EyeballBossKiller,
EyeballBossEscapeImminent = 237, EyeballBossEscapeImminent,
EyeballBossEscaped = 238, EyeballBossEscaped,
NpcHurt = 239, NpcHurt,
ControlPointTimerUpdated = 240, ControlPointTimerUpdated,
PlayerHighFiveStart = 241, PlayerHighFiveStart,
PlayerHighFiveCancel = 242, PlayerHighFiveCancel,
PlayerHighFiveSuccess = 243, PlayerHighFiveSuccess,
PlayerBonusPoints = 244, PlayerBonusPoints,
PlayerUpgraded = 245, PlayerUpgraded,
PlayerBuyback = 246, PlayerBuyback,
PlayerUsedPowerUpBottle = 247, PlayerUsedPowerUpBottle,
ChristmasGiftGrab = 248, ChristmasGiftGrab,
PlayerKilledAchievementZone = 249, PlayerKilledAchievementZone,
PartyUpdated = 250, PartyUpdated,
PartyPrefChanged = 251, PartyPrefChanged,
PartyCriteriaChanged = 252, PartyCriteriaChanged,
PartyInvitesChanged = 253, PartyInvitesChanged,
PartyQueueStateChanged = 254, PartyQueueStateChanged,
PartyChat = 255, PartyChat,
PartyMemberJoin = 256, PartyMemberJoin,
PartyMemberLeave = 257, PartyMemberLeave,
MatchInvitesUpdated = 258, MatchInvitesUpdated,
LobbyUpdated = 259, LobbyUpdated,
MvmMissionUpdate = 260, MvmMissionUpdate,
RecalculateHolidays = 261, RecalculateHolidays,
PlayerCurrencyChanged = 262, PlayerCurrencyChanged,
DoomsdayRocketOpen = 263, DoomsdayRocketOpen,
RemoveNemesisRelationships = 264, RemoveNemesisRelationships,
MvmCreditBonusWave = 265, MvmCreditBonusWave,
MvmCreditBonusAll = 266, MvmCreditBonusAll,
MvmCreditBonusAllAdvanced = 267, MvmCreditBonusAllAdvanced,
MvmQuickSentryUpgrade = 268, MvmQuickSentryUpgrade,
MvmTankDestroyedByPlayers = 269, MvmTankDestroyedByPlayers,
MvmKillRobotDeliveringBomb = 270, MvmKillRobotDeliveringBomb,
MvmPickupCurrency = 271, MvmPickupCurrency,
MvmBombCarrierKilled = 272, MvmBombCarrierKilled,
MvmSentryBusterDetonate = 273, MvmSentryBusterDetonate,
MvmScoutMarkedForDeath = 274, MvmScoutMarkedForDeath,
MvmMedicPowerUpShared = 275, MvmMedicPowerUpShared,
MvmBeginWave = 276, MvmBeginWave,
MvmWaveComplete = 277, MvmWaveComplete,
MvmMissionComplete = 278, MvmMissionComplete,
MvmBombResetByPlayer = 279, MvmBombResetByPlayer,
MvmBombAlarmTriggered = 280, MvmBombAlarmTriggered,
MvmBombDeployResetByPlayer = 281, MvmBombDeployResetByPlayer,
MvmWaveFailed = 282, MvmWaveFailed,
MvmResetStats = 283, MvmResetStats,
DamageResisted = 284, DamageResisted,
RevivePlayerNotify = 285, RevivePlayerNotify,
RevivePlayerStopped = 286, RevivePlayerStopped,
RevivePlayerComplete = 287, RevivePlayerComplete,
PlayerTurnedToGhost = 288, PlayerTurnedToGhost,
MedigunShieldBlockedDamage = 289, MedigunShieldBlockedDamage,
MvmAdvWaveCompleteNoGates = 290, MvmAdvWaveCompleteNoGates,
MvmSniperHeadshotCurrency = 291, MvmSniperHeadshotCurrency,
MvmMannhattanPit = 292, MvmMannhattanPit,
FlagCarriedInDetectionZone = 293, FlagCarriedInDetectionZone,
MvmAdvWaveKilledStunRadio = 294, MvmAdvWaveKilledStunRadio,
PlayerDirectHitStun = 295, PlayerDirectHitStun,
MvmSentryBusterKilled = 296, MvmSentryBusterKilled,
UpgradesFileChanged = 297, UpgradesFileChanged,
RdTeamPointsChanged = 298, RdTeamPointsChanged,
RdRulesStateChanged = 299, RdRulesStateChanged,
RdRobotKilled = 300, RdRobotKilled,
RdRobotImpact = 301, RdRobotImpact,
TeamPlayPreRoundTimeLeft = 302, TeamPlayPreRoundTimeLeft,
ParachuteDeploy = 303, ParachuteDeploy,
ParachuteHolster = 304, ParachuteHolster,
KillRefillsMeter = 305, KillRefillsMeter,
RpsTauntEvent = 306, RpsTauntEvent,
CongaKill = 307, CongaKill,
PlayerInitialSpawn = 308, PlayerInitialSpawn,
CompetitiveVictory = 309, CompetitiveVictory,
CompetitiveStatsUpdate = 310, CompetitiveStatsUpdate,
MiniGameWin = 311, MiniGameWin,
SentryOnGoActive = 312, SentryOnGoActive,
DuckXpLevelUp = 313, DuckXpLevelUp,
QuestLogOpened = 314, QuestLogOpened,
SchemaUpdated = 315, SchemaUpdated,
LocalPlayerPickupWeapon = 316, LocalPlayerPickupWeapon,
RdPlayerScorePoints = 317, RdPlayerScorePoints,
DemomanDetStickies = 318, DemomanDetStickies,
QuestObjectiveCompleted = 319, QuestObjectiveCompleted,
PlayerScoreChanged = 320, PlayerScoreChanged,
KilledCappingPlayer = 321, KilledCappingPlayer,
EnvironmentalDeath = 322, EnvironmentalDeath,
ProjectileDirectHit = 323, ProjectileDirectHit,
PassGet = 324, PassGet,
PassScore = 325, PassScore,
PassFree = 326, PassFree,
PassPassCaught = 327, PassPassCaught,
PassBallStolen = 328, PassBallStolen,
PassBallBlocked = 329, PassBallBlocked,
DamagePrevented = 330, DamagePrevented,
HalloweenBossKilled = 331, HalloweenBossKilled,
EscapedLootIsland = 332, EscapedLootIsland,
TaggedPlayerAsIt = 333, TaggedPlayerAsIt,
MerasmusStunned = 334, MerasmusStunned,
MerasmusPropFound = 335, MerasmusPropFound,
HalloweenSkeletonKilled = 336, HalloweenSkeletonKilled,
EscapeHell = 337, EscapeHell,
CrossSpectralBridge = 338, CrossSpectralBridge,
MiniGameWon = 339, MiniGameWon,
RespawnGhost = 340, RespawnGhost,
KillInHell = 341, KillInHell,
HalloweenDuckCollected = 342, HalloweenDuckCollected,
SpecialScore = 343, SpecialScore,
TeamLeaderKilled = 344, TeamLeaderKilled,
HalloweenSoulCollected = 345, HalloweenSoulCollected,
RecalculateTruce = 346, RecalculateTruce,
DeadRingerCheatDeath = 347, DeadRingerCheatDeath,
CrossbowHeal = 348, CrossbowHeal,
DamageMitigated = 349, DamageMitigated,
PayloadPushed = 350, PayloadPushed,
PlayerAbandonedMatch = 351, PlayerAbandonedMatch,
ClDrawline = 352, ClDrawline,
RestartTimerTime = 353, RestartTimerTime,
WinLimitChanged = 354, WinLimitChanged,
WinPanelShowScores = 355, WinPanelShowScores,
TopStreamsRequestFinished = 356, TopStreamsRequestFinished,
CompetitiveStateChanged = 357, CompetitiveStateChanged,
GlobalWarDataUpdated = 358, GlobalWarDataUpdated,
StopWatchChanged = 359, StopWatchChanged,
DsStop = 360, DsStop,
DsScreenshot = 361, DsScreenshot,
ShowMatchSummary = 362, ShowMatchSummary,
ExperienceChanged = 363, ExperienceChanged,
BeginXpLerp = 364, BeginXpLerp,
MatchmakerStatsUpdated = 365, MatchmakerStatsUpdated,
RematchVotePeriodOver = 366, RematchVotePeriodOver,
RematchFailedToCreate = 367, RematchFailedToCreate,
PlayerRematchChange = 368, PlayerRematchChange,
PingUpdated = 369, PingUpdated,
MMStatsUpdated = 370, MMStatsUpdated,
PlayerNextMapVoteChange = 371, PlayerNextMapVoteChange,
VoteMapsChanged = 372, VoteMapsChanged,
ProtoDefChanged = 373, ProtoDefChanged,
PlayerDomination = 374, PlayerDomination,
PlayerRocketPackPushed = 375, PlayerRocketPackPushed,
QuestRequest = 376, QuestRequest,
QuestResponse = 377, QuestResponse,
QuestProgress = 378, QuestProgress,
ProjectileRemoved = 379, ProjectileRemoved,
QuestMapDataChanged = 380, QuestMapDataChanged,
GasDousedPlayerIgnited = 381, GasDousedPlayerIgnited,
QuestTurnInState = 382, QuestTurnInState,
ItemsAcknowledged = 383, ItemsAcknowledged,
CapperKilled = 384, CapperKilled,
MainMenuStabilized = 385, MainMenuStabilized,
WorldStatusChanged = 386, WorldStatusChanged,
HLTVStatus = 387, HLTVStatus,
HLTVCameraman = 388, HLTVCameraman,
HLTVRankCamera = 389, HLTVRankCamera,
HLTVRankEntity = 390, HLTVRankEntity,
HLTVFixed = 391, HLTVFixed,
HLTVChase = 392, HLTVChase,
HLTVMessage = 393, HLTVMessage,
HLTVTitle = 394, HLTVTitle,
HLTVChat = 395, HLTVChat,
ReplayStartRecord = 396, ReplayStartRecord,
ReplaySessionInfo = 397, ReplaySessionInfo,
ReplayEndRecord = 398, ReplayEndRecord,
ReplayReplaysAvailable = 399, ReplayReplaysAvailable,
ReplayServerError = 400, ReplayServerError,
Unknown, Unknown(String),
} }
impl GameEventType { impl GameEventType {
pub fn from_type_name(name: &str) -> Self { pub fn from_type_name(name: &str) -> Self {
@ -7091,10 +7091,10 @@ impl GameEventType {
"replay_endrecord" => GameEventType::ReplayEndRecord, "replay_endrecord" => GameEventType::ReplayEndRecord,
"replay_replaysavailable" => GameEventType::ReplayReplaysAvailable, "replay_replaysavailable" => GameEventType::ReplayReplaysAvailable,
"replay_servererror" => GameEventType::ReplayServerError, "replay_servererror" => GameEventType::ReplayServerError,
_ => GameEventType::Unknown, ty => GameEventType::Unknown(ty.into()),
} }
} }
pub fn as_str(&self) -> &'static str { pub fn as_str(&self) -> &str {
match self { match self {
GameEventType::ServerSpawn => "server_spawn", GameEventType::ServerSpawn => "server_spawn",
GameEventType::ServerChangeLevelFailed => "server_changelevel_failed", GameEventType::ServerChangeLevelFailed => "server_changelevel_failed",
@ -7497,7 +7497,7 @@ impl GameEventType {
GameEventType::ReplayEndRecord => "replay_endrecord", GameEventType::ReplayEndRecord => "replay_endrecord",
GameEventType::ReplayReplaysAvailable => "replay_replaysavailable", GameEventType::ReplayReplaysAvailable => "replay_replaysavailable",
GameEventType::ReplayServerError => "replay_servererror", GameEventType::ReplayServerError => "replay_servererror",
GameEventType::Unknown => "unknown", GameEventType::Unknown(ty) => &ty,
} }
} }
} }
@ -8697,7 +8697,9 @@ impl GameEvent {
GameEventType::ReplayServerError => { GameEventType::ReplayServerError => {
GameEvent::ReplayServerError(ReplayServerErrorEvent::read(stream, definition)?) GameEvent::ReplayServerError(ReplayServerErrorEvent::read(stream, definition)?)
} }
GameEventType::Unknown => GameEvent::Unknown(RawGameEvent::read(stream, definition)?), GameEventType::Unknown(_) => {
GameEvent::Unknown(RawGameEvent::read(stream, definition)?)
}
}) })
} }
pub fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> bitbuffer::Result<()> { pub fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> bitbuffer::Result<()> {

View file

@ -168,7 +168,7 @@ impl RawGameEvent {
} }
Ok(RawGameEvent { Ok(RawGameEvent {
event_type: definition.event_type, event_type: definition.event_type.clone(),
values, values,
}) })
} }

View file

@ -25,7 +25,7 @@ impl Parse<'_> for GameEventMessage {
return Ok(GameEventMessage { return Ok(GameEventMessage {
event_type_id, event_type_id,
event: GameEvent::Unknown(RawGameEvent { event: GameEvent::Unknown(RawGameEvent {
event_type: GameEventType::Unknown, event_type: GameEventType::Unknown(String::new()),
values: Vec::new(), values: Vec::new(),
}), }),
}); });
@ -161,6 +161,9 @@ impl BitRead<'_, LittleEndian> for GameEventDefinition {
impl BitWrite<LittleEndian> for GameEventDefinition { impl BitWrite<LittleEndian> for GameEventDefinition {
fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> ReadResult<()> { fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> ReadResult<()> {
self.id.write(stream)?; self.id.write(stream)?;
// if self.event_type == GameEventType::Unknown {
// panic!("unknown");
// }
self.event_type.as_str().write(stream)?; self.event_type.as_str().write(stream)?;
for entry in self.entries.iter() { for entry in self.entries.iter() {

View file