#![doc = include_str!("../README.md")]
#![doc(html_root_url = "https://docs.rs/source2-demo/0.3.2")]
#![warn(missing_docs)]
#![allow(clippy::too_many_arguments)]
mod display;
mod entity;
pub mod error;
mod event;
mod macros;
mod parser;
mod reader;
mod string_table;
pub mod proto {
pub use source2_demo_protobufs::prost::Message;
pub use source2_demo_protobufs::*;
}
pub mod prelude {
pub use crate::entity::{Entity, EntityEvents};
pub use crate::event::{EventValue, GameEvent, GameEventList};
pub use crate::parser::*;
pub use crate::string_table::*;
pub use crate::{property, try_property};
pub use source2_demo_macros::*;
pub use source2_demo_protobufs::prost::Message;
pub use source2_demo_protobufs::EBaseGameEvents;
pub use source2_demo_protobufs::EBaseUserMessages;
pub use source2_demo_protobufs::EDemoCommands;
pub use source2_demo_protobufs::NetMessages;
pub use source2_demo_protobufs::SvcMessages;
#[cfg(feature = "dota")]
pub use crate::event::CombatLogEntry;
#[cfg(feature = "dota")]
pub use crate::proto::EDotaUserMessages;
#[cfg(feature = "deadlock")]
pub use crate::proto::CitadelUserMessageIds;
#[cfg(feature = "deadlock")]
pub use crate::proto::ECitadelGameEvents;
#[cfg(feature = "cs2")]
pub use crate::proto::ECstrike15UserMessages;
#[cfg(feature = "cs2")]
pub use crate::proto::ECsgoGameEvents;
}
pub use crate::entity::field::FieldValue;
pub use crate::entity::*;
pub use crate::event::*;
pub use crate::parser::*;
pub use crate::string_table::*;
pub use source2_demo_macros::*;
pub type HashMap<K, V> =
hashbrown::HashMap<K, V, rustc_hash::FxBuildHasher>;
pub type HashSet<T> =
hashbrown::HashSet<T, rustc_hash::FxBuildHasher>;
#[cfg(feature = "dota")]
pub use crate::event::CombatLogEntry;
#[cfg(feature = "mimalloc")]
use mimalloc::MiMalloc;
#[cfg(feature = "mimalloc")]
#[global_allocator]
static GLOBAL: MiMalloc = MiMalloc;