Skip to main content

source2_demo/
lib.rs

1#![doc = include_str!("../README.md")]
2
3mod display;
4mod entity;
5pub mod error;
6mod event;
7mod macros;
8mod parser;
9pub mod reader;
10mod string_table;
11
12pub mod proto {
13    pub use source2_demo_protobufs::prost::Message;
14    pub use source2_demo_protobufs::*;
15}
16
17pub mod prelude {
18    pub use crate::entity::{Entity, EntityEvents};
19    pub use crate::event::{EventValue, GameEvent, GameEventList};
20    pub use crate::parser::*;
21    pub use crate::reader::{BitsReader};
22    pub use crate::string_table::*;
23    pub use crate::{property, try_property};
24
25    pub use source2_demo_macros::*;
26
27    pub use source2_demo_protobufs::prost::Message;
28    pub use source2_demo_protobufs::EBaseGameEvents;
29    pub use source2_demo_protobufs::EBaseUserMessages;
30    pub use source2_demo_protobufs::EDemoCommands;
31    pub use source2_demo_protobufs::NetMessages;
32    pub use source2_demo_protobufs::SvcMessages;
33
34    #[cfg(feature = "dota")]
35    pub use crate::event::CombatLogEntry;
36    #[cfg(feature = "dota")]
37    pub use crate::proto::EDotaUserMessages;
38
39    #[cfg(feature = "deadlock")]
40    pub use crate::proto::CitadelUserMessageIds;
41    #[cfg(feature = "deadlock")]
42    pub use crate::proto::ECitadelGameEvents;
43
44    #[cfg(feature = "cs2")]
45    pub use crate::proto::ECstrike15UserMessages;
46    #[cfg(feature = "cs2")]
47    pub use crate::proto::ECsgoGameEvents;
48}
49
50pub use crate::entity::field::FieldValue;
51pub use crate::entity::*;
52pub use crate::event::*;
53pub use crate::parser::*;
54pub use crate::string_table::*;
55pub use source2_demo_macros::*;
56
57pub type HashMap<K, V> =
58hashbrown::HashMap<K, V, rustc_hash::FxBuildHasher>;
59pub type HashSet<T> =
60hashbrown::HashSet<T, rustc_hash::FxBuildHasher>;
61
62
63#[cfg(feature = "dota")]
64pub use crate::event::CombatLogEntry;
65
66#[cfg(feature = "mimalloc")]
67use mimalloc::MiMalloc;
68#[cfg(feature = "mimalloc")]
69#[global_allocator]
70static GLOBAL: MiMalloc = MiMalloc;