1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 18:24:05 +02:00
parser/codegen/out.rs
2021-07-18 15:03:26 +02:00

10300 lines
420 KiB
Rust

use super::gamevent::{EventValue, GameEventDefinition, GameEventEntry, RawGameEvent};
use crate::demo::Stream;
use crate::{ParseError, Result};
use bitbuffer::{BitRead, BitWrite, BitWriteStream, LittleEndian};
fn read_value<'a, T: EventValue + BitRead<'a, LittleEndian> + Default>(
stream: &mut Stream<'a>,
entry: Option<&GameEventEntry>,
name: &'static str,
) -> Result<T> {
let entry = match entry {
Some(entry) => entry,
None => {
return Ok(T::default());
}
};
if T::value_type() != entry.kind {
return Err(ParseError::InvalidGameEvent {
expected_type: T::value_type(),
name,
found_type: entry.kind,
});
}
Ok(T::read(stream)?)
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ServerSpawnEvent {
pub hostname: String,
pub address: String,
pub ip: u32,
pub port: u16,
pub game: String,
pub map_name: String,
pub max_players: u32,
pub os: String,
pub dedicated: bool,
pub password: bool,
}
impl ServerSpawnEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ServerSpawnEvent {
hostname: read_value::<String>(stream, iter.next(), "hostname")?,
address: read_value::<String>(stream, iter.next(), "address")?,
ip: read_value::<u32>(stream, iter.next(), "ip")?,
port: read_value::<u16>(stream, iter.next(), "port")?,
game: read_value::<String>(stream, iter.next(), "game")?,
map_name: read_value::<String>(stream, iter.next(), "map_name")?,
max_players: read_value::<u32>(stream, iter.next(), "max_players")?,
os: read_value::<String>(stream, iter.next(), "os")?,
dedicated: read_value::<bool>(stream, iter.next(), "dedicated")?,
password: read_value::<bool>(stream, iter.next(), "password")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ServerChangeLevelFailedEvent {
pub level_name: String,
}
impl ServerChangeLevelFailedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ServerChangeLevelFailedEvent {
level_name: read_value::<String>(stream, iter.next(), "level_name")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ServerShutdownEvent {
pub reason: String,
}
impl ServerShutdownEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ServerShutdownEvent {
reason: read_value::<String>(stream, iter.next(), "reason")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ServerCvarEvent {
pub cvar_name: String,
pub cvar_value: String,
}
impl ServerCvarEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ServerCvarEvent {
cvar_name: read_value::<String>(stream, iter.next(), "cvar_name")?,
cvar_value: read_value::<String>(stream, iter.next(), "cvar_value")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ServerMessageEvent {
pub text: String,
}
impl ServerMessageEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ServerMessageEvent {
text: read_value::<String>(stream, iter.next(), "text")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ServerAddBanEvent {
pub name: String,
pub user_id: u16,
pub network_id: String,
pub ip: String,
pub duration: String,
pub by: String,
pub kicked: bool,
}
impl ServerAddBanEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ServerAddBanEvent {
name: read_value::<String>(stream, iter.next(), "name")?,
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
network_id: read_value::<String>(stream, iter.next(), "network_id")?,
ip: read_value::<String>(stream, iter.next(), "ip")?,
duration: read_value::<String>(stream, iter.next(), "duration")?,
by: read_value::<String>(stream, iter.next(), "by")?,
kicked: read_value::<bool>(stream, iter.next(), "kicked")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ServerRemoveBanEvent {
pub network_id: String,
pub ip: String,
pub by: String,
}
impl ServerRemoveBanEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ServerRemoveBanEvent {
network_id: read_value::<String>(stream, iter.next(), "network_id")?,
ip: read_value::<String>(stream, iter.next(), "ip")?,
by: read_value::<String>(stream, iter.next(), "by")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerConnectEvent {
pub name: String,
pub index: u8,
pub user_id: u16,
pub network_id: String,
pub address: String,
pub bot: u16,
}
impl PlayerConnectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerConnectEvent {
name: read_value::<String>(stream, iter.next(), "name")?,
index: read_value::<u8>(stream, iter.next(), "index")?,
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
network_id: read_value::<String>(stream, iter.next(), "network_id")?,
address: read_value::<String>(stream, iter.next(), "address")?,
bot: read_value::<u16>(stream, iter.next(), "bot")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerConnectClientEvent {
pub name: String,
pub index: u8,
pub user_id: u16,
pub network_id: String,
pub bot: u16,
}
impl PlayerConnectClientEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerConnectClientEvent {
name: read_value::<String>(stream, iter.next(), "name")?,
index: read_value::<u8>(stream, iter.next(), "index")?,
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
network_id: read_value::<String>(stream, iter.next(), "network_id")?,
bot: read_value::<u16>(stream, iter.next(), "bot")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerInfoEvent {
pub name: String,
pub index: u8,
pub user_id: u16,
pub network_id: String,
pub bot: bool,
}
impl PlayerInfoEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerInfoEvent {
name: read_value::<String>(stream, iter.next(), "name")?,
index: read_value::<u8>(stream, iter.next(), "index")?,
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
network_id: read_value::<String>(stream, iter.next(), "network_id")?,
bot: read_value::<bool>(stream, iter.next(), "bot")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerDisconnectEvent {
pub user_id: u16,
pub reason: String,
pub name: String,
pub network_id: String,
pub bot: u16,
}
impl PlayerDisconnectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerDisconnectEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
reason: read_value::<String>(stream, iter.next(), "reason")?,
name: read_value::<String>(stream, iter.next(), "name")?,
network_id: read_value::<String>(stream, iter.next(), "network_id")?,
bot: read_value::<u16>(stream, iter.next(), "bot")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerActivateEvent {
pub user_id: u16,
}
impl PlayerActivateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerActivateEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerSayEvent {
pub user_id: u16,
pub text: String,
}
impl PlayerSayEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerSayEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
text: read_value::<String>(stream, iter.next(), "text")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ClientDisconnectEvent {
pub message: String,
}
impl ClientDisconnectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ClientDisconnectEvent {
message: read_value::<String>(stream, iter.next(), "message")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ClientBeginConnectEvent {
pub address: String,
pub ip: u32,
pub port: u16,
pub source: String,
}
impl ClientBeginConnectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ClientBeginConnectEvent {
address: read_value::<String>(stream, iter.next(), "address")?,
ip: read_value::<u32>(stream, iter.next(), "ip")?,
port: read_value::<u16>(stream, iter.next(), "port")?,
source: read_value::<String>(stream, iter.next(), "source")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ClientConnectedEvent {
pub address: String,
pub ip: u32,
pub port: u16,
}
impl ClientConnectedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ClientConnectedEvent {
address: read_value::<String>(stream, iter.next(), "address")?,
ip: read_value::<u32>(stream, iter.next(), "ip")?,
port: read_value::<u16>(stream, iter.next(), "port")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ClientFullConnectEvent {
pub address: String,
pub ip: u32,
pub port: u16,
}
impl ClientFullConnectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ClientFullConnectEvent {
address: read_value::<String>(stream, iter.next(), "address")?,
ip: read_value::<u32>(stream, iter.next(), "ip")?,
port: read_value::<u16>(stream, iter.next(), "port")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HostQuitEvent {}
impl HostQuitEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(HostQuitEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamInfoEvent {
pub team_id: u8,
pub team_name: String,
}
impl TeamInfoEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamInfoEvent {
team_id: read_value::<u8>(stream, iter.next(), "team_id")?,
team_name: read_value::<String>(stream, iter.next(), "team_name")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamScoreEvent {
pub team_id: u8,
pub score: u16,
}
impl TeamScoreEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamScoreEvent {
team_id: read_value::<u8>(stream, iter.next(), "team_id")?,
score: read_value::<u16>(stream, iter.next(), "score")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayBroadcastAudioEvent {
pub team: u8,
pub sound: String,
pub additional_flags: u16,
}
impl TeamPlayBroadcastAudioEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayBroadcastAudioEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
sound: read_value::<String>(stream, iter.next(), "sound")?,
additional_flags: read_value::<u16>(stream, iter.next(), "additional_flags")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerTeamEvent {
pub user_id: u16,
pub team: u8,
pub old_team: u8,
pub disconnect: bool,
pub auto_team: bool,
pub silent: bool,
pub name: String,
}
impl PlayerTeamEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerTeamEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
old_team: read_value::<u8>(stream, iter.next(), "old_team")?,
disconnect: read_value::<bool>(stream, iter.next(), "disconnect")?,
auto_team: read_value::<bool>(stream, iter.next(), "auto_team")?,
silent: read_value::<bool>(stream, iter.next(), "silent")?,
name: read_value::<String>(stream, iter.next(), "name")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerClassEvent {
pub user_id: u16,
pub class: String,
}
impl PlayerClassEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerClassEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
class: read_value::<String>(stream, iter.next(), "class")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerDeathEvent {
pub user_id: u16,
pub victim_ent_index: u32,
pub inflictor_ent_index: u32,
pub attacker: u16,
pub weapon: String,
pub weapon_id: u16,
pub damage_bits: u32,
pub custom_kill: u16,
pub assister: u16,
pub weapon_log_class_name: String,
pub stun_flags: u16,
pub death_flags: u16,
pub silent_kill: bool,
pub player_penetrate_count: u16,
pub assister_fallback: String,
pub kill_streak_total: u16,
pub kill_streak_wep: u16,
pub kill_streak_assist: u16,
pub kill_streak_victim: u16,
pub ducks_streaked: u16,
pub duck_streak_total: u16,
pub duck_streak_assist: u16,
pub duck_streak_victim: u16,
pub rocket_jump: bool,
pub weapon_def_index: u32,
pub crit_type: u16,
}
impl PlayerDeathEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerDeathEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
victim_ent_index: read_value::<u32>(stream, iter.next(), "victim_ent_index")?,
inflictor_ent_index: read_value::<u32>(stream, iter.next(), "inflictor_ent_index")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
weapon: read_value::<String>(stream, iter.next(), "weapon")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
damage_bits: read_value::<u32>(stream, iter.next(), "damage_bits")?,
custom_kill: read_value::<u16>(stream, iter.next(), "custom_kill")?,
assister: read_value::<u16>(stream, iter.next(), "assister")?,
weapon_log_class_name: read_value::<String>(
stream,
iter.next(),
"weapon_log_class_name",
)?,
stun_flags: read_value::<u16>(stream, iter.next(), "stun_flags")?,
death_flags: read_value::<u16>(stream, iter.next(), "death_flags")?,
silent_kill: read_value::<bool>(stream, iter.next(), "silent_kill")?,
player_penetrate_count: read_value::<u16>(
stream,
iter.next(),
"player_penetrate_count",
)?,
assister_fallback: read_value::<String>(stream, iter.next(), "assister_fallback")?,
kill_streak_total: read_value::<u16>(stream, iter.next(), "kill_streak_total")?,
kill_streak_wep: read_value::<u16>(stream, iter.next(), "kill_streak_wep")?,
kill_streak_assist: read_value::<u16>(stream, iter.next(), "kill_streak_assist")?,
kill_streak_victim: read_value::<u16>(stream, iter.next(), "kill_streak_victim")?,
ducks_streaked: read_value::<u16>(stream, iter.next(), "ducks_streaked")?,
duck_streak_total: read_value::<u16>(stream, iter.next(), "duck_streak_total")?,
duck_streak_assist: read_value::<u16>(stream, iter.next(), "duck_streak_assist")?,
duck_streak_victim: read_value::<u16>(stream, iter.next(), "duck_streak_victim")?,
rocket_jump: read_value::<bool>(stream, iter.next(), "rocket_jump")?,
weapon_def_index: read_value::<u32>(stream, iter.next(), "weapon_def_index")?,
crit_type: read_value::<u16>(stream, iter.next(), "crit_type")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerHurtEvent {
pub user_id: u16,
pub health: u16,
pub attacker: u16,
pub damage_amount: u16,
pub custom: u16,
pub show_disguised_crit: bool,
pub crit: bool,
pub mini_crit: bool,
pub all_see_crit: bool,
pub weapon_id: u16,
pub bonus_effect: u8,
}
impl PlayerHurtEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerHurtEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
health: read_value::<u16>(stream, iter.next(), "health")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
damage_amount: read_value::<u16>(stream, iter.next(), "damage_amount")?,
custom: read_value::<u16>(stream, iter.next(), "custom")?,
show_disguised_crit: read_value::<bool>(stream, iter.next(), "show_disguised_crit")?,
crit: read_value::<bool>(stream, iter.next(), "crit")?,
mini_crit: read_value::<bool>(stream, iter.next(), "mini_crit")?,
all_see_crit: read_value::<bool>(stream, iter.next(), "all_see_crit")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
bonus_effect: read_value::<u8>(stream, iter.next(), "bonus_effect")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerChatEvent {
pub team_only: bool,
pub user_id: u16,
pub text: String,
}
impl PlayerChatEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerChatEvent {
team_only: read_value::<bool>(stream, iter.next(), "team_only")?,
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
text: read_value::<String>(stream, iter.next(), "text")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerScoreEvent {
pub user_id: u16,
pub kills: u16,
pub deaths: u16,
pub score: u16,
}
impl PlayerScoreEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerScoreEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
kills: read_value::<u16>(stream, iter.next(), "kills")?,
deaths: read_value::<u16>(stream, iter.next(), "deaths")?,
score: read_value::<u16>(stream, iter.next(), "score")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerSpawnEvent {
pub user_id: u16,
pub team: u16,
pub class: u16,
}
impl PlayerSpawnEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerSpawnEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
team: read_value::<u16>(stream, iter.next(), "team")?,
class: read_value::<u16>(stream, iter.next(), "class")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerShootEvent {
pub user_id: u16,
pub weapon: u8,
pub mode: u8,
}
impl PlayerShootEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerShootEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
weapon: read_value::<u8>(stream, iter.next(), "weapon")?,
mode: read_value::<u8>(stream, iter.next(), "mode")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerUseEvent {
pub user_id: u16,
pub entity: u16,
}
impl PlayerUseEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerUseEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
entity: read_value::<u16>(stream, iter.next(), "entity")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerChangeNameEvent {
pub user_id: u16,
pub old_name: String,
pub new_name: String,
}
impl PlayerChangeNameEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerChangeNameEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
old_name: read_value::<String>(stream, iter.next(), "old_name")?,
new_name: read_value::<String>(stream, iter.next(), "new_name")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerHintMessageEvent {
pub hint_message: String,
}
impl PlayerHintMessageEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerHintMessageEvent {
hint_message: read_value::<String>(stream, iter.next(), "hint_message")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct BasePlayerTeleportedEvent {
pub ent_index: u16,
}
impl BasePlayerTeleportedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(BasePlayerTeleportedEvent {
ent_index: read_value::<u16>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GameInitEvent {}
impl GameInitEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(GameInitEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GameNewMapEvent {
pub map_name: String,
}
impl GameNewMapEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(GameNewMapEvent {
map_name: read_value::<String>(stream, iter.next(), "map_name")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GameStartEvent {
pub rounds_limit: u32,
pub time_limit: u32,
pub frag_limit: u32,
pub objective: String,
}
impl GameStartEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(GameStartEvent {
rounds_limit: read_value::<u32>(stream, iter.next(), "rounds_limit")?,
time_limit: read_value::<u32>(stream, iter.next(), "time_limit")?,
frag_limit: read_value::<u32>(stream, iter.next(), "frag_limit")?,
objective: read_value::<String>(stream, iter.next(), "objective")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GameEndEvent {
pub winner: u8,
}
impl GameEndEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(GameEndEvent {
winner: read_value::<u8>(stream, iter.next(), "winner")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RoundStartEvent {
pub time_limit: u32,
pub frag_limit: u32,
pub objective: String,
}
impl RoundStartEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RoundStartEvent {
time_limit: read_value::<u32>(stream, iter.next(), "time_limit")?,
frag_limit: read_value::<u32>(stream, iter.next(), "frag_limit")?,
objective: read_value::<String>(stream, iter.next(), "objective")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RoundEndEvent {
pub winner: u8,
pub reason: u8,
pub message: String,
}
impl RoundEndEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RoundEndEvent {
winner: read_value::<u8>(stream, iter.next(), "winner")?,
reason: read_value::<u8>(stream, iter.next(), "reason")?,
message: read_value::<String>(stream, iter.next(), "message")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GameMessageEvent {
pub target: u8,
pub text: String,
}
impl GameMessageEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(GameMessageEvent {
target: read_value::<u8>(stream, iter.next(), "target")?,
text: read_value::<String>(stream, iter.next(), "text")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct BreakBreakableEvent {
pub ent_index: u32,
pub user_id: u16,
pub material: u8,
}
impl BreakBreakableEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(BreakBreakableEvent {
ent_index: read_value::<u32>(stream, iter.next(), "ent_index")?,
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
material: read_value::<u8>(stream, iter.next(), "material")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct BreakPropEvent {
pub ent_index: u32,
pub user_id: u16,
}
impl BreakPropEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(BreakPropEvent {
ent_index: read_value::<u32>(stream, iter.next(), "ent_index")?,
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EntityKilledEvent {
pub ent_index_killed: u32,
pub ent_index_attacker: u32,
pub ent_index_inflictor: u32,
pub damage_bits: u32,
}
impl EntityKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EntityKilledEvent {
ent_index_killed: read_value::<u32>(stream, iter.next(), "ent_index_killed")?,
ent_index_attacker: read_value::<u32>(stream, iter.next(), "ent_index_attacker")?,
ent_index_inflictor: read_value::<u32>(stream, iter.next(), "ent_index_inflictor")?,
damage_bits: read_value::<u32>(stream, iter.next(), "damage_bits")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct BonusUpdatedEvent {
pub num_advanced: u16,
pub num_bronze: u16,
pub num_silver: u16,
pub num_gold: u16,
}
impl BonusUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(BonusUpdatedEvent {
num_advanced: read_value::<u16>(stream, iter.next(), "num_advanced")?,
num_bronze: read_value::<u16>(stream, iter.next(), "num_bronze")?,
num_silver: read_value::<u16>(stream, iter.next(), "num_silver")?,
num_gold: read_value::<u16>(stream, iter.next(), "num_gold")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct AchievementEventEvent {
pub achievement_name: String,
pub cur_val: u16,
pub max_val: u16,
}
impl AchievementEventEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(AchievementEventEvent {
achievement_name: read_value::<String>(stream, iter.next(), "achievement_name")?,
cur_val: read_value::<u16>(stream, iter.next(), "cur_val")?,
max_val: read_value::<u16>(stream, iter.next(), "max_val")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct AchievementIncrementEvent {
pub achievement_id: u32,
pub cur_val: u16,
pub max_val: u16,
}
impl AchievementIncrementEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(AchievementIncrementEvent {
achievement_id: read_value::<u32>(stream, iter.next(), "achievement_id")?,
cur_val: read_value::<u16>(stream, iter.next(), "cur_val")?,
max_val: read_value::<u16>(stream, iter.next(), "max_val")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PhysgunPickupEvent {
pub ent_index: u32,
}
impl PhysgunPickupEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PhysgunPickupEvent {
ent_index: read_value::<u32>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct FlareIgniteNpcEvent {
pub ent_index: u32,
}
impl FlareIgniteNpcEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(FlareIgniteNpcEvent {
ent_index: read_value::<u32>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HelicopterGrenadePuntMissEvent {}
impl HelicopterGrenadePuntMissEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(HelicopterGrenadePuntMissEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct UserDataDownloadedEvent {}
impl UserDataDownloadedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(UserDataDownloadedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RagdollDissolvedEvent {
pub ent_index: u32,
}
impl RagdollDissolvedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RagdollDissolvedEvent {
ent_index: read_value::<u32>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVChangedModeEvent {
pub old_mode: u16,
pub new_mode: u16,
pub obs_target: u16,
}
impl HLTVChangedModeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVChangedModeEvent {
old_mode: read_value::<u16>(stream, iter.next(), "old_mode")?,
new_mode: read_value::<u16>(stream, iter.next(), "new_mode")?,
obs_target: read_value::<u16>(stream, iter.next(), "obs_target")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVChangedTargetEvent {
pub mode: u16,
pub old_target: u16,
pub obs_target: u16,
}
impl HLTVChangedTargetEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVChangedTargetEvent {
mode: read_value::<u16>(stream, iter.next(), "mode")?,
old_target: read_value::<u16>(stream, iter.next(), "old_target")?,
obs_target: read_value::<u16>(stream, iter.next(), "obs_target")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct VoteEndedEvent {}
impl VoteEndedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(VoteEndedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct VoteStartedEvent {
pub issue: String,
pub param_1: String,
pub team: u8,
pub initiator: u32,
}
impl VoteStartedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(VoteStartedEvent {
issue: read_value::<String>(stream, iter.next(), "issue")?,
param_1: read_value::<String>(stream, iter.next(), "param_1")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
initiator: read_value::<u32>(stream, iter.next(), "initiator")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct VoteChangedEvent {
pub vote_option_1: u8,
pub vote_option_2: u8,
pub vote_option_3: u8,
pub vote_option_4: u8,
pub vote_option_5: u8,
pub potential_votes: u8,
}
impl VoteChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(VoteChangedEvent {
vote_option_1: read_value::<u8>(stream, iter.next(), "vote_option_1")?,
vote_option_2: read_value::<u8>(stream, iter.next(), "vote_option_2")?,
vote_option_3: read_value::<u8>(stream, iter.next(), "vote_option_3")?,
vote_option_4: read_value::<u8>(stream, iter.next(), "vote_option_4")?,
vote_option_5: read_value::<u8>(stream, iter.next(), "vote_option_5")?,
potential_votes: read_value::<u8>(stream, iter.next(), "potential_votes")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct VotePassedEvent {
pub details: String,
pub param_1: String,
pub team: u8,
}
impl VotePassedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(VotePassedEvent {
details: read_value::<String>(stream, iter.next(), "details")?,
param_1: read_value::<String>(stream, iter.next(), "param_1")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct VoteFailedEvent {
pub team: u8,
}
impl VoteFailedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(VoteFailedEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct VoteCastEvent {
pub vote_option: u8,
pub team: u16,
pub entity_id: u32,
}
impl VoteCastEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(VoteCastEvent {
vote_option: read_value::<u8>(stream, iter.next(), "vote_option")?,
team: read_value::<u16>(stream, iter.next(), "team")?,
entity_id: read_value::<u32>(stream, iter.next(), "entity_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct VoteOptionsEvent {
pub count: u8,
pub option_1: String,
pub option_2: String,
pub option_3: String,
pub option_4: String,
pub option_5: String,
}
impl VoteOptionsEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(VoteOptionsEvent {
count: read_value::<u8>(stream, iter.next(), "count")?,
option_1: read_value::<String>(stream, iter.next(), "option_1")?,
option_2: read_value::<String>(stream, iter.next(), "option_2")?,
option_3: read_value::<String>(stream, iter.next(), "option_3")?,
option_4: read_value::<String>(stream, iter.next(), "option_4")?,
option_5: read_value::<String>(stream, iter.next(), "option_5")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ReplaySavedEvent {}
impl ReplaySavedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ReplaySavedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EnteredPerformanceModeEvent {}
impl EnteredPerformanceModeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(EnteredPerformanceModeEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct BrowseReplaysEvent {}
impl BrowseReplaysEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(BrowseReplaysEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ReplayYoutubeStatsEvent {
pub views: u32,
pub likes: u32,
pub favorited: u32,
}
impl ReplayYoutubeStatsEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ReplayYoutubeStatsEvent {
views: read_value::<u32>(stream, iter.next(), "views")?,
likes: read_value::<u32>(stream, iter.next(), "likes")?,
favorited: read_value::<u32>(stream, iter.next(), "favorited")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct InventoryUpdatedEvent {}
impl InventoryUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(InventoryUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct CartUpdatedEvent {}
impl CartUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(CartUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct StorePriceSheetUpdatedEvent {}
impl StorePriceSheetUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(StorePriceSheetUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EconInventoryConnectedEvent {}
impl EconInventoryConnectedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(EconInventoryConnectedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ItemSchemaInitializedEvent {}
impl ItemSchemaInitializedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ItemSchemaInitializedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GcNewSessionEvent {}
impl GcNewSessionEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(GcNewSessionEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GcLostSessionEvent {}
impl GcLostSessionEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(GcLostSessionEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct IntroFinishEvent {
pub player: u16,
}
impl IntroFinishEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(IntroFinishEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct IntroNextCameraEvent {
pub player: u16,
}
impl IntroNextCameraEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(IntroNextCameraEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerChangeClassEvent {
pub user_id: u16,
pub class: u16,
}
impl PlayerChangeClassEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerChangeClassEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
class: read_value::<u16>(stream, iter.next(), "class")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TfMapTimeRemainingEvent {
pub seconds: u32,
}
impl TfMapTimeRemainingEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TfMapTimeRemainingEvent {
seconds: read_value::<u32>(stream, iter.next(), "seconds")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TfGameOverEvent {
pub reason: String,
}
impl TfGameOverEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TfGameOverEvent {
reason: read_value::<String>(stream, iter.next(), "reason")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct CtfFlagCapturedEvent {
pub capping_team: u16,
pub capping_team_score: u16,
}
impl CtfFlagCapturedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(CtfFlagCapturedEvent {
capping_team: read_value::<u16>(stream, iter.next(), "capping_team")?,
capping_team_score: read_value::<u16>(stream, iter.next(), "capping_team_score")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointInitializedEvent {}
impl ControlPointInitializedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ControlPointInitializedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointUpdateImagesEvent {
pub index: u16,
}
impl ControlPointUpdateImagesEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointUpdateImagesEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointUpdateLayoutEvent {
pub index: u16,
}
impl ControlPointUpdateLayoutEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointUpdateLayoutEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointUpdateCappingEvent {
pub index: u16,
}
impl ControlPointUpdateCappingEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointUpdateCappingEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointUpdateOwnerEvent {
pub index: u16,
}
impl ControlPointUpdateOwnerEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointUpdateOwnerEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointStartTouchEvent {
pub player: u16,
pub area: u16,
}
impl ControlPointStartTouchEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointStartTouchEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
area: read_value::<u16>(stream, iter.next(), "area")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointEndTouchEvent {
pub player: u16,
pub area: u16,
}
impl ControlPointEndTouchEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointEndTouchEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
area: read_value::<u16>(stream, iter.next(), "area")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointPulseElementEvent {
pub player: u16,
}
impl ControlPointPulseElementEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointPulseElementEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointFakeCaptureEvent {
pub player: u16,
pub int_data: u16,
}
impl ControlPointFakeCaptureEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointFakeCaptureEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
int_data: read_value::<u16>(stream, iter.next(), "int_data")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointFakeCaptureMultiplierEvent {
pub player: u16,
pub int_data: u16,
}
impl ControlPointFakeCaptureMultiplierEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointFakeCaptureMultiplierEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
int_data: read_value::<u16>(stream, iter.next(), "int_data")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayRoundSelectedEvent {
pub round: String,
}
impl TeamPlayRoundSelectedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayRoundSelectedEvent {
round: read_value::<String>(stream, iter.next(), "round")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayRoundStartEvent {
pub full_reset: bool,
}
impl TeamPlayRoundStartEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayRoundStartEvent {
full_reset: read_value::<bool>(stream, iter.next(), "full_reset")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayRoundActiveEvent {}
impl TeamPlayRoundActiveEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlayRoundActiveEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayWaitingBeginsEvent {}
impl TeamPlayWaitingBeginsEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlayWaitingBeginsEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayWaitingEndsEvent {}
impl TeamPlayWaitingEndsEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlayWaitingEndsEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayWaitingAboutToEndEvent {}
impl TeamPlayWaitingAboutToEndEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlayWaitingAboutToEndEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayRestartRoundEvent {}
impl TeamPlayRestartRoundEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlayRestartRoundEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayReadyRestartEvent {}
impl TeamPlayReadyRestartEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlayReadyRestartEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayRoundRestartSecondsEvent {
pub seconds: u16,
}
impl TeamPlayRoundRestartSecondsEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayRoundRestartSecondsEvent {
seconds: read_value::<u16>(stream, iter.next(), "seconds")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayTeamReadyEvent {
pub team: u8,
}
impl TeamPlayTeamReadyEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayTeamReadyEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayRoundWinEvent {
pub team: u8,
pub win_reason: u8,
pub flag_cap_limit: u16,
pub full_round: u16,
pub round_time: f32,
pub losing_team_num_caps: u16,
pub was_sudden_death: u8,
}
impl TeamPlayRoundWinEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayRoundWinEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
win_reason: read_value::<u8>(stream, iter.next(), "win_reason")?,
flag_cap_limit: read_value::<u16>(stream, iter.next(), "flag_cap_limit")?,
full_round: read_value::<u16>(stream, iter.next(), "full_round")?,
round_time: read_value::<f32>(stream, iter.next(), "round_time")?,
losing_team_num_caps: read_value::<u16>(stream, iter.next(), "losing_team_num_caps")?,
was_sudden_death: read_value::<u8>(stream, iter.next(), "was_sudden_death")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayUpdateTimerEvent {}
impl TeamPlayUpdateTimerEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlayUpdateTimerEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayRoundStalemateEvent {
pub reason: u8,
}
impl TeamPlayRoundStalemateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayRoundStalemateEvent {
reason: read_value::<u8>(stream, iter.next(), "reason")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayOvertimeBeginEvent {}
impl TeamPlayOvertimeBeginEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlayOvertimeBeginEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayOvertimeEndEvent {}
impl TeamPlayOvertimeEndEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlayOvertimeEndEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlaySuddenDeathBeginEvent {}
impl TeamPlaySuddenDeathBeginEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlaySuddenDeathBeginEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlaySuddenDeathEndEvent {}
impl TeamPlaySuddenDeathEndEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlaySuddenDeathEndEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayGameOverEvent {
pub reason: String,
}
impl TeamPlayGameOverEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayGameOverEvent {
reason: read_value::<String>(stream, iter.next(), "reason")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayMapTimeRemainingEvent {
pub seconds: u16,
}
impl TeamPlayMapTimeRemainingEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayMapTimeRemainingEvent {
seconds: read_value::<u16>(stream, iter.next(), "seconds")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayTimerFlashEvent {
pub time_remaining: u16,
}
impl TeamPlayTimerFlashEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayTimerFlashEvent {
time_remaining: read_value::<u16>(stream, iter.next(), "time_remaining")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayTimerTimeAddedEvent {
pub timer: u16,
pub seconds_added: u16,
}
impl TeamPlayTimerTimeAddedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayTimerTimeAddedEvent {
timer: read_value::<u16>(stream, iter.next(), "timer")?,
seconds_added: read_value::<u16>(stream, iter.next(), "seconds_added")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayPointStartCaptureEvent {
pub cp: u8,
pub cp_name: String,
pub team: u8,
pub cap_team: u8,
pub cappers: String,
pub cap_time: f32,
}
impl TeamPlayPointStartCaptureEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayPointStartCaptureEvent {
cp: read_value::<u8>(stream, iter.next(), "cp")?,
cp_name: read_value::<String>(stream, iter.next(), "cp_name")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
cap_team: read_value::<u8>(stream, iter.next(), "cap_team")?,
cappers: read_value::<String>(stream, iter.next(), "cappers")?,
cap_time: read_value::<f32>(stream, iter.next(), "cap_time")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayPointCapturedEvent {
pub cp: u8,
pub cp_name: String,
pub team: u8,
pub cappers: String,
}
impl TeamPlayPointCapturedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayPointCapturedEvent {
cp: read_value::<u8>(stream, iter.next(), "cp")?,
cp_name: read_value::<String>(stream, iter.next(), "cp_name")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
cappers: read_value::<String>(stream, iter.next(), "cappers")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayPointLockedEvent {
pub cp: u8,
pub cp_name: String,
pub team: u8,
}
impl TeamPlayPointLockedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayPointLockedEvent {
cp: read_value::<u8>(stream, iter.next(), "cp")?,
cp_name: read_value::<String>(stream, iter.next(), "cp_name")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayPointUnlockedEvent {
pub cp: u8,
pub cp_name: String,
pub team: u8,
}
impl TeamPlayPointUnlockedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayPointUnlockedEvent {
cp: read_value::<u8>(stream, iter.next(), "cp")?,
cp_name: read_value::<String>(stream, iter.next(), "cp_name")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayCaptureBrokenEvent {
pub cp: u8,
pub cp_name: String,
pub time_remaining: f32,
}
impl TeamPlayCaptureBrokenEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayCaptureBrokenEvent {
cp: read_value::<u8>(stream, iter.next(), "cp")?,
cp_name: read_value::<String>(stream, iter.next(), "cp_name")?,
time_remaining: read_value::<f32>(stream, iter.next(), "time_remaining")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayCaptureBlockedEvent {
pub cp: u8,
pub cp_name: String,
pub blocker: u8,
pub victim: u8,
}
impl TeamPlayCaptureBlockedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayCaptureBlockedEvent {
cp: read_value::<u8>(stream, iter.next(), "cp")?,
cp_name: read_value::<String>(stream, iter.next(), "cp_name")?,
blocker: read_value::<u8>(stream, iter.next(), "blocker")?,
victim: read_value::<u8>(stream, iter.next(), "victim")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayFlagEventEvent {
pub player: u16,
pub carrier: u16,
pub event_type: u16,
pub home: u8,
pub team: u8,
}
impl TeamPlayFlagEventEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayFlagEventEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
carrier: read_value::<u16>(stream, iter.next(), "carrier")?,
event_type: read_value::<u16>(stream, iter.next(), "event_type")?,
home: read_value::<u8>(stream, iter.next(), "home")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayWinPanelEvent {
pub panel_style: u8,
pub winning_team: u8,
pub win_reason: u8,
pub cappers: String,
pub flag_cap_limit: u16,
pub blue_score: u16,
pub red_score: u16,
pub blue_score_prev: u16,
pub red_score_prev: u16,
pub round_complete: u16,
pub rounds_remaining: u16,
pub player_1: u16,
pub player_1_points: u16,
pub player_2: u16,
pub player_2_points: u16,
pub player_3: u16,
pub player_3_points: u16,
pub kill_stream_player_1: u16,
pub kill_stream_player_1_count: u16,
pub game_over: u8,
}
impl TeamPlayWinPanelEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayWinPanelEvent {
panel_style: read_value::<u8>(stream, iter.next(), "panel_style")?,
winning_team: read_value::<u8>(stream, iter.next(), "winning_team")?,
win_reason: read_value::<u8>(stream, iter.next(), "win_reason")?,
cappers: read_value::<String>(stream, iter.next(), "cappers")?,
flag_cap_limit: read_value::<u16>(stream, iter.next(), "flag_cap_limit")?,
blue_score: read_value::<u16>(stream, iter.next(), "blue_score")?,
red_score: read_value::<u16>(stream, iter.next(), "red_score")?,
blue_score_prev: read_value::<u16>(stream, iter.next(), "blue_score_prev")?,
red_score_prev: read_value::<u16>(stream, iter.next(), "red_score_prev")?,
round_complete: read_value::<u16>(stream, iter.next(), "round_complete")?,
rounds_remaining: read_value::<u16>(stream, iter.next(), "rounds_remaining")?,
player_1: read_value::<u16>(stream, iter.next(), "player_1")?,
player_1_points: read_value::<u16>(stream, iter.next(), "player_1_points")?,
player_2: read_value::<u16>(stream, iter.next(), "player_2")?,
player_2_points: read_value::<u16>(stream, iter.next(), "player_2_points")?,
player_3: read_value::<u16>(stream, iter.next(), "player_3")?,
player_3_points: read_value::<u16>(stream, iter.next(), "player_3_points")?,
kill_stream_player_1: read_value::<u16>(stream, iter.next(), "kill_stream_player_1")?,
kill_stream_player_1_count: read_value::<u16>(
stream,
iter.next(),
"kill_stream_player_1_count",
)?,
game_over: read_value::<u8>(stream, iter.next(), "game_over")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayTeamBalancedPlayerEvent {
pub player: u16,
pub team: u8,
}
impl TeamPlayTeamBalancedPlayerEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayTeamBalancedPlayerEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlaySetupFinishedEvent {}
impl TeamPlaySetupFinishedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamPlaySetupFinishedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayAlertEvent {
pub alert_type: u16,
}
impl TeamPlayAlertEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayAlertEvent {
alert_type: read_value::<u16>(stream, iter.next(), "alert_type")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TrainingCompleteEvent {
pub next_map: String,
pub map: String,
pub text: String,
}
impl TrainingCompleteEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TrainingCompleteEvent {
next_map: read_value::<String>(stream, iter.next(), "next_map")?,
map: read_value::<String>(stream, iter.next(), "map")?,
text: read_value::<String>(stream, iter.next(), "text")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ShowFreezePanelEvent {
pub killer: u16,
}
impl ShowFreezePanelEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ShowFreezePanelEvent {
killer: read_value::<u16>(stream, iter.next(), "killer")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HideFreezePanelEvent {}
impl HideFreezePanelEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(HideFreezePanelEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct FreezeCamStartedEvent {}
impl FreezeCamStartedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(FreezeCamStartedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerChangeTeamEvent {}
impl LocalPlayerChangeTeamEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(LocalPlayerChangeTeamEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerScoreChangedEvent {
pub score: u16,
}
impl LocalPlayerScoreChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(LocalPlayerScoreChangedEvent {
score: read_value::<u16>(stream, iter.next(), "score")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerChangeClassEvent {}
impl LocalPlayerChangeClassEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(LocalPlayerChangeClassEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerRespawnEvent {}
impl LocalPlayerRespawnEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(LocalPlayerRespawnEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct BuildingInfoChangedEvent {
pub building_type: u8,
pub object_mode: u8,
pub remove: u8,
}
impl BuildingInfoChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(BuildingInfoChangedEvent {
building_type: read_value::<u8>(stream, iter.next(), "building_type")?,
object_mode: read_value::<u8>(stream, iter.next(), "object_mode")?,
remove: read_value::<u8>(stream, iter.next(), "remove")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerChangeDisguiseEvent {
pub disguised: bool,
}
impl LocalPlayerChangeDisguiseEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(LocalPlayerChangeDisguiseEvent {
disguised: read_value::<bool>(stream, iter.next(), "disguised")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerAccountChangedEvent {
pub old_value: u16,
pub new_value: u16,
}
impl PlayerAccountChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerAccountChangedEvent {
old_value: read_value::<u16>(stream, iter.next(), "old_value")?,
new_value: read_value::<u16>(stream, iter.next(), "new_value")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct SpyPdaResetEvent {}
impl SpyPdaResetEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(SpyPdaResetEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct FlagStatusUpdateEvent {
pub user_id: u16,
pub ent_index: u32,
}
impl FlagStatusUpdateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(FlagStatusUpdateEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
ent_index: read_value::<u32>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerStatsUpdatedEvent {
pub force_upload: bool,
}
impl PlayerStatsUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerStatsUpdatedEvent {
force_upload: read_value::<bool>(stream, iter.next(), "force_upload")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayingCommentaryEvent {}
impl PlayingCommentaryEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PlayingCommentaryEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerChargeDeployedEvent {
pub user_id: u16,
pub target_id: u16,
}
impl PlayerChargeDeployedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerChargeDeployedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
target_id: read_value::<u16>(stream, iter.next(), "target_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerBuiltObjectEvent {
pub user_id: u16,
pub object: u16,
pub index: u16,
}
impl PlayerBuiltObjectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerBuiltObjectEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
object: read_value::<u16>(stream, iter.next(), "object")?,
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerUpgradedObjectEvent {
pub user_id: u16,
pub object: u16,
pub index: u16,
pub is_builder: bool,
}
impl PlayerUpgradedObjectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerUpgradedObjectEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
object: read_value::<u16>(stream, iter.next(), "object")?,
index: read_value::<u16>(stream, iter.next(), "index")?,
is_builder: read_value::<bool>(stream, iter.next(), "is_builder")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerCarryObjectEvent {
pub user_id: u16,
pub object: u16,
pub index: u16,
}
impl PlayerCarryObjectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerCarryObjectEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
object: read_value::<u16>(stream, iter.next(), "object")?,
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerDropObjectEvent {
pub user_id: u16,
pub object: u16,
pub index: u16,
}
impl PlayerDropObjectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerDropObjectEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
object: read_value::<u16>(stream, iter.next(), "object")?,
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ObjectRemovedEvent {
pub user_id: u16,
pub object_type: u16,
pub index: u16,
}
impl ObjectRemovedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ObjectRemovedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
object_type: read_value::<u16>(stream, iter.next(), "object_type")?,
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ObjectDestroyedEvent {
pub user_id: u16,
pub attacker: u16,
pub assister: u16,
pub weapon: String,
pub weapon_id: u16,
pub object_type: u16,
pub index: u16,
pub was_building: bool,
}
impl ObjectDestroyedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ObjectDestroyedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
assister: read_value::<u16>(stream, iter.next(), "assister")?,
weapon: read_value::<String>(stream, iter.next(), "weapon")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
object_type: read_value::<u16>(stream, iter.next(), "object_type")?,
index: read_value::<u16>(stream, iter.next(), "index")?,
was_building: read_value::<bool>(stream, iter.next(), "was_building")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ObjectDetonatedEvent {
pub user_id: u16,
pub object_type: u16,
pub index: u16,
}
impl ObjectDetonatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ObjectDetonatedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
object_type: read_value::<u16>(stream, iter.next(), "object_type")?,
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct AchievementEarnedEvent {
pub player: u8,
pub achievement: u16,
}
impl AchievementEarnedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(AchievementEarnedEvent {
player: read_value::<u8>(stream, iter.next(), "player")?,
achievement: read_value::<u16>(stream, iter.next(), "achievement")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct SpecTargetUpdatedEvent {}
impl SpecTargetUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(SpecTargetUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TournamentStateUpdateEvent {
pub user_id: u16,
pub name_change: bool,
pub ready_state: u16,
pub new_name: String,
}
impl TournamentStateUpdateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TournamentStateUpdateEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
name_change: read_value::<bool>(stream, iter.next(), "name_change")?,
ready_state: read_value::<u16>(stream, iter.next(), "ready_state")?,
new_name: read_value::<String>(stream, iter.next(), "new_name")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TournamentEnableCountdownEvent {}
impl TournamentEnableCountdownEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TournamentEnableCountdownEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerCalledForMedicEvent {
pub user_id: u16,
}
impl PlayerCalledForMedicEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerCalledForMedicEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerAskedForBallEvent {
pub user_id: u16,
}
impl PlayerAskedForBallEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerAskedForBallEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerBecameObserverEvent {}
impl LocalPlayerBecameObserverEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(LocalPlayerBecameObserverEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerIgnitedInvEvent {
pub pyro_ent_index: u8,
pub victim_ent_index: u8,
pub medic_ent_index: u8,
}
impl PlayerIgnitedInvEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerIgnitedInvEvent {
pyro_ent_index: read_value::<u8>(stream, iter.next(), "pyro_ent_index")?,
victim_ent_index: read_value::<u8>(stream, iter.next(), "victim_ent_index")?,
medic_ent_index: read_value::<u8>(stream, iter.next(), "medic_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerIgnitedEvent {
pub pyro_ent_index: u8,
pub victim_ent_index: u8,
pub weapon_id: u8,
}
impl PlayerIgnitedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerIgnitedEvent {
pyro_ent_index: read_value::<u8>(stream, iter.next(), "pyro_ent_index")?,
victim_ent_index: read_value::<u8>(stream, iter.next(), "victim_ent_index")?,
weapon_id: read_value::<u8>(stream, iter.next(), "weapon_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerExtinguishedEvent {
pub victim: u8,
pub healer: u8,
pub item_definition_index: u16,
}
impl PlayerExtinguishedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerExtinguishedEvent {
victim: read_value::<u8>(stream, iter.next(), "victim")?,
healer: read_value::<u8>(stream, iter.next(), "healer")?,
item_definition_index: read_value::<u16>(stream, iter.next(), "item_definition_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerTeleportedEvent {
pub user_id: u16,
pub builder_id: u16,
pub dist: f32,
}
impl PlayerTeleportedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerTeleportedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
builder_id: read_value::<u16>(stream, iter.next(), "builder_id")?,
dist: read_value::<f32>(stream, iter.next(), "dist")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerHealedMedicCallEvent {
pub user_id: u16,
}
impl PlayerHealedMedicCallEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerHealedMedicCallEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerChargeReadyEvent {}
impl LocalPlayerChargeReadyEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(LocalPlayerChargeReadyEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerWindDownEvent {}
impl LocalPlayerWindDownEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(LocalPlayerWindDownEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerInvulnedEvent {
pub user_id: u16,
pub medic_user_id: u16,
}
impl PlayerInvulnedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerInvulnedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
medic_user_id: read_value::<u16>(stream, iter.next(), "medic_user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EscortSpeedEvent {
pub team: u8,
pub speed: u8,
pub players: u8,
}
impl EscortSpeedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EscortSpeedEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
speed: read_value::<u8>(stream, iter.next(), "speed")?,
players: read_value::<u8>(stream, iter.next(), "players")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EscortProgressEvent {
pub team: u8,
pub progress: f32,
pub reset: bool,
}
impl EscortProgressEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EscortProgressEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
progress: read_value::<f32>(stream, iter.next(), "progress")?,
reset: read_value::<bool>(stream, iter.next(), "reset")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EscortRecedeEvent {
pub team: u8,
pub recede_time: f32,
}
impl EscortRecedeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EscortRecedeEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
recede_time: read_value::<f32>(stream, iter.next(), "recede_time")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GameUIActivatedEvent {}
impl GameUIActivatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(GameUIActivatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GameUIHiddenEvent {}
impl GameUIHiddenEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(GameUIHiddenEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerEscortScoreEvent {
pub player: u8,
pub points: u8,
}
impl PlayerEscortScoreEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerEscortScoreEvent {
player: read_value::<u8>(stream, iter.next(), "player")?,
points: read_value::<u8>(stream, iter.next(), "points")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerHealOnHitEvent {
pub amount: u16,
pub ent_index: u8,
pub weapon_def_index: u32,
}
impl PlayerHealOnHitEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerHealOnHitEvent {
amount: read_value::<u16>(stream, iter.next(), "amount")?,
ent_index: read_value::<u8>(stream, iter.next(), "ent_index")?,
weapon_def_index: read_value::<u32>(stream, iter.next(), "weapon_def_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerStealSandvichEvent {
pub owner: u16,
pub target: u16,
}
impl PlayerStealSandvichEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerStealSandvichEvent {
owner: read_value::<u16>(stream, iter.next(), "owner")?,
target: read_value::<u16>(stream, iter.next(), "target")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ShowClassLayoutEvent {
pub show: bool,
}
impl ShowClassLayoutEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ShowClassLayoutEvent {
show: read_value::<bool>(stream, iter.next(), "show")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ShowVsPanelEvent {
pub show: bool,
}
impl ShowVsPanelEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ShowVsPanelEvent {
show: read_value::<bool>(stream, iter.next(), "show")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerDamagedEvent {
pub amount: u16,
pub kind: u32,
}
impl PlayerDamagedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerDamagedEvent {
amount: read_value::<u16>(stream, iter.next(), "amount")?,
kind: read_value::<u32>(stream, iter.next(), "kind")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ArenaPlayerNotificationEvent {
pub player: u8,
pub message: u8,
}
impl ArenaPlayerNotificationEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ArenaPlayerNotificationEvent {
player: read_value::<u8>(stream, iter.next(), "player")?,
message: read_value::<u8>(stream, iter.next(), "message")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ArenaMatchMaxStreakEvent {
pub team: u8,
pub streak: u8,
}
impl ArenaMatchMaxStreakEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ArenaMatchMaxStreakEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
streak: read_value::<u8>(stream, iter.next(), "streak")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ArenaRoundStartEvent {}
impl ArenaRoundStartEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ArenaRoundStartEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ArenaWinPanelEvent {
pub panel_style: u8,
pub winning_team: u8,
pub win_reason: u8,
pub cappers: String,
pub flag_cap_limit: u16,
pub blue_score: u16,
pub red_score: u16,
pub blue_score_prev: u16,
pub red_score_prev: u16,
pub round_complete: u16,
pub player_1: u16,
pub player_1_damage: u16,
pub player_1_healing: u16,
pub player_1_lifetime: u16,
pub player_1_kills: u16,
pub player_2: u16,
pub player_2_damage: u16,
pub player_2_healing: u16,
pub player_2_lifetime: u16,
pub player_2_kills: u16,
pub player_3: u16,
pub player_3_damage: u16,
pub player_3_healing: u16,
pub player_3_lifetime: u16,
pub player_3_kills: u16,
pub player_4: u16,
pub player_4_damage: u16,
pub player_4_healing: u16,
pub player_4_lifetime: u16,
pub player_4_kills: u16,
pub player_5: u16,
pub player_5_damage: u16,
pub player_5_healing: u16,
pub player_5_lifetime: u16,
pub player_5_kills: u16,
pub player_6: u16,
pub player_6_damage: u16,
pub player_6_healing: u16,
pub player_6_lifetime: u16,
pub player_6_kills: u16,
}
impl ArenaWinPanelEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ArenaWinPanelEvent {
panel_style: read_value::<u8>(stream, iter.next(), "panel_style")?,
winning_team: read_value::<u8>(stream, iter.next(), "winning_team")?,
win_reason: read_value::<u8>(stream, iter.next(), "win_reason")?,
cappers: read_value::<String>(stream, iter.next(), "cappers")?,
flag_cap_limit: read_value::<u16>(stream, iter.next(), "flag_cap_limit")?,
blue_score: read_value::<u16>(stream, iter.next(), "blue_score")?,
red_score: read_value::<u16>(stream, iter.next(), "red_score")?,
blue_score_prev: read_value::<u16>(stream, iter.next(), "blue_score_prev")?,
red_score_prev: read_value::<u16>(stream, iter.next(), "red_score_prev")?,
round_complete: read_value::<u16>(stream, iter.next(), "round_complete")?,
player_1: read_value::<u16>(stream, iter.next(), "player_1")?,
player_1_damage: read_value::<u16>(stream, iter.next(), "player_1_damage")?,
player_1_healing: read_value::<u16>(stream, iter.next(), "player_1_healing")?,
player_1_lifetime: read_value::<u16>(stream, iter.next(), "player_1_lifetime")?,
player_1_kills: read_value::<u16>(stream, iter.next(), "player_1_kills")?,
player_2: read_value::<u16>(stream, iter.next(), "player_2")?,
player_2_damage: read_value::<u16>(stream, iter.next(), "player_2_damage")?,
player_2_healing: read_value::<u16>(stream, iter.next(), "player_2_healing")?,
player_2_lifetime: read_value::<u16>(stream, iter.next(), "player_2_lifetime")?,
player_2_kills: read_value::<u16>(stream, iter.next(), "player_2_kills")?,
player_3: read_value::<u16>(stream, iter.next(), "player_3")?,
player_3_damage: read_value::<u16>(stream, iter.next(), "player_3_damage")?,
player_3_healing: read_value::<u16>(stream, iter.next(), "player_3_healing")?,
player_3_lifetime: read_value::<u16>(stream, iter.next(), "player_3_lifetime")?,
player_3_kills: read_value::<u16>(stream, iter.next(), "player_3_kills")?,
player_4: read_value::<u16>(stream, iter.next(), "player_4")?,
player_4_damage: read_value::<u16>(stream, iter.next(), "player_4_damage")?,
player_4_healing: read_value::<u16>(stream, iter.next(), "player_4_healing")?,
player_4_lifetime: read_value::<u16>(stream, iter.next(), "player_4_lifetime")?,
player_4_kills: read_value::<u16>(stream, iter.next(), "player_4_kills")?,
player_5: read_value::<u16>(stream, iter.next(), "player_5")?,
player_5_damage: read_value::<u16>(stream, iter.next(), "player_5_damage")?,
player_5_healing: read_value::<u16>(stream, iter.next(), "player_5_healing")?,
player_5_lifetime: read_value::<u16>(stream, iter.next(), "player_5_lifetime")?,
player_5_kills: read_value::<u16>(stream, iter.next(), "player_5_kills")?,
player_6: read_value::<u16>(stream, iter.next(), "player_6")?,
player_6_damage: read_value::<u16>(stream, iter.next(), "player_6_damage")?,
player_6_healing: read_value::<u16>(stream, iter.next(), "player_6_healing")?,
player_6_lifetime: read_value::<u16>(stream, iter.next(), "player_6_lifetime")?,
player_6_kills: read_value::<u16>(stream, iter.next(), "player_6_kills")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PveWinPanelEvent {
pub panel_style: u8,
pub winning_team: u8,
pub win_reason: u8,
}
impl PveWinPanelEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PveWinPanelEvent {
panel_style: read_value::<u8>(stream, iter.next(), "panel_style")?,
winning_team: read_value::<u8>(stream, iter.next(), "winning_team")?,
win_reason: read_value::<u8>(stream, iter.next(), "win_reason")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct AirDashEvent {
pub player: u8,
}
impl AirDashEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(AirDashEvent {
player: read_value::<u8>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LandedEvent {
pub player: u8,
}
impl LandedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(LandedEvent {
player: read_value::<u8>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerDamageDodgedEvent {
pub damage: u16,
}
impl PlayerDamageDodgedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerDamageDodgedEvent {
damage: read_value::<u16>(stream, iter.next(), "damage")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerStunnedEvent {
pub stunner: u16,
pub victim: u16,
pub victim_capping: bool,
pub big_stun: bool,
}
impl PlayerStunnedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerStunnedEvent {
stunner: read_value::<u16>(stream, iter.next(), "stunner")?,
victim: read_value::<u16>(stream, iter.next(), "victim")?,
victim_capping: read_value::<bool>(stream, iter.next(), "victim_capping")?,
big_stun: read_value::<bool>(stream, iter.next(), "big_stun")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ScoutGrandSlamEvent {
pub scout_id: u16,
pub target_id: u16,
}
impl ScoutGrandSlamEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ScoutGrandSlamEvent {
scout_id: read_value::<u16>(stream, iter.next(), "scout_id")?,
target_id: read_value::<u16>(stream, iter.next(), "target_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ScoutSlamdollLandedEvent {
pub target_index: u16,
pub x: f32,
pub y: f32,
pub z: f32,
}
impl ScoutSlamdollLandedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ScoutSlamdollLandedEvent {
target_index: read_value::<u16>(stream, iter.next(), "target_index")?,
x: read_value::<f32>(stream, iter.next(), "x")?,
y: read_value::<f32>(stream, iter.next(), "y")?,
z: read_value::<f32>(stream, iter.next(), "z")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ArrowImpactEvent {
pub attached_entity: u16,
pub shooter: u16,
pub bone_index_attached: u16,
pub bone_position_x: f32,
pub bone_position_y: f32,
pub bone_position_z: f32,
pub bone_angles_x: f32,
pub bone_angles_y: f32,
pub bone_angles_z: f32,
pub projectile_type: u16,
pub is_crit: bool,
}
impl ArrowImpactEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ArrowImpactEvent {
attached_entity: read_value::<u16>(stream, iter.next(), "attached_entity")?,
shooter: read_value::<u16>(stream, iter.next(), "shooter")?,
bone_index_attached: read_value::<u16>(stream, iter.next(), "bone_index_attached")?,
bone_position_x: read_value::<f32>(stream, iter.next(), "bone_position_x")?,
bone_position_y: read_value::<f32>(stream, iter.next(), "bone_position_y")?,
bone_position_z: read_value::<f32>(stream, iter.next(), "bone_position_z")?,
bone_angles_x: read_value::<f32>(stream, iter.next(), "bone_angles_x")?,
bone_angles_y: read_value::<f32>(stream, iter.next(), "bone_angles_y")?,
bone_angles_z: read_value::<f32>(stream, iter.next(), "bone_angles_z")?,
projectile_type: read_value::<u16>(stream, iter.next(), "projectile_type")?,
is_crit: read_value::<bool>(stream, iter.next(), "is_crit")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerJaratedEvent {
pub thrower_ent_index: u8,
pub victim_ent_index: u8,
}
impl PlayerJaratedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerJaratedEvent {
thrower_ent_index: read_value::<u8>(stream, iter.next(), "thrower_ent_index")?,
victim_ent_index: read_value::<u8>(stream, iter.next(), "victim_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerJaratedFadeEvent {
pub thrower_ent_index: u8,
pub victim_ent_index: u8,
}
impl PlayerJaratedFadeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerJaratedFadeEvent {
thrower_ent_index: read_value::<u8>(stream, iter.next(), "thrower_ent_index")?,
victim_ent_index: read_value::<u8>(stream, iter.next(), "victim_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerShieldBlockedEvent {
pub attacker_ent_index: u8,
pub blocker_ent_index: u8,
}
impl PlayerShieldBlockedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerShieldBlockedEvent {
attacker_ent_index: read_value::<u8>(stream, iter.next(), "attacker_ent_index")?,
blocker_ent_index: read_value::<u8>(stream, iter.next(), "blocker_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerPinnedEvent {
pub pinned: u8,
}
impl PlayerPinnedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerPinnedEvent {
pinned: read_value::<u8>(stream, iter.next(), "pinned")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerHealedByMedicEvent {
pub medic: u8,
}
impl PlayerHealedByMedicEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerHealedByMedicEvent {
medic: read_value::<u8>(stream, iter.next(), "medic")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerSappedObjectEvent {
pub user_id: u16,
pub owner_id: u16,
pub object: u8,
pub sapper_id: u16,
}
impl PlayerSappedObjectEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerSappedObjectEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
owner_id: read_value::<u16>(stream, iter.next(), "owner_id")?,
object: read_value::<u8>(stream, iter.next(), "object")?,
sapper_id: read_value::<u16>(stream, iter.next(), "sapper_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ItemFoundEvent {
pub player: u8,
pub quality: u8,
pub method: u8,
pub item_def: u32,
pub is_strange: u8,
pub is_unusual: u8,
pub wear: f32,
}
impl ItemFoundEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ItemFoundEvent {
player: read_value::<u8>(stream, iter.next(), "player")?,
quality: read_value::<u8>(stream, iter.next(), "quality")?,
method: read_value::<u8>(stream, iter.next(), "method")?,
item_def: read_value::<u32>(stream, iter.next(), "item_def")?,
is_strange: read_value::<u8>(stream, iter.next(), "is_strange")?,
is_unusual: read_value::<u8>(stream, iter.next(), "is_unusual")?,
wear: read_value::<f32>(stream, iter.next(), "wear")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ShowAnnotationEvent {
pub world_pos_x: f32,
pub world_pos_y: f32,
pub world_pos_z: f32,
pub world_normal_x: f32,
pub world_normal_y: f32,
pub world_normal_z: f32,
pub id: u32,
pub text: String,
pub lifetime: f32,
pub visibility_bit_field: u32,
pub follow_ent_index: u32,
pub show_distance: bool,
pub play_sound: String,
pub show_effect: bool,
}
impl ShowAnnotationEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ShowAnnotationEvent {
world_pos_x: read_value::<f32>(stream, iter.next(), "world_pos_x")?,
world_pos_y: read_value::<f32>(stream, iter.next(), "world_pos_y")?,
world_pos_z: read_value::<f32>(stream, iter.next(), "world_pos_z")?,
world_normal_x: read_value::<f32>(stream, iter.next(), "world_normal_x")?,
world_normal_y: read_value::<f32>(stream, iter.next(), "world_normal_y")?,
world_normal_z: read_value::<f32>(stream, iter.next(), "world_normal_z")?,
id: read_value::<u32>(stream, iter.next(), "id")?,
text: read_value::<String>(stream, iter.next(), "text")?,
lifetime: read_value::<f32>(stream, iter.next(), "lifetime")?,
visibility_bit_field: read_value::<u32>(stream, iter.next(), "visibility_bit_field")?,
follow_ent_index: read_value::<u32>(stream, iter.next(), "follow_ent_index")?,
show_distance: read_value::<bool>(stream, iter.next(), "show_distance")?,
play_sound: read_value::<String>(stream, iter.next(), "play_sound")?,
show_effect: read_value::<bool>(stream, iter.next(), "show_effect")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HideAnnotationEvent {
pub id: u32,
}
impl HideAnnotationEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HideAnnotationEvent {
id: read_value::<u32>(stream, iter.next(), "id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PostInventoryApplicationEvent {
pub user_id: u16,
}
impl PostInventoryApplicationEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PostInventoryApplicationEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointUnlockUpdatedEvent {
pub index: u16,
pub time: f32,
}
impl ControlPointUnlockUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointUnlockUpdatedEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
time: read_value::<f32>(stream, iter.next(), "time")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DeployBuffBannerEvent {
pub buff_type: u8,
pub buff_owner: u16,
}
impl DeployBuffBannerEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DeployBuffBannerEvent {
buff_type: read_value::<u8>(stream, iter.next(), "buff_type")?,
buff_owner: read_value::<u16>(stream, iter.next(), "buff_owner")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerBuffEvent {
pub user_id: u16,
pub buff_owner: u16,
pub buff_type: u8,
}
impl PlayerBuffEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerBuffEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
buff_owner: read_value::<u16>(stream, iter.next(), "buff_owner")?,
buff_type: read_value::<u8>(stream, iter.next(), "buff_type")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MedicDeathEvent {
pub user_id: u16,
pub attacker: u16,
pub healing: u16,
pub charged: bool,
}
impl MedicDeathEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MedicDeathEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
healing: read_value::<u16>(stream, iter.next(), "healing")?,
charged: read_value::<bool>(stream, iter.next(), "charged")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct OvertimeNagEvent {}
impl OvertimeNagEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(OvertimeNagEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamsChangedEvent {}
impl TeamsChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TeamsChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HalloweenPumpkinGrabEvent {
pub user_id: u16,
}
impl HalloweenPumpkinGrabEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HalloweenPumpkinGrabEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RocketJumpEvent {
pub user_id: u16,
pub play_sound: bool,
}
impl RocketJumpEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RocketJumpEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
play_sound: read_value::<bool>(stream, iter.next(), "play_sound")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RocketJumpLandedEvent {
pub user_id: u16,
}
impl RocketJumpLandedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RocketJumpLandedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct StickyJumpEvent {
pub user_id: u16,
pub play_sound: bool,
}
impl StickyJumpEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(StickyJumpEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
play_sound: read_value::<bool>(stream, iter.next(), "play_sound")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct StickyJumpLandedEvent {
pub user_id: u16,
}
impl StickyJumpLandedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(StickyJumpLandedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RocketPackLaunchEvent {
pub user_id: u16,
pub play_sound: bool,
}
impl RocketPackLaunchEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RocketPackLaunchEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
play_sound: read_value::<bool>(stream, iter.next(), "play_sound")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RocketPackLandedEvent {
pub user_id: u16,
}
impl RocketPackLandedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RocketPackLandedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MedicDefendedEvent {
pub user_id: u16,
pub medic: u16,
}
impl MedicDefendedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MedicDefendedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
medic: read_value::<u16>(stream, iter.next(), "medic")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerHealedEvent {
pub amount: u16,
}
impl LocalPlayerHealedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(LocalPlayerHealedEvent {
amount: read_value::<u16>(stream, iter.next(), "amount")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerDestroyedPipeBombEvent {
pub user_id: u16,
}
impl PlayerDestroyedPipeBombEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerDestroyedPipeBombEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ObjectDeflectedEvent {
pub user_id: u16,
pub owner_id: u16,
pub weapon_id: u16,
pub object_ent_index: u16,
}
impl ObjectDeflectedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ObjectDeflectedEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
owner_id: read_value::<u16>(stream, iter.next(), "owner_id")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
object_ent_index: read_value::<u16>(stream, iter.next(), "object_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerMvpEvent {
pub player: u16,
}
impl PlayerMvpEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerMvpEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RaidSpawnMobEvent {}
impl RaidSpawnMobEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(RaidSpawnMobEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RaidSpawnSquadEvent {}
impl RaidSpawnSquadEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(RaidSpawnSquadEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct NavBlockedEvent {
pub area: u32,
pub blocked: bool,
}
impl NavBlockedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(NavBlockedEvent {
area: read_value::<u32>(stream, iter.next(), "area")?,
blocked: read_value::<bool>(stream, iter.next(), "blocked")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PathTrackPassedEvent {
pub index: u16,
}
impl PathTrackPassedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PathTrackPassedEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct NumCappersChangedEvent {
pub index: u16,
pub count: u8,
}
impl NumCappersChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(NumCappersChangedEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
count: read_value::<u8>(stream, iter.next(), "count")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerRegenerateEvent {}
impl PlayerRegenerateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PlayerRegenerateEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct UpdateStatusItemEvent {
pub index: u8,
pub object: u8,
}
impl UpdateStatusItemEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(UpdateStatusItemEvent {
index: read_value::<u8>(stream, iter.next(), "index")?,
object: read_value::<u8>(stream, iter.next(), "object")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct StatsResetRoundEvent {}
impl StatsResetRoundEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(StatsResetRoundEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ScoreStatsAccumulatedUpdateEvent {}
impl ScoreStatsAccumulatedUpdateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ScoreStatsAccumulatedUpdateEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ScoreStatsAccumulatedResetEvent {}
impl ScoreStatsAccumulatedResetEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ScoreStatsAccumulatedResetEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct AchievementEarnedLocalEvent {
pub achievement: u16,
}
impl AchievementEarnedLocalEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(AchievementEarnedLocalEvent {
achievement: read_value::<u16>(stream, iter.next(), "achievement")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerHealedEvent {
pub patient: u16,
pub healer: u16,
pub amount: u16,
}
impl PlayerHealedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerHealedEvent {
patient: read_value::<u16>(stream, iter.next(), "patient")?,
healer: read_value::<u16>(stream, iter.next(), "healer")?,
amount: read_value::<u16>(stream, iter.next(), "amount")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct BuildingHealedEvent {
pub building: u16,
pub healer: u16,
pub amount: u16,
}
impl BuildingHealedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(BuildingHealedEvent {
building: read_value::<u16>(stream, iter.next(), "building")?,
healer: read_value::<u16>(stream, iter.next(), "healer")?,
amount: read_value::<u16>(stream, iter.next(), "amount")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ItemPickupEvent {
pub user_id: u16,
pub item: String,
}
impl ItemPickupEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ItemPickupEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
item: read_value::<String>(stream, iter.next(), "item")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DuelStatusEvent {
pub killer: u16,
pub score_type: u16,
pub initiator: u16,
pub target: u16,
pub initiator_score: u16,
pub target_score: u16,
}
impl DuelStatusEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DuelStatusEvent {
killer: read_value::<u16>(stream, iter.next(), "killer")?,
score_type: read_value::<u16>(stream, iter.next(), "score_type")?,
initiator: read_value::<u16>(stream, iter.next(), "initiator")?,
target: read_value::<u16>(stream, iter.next(), "target")?,
initiator_score: read_value::<u16>(stream, iter.next(), "initiator_score")?,
target_score: read_value::<u16>(stream, iter.next(), "target_score")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct FishNoticeEvent {
pub user_id: u16,
pub victim_ent_index: u32,
pub inflictor_ent_index: u32,
pub attacker: u16,
pub weapon: String,
pub weapon_id: u16,
pub damage_bits: u32,
pub custom_kill: u16,
pub assister: u16,
pub weapon_log_class_name: String,
pub stun_flags: u16,
pub death_flags: u16,
pub silent_kill: bool,
pub assister_fallback: String,
}
impl FishNoticeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(FishNoticeEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
victim_ent_index: read_value::<u32>(stream, iter.next(), "victim_ent_index")?,
inflictor_ent_index: read_value::<u32>(stream, iter.next(), "inflictor_ent_index")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
weapon: read_value::<String>(stream, iter.next(), "weapon")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
damage_bits: read_value::<u32>(stream, iter.next(), "damage_bits")?,
custom_kill: read_value::<u16>(stream, iter.next(), "custom_kill")?,
assister: read_value::<u16>(stream, iter.next(), "assister")?,
weapon_log_class_name: read_value::<String>(
stream,
iter.next(),
"weapon_log_class_name",
)?,
stun_flags: read_value::<u16>(stream, iter.next(), "stun_flags")?,
death_flags: read_value::<u16>(stream, iter.next(), "death_flags")?,
silent_kill: read_value::<bool>(stream, iter.next(), "silent_kill")?,
assister_fallback: read_value::<String>(stream, iter.next(), "assister_fallback")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct FishNoticeArmEvent {
pub user_id: u16,
pub victim_ent_index: u32,
pub inflictor_ent_index: u32,
pub attacker: u16,
pub weapon: String,
pub weapon_id: u16,
pub damage_bits: u32,
pub custom_kill: u16,
pub assister: u16,
pub weapon_log_class_name: String,
pub stun_flags: u16,
pub death_flags: u16,
pub silent_kill: bool,
pub assister_fallback: String,
}
impl FishNoticeArmEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(FishNoticeArmEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
victim_ent_index: read_value::<u32>(stream, iter.next(), "victim_ent_index")?,
inflictor_ent_index: read_value::<u32>(stream, iter.next(), "inflictor_ent_index")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
weapon: read_value::<String>(stream, iter.next(), "weapon")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
damage_bits: read_value::<u32>(stream, iter.next(), "damage_bits")?,
custom_kill: read_value::<u16>(stream, iter.next(), "custom_kill")?,
assister: read_value::<u16>(stream, iter.next(), "assister")?,
weapon_log_class_name: read_value::<String>(
stream,
iter.next(),
"weapon_log_class_name",
)?,
stun_flags: read_value::<u16>(stream, iter.next(), "stun_flags")?,
death_flags: read_value::<u16>(stream, iter.next(), "death_flags")?,
silent_kill: read_value::<bool>(stream, iter.next(), "silent_kill")?,
assister_fallback: read_value::<String>(stream, iter.next(), "assister_fallback")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct SlapNoticeEvent {
pub user_id: u16,
pub victim_ent_index: u32,
pub inflictor_ent_index: u32,
pub attacker: u16,
pub weapon: String,
pub weapon_id: u16,
pub damage_bits: u32,
pub custom_kill: u16,
pub assister: u16,
pub weapon_log_class_name: String,
pub stun_flags: u16,
pub death_flags: u16,
pub silent_kill: bool,
pub assister_fallback: String,
}
impl SlapNoticeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(SlapNoticeEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
victim_ent_index: read_value::<u32>(stream, iter.next(), "victim_ent_index")?,
inflictor_ent_index: read_value::<u32>(stream, iter.next(), "inflictor_ent_index")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
weapon: read_value::<String>(stream, iter.next(), "weapon")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
damage_bits: read_value::<u32>(stream, iter.next(), "damage_bits")?,
custom_kill: read_value::<u16>(stream, iter.next(), "custom_kill")?,
assister: read_value::<u16>(stream, iter.next(), "assister")?,
weapon_log_class_name: read_value::<String>(
stream,
iter.next(),
"weapon_log_class_name",
)?,
stun_flags: read_value::<u16>(stream, iter.next(), "stun_flags")?,
death_flags: read_value::<u16>(stream, iter.next(), "death_flags")?,
silent_kill: read_value::<bool>(stream, iter.next(), "silent_kill")?,
assister_fallback: read_value::<String>(stream, iter.next(), "assister_fallback")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ThrowableHitEvent {
pub user_id: u16,
pub victim_ent_index: u32,
pub inflictor_ent_index: u32,
pub attacker: u16,
pub weapon: String,
pub weapon_id: u16,
pub damage_bits: u32,
pub custom_kill: u16,
pub assister: u16,
pub weapon_log_class_name: String,
pub stun_flags: u16,
pub death_flags: u16,
pub silent_kill: bool,
pub assister_fallback: String,
pub total_hits: u16,
}
impl ThrowableHitEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ThrowableHitEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
victim_ent_index: read_value::<u32>(stream, iter.next(), "victim_ent_index")?,
inflictor_ent_index: read_value::<u32>(stream, iter.next(), "inflictor_ent_index")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
weapon: read_value::<String>(stream, iter.next(), "weapon")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
damage_bits: read_value::<u32>(stream, iter.next(), "damage_bits")?,
custom_kill: read_value::<u16>(stream, iter.next(), "custom_kill")?,
assister: read_value::<u16>(stream, iter.next(), "assister")?,
weapon_log_class_name: read_value::<String>(
stream,
iter.next(),
"weapon_log_class_name",
)?,
stun_flags: read_value::<u16>(stream, iter.next(), "stun_flags")?,
death_flags: read_value::<u16>(stream, iter.next(), "death_flags")?,
silent_kill: read_value::<bool>(stream, iter.next(), "silent_kill")?,
assister_fallback: read_value::<String>(stream, iter.next(), "assister_fallback")?,
total_hits: read_value::<u16>(stream, iter.next(), "total_hits")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PumpkinLordSummonedEvent {}
impl PumpkinLordSummonedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PumpkinLordSummonedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PumpkinLordKilledEvent {}
impl PumpkinLordKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PumpkinLordKilledEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MerasmusSummonedEvent {
pub level: u16,
}
impl MerasmusSummonedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MerasmusSummonedEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MerasmusKilledEvent {
pub level: u16,
}
impl MerasmusKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MerasmusKilledEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MerasmusEscapeWarningEvent {
pub level: u16,
pub time_remaining: u8,
}
impl MerasmusEscapeWarningEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MerasmusEscapeWarningEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
time_remaining: read_value::<u8>(stream, iter.next(), "time_remaining")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MerasmusEscapedEvent {
pub level: u16,
}
impl MerasmusEscapedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MerasmusEscapedEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EyeballBossSummonedEvent {
pub level: u16,
}
impl EyeballBossSummonedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EyeballBossSummonedEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EyeballBossStunnedEvent {
pub level: u16,
pub player_ent_index: u8,
}
impl EyeballBossStunnedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EyeballBossStunnedEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
player_ent_index: read_value::<u8>(stream, iter.next(), "player_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EyeballBossKilledEvent {
pub level: u16,
}
impl EyeballBossKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EyeballBossKilledEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EyeballBossKillerEvent {
pub level: u16,
pub player_ent_index: u8,
}
impl EyeballBossKillerEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EyeballBossKillerEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
player_ent_index: read_value::<u8>(stream, iter.next(), "player_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EyeballBossEscapeImminentEvent {
pub level: u16,
pub time_remaining: u8,
}
impl EyeballBossEscapeImminentEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EyeballBossEscapeImminentEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
time_remaining: read_value::<u8>(stream, iter.next(), "time_remaining")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EyeballBossEscapedEvent {
pub level: u16,
}
impl EyeballBossEscapedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EyeballBossEscapedEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct NpcHurtEvent {
pub ent_index: u16,
pub health: u16,
pub attacker_player: u16,
pub weapon_id: u16,
pub damage_amount: u16,
pub crit: bool,
pub boss: u16,
}
impl NpcHurtEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(NpcHurtEvent {
ent_index: read_value::<u16>(stream, iter.next(), "ent_index")?,
health: read_value::<u16>(stream, iter.next(), "health")?,
attacker_player: read_value::<u16>(stream, iter.next(), "attacker_player")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
damage_amount: read_value::<u16>(stream, iter.next(), "damage_amount")?,
crit: read_value::<bool>(stream, iter.next(), "crit")?,
boss: read_value::<u16>(stream, iter.next(), "boss")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ControlPointTimerUpdatedEvent {
pub index: u16,
pub time: f32,
}
impl ControlPointTimerUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ControlPointTimerUpdatedEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
time: read_value::<f32>(stream, iter.next(), "time")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerHighFiveStartEvent {
pub ent_index: u8,
}
impl PlayerHighFiveStartEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerHighFiveStartEvent {
ent_index: read_value::<u8>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerHighFiveCancelEvent {
pub ent_index: u8,
}
impl PlayerHighFiveCancelEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerHighFiveCancelEvent {
ent_index: read_value::<u8>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerHighFiveSuccessEvent {
pub initiator_ent_index: u8,
pub partner_ent_index: u8,
}
impl PlayerHighFiveSuccessEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerHighFiveSuccessEvent {
initiator_ent_index: read_value::<u8>(stream, iter.next(), "initiator_ent_index")?,
partner_ent_index: read_value::<u8>(stream, iter.next(), "partner_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerBonusPointsEvent {
pub points: u16,
pub player_ent_index: u16,
pub source_ent_index: u16,
}
impl PlayerBonusPointsEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerBonusPointsEvent {
points: read_value::<u16>(stream, iter.next(), "points")?,
player_ent_index: read_value::<u16>(stream, iter.next(), "player_ent_index")?,
source_ent_index: read_value::<u16>(stream, iter.next(), "source_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerUpgradedEvent {}
impl PlayerUpgradedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PlayerUpgradedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerBuybackEvent {
pub player: u16,
pub cost: u16,
}
impl PlayerBuybackEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerBuybackEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
cost: read_value::<u16>(stream, iter.next(), "cost")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerUsedPowerUpBottleEvent {
pub player: u16,
pub kind: u16,
pub time: f32,
}
impl PlayerUsedPowerUpBottleEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerUsedPowerUpBottleEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
kind: read_value::<u16>(stream, iter.next(), "kind")?,
time: read_value::<f32>(stream, iter.next(), "time")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ChristmasGiftGrabEvent {
pub user_id: u16,
}
impl ChristmasGiftGrabEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ChristmasGiftGrabEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerKilledAchievementZoneEvent {
pub attacker: u16,
pub victim: u16,
pub zone_id: u16,
}
impl PlayerKilledAchievementZoneEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerKilledAchievementZoneEvent {
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
victim: read_value::<u16>(stream, iter.next(), "victim")?,
zone_id: read_value::<u16>(stream, iter.next(), "zone_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PartyUpdatedEvent {}
impl PartyUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PartyUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PartyPrefChangedEvent {}
impl PartyPrefChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PartyPrefChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PartyCriteriaChangedEvent {}
impl PartyCriteriaChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PartyCriteriaChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PartyInvitesChangedEvent {}
impl PartyInvitesChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PartyInvitesChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PartyQueueStateChangedEvent {
pub match_group: u16,
}
impl PartyQueueStateChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PartyQueueStateChangedEvent {
match_group: read_value::<u16>(stream, iter.next(), "match_group")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PartyChatEvent {
pub steam_id: String,
pub text: String,
pub kind: u16,
}
impl PartyChatEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PartyChatEvent {
steam_id: read_value::<String>(stream, iter.next(), "steam_id")?,
text: read_value::<String>(stream, iter.next(), "text")?,
kind: read_value::<u16>(stream, iter.next(), "kind")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PartyMemberJoinEvent {
pub steam_id: String,
}
impl PartyMemberJoinEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PartyMemberJoinEvent {
steam_id: read_value::<String>(stream, iter.next(), "steam_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PartyMemberLeaveEvent {
pub steam_id: String,
}
impl PartyMemberLeaveEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PartyMemberLeaveEvent {
steam_id: read_value::<String>(stream, iter.next(), "steam_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MatchInvitesUpdatedEvent {}
impl MatchInvitesUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MatchInvitesUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LobbyUpdatedEvent {}
impl LobbyUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(LobbyUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmMissionUpdateEvent {
pub class: u16,
pub count: u16,
}
impl MvmMissionUpdateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmMissionUpdateEvent {
class: read_value::<u16>(stream, iter.next(), "class")?,
count: read_value::<u16>(stream, iter.next(), "count")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RecalculateHolidaysEvent {}
impl RecalculateHolidaysEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(RecalculateHolidaysEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerCurrencyChangedEvent {
pub currency: u16,
}
impl PlayerCurrencyChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerCurrencyChangedEvent {
currency: read_value::<u16>(stream, iter.next(), "currency")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DoomsdayRocketOpenEvent {
pub team: u8,
}
impl DoomsdayRocketOpenEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DoomsdayRocketOpenEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RemoveNemesisRelationshipsEvent {
pub player: u16,
}
impl RemoveNemesisRelationshipsEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RemoveNemesisRelationshipsEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmCreditBonusWaveEvent {}
impl MvmCreditBonusWaveEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MvmCreditBonusWaveEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmCreditBonusAllEvent {}
impl MvmCreditBonusAllEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MvmCreditBonusAllEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmCreditBonusAllAdvancedEvent {}
impl MvmCreditBonusAllAdvancedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MvmCreditBonusAllAdvancedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmQuickSentryUpgradeEvent {
pub player: u16,
}
impl MvmQuickSentryUpgradeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmQuickSentryUpgradeEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmTankDestroyedByPlayersEvent {}
impl MvmTankDestroyedByPlayersEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MvmTankDestroyedByPlayersEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmKillRobotDeliveringBombEvent {
pub player: u16,
}
impl MvmKillRobotDeliveringBombEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmKillRobotDeliveringBombEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmPickupCurrencyEvent {
pub player: u16,
pub currency: u16,
}
impl MvmPickupCurrencyEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmPickupCurrencyEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
currency: read_value::<u16>(stream, iter.next(), "currency")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmBombCarrierKilledEvent {
pub level: u16,
}
impl MvmBombCarrierKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmBombCarrierKilledEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmSentryBusterDetonateEvent {
pub player: u16,
pub det_x: f32,
pub det_y: f32,
pub det_z: f32,
}
impl MvmSentryBusterDetonateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmSentryBusterDetonateEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
det_x: read_value::<f32>(stream, iter.next(), "det_x")?,
det_y: read_value::<f32>(stream, iter.next(), "det_y")?,
det_z: read_value::<f32>(stream, iter.next(), "det_z")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmScoutMarkedForDeathEvent {
pub player: u16,
}
impl MvmScoutMarkedForDeathEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmScoutMarkedForDeathEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmMedicPowerUpSharedEvent {
pub player: u16,
}
impl MvmMedicPowerUpSharedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmMedicPowerUpSharedEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmBeginWaveEvent {
pub wave_index: u16,
pub max_waves: u16,
pub advanced: u16,
}
impl MvmBeginWaveEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmBeginWaveEvent {
wave_index: read_value::<u16>(stream, iter.next(), "wave_index")?,
max_waves: read_value::<u16>(stream, iter.next(), "max_waves")?,
advanced: read_value::<u16>(stream, iter.next(), "advanced")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmWaveCompleteEvent {
pub advanced: bool,
}
impl MvmWaveCompleteEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmWaveCompleteEvent {
advanced: read_value::<bool>(stream, iter.next(), "advanced")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmMissionCompleteEvent {
pub mission: String,
}
impl MvmMissionCompleteEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmMissionCompleteEvent {
mission: read_value::<String>(stream, iter.next(), "mission")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmBombResetByPlayerEvent {
pub player: u16,
}
impl MvmBombResetByPlayerEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmBombResetByPlayerEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmBombAlarmTriggeredEvent {}
impl MvmBombAlarmTriggeredEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MvmBombAlarmTriggeredEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmBombDeployResetByPlayerEvent {
pub player: u16,
}
impl MvmBombDeployResetByPlayerEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmBombDeployResetByPlayerEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmWaveFailedEvent {}
impl MvmWaveFailedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MvmWaveFailedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmResetStatsEvent {}
impl MvmResetStatsEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MvmResetStatsEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DamageResistedEvent {
pub ent_index: u8,
}
impl DamageResistedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DamageResistedEvent {
ent_index: read_value::<u8>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RevivePlayerNotifyEvent {
pub ent_index: u16,
pub marker_ent_index: u16,
}
impl RevivePlayerNotifyEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RevivePlayerNotifyEvent {
ent_index: read_value::<u16>(stream, iter.next(), "ent_index")?,
marker_ent_index: read_value::<u16>(stream, iter.next(), "marker_ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RevivePlayerStoppedEvent {
pub ent_index: u16,
}
impl RevivePlayerStoppedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RevivePlayerStoppedEvent {
ent_index: read_value::<u16>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RevivePlayerCompleteEvent {
pub ent_index: u16,
}
impl RevivePlayerCompleteEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RevivePlayerCompleteEvent {
ent_index: read_value::<u16>(stream, iter.next(), "ent_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerTurnedToGhostEvent {
pub user_id: u16,
}
impl PlayerTurnedToGhostEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerTurnedToGhostEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MedigunShieldBlockedDamageEvent {
pub user_id: u16,
pub damage: f32,
}
impl MedigunShieldBlockedDamageEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MedigunShieldBlockedDamageEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
damage: read_value::<f32>(stream, iter.next(), "damage")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmAdvWaveCompleteNoGatesEvent {
pub index: u16,
}
impl MvmAdvWaveCompleteNoGatesEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmAdvWaveCompleteNoGatesEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmSniperHeadshotCurrencyEvent {
pub user_id: u16,
pub currency: u16,
}
impl MvmSniperHeadshotCurrencyEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmSniperHeadshotCurrencyEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
currency: read_value::<u16>(stream, iter.next(), "currency")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmMannhattanPitEvent {}
impl MvmMannhattanPitEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MvmMannhattanPitEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct FlagCarriedInDetectionZoneEvent {}
impl FlagCarriedInDetectionZoneEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(FlagCarriedInDetectionZoneEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmAdvWaveKilledStunRadioEvent {}
impl MvmAdvWaveKilledStunRadioEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MvmAdvWaveKilledStunRadioEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerDirectHitStunEvent {
pub attacker: u16,
pub victim: u16,
}
impl PlayerDirectHitStunEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerDirectHitStunEvent {
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
victim: read_value::<u16>(stream, iter.next(), "victim")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MvmSentryBusterKilledEvent {
pub sentry_buster: u16,
}
impl MvmSentryBusterKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MvmSentryBusterKilledEvent {
sentry_buster: read_value::<u16>(stream, iter.next(), "sentry_buster")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct UpgradesFileChangedEvent {
pub path: String,
}
impl UpgradesFileChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(UpgradesFileChangedEvent {
path: read_value::<String>(stream, iter.next(), "path")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RdTeamPointsChangedEvent {
pub points: u16,
pub team: u8,
pub method: u8,
}
impl RdTeamPointsChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RdTeamPointsChangedEvent {
points: read_value::<u16>(stream, iter.next(), "points")?,
team: read_value::<u8>(stream, iter.next(), "team")?,
method: read_value::<u8>(stream, iter.next(), "method")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RdRulesStateChangedEvent {}
impl RdRulesStateChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(RdRulesStateChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RdRobotKilledEvent {
pub user_id: u16,
pub victim_ent_index: u32,
pub inflictor_ent_index: u32,
pub attacker: u16,
pub weapon: String,
pub weapon_id: u16,
pub damage_bits: u32,
pub custom_kill: u16,
pub weapon_log_class_name: String,
}
impl RdRobotKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RdRobotKilledEvent {
user_id: read_value::<u16>(stream, iter.next(), "user_id")?,
victim_ent_index: read_value::<u32>(stream, iter.next(), "victim_ent_index")?,
inflictor_ent_index: read_value::<u32>(stream, iter.next(), "inflictor_ent_index")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
weapon: read_value::<String>(stream, iter.next(), "weapon")?,
weapon_id: read_value::<u16>(stream, iter.next(), "weapon_id")?,
damage_bits: read_value::<u32>(stream, iter.next(), "damage_bits")?,
custom_kill: read_value::<u16>(stream, iter.next(), "custom_kill")?,
weapon_log_class_name: read_value::<String>(
stream,
iter.next(),
"weapon_log_class_name",
)?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RdRobotImpactEvent {
pub ent_index: u16,
pub impulse_x: f32,
pub impulse_y: f32,
pub impulse_z: f32,
}
impl RdRobotImpactEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RdRobotImpactEvent {
ent_index: read_value::<u16>(stream, iter.next(), "ent_index")?,
impulse_x: read_value::<f32>(stream, iter.next(), "impulse_x")?,
impulse_y: read_value::<f32>(stream, iter.next(), "impulse_y")?,
impulse_z: read_value::<f32>(stream, iter.next(), "impulse_z")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamPlayPreRoundTimeLeftEvent {
pub time: u16,
}
impl TeamPlayPreRoundTimeLeftEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamPlayPreRoundTimeLeftEvent {
time: read_value::<u16>(stream, iter.next(), "time")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ParachuteDeployEvent {
pub index: u16,
}
impl ParachuteDeployEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ParachuteDeployEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ParachuteHolsterEvent {
pub index: u16,
}
impl ParachuteHolsterEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ParachuteHolsterEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct KillRefillsMeterEvent {
pub index: u16,
}
impl KillRefillsMeterEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(KillRefillsMeterEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RpsTauntEventEvent {
pub winner: u16,
pub winner_rps: u8,
pub loser: u16,
pub loser_rps: u8,
}
impl RpsTauntEventEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RpsTauntEventEvent {
winner: read_value::<u16>(stream, iter.next(), "winner")?,
winner_rps: read_value::<u8>(stream, iter.next(), "winner_rps")?,
loser: read_value::<u16>(stream, iter.next(), "loser")?,
loser_rps: read_value::<u8>(stream, iter.next(), "loser_rps")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct CongaKillEvent {
pub index: u16,
}
impl CongaKillEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(CongaKillEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerInitialSpawnEvent {
pub index: u16,
}
impl PlayerInitialSpawnEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerInitialSpawnEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct CompetitiveVictoryEvent {}
impl CompetitiveVictoryEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(CompetitiveVictoryEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct CompetitiveStatsUpdateEvent {
pub index: u16,
pub kills_rank: u8,
pub score_rank: u8,
pub damage_rank: u8,
pub healing_rank: u8,
pub support_rank: u8,
}
impl CompetitiveStatsUpdateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(CompetitiveStatsUpdateEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
kills_rank: read_value::<u8>(stream, iter.next(), "kills_rank")?,
score_rank: read_value::<u8>(stream, iter.next(), "score_rank")?,
damage_rank: read_value::<u8>(stream, iter.next(), "damage_rank")?,
healing_rank: read_value::<u8>(stream, iter.next(), "healing_rank")?,
support_rank: read_value::<u8>(stream, iter.next(), "support_rank")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MiniGameWinEvent {
pub team: u8,
pub kind: u8,
}
impl MiniGameWinEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MiniGameWinEvent {
team: read_value::<u8>(stream, iter.next(), "team")?,
kind: read_value::<u8>(stream, iter.next(), "kind")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct SentryOnGoActiveEvent {
pub index: u16,
}
impl SentryOnGoActiveEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(SentryOnGoActiveEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DuckXpLevelUpEvent {
pub level: u16,
}
impl DuckXpLevelUpEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DuckXpLevelUpEvent {
level: read_value::<u16>(stream, iter.next(), "level")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct QuestLogOpenedEvent {}
impl QuestLogOpenedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(QuestLogOpenedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct SchemaUpdatedEvent {}
impl SchemaUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(SchemaUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct LocalPlayerPickupWeaponEvent {}
impl LocalPlayerPickupWeaponEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(LocalPlayerPickupWeaponEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RdPlayerScorePointsEvent {
pub player: u16,
pub method: u16,
pub amount: u16,
}
impl RdPlayerScorePointsEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RdPlayerScorePointsEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
method: read_value::<u16>(stream, iter.next(), "method")?,
amount: read_value::<u16>(stream, iter.next(), "amount")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DemomanDetStickiesEvent {
pub player: u16,
}
impl DemomanDetStickiesEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DemomanDetStickiesEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct QuestObjectiveCompletedEvent {
pub quest_item_id_low: u32,
pub quest_item_id_hi: u32,
pub quest_objective_id: u32,
pub scorer_user_id: u16,
}
impl QuestObjectiveCompletedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(QuestObjectiveCompletedEvent {
quest_item_id_low: read_value::<u32>(stream, iter.next(), "quest_item_id_low")?,
quest_item_id_hi: read_value::<u32>(stream, iter.next(), "quest_item_id_hi")?,
quest_objective_id: read_value::<u32>(stream, iter.next(), "quest_objective_id")?,
scorer_user_id: read_value::<u16>(stream, iter.next(), "scorer_user_id")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerScoreChangedEvent {
pub player: u8,
pub delta: u16,
}
impl PlayerScoreChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerScoreChangedEvent {
player: read_value::<u8>(stream, iter.next(), "player")?,
delta: read_value::<u16>(stream, iter.next(), "delta")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct KilledCappingPlayerEvent {
pub cp: u8,
pub killer: u8,
pub victim: u8,
pub assister: u8,
}
impl KilledCappingPlayerEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(KilledCappingPlayerEvent {
cp: read_value::<u8>(stream, iter.next(), "cp")?,
killer: read_value::<u8>(stream, iter.next(), "killer")?,
victim: read_value::<u8>(stream, iter.next(), "victim")?,
assister: read_value::<u8>(stream, iter.next(), "assister")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EnvironmentalDeathEvent {
pub killer: u8,
pub victim: u8,
}
impl EnvironmentalDeathEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EnvironmentalDeathEvent {
killer: read_value::<u8>(stream, iter.next(), "killer")?,
victim: read_value::<u8>(stream, iter.next(), "victim")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ProjectileDirectHitEvent {
pub attacker: u8,
pub victim: u8,
pub weapon_def_index: u32,
}
impl ProjectileDirectHitEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ProjectileDirectHitEvent {
attacker: read_value::<u8>(stream, iter.next(), "attacker")?,
victim: read_value::<u8>(stream, iter.next(), "victim")?,
weapon_def_index: read_value::<u32>(stream, iter.next(), "weapon_def_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PassGetEvent {
pub owner: u16,
}
impl PassGetEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PassGetEvent {
owner: read_value::<u16>(stream, iter.next(), "owner")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PassScoreEvent {
pub scorer: u16,
pub assister: u16,
pub points: u8,
}
impl PassScoreEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PassScoreEvent {
scorer: read_value::<u16>(stream, iter.next(), "scorer")?,
assister: read_value::<u16>(stream, iter.next(), "assister")?,
points: read_value::<u8>(stream, iter.next(), "points")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PassFreeEvent {
pub owner: u16,
pub attacker: u16,
}
impl PassFreeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PassFreeEvent {
owner: read_value::<u16>(stream, iter.next(), "owner")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PassPassCaughtEvent {
pub passer: u16,
pub catcher: u16,
pub dist: f32,
pub duration: f32,
}
impl PassPassCaughtEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PassPassCaughtEvent {
passer: read_value::<u16>(stream, iter.next(), "passer")?,
catcher: read_value::<u16>(stream, iter.next(), "catcher")?,
dist: read_value::<f32>(stream, iter.next(), "dist")?,
duration: read_value::<f32>(stream, iter.next(), "duration")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PassBallStolenEvent {
pub victim: u16,
pub attacker: u16,
}
impl PassBallStolenEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PassBallStolenEvent {
victim: read_value::<u16>(stream, iter.next(), "victim")?,
attacker: read_value::<u16>(stream, iter.next(), "attacker")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PassBallBlockedEvent {
pub owner: u16,
pub blocker: u16,
}
impl PassBallBlockedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PassBallBlockedEvent {
owner: read_value::<u16>(stream, iter.next(), "owner")?,
blocker: read_value::<u16>(stream, iter.next(), "blocker")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DamagePreventedEvent {
pub preventor: u16,
pub victim: u16,
pub amount: u16,
pub condition: u16,
}
impl DamagePreventedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DamagePreventedEvent {
preventor: read_value::<u16>(stream, iter.next(), "preventor")?,
victim: read_value::<u16>(stream, iter.next(), "victim")?,
amount: read_value::<u16>(stream, iter.next(), "amount")?,
condition: read_value::<u16>(stream, iter.next(), "condition")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HalloweenBossKilledEvent {
pub boss: u16,
pub killer: u16,
}
impl HalloweenBossKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HalloweenBossKilledEvent {
boss: read_value::<u16>(stream, iter.next(), "boss")?,
killer: read_value::<u16>(stream, iter.next(), "killer")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EscapedLootIslandEvent {
pub player: u16,
}
impl EscapedLootIslandEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EscapedLootIslandEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TaggedPlayerAsItEvent {
pub player: u16,
}
impl TaggedPlayerAsItEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TaggedPlayerAsItEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MerasmusStunnedEvent {
pub player: u16,
}
impl MerasmusStunnedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MerasmusStunnedEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MerasmusPropFoundEvent {
pub player: u16,
}
impl MerasmusPropFoundEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MerasmusPropFoundEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HalloweenSkeletonKilledEvent {
pub player: u16,
}
impl HalloweenSkeletonKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HalloweenSkeletonKilledEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct EscapeHellEvent {
pub player: u16,
}
impl EscapeHellEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(EscapeHellEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct CrossSpectralBridgeEvent {
pub player: u16,
}
impl CrossSpectralBridgeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(CrossSpectralBridgeEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MiniGameWonEvent {
pub player: u16,
pub game: u16,
}
impl MiniGameWonEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(MiniGameWonEvent {
player: read_value::<u16>(stream, iter.next(), "player")?,
game: read_value::<u16>(stream, iter.next(), "game")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RespawnGhostEvent {
pub reviver: u16,
pub ghost: u16,
}
impl RespawnGhostEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RespawnGhostEvent {
reviver: read_value::<u16>(stream, iter.next(), "reviver")?,
ghost: read_value::<u16>(stream, iter.next(), "ghost")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct KillInHellEvent {
pub killer: u16,
pub victim: u16,
}
impl KillInHellEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(KillInHellEvent {
killer: read_value::<u16>(stream, iter.next(), "killer")?,
victim: read_value::<u16>(stream, iter.next(), "victim")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HalloweenDuckCollectedEvent {
pub collector: u16,
}
impl HalloweenDuckCollectedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HalloweenDuckCollectedEvent {
collector: read_value::<u16>(stream, iter.next(), "collector")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct SpecialScoreEvent {
pub player: u8,
}
impl SpecialScoreEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(SpecialScoreEvent {
player: read_value::<u8>(stream, iter.next(), "player")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TeamLeaderKilledEvent {
pub killer: u8,
pub victim: u8,
}
impl TeamLeaderKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(TeamLeaderKilledEvent {
killer: read_value::<u8>(stream, iter.next(), "killer")?,
victim: read_value::<u8>(stream, iter.next(), "victim")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HalloweenSoulCollectedEvent {
pub intended_target: u8,
pub collecting_player: u8,
pub soul_count: u8,
}
impl HalloweenSoulCollectedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HalloweenSoulCollectedEvent {
intended_target: read_value::<u8>(stream, iter.next(), "intended_target")?,
collecting_player: read_value::<u8>(stream, iter.next(), "collecting_player")?,
soul_count: read_value::<u8>(stream, iter.next(), "soul_count")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RecalculateTruceEvent {}
impl RecalculateTruceEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(RecalculateTruceEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DeadRingerCheatDeathEvent {
pub spy: u8,
pub attacker: u8,
}
impl DeadRingerCheatDeathEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DeadRingerCheatDeathEvent {
spy: read_value::<u8>(stream, iter.next(), "spy")?,
attacker: read_value::<u8>(stream, iter.next(), "attacker")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct CrossbowHealEvent {
pub healer: u8,
pub target: u8,
pub amount: u16,
}
impl CrossbowHealEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(CrossbowHealEvent {
healer: read_value::<u8>(stream, iter.next(), "healer")?,
target: read_value::<u8>(stream, iter.next(), "target")?,
amount: read_value::<u16>(stream, iter.next(), "amount")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DamageMitigatedEvent {
pub mitigator: u8,
pub damaged: u8,
pub amount: u16,
pub item_definition_index: u16,
}
impl DamageMitigatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DamageMitigatedEvent {
mitigator: read_value::<u8>(stream, iter.next(), "mitigator")?,
damaged: read_value::<u8>(stream, iter.next(), "damaged")?,
amount: read_value::<u16>(stream, iter.next(), "amount")?,
item_definition_index: read_value::<u16>(stream, iter.next(), "item_definition_index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PayloadPushedEvent {
pub pusher: u8,
pub distance: u16,
}
impl PayloadPushedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PayloadPushedEvent {
pusher: read_value::<u8>(stream, iter.next(), "pusher")?,
distance: read_value::<u16>(stream, iter.next(), "distance")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerAbandonedMatchEvent {
pub game_over: bool,
}
impl PlayerAbandonedMatchEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerAbandonedMatchEvent {
game_over: read_value::<bool>(stream, iter.next(), "game_over")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ClDrawlineEvent {
pub player: u8,
pub panel: u8,
pub line: u8,
pub x: f32,
pub y: f32,
}
impl ClDrawlineEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ClDrawlineEvent {
player: read_value::<u8>(stream, iter.next(), "player")?,
panel: read_value::<u8>(stream, iter.next(), "panel")?,
line: read_value::<u8>(stream, iter.next(), "line")?,
x: read_value::<f32>(stream, iter.next(), "x")?,
y: read_value::<f32>(stream, iter.next(), "y")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RestartTimerTimeEvent {
pub time: u8,
}
impl RestartTimerTimeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RestartTimerTimeEvent {
time: read_value::<u8>(stream, iter.next(), "time")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct WinLimitChangedEvent {}
impl WinLimitChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(WinLimitChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct WinPanelShowScoresEvent {}
impl WinPanelShowScoresEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(WinPanelShowScoresEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct TopStreamsRequestFinishedEvent {}
impl TopStreamsRequestFinishedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(TopStreamsRequestFinishedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct CompetitiveStateChangedEvent {}
impl CompetitiveStateChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(CompetitiveStateChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GlobalWarDataUpdatedEvent {}
impl GlobalWarDataUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(GlobalWarDataUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct StopWatchChangedEvent {}
impl StopWatchChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(StopWatchChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DsStopEvent {}
impl DsStopEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(DsStopEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct DsScreenshotEvent {
pub delay: f32,
}
impl DsScreenshotEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(DsScreenshotEvent {
delay: read_value::<f32>(stream, iter.next(), "delay")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ShowMatchSummaryEvent {}
impl ShowMatchSummaryEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ShowMatchSummaryEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ExperienceChangedEvent {}
impl ExperienceChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ExperienceChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct BeginXpLerpEvent {}
impl BeginXpLerpEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(BeginXpLerpEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MatchmakerStatsUpdatedEvent {}
impl MatchmakerStatsUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MatchmakerStatsUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RematchVotePeriodOverEvent {
pub success: bool,
}
impl RematchVotePeriodOverEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(RematchVotePeriodOverEvent {
success: read_value::<bool>(stream, iter.next(), "success")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct RematchFailedToCreateEvent {}
impl RematchFailedToCreateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(RematchFailedToCreateEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerRematchChangeEvent {}
impl PlayerRematchChangeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PlayerRematchChangeEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PingUpdatedEvent {}
impl PingUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(PingUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MMStatsUpdatedEvent {}
impl MMStatsUpdatedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MMStatsUpdatedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerNextMapVoteChangeEvent {
pub map_index: u8,
pub vote: u8,
}
impl PlayerNextMapVoteChangeEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerNextMapVoteChangeEvent {
map_index: read_value::<u8>(stream, iter.next(), "map_index")?,
vote: read_value::<u8>(stream, iter.next(), "vote")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct VoteMapsChangedEvent {}
impl VoteMapsChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(VoteMapsChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ProtoDefChangedEvent {
pub kind: u8,
pub definition_index: u32,
pub created: bool,
pub deleted: bool,
pub erase_history: bool,
}
impl ProtoDefChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ProtoDefChangedEvent {
kind: read_value::<u8>(stream, iter.next(), "kind")?,
definition_index: read_value::<u32>(stream, iter.next(), "definition_index")?,
created: read_value::<bool>(stream, iter.next(), "created")?,
deleted: read_value::<bool>(stream, iter.next(), "deleted")?,
erase_history: read_value::<bool>(stream, iter.next(), "erase_history")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerDominationEvent {
pub dominator: u16,
pub dominated: u16,
pub dominations: u16,
}
impl PlayerDominationEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerDominationEvent {
dominator: read_value::<u16>(stream, iter.next(), "dominator")?,
dominated: read_value::<u16>(stream, iter.next(), "dominated")?,
dominations: read_value::<u16>(stream, iter.next(), "dominations")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct PlayerRocketPackPushedEvent {
pub pusher: u16,
pub pushed: u16,
}
impl PlayerRocketPackPushedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(PlayerRocketPackPushedEvent {
pusher: read_value::<u16>(stream, iter.next(), "pusher")?,
pushed: read_value::<u16>(stream, iter.next(), "pushed")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct QuestRequestEvent {
pub request: u32,
pub msg: String,
}
impl QuestRequestEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(QuestRequestEvent {
request: read_value::<u32>(stream, iter.next(), "request")?,
msg: read_value::<String>(stream, iter.next(), "msg")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct QuestResponseEvent {
pub request: u32,
pub success: bool,
pub msg: String,
}
impl QuestResponseEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(QuestResponseEvent {
request: read_value::<u32>(stream, iter.next(), "request")?,
success: read_value::<bool>(stream, iter.next(), "success")?,
msg: read_value::<String>(stream, iter.next(), "msg")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct QuestProgressEvent {
pub owner: u16,
pub scorer: u16,
pub kind: u8,
pub completed: bool,
pub quest_definition_index: u32,
}
impl QuestProgressEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(QuestProgressEvent {
owner: read_value::<u16>(stream, iter.next(), "owner")?,
scorer: read_value::<u16>(stream, iter.next(), "scorer")?,
kind: read_value::<u8>(stream, iter.next(), "kind")?,
completed: read_value::<bool>(stream, iter.next(), "completed")?,
quest_definition_index: read_value::<u32>(
stream,
iter.next(),
"quest_definition_index",
)?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ProjectileRemovedEvent {
pub attacker: u8,
pub weapon_def_index: u32,
pub num_hit: u8,
pub num_direct_hit: u8,
}
impl ProjectileRemovedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ProjectileRemovedEvent {
attacker: read_value::<u8>(stream, iter.next(), "attacker")?,
weapon_def_index: read_value::<u32>(stream, iter.next(), "weapon_def_index")?,
num_hit: read_value::<u8>(stream, iter.next(), "num_hit")?,
num_direct_hit: read_value::<u8>(stream, iter.next(), "num_direct_hit")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct QuestMapDataChangedEvent {}
impl QuestMapDataChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(QuestMapDataChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct GasDousedPlayerIgnitedEvent {
pub igniter: u16,
pub douser: u16,
pub victim: u16,
}
impl GasDousedPlayerIgnitedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(GasDousedPlayerIgnitedEvent {
igniter: read_value::<u16>(stream, iter.next(), "igniter")?,
douser: read_value::<u16>(stream, iter.next(), "douser")?,
victim: read_value::<u16>(stream, iter.next(), "victim")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct QuestTurnInStateEvent {
pub state: u16,
}
impl QuestTurnInStateEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(QuestTurnInStateEvent {
state: read_value::<u16>(stream, iter.next(), "state")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ItemsAcknowledgedEvent {}
impl ItemsAcknowledgedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ItemsAcknowledgedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct CapperKilledEvent {
pub blocker: u16,
pub victim: u16,
}
impl CapperKilledEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(CapperKilledEvent {
blocker: read_value::<u16>(stream, iter.next(), "blocker")?,
victim: read_value::<u16>(stream, iter.next(), "victim")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct MainMenuStabilizedEvent {}
impl MainMenuStabilizedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(MainMenuStabilizedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct WorldStatusChangedEvent {}
impl WorldStatusChangedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(WorldStatusChangedEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVStatusEvent {
pub clients: u32,
pub slots: u32,
pub proxies: u16,
pub master: String,
}
impl HLTVStatusEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVStatusEvent {
clients: read_value::<u32>(stream, iter.next(), "clients")?,
slots: read_value::<u32>(stream, iter.next(), "slots")?,
proxies: read_value::<u16>(stream, iter.next(), "proxies")?,
master: read_value::<String>(stream, iter.next(), "master")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVCameramanEvent {
pub index: u16,
}
impl HLTVCameramanEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVCameramanEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVRankCameraEvent {
pub index: u8,
pub rank: f32,
pub target: u16,
}
impl HLTVRankCameraEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVRankCameraEvent {
index: read_value::<u8>(stream, iter.next(), "index")?,
rank: read_value::<f32>(stream, iter.next(), "rank")?,
target: read_value::<u16>(stream, iter.next(), "target")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVRankEntityEvent {
pub index: u16,
pub rank: f32,
pub target: u16,
}
impl HLTVRankEntityEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVRankEntityEvent {
index: read_value::<u16>(stream, iter.next(), "index")?,
rank: read_value::<f32>(stream, iter.next(), "rank")?,
target: read_value::<u16>(stream, iter.next(), "target")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVFixedEvent {
pub pos_x: u32,
pub pos_y: u32,
pub pos_z: u32,
pub theta: u16,
pub phi: u16,
pub offset: u16,
pub fov: f32,
pub target: u16,
}
impl HLTVFixedEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVFixedEvent {
pos_x: read_value::<u32>(stream, iter.next(), "pos_x")?,
pos_y: read_value::<u32>(stream, iter.next(), "pos_y")?,
pos_z: read_value::<u32>(stream, iter.next(), "pos_z")?,
theta: read_value::<u16>(stream, iter.next(), "theta")?,
phi: read_value::<u16>(stream, iter.next(), "phi")?,
offset: read_value::<u16>(stream, iter.next(), "offset")?,
fov: read_value::<f32>(stream, iter.next(), "fov")?,
target: read_value::<u16>(stream, iter.next(), "target")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVChaseEvent {
pub target_1: u16,
pub target_2: u16,
pub distance: u16,
pub theta: u16,
pub phi: u16,
pub inertia: u8,
pub in_eye: u8,
}
impl HLTVChaseEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVChaseEvent {
target_1: read_value::<u16>(stream, iter.next(), "target_1")?,
target_2: read_value::<u16>(stream, iter.next(), "target_2")?,
distance: read_value::<u16>(stream, iter.next(), "distance")?,
theta: read_value::<u16>(stream, iter.next(), "theta")?,
phi: read_value::<u16>(stream, iter.next(), "phi")?,
inertia: read_value::<u8>(stream, iter.next(), "inertia")?,
in_eye: read_value::<u8>(stream, iter.next(), "in_eye")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVMessageEvent {
pub text: String,
}
impl HLTVMessageEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVMessageEvent {
text: read_value::<String>(stream, iter.next(), "text")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVTitleEvent {
pub text: String,
}
impl HLTVTitleEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVTitleEvent {
text: read_value::<String>(stream, iter.next(), "text")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct HLTVChatEvent {
pub text: String,
}
impl HLTVChatEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(HLTVChatEvent {
text: read_value::<String>(stream, iter.next(), "text")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ReplayStartRecordEvent {}
impl ReplayStartRecordEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ReplayStartRecordEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ReplaySessionInfoEvent {
pub sn: String,
pub di: u8,
pub cb: u32,
pub st: u32,
}
impl ReplaySessionInfoEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ReplaySessionInfoEvent {
sn: read_value::<String>(stream, iter.next(), "sn")?,
di: read_value::<u8>(stream, iter.next(), "di")?,
cb: read_value::<u32>(stream, iter.next(), "cb")?,
st: read_value::<u32>(stream, iter.next(), "st")?,
})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ReplayEndRecordEvent {}
impl ReplayEndRecordEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ReplayEndRecordEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ReplayReplaysAvailableEvent {}
impl ReplayReplaysAvailableEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(ReplayReplaysAvailableEvent {})
}
}
#[derive(Debug, BitWrite, PartialEq)]
pub struct ReplayServerErrorEvent {
pub error: String,
}
impl ReplayServerErrorEvent {
#[allow(unused_variables)]
fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
let mut iter = definition.entries.iter();
Ok(ReplayServerErrorEvent {
error: read_value::<String>(stream, iter.next(), "error")?,
})
}
}
#[derive(Debug, PartialEq)]
pub enum GameEvent {
ServerSpawn(Box<ServerSpawnEvent>),
ServerChangeLevelFailed(ServerChangeLevelFailedEvent),
ServerShutdown(ServerShutdownEvent),
ServerCvar(ServerCvarEvent),
ServerMessage(ServerMessageEvent),
ServerAddBan(Box<ServerAddBanEvent>),
ServerRemoveBan(ServerRemoveBanEvent),
PlayerConnect(PlayerConnectEvent),
PlayerConnectClient(PlayerConnectClientEvent),
PlayerInfo(PlayerInfoEvent),
PlayerDisconnect(PlayerDisconnectEvent),
PlayerActivate(PlayerActivateEvent),
PlayerSay(PlayerSayEvent),
ClientDisconnect(ClientDisconnectEvent),
ClientBeginConnect(ClientBeginConnectEvent),
ClientConnected(ClientConnectedEvent),
ClientFullConnect(ClientFullConnectEvent),
HostQuit(HostQuitEvent),
TeamInfo(TeamInfoEvent),
TeamScore(TeamScoreEvent),
TeamPlayBroadcastAudio(TeamPlayBroadcastAudioEvent),
PlayerTeam(PlayerTeamEvent),
PlayerClass(PlayerClassEvent),
PlayerDeath(Box<PlayerDeathEvent>),
PlayerHurt(PlayerHurtEvent),
PlayerChat(PlayerChatEvent),
PlayerScore(PlayerScoreEvent),
PlayerSpawn(PlayerSpawnEvent),
PlayerShoot(PlayerShootEvent),
PlayerUse(PlayerUseEvent),
PlayerChangeName(PlayerChangeNameEvent),
PlayerHintMessage(PlayerHintMessageEvent),
BasePlayerTeleported(BasePlayerTeleportedEvent),
GameInit(GameInitEvent),
GameNewMap(GameNewMapEvent),
GameStart(GameStartEvent),
GameEnd(GameEndEvent),
RoundStart(RoundStartEvent),
RoundEnd(RoundEndEvent),
GameMessage(GameMessageEvent),
BreakBreakable(BreakBreakableEvent),
BreakProp(BreakPropEvent),
EntityKilled(EntityKilledEvent),
BonusUpdated(BonusUpdatedEvent),
AchievementEvent(AchievementEventEvent),
AchievementIncrement(AchievementIncrementEvent),
PhysgunPickup(PhysgunPickupEvent),
FlareIgniteNpc(FlareIgniteNpcEvent),
HelicopterGrenadePuntMiss(HelicopterGrenadePuntMissEvent),
UserDataDownloaded(UserDataDownloadedEvent),
RagdollDissolved(RagdollDissolvedEvent),
HLTVChangedMode(HLTVChangedModeEvent),
HLTVChangedTarget(HLTVChangedTargetEvent),
VoteEnded(VoteEndedEvent),
VoteStarted(VoteStartedEvent),
VoteChanged(VoteChangedEvent),
VotePassed(VotePassedEvent),
VoteFailed(VoteFailedEvent),
VoteCast(VoteCastEvent),
VoteOptions(Box<VoteOptionsEvent>),
ReplaySaved(ReplaySavedEvent),
EnteredPerformanceMode(EnteredPerformanceModeEvent),
BrowseReplays(BrowseReplaysEvent),
ReplayYoutubeStats(ReplayYoutubeStatsEvent),
InventoryUpdated(InventoryUpdatedEvent),
CartUpdated(CartUpdatedEvent),
StorePriceSheetUpdated(StorePriceSheetUpdatedEvent),
EconInventoryConnected(EconInventoryConnectedEvent),
ItemSchemaInitialized(ItemSchemaInitializedEvent),
GcNewSession(GcNewSessionEvent),
GcLostSession(GcLostSessionEvent),
IntroFinish(IntroFinishEvent),
IntroNextCamera(IntroNextCameraEvent),
PlayerChangeClass(PlayerChangeClassEvent),
TfMapTimeRemaining(TfMapTimeRemainingEvent),
TfGameOver(TfGameOverEvent),
CtfFlagCaptured(CtfFlagCapturedEvent),
ControlPointInitialized(ControlPointInitializedEvent),
ControlPointUpdateImages(ControlPointUpdateImagesEvent),
ControlPointUpdateLayout(ControlPointUpdateLayoutEvent),
ControlPointUpdateCapping(ControlPointUpdateCappingEvent),
ControlPointUpdateOwner(ControlPointUpdateOwnerEvent),
ControlPointStartTouch(ControlPointStartTouchEvent),
ControlPointEndTouch(ControlPointEndTouchEvent),
ControlPointPulseElement(ControlPointPulseElementEvent),
ControlPointFakeCapture(ControlPointFakeCaptureEvent),
ControlPointFakeCaptureMultiplier(ControlPointFakeCaptureMultiplierEvent),
TeamPlayRoundSelected(TeamPlayRoundSelectedEvent),
TeamPlayRoundStart(TeamPlayRoundStartEvent),
TeamPlayRoundActive(TeamPlayRoundActiveEvent),
TeamPlayWaitingBegins(TeamPlayWaitingBeginsEvent),
TeamPlayWaitingEnds(TeamPlayWaitingEndsEvent),
TeamPlayWaitingAboutToEnd(TeamPlayWaitingAboutToEndEvent),
TeamPlayRestartRound(TeamPlayRestartRoundEvent),
TeamPlayReadyRestart(TeamPlayReadyRestartEvent),
TeamPlayRoundRestartSeconds(TeamPlayRoundRestartSecondsEvent),
TeamPlayTeamReady(TeamPlayTeamReadyEvent),
TeamPlayRoundWin(TeamPlayRoundWinEvent),
TeamPlayUpdateTimer(TeamPlayUpdateTimerEvent),
TeamPlayRoundStalemate(TeamPlayRoundStalemateEvent),
TeamPlayOvertimeBegin(TeamPlayOvertimeBeginEvent),
TeamPlayOvertimeEnd(TeamPlayOvertimeEndEvent),
TeamPlaySuddenDeathBegin(TeamPlaySuddenDeathBeginEvent),
TeamPlaySuddenDeathEnd(TeamPlaySuddenDeathEndEvent),
TeamPlayGameOver(TeamPlayGameOverEvent),
TeamPlayMapTimeRemaining(TeamPlayMapTimeRemainingEvent),
TeamPlayTimerFlash(TeamPlayTimerFlashEvent),
TeamPlayTimerTimeAdded(TeamPlayTimerTimeAddedEvent),
TeamPlayPointStartCapture(TeamPlayPointStartCaptureEvent),
TeamPlayPointCaptured(TeamPlayPointCapturedEvent),
TeamPlayPointLocked(TeamPlayPointLockedEvent),
TeamPlayPointUnlocked(TeamPlayPointUnlockedEvent),
TeamPlayCaptureBroken(TeamPlayCaptureBrokenEvent),
TeamPlayCaptureBlocked(TeamPlayCaptureBlockedEvent),
TeamPlayFlagEvent(TeamPlayFlagEventEvent),
TeamPlayWinPanel(TeamPlayWinPanelEvent),
TeamPlayTeamBalancedPlayer(TeamPlayTeamBalancedPlayerEvent),
TeamPlaySetupFinished(TeamPlaySetupFinishedEvent),
TeamPlayAlert(TeamPlayAlertEvent),
TrainingComplete(TrainingCompleteEvent),
ShowFreezePanel(ShowFreezePanelEvent),
HideFreezePanel(HideFreezePanelEvent),
FreezeCamStarted(FreezeCamStartedEvent),
LocalPlayerChangeTeam(LocalPlayerChangeTeamEvent),
LocalPlayerScoreChanged(LocalPlayerScoreChangedEvent),
LocalPlayerChangeClass(LocalPlayerChangeClassEvent),
LocalPlayerRespawn(LocalPlayerRespawnEvent),
BuildingInfoChanged(BuildingInfoChangedEvent),
LocalPlayerChangeDisguise(LocalPlayerChangeDisguiseEvent),
PlayerAccountChanged(PlayerAccountChangedEvent),
SpyPdaReset(SpyPdaResetEvent),
FlagStatusUpdate(FlagStatusUpdateEvent),
PlayerStatsUpdated(PlayerStatsUpdatedEvent),
PlayingCommentary(PlayingCommentaryEvent),
PlayerChargeDeployed(PlayerChargeDeployedEvent),
PlayerBuiltObject(PlayerBuiltObjectEvent),
PlayerUpgradedObject(PlayerUpgradedObjectEvent),
PlayerCarryObject(PlayerCarryObjectEvent),
PlayerDropObject(PlayerDropObjectEvent),
ObjectRemoved(ObjectRemovedEvent),
ObjectDestroyed(ObjectDestroyedEvent),
ObjectDetonated(ObjectDetonatedEvent),
AchievementEarned(AchievementEarnedEvent),
SpecTargetUpdated(SpecTargetUpdatedEvent),
TournamentStateUpdate(TournamentStateUpdateEvent),
TournamentEnableCountdown(TournamentEnableCountdownEvent),
PlayerCalledForMedic(PlayerCalledForMedicEvent),
PlayerAskedForBall(PlayerAskedForBallEvent),
LocalPlayerBecameObserver(LocalPlayerBecameObserverEvent),
PlayerIgnitedInv(PlayerIgnitedInvEvent),
PlayerIgnited(PlayerIgnitedEvent),
PlayerExtinguished(PlayerExtinguishedEvent),
PlayerTeleported(PlayerTeleportedEvent),
PlayerHealedMedicCall(PlayerHealedMedicCallEvent),
LocalPlayerChargeReady(LocalPlayerChargeReadyEvent),
LocalPlayerWindDown(LocalPlayerWindDownEvent),
PlayerInvulned(PlayerInvulnedEvent),
EscortSpeed(EscortSpeedEvent),
EscortProgress(EscortProgressEvent),
EscortRecede(EscortRecedeEvent),
GameUIActivated(GameUIActivatedEvent),
GameUIHidden(GameUIHiddenEvent),
PlayerEscortScore(PlayerEscortScoreEvent),
PlayerHealOnHit(PlayerHealOnHitEvent),
PlayerStealSandvich(PlayerStealSandvichEvent),
ShowClassLayout(ShowClassLayoutEvent),
ShowVsPanel(ShowVsPanelEvent),
PlayerDamaged(PlayerDamagedEvent),
ArenaPlayerNotification(ArenaPlayerNotificationEvent),
ArenaMatchMaxStreak(ArenaMatchMaxStreakEvent),
ArenaRoundStart(ArenaRoundStartEvent),
ArenaWinPanel(ArenaWinPanelEvent),
PveWinPanel(PveWinPanelEvent),
AirDash(AirDashEvent),
Landed(LandedEvent),
PlayerDamageDodged(PlayerDamageDodgedEvent),
PlayerStunned(PlayerStunnedEvent),
ScoutGrandSlam(ScoutGrandSlamEvent),
ScoutSlamdollLanded(ScoutSlamdollLandedEvent),
ArrowImpact(ArrowImpactEvent),
PlayerJarated(PlayerJaratedEvent),
PlayerJaratedFade(PlayerJaratedFadeEvent),
PlayerShieldBlocked(PlayerShieldBlockedEvent),
PlayerPinned(PlayerPinnedEvent),
PlayerHealedByMedic(PlayerHealedByMedicEvent),
PlayerSappedObject(PlayerSappedObjectEvent),
ItemFound(ItemFoundEvent),
ShowAnnotation(ShowAnnotationEvent),
HideAnnotation(HideAnnotationEvent),
PostInventoryApplication(PostInventoryApplicationEvent),
ControlPointUnlockUpdated(ControlPointUnlockUpdatedEvent),
DeployBuffBanner(DeployBuffBannerEvent),
PlayerBuff(PlayerBuffEvent),
MedicDeath(MedicDeathEvent),
OvertimeNag(OvertimeNagEvent),
TeamsChanged(TeamsChangedEvent),
HalloweenPumpkinGrab(HalloweenPumpkinGrabEvent),
RocketJump(RocketJumpEvent),
RocketJumpLanded(RocketJumpLandedEvent),
StickyJump(StickyJumpEvent),
StickyJumpLanded(StickyJumpLandedEvent),
RocketPackLaunch(RocketPackLaunchEvent),
RocketPackLanded(RocketPackLandedEvent),
MedicDefended(MedicDefendedEvent),
LocalPlayerHealed(LocalPlayerHealedEvent),
PlayerDestroyedPipeBomb(PlayerDestroyedPipeBombEvent),
ObjectDeflected(ObjectDeflectedEvent),
PlayerMvp(PlayerMvpEvent),
RaidSpawnMob(RaidSpawnMobEvent),
RaidSpawnSquad(RaidSpawnSquadEvent),
NavBlocked(NavBlockedEvent),
PathTrackPassed(PathTrackPassedEvent),
NumCappersChanged(NumCappersChangedEvent),
PlayerRegenerate(PlayerRegenerateEvent),
UpdateStatusItem(UpdateStatusItemEvent),
StatsResetRound(StatsResetRoundEvent),
ScoreStatsAccumulatedUpdate(ScoreStatsAccumulatedUpdateEvent),
ScoreStatsAccumulatedReset(ScoreStatsAccumulatedResetEvent),
AchievementEarnedLocal(AchievementEarnedLocalEvent),
PlayerHealed(PlayerHealedEvent),
BuildingHealed(BuildingHealedEvent),
ItemPickup(ItemPickupEvent),
DuelStatus(DuelStatusEvent),
FishNotice(FishNoticeEvent),
FishNoticeArm(FishNoticeArmEvent),
SlapNotice(SlapNoticeEvent),
ThrowableHit(ThrowableHitEvent),
PumpkinLordSummoned(PumpkinLordSummonedEvent),
PumpkinLordKilled(PumpkinLordKilledEvent),
MerasmusSummoned(MerasmusSummonedEvent),
MerasmusKilled(MerasmusKilledEvent),
MerasmusEscapeWarning(MerasmusEscapeWarningEvent),
MerasmusEscaped(MerasmusEscapedEvent),
EyeballBossSummoned(EyeballBossSummonedEvent),
EyeballBossStunned(EyeballBossStunnedEvent),
EyeballBossKilled(EyeballBossKilledEvent),
EyeballBossKiller(EyeballBossKillerEvent),
EyeballBossEscapeImminent(EyeballBossEscapeImminentEvent),
EyeballBossEscaped(EyeballBossEscapedEvent),
NpcHurt(NpcHurtEvent),
ControlPointTimerUpdated(ControlPointTimerUpdatedEvent),
PlayerHighFiveStart(PlayerHighFiveStartEvent),
PlayerHighFiveCancel(PlayerHighFiveCancelEvent),
PlayerHighFiveSuccess(PlayerHighFiveSuccessEvent),
PlayerBonusPoints(PlayerBonusPointsEvent),
PlayerUpgraded(PlayerUpgradedEvent),
PlayerBuyback(PlayerBuybackEvent),
PlayerUsedPowerUpBottle(PlayerUsedPowerUpBottleEvent),
ChristmasGiftGrab(ChristmasGiftGrabEvent),
PlayerKilledAchievementZone(PlayerKilledAchievementZoneEvent),
PartyUpdated(PartyUpdatedEvent),
PartyPrefChanged(PartyPrefChangedEvent),
PartyCriteriaChanged(PartyCriteriaChangedEvent),
PartyInvitesChanged(PartyInvitesChangedEvent),
PartyQueueStateChanged(PartyQueueStateChangedEvent),
PartyChat(PartyChatEvent),
PartyMemberJoin(PartyMemberJoinEvent),
PartyMemberLeave(PartyMemberLeaveEvent),
MatchInvitesUpdated(MatchInvitesUpdatedEvent),
LobbyUpdated(LobbyUpdatedEvent),
MvmMissionUpdate(MvmMissionUpdateEvent),
RecalculateHolidays(RecalculateHolidaysEvent),
PlayerCurrencyChanged(PlayerCurrencyChangedEvent),
DoomsdayRocketOpen(DoomsdayRocketOpenEvent),
RemoveNemesisRelationships(RemoveNemesisRelationshipsEvent),
MvmCreditBonusWave(MvmCreditBonusWaveEvent),
MvmCreditBonusAll(MvmCreditBonusAllEvent),
MvmCreditBonusAllAdvanced(MvmCreditBonusAllAdvancedEvent),
MvmQuickSentryUpgrade(MvmQuickSentryUpgradeEvent),
MvmTankDestroyedByPlayers(MvmTankDestroyedByPlayersEvent),
MvmKillRobotDeliveringBomb(MvmKillRobotDeliveringBombEvent),
MvmPickupCurrency(MvmPickupCurrencyEvent),
MvmBombCarrierKilled(MvmBombCarrierKilledEvent),
MvmSentryBusterDetonate(MvmSentryBusterDetonateEvent),
MvmScoutMarkedForDeath(MvmScoutMarkedForDeathEvent),
MvmMedicPowerUpShared(MvmMedicPowerUpSharedEvent),
MvmBeginWave(MvmBeginWaveEvent),
MvmWaveComplete(MvmWaveCompleteEvent),
MvmMissionComplete(MvmMissionCompleteEvent),
MvmBombResetByPlayer(MvmBombResetByPlayerEvent),
MvmBombAlarmTriggered(MvmBombAlarmTriggeredEvent),
MvmBombDeployResetByPlayer(MvmBombDeployResetByPlayerEvent),
MvmWaveFailed(MvmWaveFailedEvent),
MvmResetStats(MvmResetStatsEvent),
DamageResisted(DamageResistedEvent),
RevivePlayerNotify(RevivePlayerNotifyEvent),
RevivePlayerStopped(RevivePlayerStoppedEvent),
RevivePlayerComplete(RevivePlayerCompleteEvent),
PlayerTurnedToGhost(PlayerTurnedToGhostEvent),
MedigunShieldBlockedDamage(MedigunShieldBlockedDamageEvent),
MvmAdvWaveCompleteNoGates(MvmAdvWaveCompleteNoGatesEvent),
MvmSniperHeadshotCurrency(MvmSniperHeadshotCurrencyEvent),
MvmMannhattanPit(MvmMannhattanPitEvent),
FlagCarriedInDetectionZone(FlagCarriedInDetectionZoneEvent),
MvmAdvWaveKilledStunRadio(MvmAdvWaveKilledStunRadioEvent),
PlayerDirectHitStun(PlayerDirectHitStunEvent),
MvmSentryBusterKilled(MvmSentryBusterKilledEvent),
UpgradesFileChanged(UpgradesFileChangedEvent),
RdTeamPointsChanged(RdTeamPointsChangedEvent),
RdRulesStateChanged(RdRulesStateChangedEvent),
RdRobotKilled(RdRobotKilledEvent),
RdRobotImpact(RdRobotImpactEvent),
TeamPlayPreRoundTimeLeft(TeamPlayPreRoundTimeLeftEvent),
ParachuteDeploy(ParachuteDeployEvent),
ParachuteHolster(ParachuteHolsterEvent),
KillRefillsMeter(KillRefillsMeterEvent),
RpsTauntEvent(RpsTauntEventEvent),
CongaKill(CongaKillEvent),
PlayerInitialSpawn(PlayerInitialSpawnEvent),
CompetitiveVictory(CompetitiveVictoryEvent),
CompetitiveStatsUpdate(CompetitiveStatsUpdateEvent),
MiniGameWin(MiniGameWinEvent),
SentryOnGoActive(SentryOnGoActiveEvent),
DuckXpLevelUp(DuckXpLevelUpEvent),
QuestLogOpened(QuestLogOpenedEvent),
SchemaUpdated(SchemaUpdatedEvent),
LocalPlayerPickupWeapon(LocalPlayerPickupWeaponEvent),
RdPlayerScorePoints(RdPlayerScorePointsEvent),
DemomanDetStickies(DemomanDetStickiesEvent),
QuestObjectiveCompleted(QuestObjectiveCompletedEvent),
PlayerScoreChanged(PlayerScoreChangedEvent),
KilledCappingPlayer(KilledCappingPlayerEvent),
EnvironmentalDeath(EnvironmentalDeathEvent),
ProjectileDirectHit(ProjectileDirectHitEvent),
PassGet(PassGetEvent),
PassScore(PassScoreEvent),
PassFree(PassFreeEvent),
PassPassCaught(PassPassCaughtEvent),
PassBallStolen(PassBallStolenEvent),
PassBallBlocked(PassBallBlockedEvent),
DamagePrevented(DamagePreventedEvent),
HalloweenBossKilled(HalloweenBossKilledEvent),
EscapedLootIsland(EscapedLootIslandEvent),
TaggedPlayerAsIt(TaggedPlayerAsItEvent),
MerasmusStunned(MerasmusStunnedEvent),
MerasmusPropFound(MerasmusPropFoundEvent),
HalloweenSkeletonKilled(HalloweenSkeletonKilledEvent),
EscapeHell(EscapeHellEvent),
CrossSpectralBridge(CrossSpectralBridgeEvent),
MiniGameWon(MiniGameWonEvent),
RespawnGhost(RespawnGhostEvent),
KillInHell(KillInHellEvent),
HalloweenDuckCollected(HalloweenDuckCollectedEvent),
SpecialScore(SpecialScoreEvent),
TeamLeaderKilled(TeamLeaderKilledEvent),
HalloweenSoulCollected(HalloweenSoulCollectedEvent),
RecalculateTruce(RecalculateTruceEvent),
DeadRingerCheatDeath(DeadRingerCheatDeathEvent),
CrossbowHeal(CrossbowHealEvent),
DamageMitigated(DamageMitigatedEvent),
PayloadPushed(PayloadPushedEvent),
PlayerAbandonedMatch(PlayerAbandonedMatchEvent),
ClDrawline(ClDrawlineEvent),
RestartTimerTime(RestartTimerTimeEvent),
WinLimitChanged(WinLimitChangedEvent),
WinPanelShowScores(WinPanelShowScoresEvent),
TopStreamsRequestFinished(TopStreamsRequestFinishedEvent),
CompetitiveStateChanged(CompetitiveStateChangedEvent),
GlobalWarDataUpdated(GlobalWarDataUpdatedEvent),
StopWatchChanged(StopWatchChangedEvent),
DsStop(DsStopEvent),
DsScreenshot(DsScreenshotEvent),
ShowMatchSummary(ShowMatchSummaryEvent),
ExperienceChanged(ExperienceChangedEvent),
BeginXpLerp(BeginXpLerpEvent),
MatchmakerStatsUpdated(MatchmakerStatsUpdatedEvent),
RematchVotePeriodOver(RematchVotePeriodOverEvent),
RematchFailedToCreate(RematchFailedToCreateEvent),
PlayerRematchChange(PlayerRematchChangeEvent),
PingUpdated(PingUpdatedEvent),
MMStatsUpdated(MMStatsUpdatedEvent),
PlayerNextMapVoteChange(PlayerNextMapVoteChangeEvent),
VoteMapsChanged(VoteMapsChangedEvent),
ProtoDefChanged(ProtoDefChangedEvent),
PlayerDomination(PlayerDominationEvent),
PlayerRocketPackPushed(PlayerRocketPackPushedEvent),
QuestRequest(QuestRequestEvent),
QuestResponse(QuestResponseEvent),
QuestProgress(QuestProgressEvent),
ProjectileRemoved(ProjectileRemovedEvent),
QuestMapDataChanged(QuestMapDataChangedEvent),
GasDousedPlayerIgnited(GasDousedPlayerIgnitedEvent),
QuestTurnInState(QuestTurnInStateEvent),
ItemsAcknowledged(ItemsAcknowledgedEvent),
CapperKilled(CapperKilledEvent),
MainMenuStabilized(MainMenuStabilizedEvent),
WorldStatusChanged(WorldStatusChangedEvent),
HLTVStatus(HLTVStatusEvent),
HLTVCameraman(HLTVCameramanEvent),
HLTVRankCamera(HLTVRankCameraEvent),
HLTVRankEntity(HLTVRankEntityEvent),
HLTVFixed(HLTVFixedEvent),
HLTVChase(HLTVChaseEvent),
HLTVMessage(HLTVMessageEvent),
HLTVTitle(HLTVTitleEvent),
HLTVChat(HLTVChatEvent),
ReplayStartRecord(ReplayStartRecordEvent),
ReplaySessionInfo(ReplaySessionInfoEvent),
ReplayEndRecord(ReplayEndRecordEvent),
ReplayReplaysAvailable(ReplayReplaysAvailableEvent),
ReplayServerError(ReplayServerErrorEvent),
Unknown(RawGameEvent),
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub enum GameEventType {
ServerSpawn = 0,
ServerChangeLevelFailed = 1,
ServerShutdown = 2,
ServerCvar = 3,
ServerMessage = 4,
ServerAddBan = 5,
ServerRemoveBan = 6,
PlayerConnect = 7,
PlayerConnectClient = 8,
PlayerInfo = 9,
PlayerDisconnect = 10,
PlayerActivate = 11,
PlayerSay = 12,
ClientDisconnect = 13,
ClientBeginConnect = 14,
ClientConnected = 15,
ClientFullConnect = 16,
HostQuit = 17,
TeamInfo = 18,
TeamScore = 19,
TeamPlayBroadcastAudio = 20,
PlayerTeam = 21,
PlayerClass = 22,
PlayerDeath = 23,
PlayerHurt = 24,
PlayerChat = 25,
PlayerScore = 26,
PlayerSpawn = 27,
PlayerShoot = 28,
PlayerUse = 29,
PlayerChangeName = 30,
PlayerHintMessage = 31,
BasePlayerTeleported = 32,
GameInit = 33,
GameNewMap = 34,
GameStart = 35,
GameEnd = 36,
RoundStart = 37,
RoundEnd = 38,
GameMessage = 39,
BreakBreakable = 40,
BreakProp = 41,
EntityKilled = 42,
BonusUpdated = 43,
AchievementEvent = 44,
AchievementIncrement = 45,
PhysgunPickup = 46,
FlareIgniteNpc = 47,
HelicopterGrenadePuntMiss = 48,
UserDataDownloaded = 49,
RagdollDissolved = 50,
HLTVChangedMode = 51,
HLTVChangedTarget = 52,
VoteEnded = 53,
VoteStarted = 54,
VoteChanged = 55,
VotePassed = 56,
VoteFailed = 57,
VoteCast = 58,
VoteOptions = 59,
ReplaySaved = 60,
EnteredPerformanceMode = 61,
BrowseReplays = 62,
ReplayYoutubeStats = 63,
InventoryUpdated = 64,
CartUpdated = 65,
StorePriceSheetUpdated = 66,
EconInventoryConnected = 67,
ItemSchemaInitialized = 68,
GcNewSession = 69,
GcLostSession = 70,
IntroFinish = 71,
IntroNextCamera = 72,
PlayerChangeClass = 73,
TfMapTimeRemaining = 74,
TfGameOver = 75,
CtfFlagCaptured = 76,
ControlPointInitialized = 77,
ControlPointUpdateImages = 78,
ControlPointUpdateLayout = 79,
ControlPointUpdateCapping = 80,
ControlPointUpdateOwner = 81,
ControlPointStartTouch = 82,
ControlPointEndTouch = 83,
ControlPointPulseElement = 84,
ControlPointFakeCapture = 85,
ControlPointFakeCaptureMultiplier = 86,
TeamPlayRoundSelected = 87,
TeamPlayRoundStart = 88,
TeamPlayRoundActive = 89,
TeamPlayWaitingBegins = 90,
TeamPlayWaitingEnds = 91,
TeamPlayWaitingAboutToEnd = 92,
TeamPlayRestartRound = 93,
TeamPlayReadyRestart = 94,
TeamPlayRoundRestartSeconds = 95,
TeamPlayTeamReady = 96,
TeamPlayRoundWin = 97,
TeamPlayUpdateTimer = 98,
TeamPlayRoundStalemate = 99,
TeamPlayOvertimeBegin = 100,
TeamPlayOvertimeEnd = 101,
TeamPlaySuddenDeathBegin = 102,
TeamPlaySuddenDeathEnd = 103,
TeamPlayGameOver = 104,
TeamPlayMapTimeRemaining = 105,
TeamPlayTimerFlash = 106,
TeamPlayTimerTimeAdded = 107,
TeamPlayPointStartCapture = 108,
TeamPlayPointCaptured = 109,
TeamPlayPointLocked = 110,
TeamPlayPointUnlocked = 111,
TeamPlayCaptureBroken = 112,
TeamPlayCaptureBlocked = 113,
TeamPlayFlagEvent = 114,
TeamPlayWinPanel = 115,
TeamPlayTeamBalancedPlayer = 116,
TeamPlaySetupFinished = 117,
TeamPlayAlert = 118,
TrainingComplete = 119,
ShowFreezePanel = 120,
HideFreezePanel = 121,
FreezeCamStarted = 122,
LocalPlayerChangeTeam = 123,
LocalPlayerScoreChanged = 124,
LocalPlayerChangeClass = 125,
LocalPlayerRespawn = 126,
BuildingInfoChanged = 127,
LocalPlayerChangeDisguise = 128,
PlayerAccountChanged = 129,
SpyPdaReset = 130,
FlagStatusUpdate = 131,
PlayerStatsUpdated = 132,
PlayingCommentary = 133,
PlayerChargeDeployed = 134,
PlayerBuiltObject = 135,
PlayerUpgradedObject = 136,
PlayerCarryObject = 137,
PlayerDropObject = 138,
ObjectRemoved = 139,
ObjectDestroyed = 140,
ObjectDetonated = 141,
AchievementEarned = 142,
SpecTargetUpdated = 143,
TournamentStateUpdate = 144,
TournamentEnableCountdown = 145,
PlayerCalledForMedic = 146,
PlayerAskedForBall = 147,
LocalPlayerBecameObserver = 148,
PlayerIgnitedInv = 149,
PlayerIgnited = 150,
PlayerExtinguished = 151,
PlayerTeleported = 152,
PlayerHealedMedicCall = 153,
LocalPlayerChargeReady = 154,
LocalPlayerWindDown = 155,
PlayerInvulned = 156,
EscortSpeed = 157,
EscortProgress = 158,
EscortRecede = 159,
GameUIActivated = 160,
GameUIHidden = 161,
PlayerEscortScore = 162,
PlayerHealOnHit = 163,
PlayerStealSandvich = 164,
ShowClassLayout = 165,
ShowVsPanel = 166,
PlayerDamaged = 167,
ArenaPlayerNotification = 168,
ArenaMatchMaxStreak = 169,
ArenaRoundStart = 170,
ArenaWinPanel = 171,
PveWinPanel = 172,
AirDash = 173,
Landed = 174,
PlayerDamageDodged = 175,
PlayerStunned = 176,
ScoutGrandSlam = 177,
ScoutSlamdollLanded = 178,
ArrowImpact = 179,
PlayerJarated = 180,
PlayerJaratedFade = 181,
PlayerShieldBlocked = 182,
PlayerPinned = 183,
PlayerHealedByMedic = 184,
PlayerSappedObject = 185,
ItemFound = 186,
ShowAnnotation = 187,
HideAnnotation = 188,
PostInventoryApplication = 189,
ControlPointUnlockUpdated = 190,
DeployBuffBanner = 191,
PlayerBuff = 192,
MedicDeath = 193,
OvertimeNag = 194,
TeamsChanged = 195,
HalloweenPumpkinGrab = 196,
RocketJump = 197,
RocketJumpLanded = 198,
StickyJump = 199,
StickyJumpLanded = 200,
RocketPackLaunch = 201,
RocketPackLanded = 202,
MedicDefended = 203,
LocalPlayerHealed = 204,
PlayerDestroyedPipeBomb = 205,
ObjectDeflected = 206,
PlayerMvp = 207,
RaidSpawnMob = 208,
RaidSpawnSquad = 209,
NavBlocked = 210,
PathTrackPassed = 211,
NumCappersChanged = 212,
PlayerRegenerate = 213,
UpdateStatusItem = 214,
StatsResetRound = 215,
ScoreStatsAccumulatedUpdate = 216,
ScoreStatsAccumulatedReset = 217,
AchievementEarnedLocal = 218,
PlayerHealed = 219,
BuildingHealed = 220,
ItemPickup = 221,
DuelStatus = 222,
FishNotice = 223,
FishNoticeArm = 224,
SlapNotice = 225,
ThrowableHit = 226,
PumpkinLordSummoned = 227,
PumpkinLordKilled = 228,
MerasmusSummoned = 229,
MerasmusKilled = 230,
MerasmusEscapeWarning = 231,
MerasmusEscaped = 232,
EyeballBossSummoned = 233,
EyeballBossStunned = 234,
EyeballBossKilled = 235,
EyeballBossKiller = 236,
EyeballBossEscapeImminent = 237,
EyeballBossEscaped = 238,
NpcHurt = 239,
ControlPointTimerUpdated = 240,
PlayerHighFiveStart = 241,
PlayerHighFiveCancel = 242,
PlayerHighFiveSuccess = 243,
PlayerBonusPoints = 244,
PlayerUpgraded = 245,
PlayerBuyback = 246,
PlayerUsedPowerUpBottle = 247,
ChristmasGiftGrab = 248,
PlayerKilledAchievementZone = 249,
PartyUpdated = 250,
PartyPrefChanged = 251,
PartyCriteriaChanged = 252,
PartyInvitesChanged = 253,
PartyQueueStateChanged = 254,
PartyChat = 255,
PartyMemberJoin = 256,
PartyMemberLeave = 257,
MatchInvitesUpdated = 258,
LobbyUpdated = 259,
MvmMissionUpdate = 260,
RecalculateHolidays = 261,
PlayerCurrencyChanged = 262,
DoomsdayRocketOpen = 263,
RemoveNemesisRelationships = 264,
MvmCreditBonusWave = 265,
MvmCreditBonusAll = 266,
MvmCreditBonusAllAdvanced = 267,
MvmQuickSentryUpgrade = 268,
MvmTankDestroyedByPlayers = 269,
MvmKillRobotDeliveringBomb = 270,
MvmPickupCurrency = 271,
MvmBombCarrierKilled = 272,
MvmSentryBusterDetonate = 273,
MvmScoutMarkedForDeath = 274,
MvmMedicPowerUpShared = 275,
MvmBeginWave = 276,
MvmWaveComplete = 277,
MvmMissionComplete = 278,
MvmBombResetByPlayer = 279,
MvmBombAlarmTriggered = 280,
MvmBombDeployResetByPlayer = 281,
MvmWaveFailed = 282,
MvmResetStats = 283,
DamageResisted = 284,
RevivePlayerNotify = 285,
RevivePlayerStopped = 286,
RevivePlayerComplete = 287,
PlayerTurnedToGhost = 288,
MedigunShieldBlockedDamage = 289,
MvmAdvWaveCompleteNoGates = 290,
MvmSniperHeadshotCurrency = 291,
MvmMannhattanPit = 292,
FlagCarriedInDetectionZone = 293,
MvmAdvWaveKilledStunRadio = 294,
PlayerDirectHitStun = 295,
MvmSentryBusterKilled = 296,
UpgradesFileChanged = 297,
RdTeamPointsChanged = 298,
RdRulesStateChanged = 299,
RdRobotKilled = 300,
RdRobotImpact = 301,
TeamPlayPreRoundTimeLeft = 302,
ParachuteDeploy = 303,
ParachuteHolster = 304,
KillRefillsMeter = 305,
RpsTauntEvent = 306,
CongaKill = 307,
PlayerInitialSpawn = 308,
CompetitiveVictory = 309,
CompetitiveStatsUpdate = 310,
MiniGameWin = 311,
SentryOnGoActive = 312,
DuckXpLevelUp = 313,
QuestLogOpened = 314,
SchemaUpdated = 315,
LocalPlayerPickupWeapon = 316,
RdPlayerScorePoints = 317,
DemomanDetStickies = 318,
QuestObjectiveCompleted = 319,
PlayerScoreChanged = 320,
KilledCappingPlayer = 321,
EnvironmentalDeath = 322,
ProjectileDirectHit = 323,
PassGet = 324,
PassScore = 325,
PassFree = 326,
PassPassCaught = 327,
PassBallStolen = 328,
PassBallBlocked = 329,
DamagePrevented = 330,
HalloweenBossKilled = 331,
EscapedLootIsland = 332,
TaggedPlayerAsIt = 333,
MerasmusStunned = 334,
MerasmusPropFound = 335,
HalloweenSkeletonKilled = 336,
EscapeHell = 337,
CrossSpectralBridge = 338,
MiniGameWon = 339,
RespawnGhost = 340,
KillInHell = 341,
HalloweenDuckCollected = 342,
SpecialScore = 343,
TeamLeaderKilled = 344,
HalloweenSoulCollected = 345,
RecalculateTruce = 346,
DeadRingerCheatDeath = 347,
CrossbowHeal = 348,
DamageMitigated = 349,
PayloadPushed = 350,
PlayerAbandonedMatch = 351,
ClDrawline = 352,
RestartTimerTime = 353,
WinLimitChanged = 354,
WinPanelShowScores = 355,
TopStreamsRequestFinished = 356,
CompetitiveStateChanged = 357,
GlobalWarDataUpdated = 358,
StopWatchChanged = 359,
DsStop = 360,
DsScreenshot = 361,
ShowMatchSummary = 362,
ExperienceChanged = 363,
BeginXpLerp = 364,
MatchmakerStatsUpdated = 365,
RematchVotePeriodOver = 366,
RematchFailedToCreate = 367,
PlayerRematchChange = 368,
PingUpdated = 369,
MMStatsUpdated = 370,
PlayerNextMapVoteChange = 371,
VoteMapsChanged = 372,
ProtoDefChanged = 373,
PlayerDomination = 374,
PlayerRocketPackPushed = 375,
QuestRequest = 376,
QuestResponse = 377,
QuestProgress = 378,
ProjectileRemoved = 379,
QuestMapDataChanged = 380,
GasDousedPlayerIgnited = 381,
QuestTurnInState = 382,
ItemsAcknowledged = 383,
CapperKilled = 384,
MainMenuStabilized = 385,
WorldStatusChanged = 386,
HLTVStatus = 387,
HLTVCameraman = 388,
HLTVRankCamera = 389,
HLTVRankEntity = 390,
HLTVFixed = 391,
HLTVChase = 392,
HLTVMessage = 393,
HLTVTitle = 394,
HLTVChat = 395,
ReplayStartRecord = 396,
ReplaySessionInfo = 397,
ReplayEndRecord = 398,
ReplayReplaysAvailable = 399,
ReplayServerError = 400,
Unknown,
}
impl GameEventType {
pub fn from_type_name(name: &str) -> Self {
match name {
"server_spawn" => GameEventType::ServerSpawn,
"server_changelevel_failed" => GameEventType::ServerChangeLevelFailed,
"server_shutdown" => GameEventType::ServerShutdown,
"server_cvar" => GameEventType::ServerCvar,
"server_message" => GameEventType::ServerMessage,
"server_addban" => GameEventType::ServerAddBan,
"server_removeban" => GameEventType::ServerRemoveBan,
"player_connect" => GameEventType::PlayerConnect,
"player_connect_client" => GameEventType::PlayerConnectClient,
"player_info" => GameEventType::PlayerInfo,
"player_disconnect" => GameEventType::PlayerDisconnect,
"player_activate" => GameEventType::PlayerActivate,
"player_say" => GameEventType::PlayerSay,
"client_disconnect" => GameEventType::ClientDisconnect,
"client_beginconnect" => GameEventType::ClientBeginConnect,
"client_connected" => GameEventType::ClientConnected,
"client_fullconnect" => GameEventType::ClientFullConnect,
"host_quit" => GameEventType::HostQuit,
"team_info" => GameEventType::TeamInfo,
"team_score" => GameEventType::TeamScore,
"teamplay_broadcast_audio" => GameEventType::TeamPlayBroadcastAudio,
"player_team" => GameEventType::PlayerTeam,
"player_class" => GameEventType::PlayerClass,
"player_death" => GameEventType::PlayerDeath,
"player_hurt" => GameEventType::PlayerHurt,
"player_chat" => GameEventType::PlayerChat,
"player_score" => GameEventType::PlayerScore,
"player_spawn" => GameEventType::PlayerSpawn,
"player_shoot" => GameEventType::PlayerShoot,
"player_use" => GameEventType::PlayerUse,
"player_changename" => GameEventType::PlayerChangeName,
"player_hintmessage" => GameEventType::PlayerHintMessage,
"base_player_teleported" => GameEventType::BasePlayerTeleported,
"game_init" => GameEventType::GameInit,
"game_newmap" => GameEventType::GameNewMap,
"game_start" => GameEventType::GameStart,
"game_end" => GameEventType::GameEnd,
"round_start" => GameEventType::RoundStart,
"round_end" => GameEventType::RoundEnd,
"game_message" => GameEventType::GameMessage,
"break_breakable" => GameEventType::BreakBreakable,
"break_prop" => GameEventType::BreakProp,
"entity_killed" => GameEventType::EntityKilled,
"bonus_updated" => GameEventType::BonusUpdated,
"achievement_event" => GameEventType::AchievementEvent,
"achievement_increment" => GameEventType::AchievementIncrement,
"physgun_pickup" => GameEventType::PhysgunPickup,
"flare_ignite_npc" => GameEventType::FlareIgniteNpc,
"helicopter_grenade_punt_miss" => GameEventType::HelicopterGrenadePuntMiss,
"user_data_downloaded" => GameEventType::UserDataDownloaded,
"ragdoll_dissolved" => GameEventType::RagdollDissolved,
"hltv_changed_mode" => GameEventType::HLTVChangedMode,
"hltv_changed_target" => GameEventType::HLTVChangedTarget,
"vote_ended" => GameEventType::VoteEnded,
"vote_started" => GameEventType::VoteStarted,
"vote_changed" => GameEventType::VoteChanged,
"vote_passed" => GameEventType::VotePassed,
"vote_failed" => GameEventType::VoteFailed,
"vote_cast" => GameEventType::VoteCast,
"vote_options" => GameEventType::VoteOptions,
"replay_saved" => GameEventType::ReplaySaved,
"entered_performance_mode" => GameEventType::EnteredPerformanceMode,
"browse_replays" => GameEventType::BrowseReplays,
"replay_youtube_stats" => GameEventType::ReplayYoutubeStats,
"inventory_updated" => GameEventType::InventoryUpdated,
"cart_updated" => GameEventType::CartUpdated,
"store_pricesheet_updated" => GameEventType::StorePriceSheetUpdated,
"econ_inventory_connected" => GameEventType::EconInventoryConnected,
"item_schema_initialized" => GameEventType::ItemSchemaInitialized,
"gc_new_session" => GameEventType::GcNewSession,
"gc_lost_session" => GameEventType::GcLostSession,
"intro_finish" => GameEventType::IntroFinish,
"intro_nextcamera" => GameEventType::IntroNextCamera,
"player_changeclass" => GameEventType::PlayerChangeClass,
"tf_map_time_remaining" => GameEventType::TfMapTimeRemaining,
"tf_game_over" => GameEventType::TfGameOver,
"ctf_flag_captured" => GameEventType::CtfFlagCaptured,
"controlpoint_initialized" => GameEventType::ControlPointInitialized,
"controlpoint_updateimages" => GameEventType::ControlPointUpdateImages,
"controlpoint_updatelayout" => GameEventType::ControlPointUpdateLayout,
"controlpoint_updatecapping" => GameEventType::ControlPointUpdateCapping,
"controlpoint_updateowner" => GameEventType::ControlPointUpdateOwner,
"controlpoint_starttouch" => GameEventType::ControlPointStartTouch,
"controlpoint_endtouch" => GameEventType::ControlPointEndTouch,
"controlpoint_pulse_element" => GameEventType::ControlPointPulseElement,
"controlpoint_fake_capture" => GameEventType::ControlPointFakeCapture,
"controlpoint_fake_capture_mult" => GameEventType::ControlPointFakeCaptureMultiplier,
"teamplay_round_selected" => GameEventType::TeamPlayRoundSelected,
"teamplay_round_start" => GameEventType::TeamPlayRoundStart,
"teamplay_round_active" => GameEventType::TeamPlayRoundActive,
"teamplay_waiting_begins" => GameEventType::TeamPlayWaitingBegins,
"teamplay_waiting_ends" => GameEventType::TeamPlayWaitingEnds,
"teamplay_waiting_abouttoend" => GameEventType::TeamPlayWaitingAboutToEnd,
"teamplay_restart_round" => GameEventType::TeamPlayRestartRound,
"teamplay_ready_restart" => GameEventType::TeamPlayReadyRestart,
"teamplay_round_restart_seconds" => GameEventType::TeamPlayRoundRestartSeconds,
"teamplay_team_ready" => GameEventType::TeamPlayTeamReady,
"teamplay_round_win" => GameEventType::TeamPlayRoundWin,
"teamplay_update_timer" => GameEventType::TeamPlayUpdateTimer,
"teamplay_round_stalemate" => GameEventType::TeamPlayRoundStalemate,
"teamplay_overtime_begin" => GameEventType::TeamPlayOvertimeBegin,
"teamplay_overtime_end" => GameEventType::TeamPlayOvertimeEnd,
"teamplay_suddendeath_begin" => GameEventType::TeamPlaySuddenDeathBegin,
"teamplay_suddendeath_end" => GameEventType::TeamPlaySuddenDeathEnd,
"teamplay_game_over" => GameEventType::TeamPlayGameOver,
"teamplay_map_time_remaining" => GameEventType::TeamPlayMapTimeRemaining,
"teamplay_timer_flash" => GameEventType::TeamPlayTimerFlash,
"teamplay_timer_time_added" => GameEventType::TeamPlayTimerTimeAdded,
"teamplay_point_startcapture" => GameEventType::TeamPlayPointStartCapture,
"teamplay_point_captured" => GameEventType::TeamPlayPointCaptured,
"teamplay_point_locked" => GameEventType::TeamPlayPointLocked,
"teamplay_point_unlocked" => GameEventType::TeamPlayPointUnlocked,
"teamplay_capture_broken" => GameEventType::TeamPlayCaptureBroken,
"teamplay_capture_blocked" => GameEventType::TeamPlayCaptureBlocked,
"teamplay_flag_event" => GameEventType::TeamPlayFlagEvent,
"teamplay_win_panel" => GameEventType::TeamPlayWinPanel,
"teamplay_teambalanced_player" => GameEventType::TeamPlayTeamBalancedPlayer,
"teamplay_setup_finished" => GameEventType::TeamPlaySetupFinished,
"teamplay_alert" => GameEventType::TeamPlayAlert,
"training_complete" => GameEventType::TrainingComplete,
"show_freezepanel" => GameEventType::ShowFreezePanel,
"hide_freezepanel" => GameEventType::HideFreezePanel,
"freezecam_started" => GameEventType::FreezeCamStarted,
"localplayer_changeteam" => GameEventType::LocalPlayerChangeTeam,
"localplayer_score_changed" => GameEventType::LocalPlayerScoreChanged,
"localplayer_changeclass" => GameEventType::LocalPlayerChangeClass,
"localplayer_respawn" => GameEventType::LocalPlayerRespawn,
"building_info_changed" => GameEventType::BuildingInfoChanged,
"localplayer_changedisguise" => GameEventType::LocalPlayerChangeDisguise,
"player_account_changed" => GameEventType::PlayerAccountChanged,
"spy_pda_reset" => GameEventType::SpyPdaReset,
"flagstatus_update" => GameEventType::FlagStatusUpdate,
"player_stats_updated" => GameEventType::PlayerStatsUpdated,
"playing_commentary" => GameEventType::PlayingCommentary,
"player_chargedeployed" => GameEventType::PlayerChargeDeployed,
"player_builtobject" => GameEventType::PlayerBuiltObject,
"player_upgradedobject" => GameEventType::PlayerUpgradedObject,
"player_carryobject" => GameEventType::PlayerCarryObject,
"player_dropobject" => GameEventType::PlayerDropObject,
"object_removed" => GameEventType::ObjectRemoved,
"object_destroyed" => GameEventType::ObjectDestroyed,
"object_detonated" => GameEventType::ObjectDetonated,
"achievement_earned" => GameEventType::AchievementEarned,
"spec_target_updated" => GameEventType::SpecTargetUpdated,
"tournament_stateupdate" => GameEventType::TournamentStateUpdate,
"tournament_enablecountdown" => GameEventType::TournamentEnableCountdown,
"player_calledformedic" => GameEventType::PlayerCalledForMedic,
"player_askedforball" => GameEventType::PlayerAskedForBall,
"localplayer_becameobserver" => GameEventType::LocalPlayerBecameObserver,
"player_ignited_inv" => GameEventType::PlayerIgnitedInv,
"player_ignited" => GameEventType::PlayerIgnited,
"player_extinguished" => GameEventType::PlayerExtinguished,
"player_teleported" => GameEventType::PlayerTeleported,
"player_healedmediccall" => GameEventType::PlayerHealedMedicCall,
"localplayer_chargeready" => GameEventType::LocalPlayerChargeReady,
"localplayer_winddown" => GameEventType::LocalPlayerWindDown,
"player_invulned" => GameEventType::PlayerInvulned,
"escort_speed" => GameEventType::EscortSpeed,
"escort_progress" => GameEventType::EscortProgress,
"escort_recede" => GameEventType::EscortRecede,
"gameui_activated" => GameEventType::GameUIActivated,
"gameui_hidden" => GameEventType::GameUIHidden,
"player_escort_score" => GameEventType::PlayerEscortScore,
"player_healonhit" => GameEventType::PlayerHealOnHit,
"player_stealsandvich" => GameEventType::PlayerStealSandvich,
"show_class_layout" => GameEventType::ShowClassLayout,
"show_vs_panel" => GameEventType::ShowVsPanel,
"player_damaged" => GameEventType::PlayerDamaged,
"arena_player_notification" => GameEventType::ArenaPlayerNotification,
"arena_match_maxstreak" => GameEventType::ArenaMatchMaxStreak,
"arena_round_start" => GameEventType::ArenaRoundStart,
"arena_win_panel" => GameEventType::ArenaWinPanel,
"pve_win_panel" => GameEventType::PveWinPanel,
"air_dash" => GameEventType::AirDash,
"landed" => GameEventType::Landed,
"player_damage_dodged" => GameEventType::PlayerDamageDodged,
"player_stunned" => GameEventType::PlayerStunned,
"scout_grand_slam" => GameEventType::ScoutGrandSlam,
"scout_slamdoll_landed" => GameEventType::ScoutSlamdollLanded,
"arrow_impact" => GameEventType::ArrowImpact,
"player_jarated" => GameEventType::PlayerJarated,
"player_jarated_fade" => GameEventType::PlayerJaratedFade,
"player_shield_blocked" => GameEventType::PlayerShieldBlocked,
"player_pinned" => GameEventType::PlayerPinned,
"player_healedbymedic" => GameEventType::PlayerHealedByMedic,
"player_sapped_object" => GameEventType::PlayerSappedObject,
"item_found" => GameEventType::ItemFound,
"show_annotation" => GameEventType::ShowAnnotation,
"hide_annotation" => GameEventType::HideAnnotation,
"post_inventory_application" => GameEventType::PostInventoryApplication,
"controlpoint_unlock_updated" => GameEventType::ControlPointUnlockUpdated,
"deploy_buff_banner" => GameEventType::DeployBuffBanner,
"player_buff" => GameEventType::PlayerBuff,
"medic_death" => GameEventType::MedicDeath,
"overtime_nag" => GameEventType::OvertimeNag,
"teams_changed" => GameEventType::TeamsChanged,
"halloween_pumpkin_grab" => GameEventType::HalloweenPumpkinGrab,
"rocket_jump" => GameEventType::RocketJump,
"rocket_jump_landed" => GameEventType::RocketJumpLanded,
"sticky_jump" => GameEventType::StickyJump,
"sticky_jump_landed" => GameEventType::StickyJumpLanded,
"rocketpack_launch" => GameEventType::RocketPackLaunch,
"rocketpack_landed" => GameEventType::RocketPackLanded,
"medic_defended" => GameEventType::MedicDefended,
"localplayer_healed" => GameEventType::LocalPlayerHealed,
"player_destroyed_pipebomb" => GameEventType::PlayerDestroyedPipeBomb,
"object_deflected" => GameEventType::ObjectDeflected,
"player_mvp" => GameEventType::PlayerMvp,
"raid_spawn_mob" => GameEventType::RaidSpawnMob,
"raid_spawn_squad" => GameEventType::RaidSpawnSquad,
"nav_blocked" => GameEventType::NavBlocked,
"path_track_passed" => GameEventType::PathTrackPassed,
"num_cappers_changed" => GameEventType::NumCappersChanged,
"player_regenerate" => GameEventType::PlayerRegenerate,
"update_status_item" => GameEventType::UpdateStatusItem,
"stats_resetround" => GameEventType::StatsResetRound,
"scorestats_accumulated_update" => GameEventType::ScoreStatsAccumulatedUpdate,
"scorestats_accumulated_reset" => GameEventType::ScoreStatsAccumulatedReset,
"achievement_earned_local" => GameEventType::AchievementEarnedLocal,
"player_healed" => GameEventType::PlayerHealed,
"building_healed" => GameEventType::BuildingHealed,
"item_pickup" => GameEventType::ItemPickup,
"duel_status" => GameEventType::DuelStatus,
"fish_notice" => GameEventType::FishNotice,
"fish_notice__arm" => GameEventType::FishNoticeArm,
"slap_notice" => GameEventType::SlapNotice,
"throwable_hit" => GameEventType::ThrowableHit,
"pumpkin_lord_summoned" => GameEventType::PumpkinLordSummoned,
"pumpkin_lord_killed" => GameEventType::PumpkinLordKilled,
"merasmus_summoned" => GameEventType::MerasmusSummoned,
"merasmus_killed" => GameEventType::MerasmusKilled,
"merasmus_escape_warning" => GameEventType::MerasmusEscapeWarning,
"merasmus_escaped" => GameEventType::MerasmusEscaped,
"eyeball_boss_summoned" => GameEventType::EyeballBossSummoned,
"eyeball_boss_stunned" => GameEventType::EyeballBossStunned,
"eyeball_boss_killed" => GameEventType::EyeballBossKilled,
"eyeball_boss_killer" => GameEventType::EyeballBossKiller,
"eyeball_boss_escape_imminent" => GameEventType::EyeballBossEscapeImminent,
"eyeball_boss_escaped" => GameEventType::EyeballBossEscaped,
"npc_hurt" => GameEventType::NpcHurt,
"controlpoint_timer_updated" => GameEventType::ControlPointTimerUpdated,
"player_highfive_start" => GameEventType::PlayerHighFiveStart,
"player_highfive_cancel" => GameEventType::PlayerHighFiveCancel,
"player_highfive_success" => GameEventType::PlayerHighFiveSuccess,
"player_bonuspoints" => GameEventType::PlayerBonusPoints,
"player_upgraded" => GameEventType::PlayerUpgraded,
"player_buyback" => GameEventType::PlayerBuyback,
"player_used_powerup_bottle" => GameEventType::PlayerUsedPowerUpBottle,
"christmas_gift_grab" => GameEventType::ChristmasGiftGrab,
"player_killed_achievement_zone" => GameEventType::PlayerKilledAchievementZone,
"party_updated" => GameEventType::PartyUpdated,
"party_pref_changed" => GameEventType::PartyPrefChanged,
"party_criteria_changed" => GameEventType::PartyCriteriaChanged,
"party_invites_changed" => GameEventType::PartyInvitesChanged,
"party_queue_state_changed" => GameEventType::PartyQueueStateChanged,
"party_chat" => GameEventType::PartyChat,
"party_member_join" => GameEventType::PartyMemberJoin,
"party_member_leave" => GameEventType::PartyMemberLeave,
"match_invites_updated" => GameEventType::MatchInvitesUpdated,
"lobby_updated" => GameEventType::LobbyUpdated,
"mvm_mission_update" => GameEventType::MvmMissionUpdate,
"recalculate_holidays" => GameEventType::RecalculateHolidays,
"player_currency_changed" => GameEventType::PlayerCurrencyChanged,
"doomsday_rocket_open" => GameEventType::DoomsdayRocketOpen,
"remove_nemesis_relationships" => GameEventType::RemoveNemesisRelationships,
"mvm_creditbonus_wave" => GameEventType::MvmCreditBonusWave,
"mvm_creditbonus_all" => GameEventType::MvmCreditBonusAll,
"mvm_creditbonus_all_advanced" => GameEventType::MvmCreditBonusAllAdvanced,
"mvm_quick_sentry_upgrade" => GameEventType::MvmQuickSentryUpgrade,
"mvm_tank_destroyed_by_players" => GameEventType::MvmTankDestroyedByPlayers,
"mvm_kill_robot_delivering_bomb" => GameEventType::MvmKillRobotDeliveringBomb,
"mvm_pickup_currency" => GameEventType::MvmPickupCurrency,
"mvm_bomb_carrier_killed" => GameEventType::MvmBombCarrierKilled,
"mvm_sentrybuster_detonate" => GameEventType::MvmSentryBusterDetonate,
"mvm_scout_marked_for_death" => GameEventType::MvmScoutMarkedForDeath,
"mvm_medic_powerup_shared" => GameEventType::MvmMedicPowerUpShared,
"mvm_begin_wave" => GameEventType::MvmBeginWave,
"mvm_wave_complete" => GameEventType::MvmWaveComplete,
"mvm_mission_complete" => GameEventType::MvmMissionComplete,
"mvm_bomb_reset_by_player" => GameEventType::MvmBombResetByPlayer,
"mvm_bomb_alarm_triggered" => GameEventType::MvmBombAlarmTriggered,
"mvm_bomb_deploy_reset_by_player" => GameEventType::MvmBombDeployResetByPlayer,
"mvm_wave_failed" => GameEventType::MvmWaveFailed,
"mvm_reset_stats" => GameEventType::MvmResetStats,
"damage_resisted" => GameEventType::DamageResisted,
"revive_player_notify" => GameEventType::RevivePlayerNotify,
"revive_player_stopped" => GameEventType::RevivePlayerStopped,
"revive_player_complete" => GameEventType::RevivePlayerComplete,
"player_turned_to_ghost" => GameEventType::PlayerTurnedToGhost,
"medigun_shield_blocked_damage" => GameEventType::MedigunShieldBlockedDamage,
"mvm_adv_wave_complete_no_gates" => GameEventType::MvmAdvWaveCompleteNoGates,
"mvm_sniper_headshot_currency" => GameEventType::MvmSniperHeadshotCurrency,
"mvm_mannhattan_pit" => GameEventType::MvmMannhattanPit,
"flag_carried_in_detection_zone" => GameEventType::FlagCarriedInDetectionZone,
"mvm_adv_wave_killed_stun_radio" => GameEventType::MvmAdvWaveKilledStunRadio,
"player_directhit_stun" => GameEventType::PlayerDirectHitStun,
"mvm_sentrybuster_killed" => GameEventType::MvmSentryBusterKilled,
"upgrades_file_changed" => GameEventType::UpgradesFileChanged,
"rd_team_points_changed" => GameEventType::RdTeamPointsChanged,
"rd_rules_state_changed" => GameEventType::RdRulesStateChanged,
"rd_robot_killed" => GameEventType::RdRobotKilled,
"rd_robot_impact" => GameEventType::RdRobotImpact,
"teamplay_pre_round_time_left" => GameEventType::TeamPlayPreRoundTimeLeft,
"parachute_deploy" => GameEventType::ParachuteDeploy,
"parachute_holster" => GameEventType::ParachuteHolster,
"kill_refills_meter" => GameEventType::KillRefillsMeter,
"rps_taunt_event" => GameEventType::RpsTauntEvent,
"conga_kill" => GameEventType::CongaKill,
"player_initial_spawn" => GameEventType::PlayerInitialSpawn,
"competitive_victory" => GameEventType::CompetitiveVictory,
"competitive_stats_update" => GameEventType::CompetitiveStatsUpdate,
"minigame_win" => GameEventType::MiniGameWin,
"sentry_on_go_active" => GameEventType::SentryOnGoActive,
"duck_xp_level_up" => GameEventType::DuckXpLevelUp,
"questlog_opened" => GameEventType::QuestLogOpened,
"schema_updated" => GameEventType::SchemaUpdated,
"localplayer_pickup_weapon" => GameEventType::LocalPlayerPickupWeapon,
"rd_player_score_points" => GameEventType::RdPlayerScorePoints,
"demoman_det_stickies" => GameEventType::DemomanDetStickies,
"quest_objective_completed" => GameEventType::QuestObjectiveCompleted,
"player_score_changed" => GameEventType::PlayerScoreChanged,
"killed_capping_player" => GameEventType::KilledCappingPlayer,
"environmental_death" => GameEventType::EnvironmentalDeath,
"projectile_direct_hit" => GameEventType::ProjectileDirectHit,
"pass_get" => GameEventType::PassGet,
"pass_score" => GameEventType::PassScore,
"pass_free" => GameEventType::PassFree,
"pass_pass_caught" => GameEventType::PassPassCaught,
"pass_ball_stolen" => GameEventType::PassBallStolen,
"pass_ball_blocked" => GameEventType::PassBallBlocked,
"damage_prevented" => GameEventType::DamagePrevented,
"halloween_boss_killed" => GameEventType::HalloweenBossKilled,
"escaped_loot_island" => GameEventType::EscapedLootIsland,
"tagged_player_as_it" => GameEventType::TaggedPlayerAsIt,
"merasmus_stunned" => GameEventType::MerasmusStunned,
"merasmus_prop_found" => GameEventType::MerasmusPropFound,
"halloween_skeleton_killed" => GameEventType::HalloweenSkeletonKilled,
"escape_hell" => GameEventType::EscapeHell,
"cross_spectral_bridge" => GameEventType::CrossSpectralBridge,
"minigame_won" => GameEventType::MiniGameWon,
"respawn_ghost" => GameEventType::RespawnGhost,
"kill_in_hell" => GameEventType::KillInHell,
"halloween_duck_collected" => GameEventType::HalloweenDuckCollected,
"special_score" => GameEventType::SpecialScore,
"team_leader_killed" => GameEventType::TeamLeaderKilled,
"halloween_soul_collected" => GameEventType::HalloweenSoulCollected,
"recalculate_truce" => GameEventType::RecalculateTruce,
"deadringer_cheat_death" => GameEventType::DeadRingerCheatDeath,
"crossbow_heal" => GameEventType::CrossbowHeal,
"damage_mitigated" => GameEventType::DamageMitigated,
"payload_pushed" => GameEventType::PayloadPushed,
"player_abandoned_match" => GameEventType::PlayerAbandonedMatch,
"cl_drawline" => GameEventType::ClDrawline,
"restart_timer_time" => GameEventType::RestartTimerTime,
"winlimit_changed" => GameEventType::WinLimitChanged,
"winpanel_show_scores" => GameEventType::WinPanelShowScores,
"top_streams_request_finished" => GameEventType::TopStreamsRequestFinished,
"competitive_state_changed" => GameEventType::CompetitiveStateChanged,
"global_war_data_updated" => GameEventType::GlobalWarDataUpdated,
"stop_watch_changed" => GameEventType::StopWatchChanged,
"ds_stop" => GameEventType::DsStop,
"ds_screenshot" => GameEventType::DsScreenshot,
"show_match_summary" => GameEventType::ShowMatchSummary,
"experience_changed" => GameEventType::ExperienceChanged,
"begin_xp_lerp" => GameEventType::BeginXpLerp,
"matchmaker_stats_updated" => GameEventType::MatchmakerStatsUpdated,
"rematch_vote_period_over" => GameEventType::RematchVotePeriodOver,
"rematch_failed_to_create" => GameEventType::RematchFailedToCreate,
"player_rematch_change" => GameEventType::PlayerRematchChange,
"ping_updated" => GameEventType::PingUpdated,
"mmstats_updated" => GameEventType::MMStatsUpdated,
"player_next_map_vote_change" => GameEventType::PlayerNextMapVoteChange,
"vote_maps_changed" => GameEventType::VoteMapsChanged,
"proto_def_changed" => GameEventType::ProtoDefChanged,
"player_domination" => GameEventType::PlayerDomination,
"player_rocketpack_pushed" => GameEventType::PlayerRocketPackPushed,
"quest_request" => GameEventType::QuestRequest,
"quest_response" => GameEventType::QuestResponse,
"quest_progress" => GameEventType::QuestProgress,
"projectile_removed" => GameEventType::ProjectileRemoved,
"quest_map_data_changed" => GameEventType::QuestMapDataChanged,
"gas_doused_player_ignited" => GameEventType::GasDousedPlayerIgnited,
"quest_turn_in_state" => GameEventType::QuestTurnInState,
"items_acknowledged" => GameEventType::ItemsAcknowledged,
"capper_killed" => GameEventType::CapperKilled,
"mainmenu_stabilized" => GameEventType::MainMenuStabilized,
"world_status_changed" => GameEventType::WorldStatusChanged,
"hltv_status" => GameEventType::HLTVStatus,
"hltv_cameraman" => GameEventType::HLTVCameraman,
"hltv_rank_camera" => GameEventType::HLTVRankCamera,
"hltv_rank_entity" => GameEventType::HLTVRankEntity,
"hltv_fixed" => GameEventType::HLTVFixed,
"hltv_chase" => GameEventType::HLTVChase,
"hltv_message" => GameEventType::HLTVMessage,
"hltv_title" => GameEventType::HLTVTitle,
"hltv_chat" => GameEventType::HLTVChat,
"replay_startrecord" => GameEventType::ReplayStartRecord,
"replay_sessioninfo" => GameEventType::ReplaySessionInfo,
"replay_endrecord" => GameEventType::ReplayEndRecord,
"replay_replaysavailable" => GameEventType::ReplayReplaysAvailable,
"replay_servererror" => GameEventType::ReplayServerError,
_ => GameEventType::Unknown,
}
}
pub fn as_str(&self) -> &'static str {
match self {
GameEventType::ServerSpawn => "server_spawn",
GameEventType::ServerChangeLevelFailed => "server_changelevel_failed",
GameEventType::ServerShutdown => "server_shutdown",
GameEventType::ServerCvar => "server_cvar",
GameEventType::ServerMessage => "server_message",
GameEventType::ServerAddBan => "server_addban",
GameEventType::ServerRemoveBan => "server_removeban",
GameEventType::PlayerConnect => "player_connect",
GameEventType::PlayerConnectClient => "player_connect_client",
GameEventType::PlayerInfo => "player_info",
GameEventType::PlayerDisconnect => "player_disconnect",
GameEventType::PlayerActivate => "player_activate",
GameEventType::PlayerSay => "player_say",
GameEventType::ClientDisconnect => "client_disconnect",
GameEventType::ClientBeginConnect => "client_beginconnect",
GameEventType::ClientConnected => "client_connected",
GameEventType::ClientFullConnect => "client_fullconnect",
GameEventType::HostQuit => "host_quit",
GameEventType::TeamInfo => "team_info",
GameEventType::TeamScore => "team_score",
GameEventType::TeamPlayBroadcastAudio => "teamplay_broadcast_audio",
GameEventType::PlayerTeam => "player_team",
GameEventType::PlayerClass => "player_class",
GameEventType::PlayerDeath => "player_death",
GameEventType::PlayerHurt => "player_hurt",
GameEventType::PlayerChat => "player_chat",
GameEventType::PlayerScore => "player_score",
GameEventType::PlayerSpawn => "player_spawn",
GameEventType::PlayerShoot => "player_shoot",
GameEventType::PlayerUse => "player_use",
GameEventType::PlayerChangeName => "player_changename",
GameEventType::PlayerHintMessage => "player_hintmessage",
GameEventType::BasePlayerTeleported => "base_player_teleported",
GameEventType::GameInit => "game_init",
GameEventType::GameNewMap => "game_newmap",
GameEventType::GameStart => "game_start",
GameEventType::GameEnd => "game_end",
GameEventType::RoundStart => "round_start",
GameEventType::RoundEnd => "round_end",
GameEventType::GameMessage => "game_message",
GameEventType::BreakBreakable => "break_breakable",
GameEventType::BreakProp => "break_prop",
GameEventType::EntityKilled => "entity_killed",
GameEventType::BonusUpdated => "bonus_updated",
GameEventType::AchievementEvent => "achievement_event",
GameEventType::AchievementIncrement => "achievement_increment",
GameEventType::PhysgunPickup => "physgun_pickup",
GameEventType::FlareIgniteNpc => "flare_ignite_npc",
GameEventType::HelicopterGrenadePuntMiss => "helicopter_grenade_punt_miss",
GameEventType::UserDataDownloaded => "user_data_downloaded",
GameEventType::RagdollDissolved => "ragdoll_dissolved",
GameEventType::HLTVChangedMode => "hltv_changed_mode",
GameEventType::HLTVChangedTarget => "hltv_changed_target",
GameEventType::VoteEnded => "vote_ended",
GameEventType::VoteStarted => "vote_started",
GameEventType::VoteChanged => "vote_changed",
GameEventType::VotePassed => "vote_passed",
GameEventType::VoteFailed => "vote_failed",
GameEventType::VoteCast => "vote_cast",
GameEventType::VoteOptions => "vote_options",
GameEventType::ReplaySaved => "replay_saved",
GameEventType::EnteredPerformanceMode => "entered_performance_mode",
GameEventType::BrowseReplays => "browse_replays",
GameEventType::ReplayYoutubeStats => "replay_youtube_stats",
GameEventType::InventoryUpdated => "inventory_updated",
GameEventType::CartUpdated => "cart_updated",
GameEventType::StorePriceSheetUpdated => "store_pricesheet_updated",
GameEventType::EconInventoryConnected => "econ_inventory_connected",
GameEventType::ItemSchemaInitialized => "item_schema_initialized",
GameEventType::GcNewSession => "gc_new_session",
GameEventType::GcLostSession => "gc_lost_session",
GameEventType::IntroFinish => "intro_finish",
GameEventType::IntroNextCamera => "intro_nextcamera",
GameEventType::PlayerChangeClass => "player_changeclass",
GameEventType::TfMapTimeRemaining => "tf_map_time_remaining",
GameEventType::TfGameOver => "tf_game_over",
GameEventType::CtfFlagCaptured => "ctf_flag_captured",
GameEventType::ControlPointInitialized => "controlpoint_initialized",
GameEventType::ControlPointUpdateImages => "controlpoint_updateimages",
GameEventType::ControlPointUpdateLayout => "controlpoint_updatelayout",
GameEventType::ControlPointUpdateCapping => "controlpoint_updatecapping",
GameEventType::ControlPointUpdateOwner => "controlpoint_updateowner",
GameEventType::ControlPointStartTouch => "controlpoint_starttouch",
GameEventType::ControlPointEndTouch => "controlpoint_endtouch",
GameEventType::ControlPointPulseElement => "controlpoint_pulse_element",
GameEventType::ControlPointFakeCapture => "controlpoint_fake_capture",
GameEventType::ControlPointFakeCaptureMultiplier => "controlpoint_fake_capture_mult",
GameEventType::TeamPlayRoundSelected => "teamplay_round_selected",
GameEventType::TeamPlayRoundStart => "teamplay_round_start",
GameEventType::TeamPlayRoundActive => "teamplay_round_active",
GameEventType::TeamPlayWaitingBegins => "teamplay_waiting_begins",
GameEventType::TeamPlayWaitingEnds => "teamplay_waiting_ends",
GameEventType::TeamPlayWaitingAboutToEnd => "teamplay_waiting_abouttoend",
GameEventType::TeamPlayRestartRound => "teamplay_restart_round",
GameEventType::TeamPlayReadyRestart => "teamplay_ready_restart",
GameEventType::TeamPlayRoundRestartSeconds => "teamplay_round_restart_seconds",
GameEventType::TeamPlayTeamReady => "teamplay_team_ready",
GameEventType::TeamPlayRoundWin => "teamplay_round_win",
GameEventType::TeamPlayUpdateTimer => "teamplay_update_timer",
GameEventType::TeamPlayRoundStalemate => "teamplay_round_stalemate",
GameEventType::TeamPlayOvertimeBegin => "teamplay_overtime_begin",
GameEventType::TeamPlayOvertimeEnd => "teamplay_overtime_end",
GameEventType::TeamPlaySuddenDeathBegin => "teamplay_suddendeath_begin",
GameEventType::TeamPlaySuddenDeathEnd => "teamplay_suddendeath_end",
GameEventType::TeamPlayGameOver => "teamplay_game_over",
GameEventType::TeamPlayMapTimeRemaining => "teamplay_map_time_remaining",
GameEventType::TeamPlayTimerFlash => "teamplay_timer_flash",
GameEventType::TeamPlayTimerTimeAdded => "teamplay_timer_time_added",
GameEventType::TeamPlayPointStartCapture => "teamplay_point_startcapture",
GameEventType::TeamPlayPointCaptured => "teamplay_point_captured",
GameEventType::TeamPlayPointLocked => "teamplay_point_locked",
GameEventType::TeamPlayPointUnlocked => "teamplay_point_unlocked",
GameEventType::TeamPlayCaptureBroken => "teamplay_capture_broken",
GameEventType::TeamPlayCaptureBlocked => "teamplay_capture_blocked",
GameEventType::TeamPlayFlagEvent => "teamplay_flag_event",
GameEventType::TeamPlayWinPanel => "teamplay_win_panel",
GameEventType::TeamPlayTeamBalancedPlayer => "teamplay_teambalanced_player",
GameEventType::TeamPlaySetupFinished => "teamplay_setup_finished",
GameEventType::TeamPlayAlert => "teamplay_alert",
GameEventType::TrainingComplete => "training_complete",
GameEventType::ShowFreezePanel => "show_freezepanel",
GameEventType::HideFreezePanel => "hide_freezepanel",
GameEventType::FreezeCamStarted => "freezecam_started",
GameEventType::LocalPlayerChangeTeam => "localplayer_changeteam",
GameEventType::LocalPlayerScoreChanged => "localplayer_score_changed",
GameEventType::LocalPlayerChangeClass => "localplayer_changeclass",
GameEventType::LocalPlayerRespawn => "localplayer_respawn",
GameEventType::BuildingInfoChanged => "building_info_changed",
GameEventType::LocalPlayerChangeDisguise => "localplayer_changedisguise",
GameEventType::PlayerAccountChanged => "player_account_changed",
GameEventType::SpyPdaReset => "spy_pda_reset",
GameEventType::FlagStatusUpdate => "flagstatus_update",
GameEventType::PlayerStatsUpdated => "player_stats_updated",
GameEventType::PlayingCommentary => "playing_commentary",
GameEventType::PlayerChargeDeployed => "player_chargedeployed",
GameEventType::PlayerBuiltObject => "player_builtobject",
GameEventType::PlayerUpgradedObject => "player_upgradedobject",
GameEventType::PlayerCarryObject => "player_carryobject",
GameEventType::PlayerDropObject => "player_dropobject",
GameEventType::ObjectRemoved => "object_removed",
GameEventType::ObjectDestroyed => "object_destroyed",
GameEventType::ObjectDetonated => "object_detonated",
GameEventType::AchievementEarned => "achievement_earned",
GameEventType::SpecTargetUpdated => "spec_target_updated",
GameEventType::TournamentStateUpdate => "tournament_stateupdate",
GameEventType::TournamentEnableCountdown => "tournament_enablecountdown",
GameEventType::PlayerCalledForMedic => "player_calledformedic",
GameEventType::PlayerAskedForBall => "player_askedforball",
GameEventType::LocalPlayerBecameObserver => "localplayer_becameobserver",
GameEventType::PlayerIgnitedInv => "player_ignited_inv",
GameEventType::PlayerIgnited => "player_ignited",
GameEventType::PlayerExtinguished => "player_extinguished",
GameEventType::PlayerTeleported => "player_teleported",
GameEventType::PlayerHealedMedicCall => "player_healedmediccall",
GameEventType::LocalPlayerChargeReady => "localplayer_chargeready",
GameEventType::LocalPlayerWindDown => "localplayer_winddown",
GameEventType::PlayerInvulned => "player_invulned",
GameEventType::EscortSpeed => "escort_speed",
GameEventType::EscortProgress => "escort_progress",
GameEventType::EscortRecede => "escort_recede",
GameEventType::GameUIActivated => "gameui_activated",
GameEventType::GameUIHidden => "gameui_hidden",
GameEventType::PlayerEscortScore => "player_escort_score",
GameEventType::PlayerHealOnHit => "player_healonhit",
GameEventType::PlayerStealSandvich => "player_stealsandvich",
GameEventType::ShowClassLayout => "show_class_layout",
GameEventType::ShowVsPanel => "show_vs_panel",
GameEventType::PlayerDamaged => "player_damaged",
GameEventType::ArenaPlayerNotification => "arena_player_notification",
GameEventType::ArenaMatchMaxStreak => "arena_match_maxstreak",
GameEventType::ArenaRoundStart => "arena_round_start",
GameEventType::ArenaWinPanel => "arena_win_panel",
GameEventType::PveWinPanel => "pve_win_panel",
GameEventType::AirDash => "air_dash",
GameEventType::Landed => "landed",
GameEventType::PlayerDamageDodged => "player_damage_dodged",
GameEventType::PlayerStunned => "player_stunned",
GameEventType::ScoutGrandSlam => "scout_grand_slam",
GameEventType::ScoutSlamdollLanded => "scout_slamdoll_landed",
GameEventType::ArrowImpact => "arrow_impact",
GameEventType::PlayerJarated => "player_jarated",
GameEventType::PlayerJaratedFade => "player_jarated_fade",
GameEventType::PlayerShieldBlocked => "player_shield_blocked",
GameEventType::PlayerPinned => "player_pinned",
GameEventType::PlayerHealedByMedic => "player_healedbymedic",
GameEventType::PlayerSappedObject => "player_sapped_object",
GameEventType::ItemFound => "item_found",
GameEventType::ShowAnnotation => "show_annotation",
GameEventType::HideAnnotation => "hide_annotation",
GameEventType::PostInventoryApplication => "post_inventory_application",
GameEventType::ControlPointUnlockUpdated => "controlpoint_unlock_updated",
GameEventType::DeployBuffBanner => "deploy_buff_banner",
GameEventType::PlayerBuff => "player_buff",
GameEventType::MedicDeath => "medic_death",
GameEventType::OvertimeNag => "overtime_nag",
GameEventType::TeamsChanged => "teams_changed",
GameEventType::HalloweenPumpkinGrab => "halloween_pumpkin_grab",
GameEventType::RocketJump => "rocket_jump",
GameEventType::RocketJumpLanded => "rocket_jump_landed",
GameEventType::StickyJump => "sticky_jump",
GameEventType::StickyJumpLanded => "sticky_jump_landed",
GameEventType::RocketPackLaunch => "rocketpack_launch",
GameEventType::RocketPackLanded => "rocketpack_landed",
GameEventType::MedicDefended => "medic_defended",
GameEventType::LocalPlayerHealed => "localplayer_healed",
GameEventType::PlayerDestroyedPipeBomb => "player_destroyed_pipebomb",
GameEventType::ObjectDeflected => "object_deflected",
GameEventType::PlayerMvp => "player_mvp",
GameEventType::RaidSpawnMob => "raid_spawn_mob",
GameEventType::RaidSpawnSquad => "raid_spawn_squad",
GameEventType::NavBlocked => "nav_blocked",
GameEventType::PathTrackPassed => "path_track_passed",
GameEventType::NumCappersChanged => "num_cappers_changed",
GameEventType::PlayerRegenerate => "player_regenerate",
GameEventType::UpdateStatusItem => "update_status_item",
GameEventType::StatsResetRound => "stats_resetround",
GameEventType::ScoreStatsAccumulatedUpdate => "scorestats_accumulated_update",
GameEventType::ScoreStatsAccumulatedReset => "scorestats_accumulated_reset",
GameEventType::AchievementEarnedLocal => "achievement_earned_local",
GameEventType::PlayerHealed => "player_healed",
GameEventType::BuildingHealed => "building_healed",
GameEventType::ItemPickup => "item_pickup",
GameEventType::DuelStatus => "duel_status",
GameEventType::FishNotice => "fish_notice",
GameEventType::FishNoticeArm => "fish_notice__arm",
GameEventType::SlapNotice => "slap_notice",
GameEventType::ThrowableHit => "throwable_hit",
GameEventType::PumpkinLordSummoned => "pumpkin_lord_summoned",
GameEventType::PumpkinLordKilled => "pumpkin_lord_killed",
GameEventType::MerasmusSummoned => "merasmus_summoned",
GameEventType::MerasmusKilled => "merasmus_killed",
GameEventType::MerasmusEscapeWarning => "merasmus_escape_warning",
GameEventType::MerasmusEscaped => "merasmus_escaped",
GameEventType::EyeballBossSummoned => "eyeball_boss_summoned",
GameEventType::EyeballBossStunned => "eyeball_boss_stunned",
GameEventType::EyeballBossKilled => "eyeball_boss_killed",
GameEventType::EyeballBossKiller => "eyeball_boss_killer",
GameEventType::EyeballBossEscapeImminent => "eyeball_boss_escape_imminent",
GameEventType::EyeballBossEscaped => "eyeball_boss_escaped",
GameEventType::NpcHurt => "npc_hurt",
GameEventType::ControlPointTimerUpdated => "controlpoint_timer_updated",
GameEventType::PlayerHighFiveStart => "player_highfive_start",
GameEventType::PlayerHighFiveCancel => "player_highfive_cancel",
GameEventType::PlayerHighFiveSuccess => "player_highfive_success",
GameEventType::PlayerBonusPoints => "player_bonuspoints",
GameEventType::PlayerUpgraded => "player_upgraded",
GameEventType::PlayerBuyback => "player_buyback",
GameEventType::PlayerUsedPowerUpBottle => "player_used_powerup_bottle",
GameEventType::ChristmasGiftGrab => "christmas_gift_grab",
GameEventType::PlayerKilledAchievementZone => "player_killed_achievement_zone",
GameEventType::PartyUpdated => "party_updated",
GameEventType::PartyPrefChanged => "party_pref_changed",
GameEventType::PartyCriteriaChanged => "party_criteria_changed",
GameEventType::PartyInvitesChanged => "party_invites_changed",
GameEventType::PartyQueueStateChanged => "party_queue_state_changed",
GameEventType::PartyChat => "party_chat",
GameEventType::PartyMemberJoin => "party_member_join",
GameEventType::PartyMemberLeave => "party_member_leave",
GameEventType::MatchInvitesUpdated => "match_invites_updated",
GameEventType::LobbyUpdated => "lobby_updated",
GameEventType::MvmMissionUpdate => "mvm_mission_update",
GameEventType::RecalculateHolidays => "recalculate_holidays",
GameEventType::PlayerCurrencyChanged => "player_currency_changed",
GameEventType::DoomsdayRocketOpen => "doomsday_rocket_open",
GameEventType::RemoveNemesisRelationships => "remove_nemesis_relationships",
GameEventType::MvmCreditBonusWave => "mvm_creditbonus_wave",
GameEventType::MvmCreditBonusAll => "mvm_creditbonus_all",
GameEventType::MvmCreditBonusAllAdvanced => "mvm_creditbonus_all_advanced",
GameEventType::MvmQuickSentryUpgrade => "mvm_quick_sentry_upgrade",
GameEventType::MvmTankDestroyedByPlayers => "mvm_tank_destroyed_by_players",
GameEventType::MvmKillRobotDeliveringBomb => "mvm_kill_robot_delivering_bomb",
GameEventType::MvmPickupCurrency => "mvm_pickup_currency",
GameEventType::MvmBombCarrierKilled => "mvm_bomb_carrier_killed",
GameEventType::MvmSentryBusterDetonate => "mvm_sentrybuster_detonate",
GameEventType::MvmScoutMarkedForDeath => "mvm_scout_marked_for_death",
GameEventType::MvmMedicPowerUpShared => "mvm_medic_powerup_shared",
GameEventType::MvmBeginWave => "mvm_begin_wave",
GameEventType::MvmWaveComplete => "mvm_wave_complete",
GameEventType::MvmMissionComplete => "mvm_mission_complete",
GameEventType::MvmBombResetByPlayer => "mvm_bomb_reset_by_player",
GameEventType::MvmBombAlarmTriggered => "mvm_bomb_alarm_triggered",
GameEventType::MvmBombDeployResetByPlayer => "mvm_bomb_deploy_reset_by_player",
GameEventType::MvmWaveFailed => "mvm_wave_failed",
GameEventType::MvmResetStats => "mvm_reset_stats",
GameEventType::DamageResisted => "damage_resisted",
GameEventType::RevivePlayerNotify => "revive_player_notify",
GameEventType::RevivePlayerStopped => "revive_player_stopped",
GameEventType::RevivePlayerComplete => "revive_player_complete",
GameEventType::PlayerTurnedToGhost => "player_turned_to_ghost",
GameEventType::MedigunShieldBlockedDamage => "medigun_shield_blocked_damage",
GameEventType::MvmAdvWaveCompleteNoGates => "mvm_adv_wave_complete_no_gates",
GameEventType::MvmSniperHeadshotCurrency => "mvm_sniper_headshot_currency",
GameEventType::MvmMannhattanPit => "mvm_mannhattan_pit",
GameEventType::FlagCarriedInDetectionZone => "flag_carried_in_detection_zone",
GameEventType::MvmAdvWaveKilledStunRadio => "mvm_adv_wave_killed_stun_radio",
GameEventType::PlayerDirectHitStun => "player_directhit_stun",
GameEventType::MvmSentryBusterKilled => "mvm_sentrybuster_killed",
GameEventType::UpgradesFileChanged => "upgrades_file_changed",
GameEventType::RdTeamPointsChanged => "rd_team_points_changed",
GameEventType::RdRulesStateChanged => "rd_rules_state_changed",
GameEventType::RdRobotKilled => "rd_robot_killed",
GameEventType::RdRobotImpact => "rd_robot_impact",
GameEventType::TeamPlayPreRoundTimeLeft => "teamplay_pre_round_time_left",
GameEventType::ParachuteDeploy => "parachute_deploy",
GameEventType::ParachuteHolster => "parachute_holster",
GameEventType::KillRefillsMeter => "kill_refills_meter",
GameEventType::RpsTauntEvent => "rps_taunt_event",
GameEventType::CongaKill => "conga_kill",
GameEventType::PlayerInitialSpawn => "player_initial_spawn",
GameEventType::CompetitiveVictory => "competitive_victory",
GameEventType::CompetitiveStatsUpdate => "competitive_stats_update",
GameEventType::MiniGameWin => "minigame_win",
GameEventType::SentryOnGoActive => "sentry_on_go_active",
GameEventType::DuckXpLevelUp => "duck_xp_level_up",
GameEventType::QuestLogOpened => "questlog_opened",
GameEventType::SchemaUpdated => "schema_updated",
GameEventType::LocalPlayerPickupWeapon => "localplayer_pickup_weapon",
GameEventType::RdPlayerScorePoints => "rd_player_score_points",
GameEventType::DemomanDetStickies => "demoman_det_stickies",
GameEventType::QuestObjectiveCompleted => "quest_objective_completed",
GameEventType::PlayerScoreChanged => "player_score_changed",
GameEventType::KilledCappingPlayer => "killed_capping_player",
GameEventType::EnvironmentalDeath => "environmental_death",
GameEventType::ProjectileDirectHit => "projectile_direct_hit",
GameEventType::PassGet => "pass_get",
GameEventType::PassScore => "pass_score",
GameEventType::PassFree => "pass_free",
GameEventType::PassPassCaught => "pass_pass_caught",
GameEventType::PassBallStolen => "pass_ball_stolen",
GameEventType::PassBallBlocked => "pass_ball_blocked",
GameEventType::DamagePrevented => "damage_prevented",
GameEventType::HalloweenBossKilled => "halloween_boss_killed",
GameEventType::EscapedLootIsland => "escaped_loot_island",
GameEventType::TaggedPlayerAsIt => "tagged_player_as_it",
GameEventType::MerasmusStunned => "merasmus_stunned",
GameEventType::MerasmusPropFound => "merasmus_prop_found",
GameEventType::HalloweenSkeletonKilled => "halloween_skeleton_killed",
GameEventType::EscapeHell => "escape_hell",
GameEventType::CrossSpectralBridge => "cross_spectral_bridge",
GameEventType::MiniGameWon => "minigame_won",
GameEventType::RespawnGhost => "respawn_ghost",
GameEventType::KillInHell => "kill_in_hell",
GameEventType::HalloweenDuckCollected => "halloween_duck_collected",
GameEventType::SpecialScore => "special_score",
GameEventType::TeamLeaderKilled => "team_leader_killed",
GameEventType::HalloweenSoulCollected => "halloween_soul_collected",
GameEventType::RecalculateTruce => "recalculate_truce",
GameEventType::DeadRingerCheatDeath => "deadringer_cheat_death",
GameEventType::CrossbowHeal => "crossbow_heal",
GameEventType::DamageMitigated => "damage_mitigated",
GameEventType::PayloadPushed => "payload_pushed",
GameEventType::PlayerAbandonedMatch => "player_abandoned_match",
GameEventType::ClDrawline => "cl_drawline",
GameEventType::RestartTimerTime => "restart_timer_time",
GameEventType::WinLimitChanged => "winlimit_changed",
GameEventType::WinPanelShowScores => "winpanel_show_scores",
GameEventType::TopStreamsRequestFinished => "top_streams_request_finished",
GameEventType::CompetitiveStateChanged => "competitive_state_changed",
GameEventType::GlobalWarDataUpdated => "global_war_data_updated",
GameEventType::StopWatchChanged => "stop_watch_changed",
GameEventType::DsStop => "ds_stop",
GameEventType::DsScreenshot => "ds_screenshot",
GameEventType::ShowMatchSummary => "show_match_summary",
GameEventType::ExperienceChanged => "experience_changed",
GameEventType::BeginXpLerp => "begin_xp_lerp",
GameEventType::MatchmakerStatsUpdated => "matchmaker_stats_updated",
GameEventType::RematchVotePeriodOver => "rematch_vote_period_over",
GameEventType::RematchFailedToCreate => "rematch_failed_to_create",
GameEventType::PlayerRematchChange => "player_rematch_change",
GameEventType::PingUpdated => "ping_updated",
GameEventType::MMStatsUpdated => "mmstats_updated",
GameEventType::PlayerNextMapVoteChange => "player_next_map_vote_change",
GameEventType::VoteMapsChanged => "vote_maps_changed",
GameEventType::ProtoDefChanged => "proto_def_changed",
GameEventType::PlayerDomination => "player_domination",
GameEventType::PlayerRocketPackPushed => "player_rocketpack_pushed",
GameEventType::QuestRequest => "quest_request",
GameEventType::QuestResponse => "quest_response",
GameEventType::QuestProgress => "quest_progress",
GameEventType::ProjectileRemoved => "projectile_removed",
GameEventType::QuestMapDataChanged => "quest_map_data_changed",
GameEventType::GasDousedPlayerIgnited => "gas_doused_player_ignited",
GameEventType::QuestTurnInState => "quest_turn_in_state",
GameEventType::ItemsAcknowledged => "items_acknowledged",
GameEventType::CapperKilled => "capper_killed",
GameEventType::MainMenuStabilized => "mainmenu_stabilized",
GameEventType::WorldStatusChanged => "world_status_changed",
GameEventType::HLTVStatus => "hltv_status",
GameEventType::HLTVCameraman => "hltv_cameraman",
GameEventType::HLTVRankCamera => "hltv_rank_camera",
GameEventType::HLTVRankEntity => "hltv_rank_entity",
GameEventType::HLTVFixed => "hltv_fixed",
GameEventType::HLTVChase => "hltv_chase",
GameEventType::HLTVMessage => "hltv_message",
GameEventType::HLTVTitle => "hltv_title",
GameEventType::HLTVChat => "hltv_chat",
GameEventType::ReplayStartRecord => "replay_startrecord",
GameEventType::ReplaySessionInfo => "replay_sessioninfo",
GameEventType::ReplayEndRecord => "replay_endrecord",
GameEventType::ReplayReplaysAvailable => "replay_replaysavailable",
GameEventType::ReplayServerError => "replay_servererror",
GameEventType::Unknown => "unknown",
}
}
}
impl GameEvent {
pub fn read(stream: &mut Stream, definition: &GameEventDefinition) -> Result<Self> {
Ok(match definition.event_type {
GameEventType::ServerSpawn => {
GameEvent::ServerSpawn(Box::new(<ServerSpawnEvent>::read(stream, definition)?))
}
GameEventType::ServerChangeLevelFailed => GameEvent::ServerChangeLevelFailed(
ServerChangeLevelFailedEvent::read(stream, definition)?,
),
GameEventType::ServerShutdown => {
GameEvent::ServerShutdown(ServerShutdownEvent::read(stream, definition)?)
}
GameEventType::ServerCvar => {
GameEvent::ServerCvar(ServerCvarEvent::read(stream, definition)?)
}
GameEventType::ServerMessage => {
GameEvent::ServerMessage(ServerMessageEvent::read(stream, definition)?)
}
GameEventType::ServerAddBan => {
GameEvent::ServerAddBan(Box::new(<ServerAddBanEvent>::read(stream, definition)?))
}
GameEventType::ServerRemoveBan => {
GameEvent::ServerRemoveBan(ServerRemoveBanEvent::read(stream, definition)?)
}
GameEventType::PlayerConnect => {
GameEvent::PlayerConnect(PlayerConnectEvent::read(stream, definition)?)
}
GameEventType::PlayerConnectClient => {
GameEvent::PlayerConnectClient(PlayerConnectClientEvent::read(stream, definition)?)
}
GameEventType::PlayerInfo => {
GameEvent::PlayerInfo(PlayerInfoEvent::read(stream, definition)?)
}
GameEventType::PlayerDisconnect => {
GameEvent::PlayerDisconnect(PlayerDisconnectEvent::read(stream, definition)?)
}
GameEventType::PlayerActivate => {
GameEvent::PlayerActivate(PlayerActivateEvent::read(stream, definition)?)
}
GameEventType::PlayerSay => {
GameEvent::PlayerSay(PlayerSayEvent::read(stream, definition)?)
}
GameEventType::ClientDisconnect => {
GameEvent::ClientDisconnect(ClientDisconnectEvent::read(stream, definition)?)
}
GameEventType::ClientBeginConnect => {
GameEvent::ClientBeginConnect(ClientBeginConnectEvent::read(stream, definition)?)
}
GameEventType::ClientConnected => {
GameEvent::ClientConnected(ClientConnectedEvent::read(stream, definition)?)
}
GameEventType::ClientFullConnect => {
GameEvent::ClientFullConnect(ClientFullConnectEvent::read(stream, definition)?)
}
GameEventType::HostQuit => {
GameEvent::HostQuit(HostQuitEvent::read(stream, definition)?)
}
GameEventType::TeamInfo => {
GameEvent::TeamInfo(TeamInfoEvent::read(stream, definition)?)
}
GameEventType::TeamScore => {
GameEvent::TeamScore(TeamScoreEvent::read(stream, definition)?)
}
GameEventType::TeamPlayBroadcastAudio => GameEvent::TeamPlayBroadcastAudio(
TeamPlayBroadcastAudioEvent::read(stream, definition)?,
),
GameEventType::PlayerTeam => {
GameEvent::PlayerTeam(PlayerTeamEvent::read(stream, definition)?)
}
GameEventType::PlayerClass => {
GameEvent::PlayerClass(PlayerClassEvent::read(stream, definition)?)
}
GameEventType::PlayerDeath => {
GameEvent::PlayerDeath(Box::new(<PlayerDeathEvent>::read(stream, definition)?))
}
GameEventType::PlayerHurt => {
GameEvent::PlayerHurt(PlayerHurtEvent::read(stream, definition)?)
}
GameEventType::PlayerChat => {
GameEvent::PlayerChat(PlayerChatEvent::read(stream, definition)?)
}
GameEventType::PlayerScore => {
GameEvent::PlayerScore(PlayerScoreEvent::read(stream, definition)?)
}
GameEventType::PlayerSpawn => {
GameEvent::PlayerSpawn(PlayerSpawnEvent::read(stream, definition)?)
}
GameEventType::PlayerShoot => {
GameEvent::PlayerShoot(PlayerShootEvent::read(stream, definition)?)
}
GameEventType::PlayerUse => {
GameEvent::PlayerUse(PlayerUseEvent::read(stream, definition)?)
}
GameEventType::PlayerChangeName => {
GameEvent::PlayerChangeName(PlayerChangeNameEvent::read(stream, definition)?)
}
GameEventType::PlayerHintMessage => {
GameEvent::PlayerHintMessage(PlayerHintMessageEvent::read(stream, definition)?)
}
GameEventType::BasePlayerTeleported => GameEvent::BasePlayerTeleported(
BasePlayerTeleportedEvent::read(stream, definition)?,
),
GameEventType::GameInit => {
GameEvent::GameInit(GameInitEvent::read(stream, definition)?)
}
GameEventType::GameNewMap => {
GameEvent::GameNewMap(GameNewMapEvent::read(stream, definition)?)
}
GameEventType::GameStart => {
GameEvent::GameStart(GameStartEvent::read(stream, definition)?)
}
GameEventType::GameEnd => GameEvent::GameEnd(GameEndEvent::read(stream, definition)?),
GameEventType::RoundStart => {
GameEvent::RoundStart(RoundStartEvent::read(stream, definition)?)
}
GameEventType::RoundEnd => {
GameEvent::RoundEnd(RoundEndEvent::read(stream, definition)?)
}
GameEventType::GameMessage => {
GameEvent::GameMessage(GameMessageEvent::read(stream, definition)?)
}
GameEventType::BreakBreakable => {
GameEvent::BreakBreakable(BreakBreakableEvent::read(stream, definition)?)
}
GameEventType::BreakProp => {
GameEvent::BreakProp(BreakPropEvent::read(stream, definition)?)
}
GameEventType::EntityKilled => {
GameEvent::EntityKilled(EntityKilledEvent::read(stream, definition)?)
}
GameEventType::BonusUpdated => {
GameEvent::BonusUpdated(BonusUpdatedEvent::read(stream, definition)?)
}
GameEventType::AchievementEvent => {
GameEvent::AchievementEvent(AchievementEventEvent::read(stream, definition)?)
}
GameEventType::AchievementIncrement => GameEvent::AchievementIncrement(
AchievementIncrementEvent::read(stream, definition)?,
),
GameEventType::PhysgunPickup => {
GameEvent::PhysgunPickup(PhysgunPickupEvent::read(stream, definition)?)
}
GameEventType::FlareIgniteNpc => {
GameEvent::FlareIgniteNpc(FlareIgniteNpcEvent::read(stream, definition)?)
}
GameEventType::HelicopterGrenadePuntMiss => GameEvent::HelicopterGrenadePuntMiss(
HelicopterGrenadePuntMissEvent::read(stream, definition)?,
),
GameEventType::UserDataDownloaded => {
GameEvent::UserDataDownloaded(UserDataDownloadedEvent::read(stream, definition)?)
}
GameEventType::RagdollDissolved => {
GameEvent::RagdollDissolved(RagdollDissolvedEvent::read(stream, definition)?)
}
GameEventType::HLTVChangedMode => {
GameEvent::HLTVChangedMode(HLTVChangedModeEvent::read(stream, definition)?)
}
GameEventType::HLTVChangedTarget => {
GameEvent::HLTVChangedTarget(HLTVChangedTargetEvent::read(stream, definition)?)
}
GameEventType::VoteEnded => {
GameEvent::VoteEnded(VoteEndedEvent::read(stream, definition)?)
}
GameEventType::VoteStarted => {
GameEvent::VoteStarted(VoteStartedEvent::read(stream, definition)?)
}
GameEventType::VoteChanged => {
GameEvent::VoteChanged(VoteChangedEvent::read(stream, definition)?)
}
GameEventType::VotePassed => {
GameEvent::VotePassed(VotePassedEvent::read(stream, definition)?)
}
GameEventType::VoteFailed => {
GameEvent::VoteFailed(VoteFailedEvent::read(stream, definition)?)
}
GameEventType::VoteCast => {
GameEvent::VoteCast(VoteCastEvent::read(stream, definition)?)
}
GameEventType::VoteOptions => {
GameEvent::VoteOptions(Box::new(<VoteOptionsEvent>::read(stream, definition)?))
}
GameEventType::ReplaySaved => {
GameEvent::ReplaySaved(ReplaySavedEvent::read(stream, definition)?)
}
GameEventType::EnteredPerformanceMode => GameEvent::EnteredPerformanceMode(
EnteredPerformanceModeEvent::read(stream, definition)?,
),
GameEventType::BrowseReplays => {
GameEvent::BrowseReplays(BrowseReplaysEvent::read(stream, definition)?)
}
GameEventType::ReplayYoutubeStats => {
GameEvent::ReplayYoutubeStats(ReplayYoutubeStatsEvent::read(stream, definition)?)
}
GameEventType::InventoryUpdated => {
GameEvent::InventoryUpdated(InventoryUpdatedEvent::read(stream, definition)?)
}
GameEventType::CartUpdated => {
GameEvent::CartUpdated(CartUpdatedEvent::read(stream, definition)?)
}
GameEventType::StorePriceSheetUpdated => GameEvent::StorePriceSheetUpdated(
StorePriceSheetUpdatedEvent::read(stream, definition)?,
),
GameEventType::EconInventoryConnected => GameEvent::EconInventoryConnected(
EconInventoryConnectedEvent::read(stream, definition)?,
),
GameEventType::ItemSchemaInitialized => GameEvent::ItemSchemaInitialized(
ItemSchemaInitializedEvent::read(stream, definition)?,
),
GameEventType::GcNewSession => {
GameEvent::GcNewSession(GcNewSessionEvent::read(stream, definition)?)
}
GameEventType::GcLostSession => {
GameEvent::GcLostSession(GcLostSessionEvent::read(stream, definition)?)
}
GameEventType::IntroFinish => {
GameEvent::IntroFinish(IntroFinishEvent::read(stream, definition)?)
}
GameEventType::IntroNextCamera => {
GameEvent::IntroNextCamera(IntroNextCameraEvent::read(stream, definition)?)
}
GameEventType::PlayerChangeClass => {
GameEvent::PlayerChangeClass(PlayerChangeClassEvent::read(stream, definition)?)
}
GameEventType::TfMapTimeRemaining => {
GameEvent::TfMapTimeRemaining(TfMapTimeRemainingEvent::read(stream, definition)?)
}
GameEventType::TfGameOver => {
GameEvent::TfGameOver(TfGameOverEvent::read(stream, definition)?)
}
GameEventType::CtfFlagCaptured => {
GameEvent::CtfFlagCaptured(CtfFlagCapturedEvent::read(stream, definition)?)
}
GameEventType::ControlPointInitialized => GameEvent::ControlPointInitialized(
ControlPointInitializedEvent::read(stream, definition)?,
),
GameEventType::ControlPointUpdateImages => GameEvent::ControlPointUpdateImages(
ControlPointUpdateImagesEvent::read(stream, definition)?,
),
GameEventType::ControlPointUpdateLayout => GameEvent::ControlPointUpdateLayout(
ControlPointUpdateLayoutEvent::read(stream, definition)?,
),
GameEventType::ControlPointUpdateCapping => GameEvent::ControlPointUpdateCapping(
ControlPointUpdateCappingEvent::read(stream, definition)?,
),
GameEventType::ControlPointUpdateOwner => GameEvent::ControlPointUpdateOwner(
ControlPointUpdateOwnerEvent::read(stream, definition)?,
),
GameEventType::ControlPointStartTouch => GameEvent::ControlPointStartTouch(
ControlPointStartTouchEvent::read(stream, definition)?,
),
GameEventType::ControlPointEndTouch => GameEvent::ControlPointEndTouch(
ControlPointEndTouchEvent::read(stream, definition)?,
),
GameEventType::ControlPointPulseElement => GameEvent::ControlPointPulseElement(
ControlPointPulseElementEvent::read(stream, definition)?,
),
GameEventType::ControlPointFakeCapture => GameEvent::ControlPointFakeCapture(
ControlPointFakeCaptureEvent::read(stream, definition)?,
),
GameEventType::ControlPointFakeCaptureMultiplier => {
GameEvent::ControlPointFakeCaptureMultiplier(
ControlPointFakeCaptureMultiplierEvent::read(stream, definition)?,
)
}
GameEventType::TeamPlayRoundSelected => GameEvent::TeamPlayRoundSelected(
TeamPlayRoundSelectedEvent::read(stream, definition)?,
),
GameEventType::TeamPlayRoundStart => {
GameEvent::TeamPlayRoundStart(TeamPlayRoundStartEvent::read(stream, definition)?)
}
GameEventType::TeamPlayRoundActive => {
GameEvent::TeamPlayRoundActive(TeamPlayRoundActiveEvent::read(stream, definition)?)
}
GameEventType::TeamPlayWaitingBegins => GameEvent::TeamPlayWaitingBegins(
TeamPlayWaitingBeginsEvent::read(stream, definition)?,
),
GameEventType::TeamPlayWaitingEnds => {
GameEvent::TeamPlayWaitingEnds(TeamPlayWaitingEndsEvent::read(stream, definition)?)
}
GameEventType::TeamPlayWaitingAboutToEnd => GameEvent::TeamPlayWaitingAboutToEnd(
TeamPlayWaitingAboutToEndEvent::read(stream, definition)?,
),
GameEventType::TeamPlayRestartRound => GameEvent::TeamPlayRestartRound(
TeamPlayRestartRoundEvent::read(stream, definition)?,
),
GameEventType::TeamPlayReadyRestart => GameEvent::TeamPlayReadyRestart(
TeamPlayReadyRestartEvent::read(stream, definition)?,
),
GameEventType::TeamPlayRoundRestartSeconds => GameEvent::TeamPlayRoundRestartSeconds(
TeamPlayRoundRestartSecondsEvent::read(stream, definition)?,
),
GameEventType::TeamPlayTeamReady => {
GameEvent::TeamPlayTeamReady(TeamPlayTeamReadyEvent::read(stream, definition)?)
}
GameEventType::TeamPlayRoundWin => {
GameEvent::TeamPlayRoundWin(TeamPlayRoundWinEvent::read(stream, definition)?)
}
GameEventType::TeamPlayUpdateTimer => {
GameEvent::TeamPlayUpdateTimer(TeamPlayUpdateTimerEvent::read(stream, definition)?)
}
GameEventType::TeamPlayRoundStalemate => GameEvent::TeamPlayRoundStalemate(
TeamPlayRoundStalemateEvent::read(stream, definition)?,
),
GameEventType::TeamPlayOvertimeBegin => GameEvent::TeamPlayOvertimeBegin(
TeamPlayOvertimeBeginEvent::read(stream, definition)?,
),
GameEventType::TeamPlayOvertimeEnd => {
GameEvent::TeamPlayOvertimeEnd(TeamPlayOvertimeEndEvent::read(stream, definition)?)
}
GameEventType::TeamPlaySuddenDeathBegin => GameEvent::TeamPlaySuddenDeathBegin(
TeamPlaySuddenDeathBeginEvent::read(stream, definition)?,
),
GameEventType::TeamPlaySuddenDeathEnd => GameEvent::TeamPlaySuddenDeathEnd(
TeamPlaySuddenDeathEndEvent::read(stream, definition)?,
),
GameEventType::TeamPlayGameOver => {
GameEvent::TeamPlayGameOver(TeamPlayGameOverEvent::read(stream, definition)?)
}
GameEventType::TeamPlayMapTimeRemaining => GameEvent::TeamPlayMapTimeRemaining(
TeamPlayMapTimeRemainingEvent::read(stream, definition)?,
),
GameEventType::TeamPlayTimerFlash => {
GameEvent::TeamPlayTimerFlash(TeamPlayTimerFlashEvent::read(stream, definition)?)
}
GameEventType::TeamPlayTimerTimeAdded => GameEvent::TeamPlayTimerTimeAdded(
TeamPlayTimerTimeAddedEvent::read(stream, definition)?,
),
GameEventType::TeamPlayPointStartCapture => GameEvent::TeamPlayPointStartCapture(
TeamPlayPointStartCaptureEvent::read(stream, definition)?,
),
GameEventType::TeamPlayPointCaptured => GameEvent::TeamPlayPointCaptured(
TeamPlayPointCapturedEvent::read(stream, definition)?,
),
GameEventType::TeamPlayPointLocked => {
GameEvent::TeamPlayPointLocked(TeamPlayPointLockedEvent::read(stream, definition)?)
}
GameEventType::TeamPlayPointUnlocked => GameEvent::TeamPlayPointUnlocked(
TeamPlayPointUnlockedEvent::read(stream, definition)?,
),
GameEventType::TeamPlayCaptureBroken => GameEvent::TeamPlayCaptureBroken(
TeamPlayCaptureBrokenEvent::read(stream, definition)?,
),
GameEventType::TeamPlayCaptureBlocked => GameEvent::TeamPlayCaptureBlocked(
TeamPlayCaptureBlockedEvent::read(stream, definition)?,
),
GameEventType::TeamPlayFlagEvent => {
GameEvent::TeamPlayFlagEvent(TeamPlayFlagEventEvent::read(stream, definition)?)
}
GameEventType::TeamPlayWinPanel => {
GameEvent::TeamPlayWinPanel(TeamPlayWinPanelEvent::read(stream, definition)?)
}
GameEventType::TeamPlayTeamBalancedPlayer => GameEvent::TeamPlayTeamBalancedPlayer(
TeamPlayTeamBalancedPlayerEvent::read(stream, definition)?,
),
GameEventType::TeamPlaySetupFinished => GameEvent::TeamPlaySetupFinished(
TeamPlaySetupFinishedEvent::read(stream, definition)?,
),
GameEventType::TeamPlayAlert => {
GameEvent::TeamPlayAlert(TeamPlayAlertEvent::read(stream, definition)?)
}
GameEventType::TrainingComplete => {
GameEvent::TrainingComplete(TrainingCompleteEvent::read(stream, definition)?)
}
GameEventType::ShowFreezePanel => {
GameEvent::ShowFreezePanel(ShowFreezePanelEvent::read(stream, definition)?)
}
GameEventType::HideFreezePanel => {
GameEvent::HideFreezePanel(HideFreezePanelEvent::read(stream, definition)?)
}
GameEventType::FreezeCamStarted => {
GameEvent::FreezeCamStarted(FreezeCamStartedEvent::read(stream, definition)?)
}
GameEventType::LocalPlayerChangeTeam => GameEvent::LocalPlayerChangeTeam(
LocalPlayerChangeTeamEvent::read(stream, definition)?,
),
GameEventType::LocalPlayerScoreChanged => GameEvent::LocalPlayerScoreChanged(
LocalPlayerScoreChangedEvent::read(stream, definition)?,
),
GameEventType::LocalPlayerChangeClass => GameEvent::LocalPlayerChangeClass(
LocalPlayerChangeClassEvent::read(stream, definition)?,
),
GameEventType::LocalPlayerRespawn => {
GameEvent::LocalPlayerRespawn(LocalPlayerRespawnEvent::read(stream, definition)?)
}
GameEventType::BuildingInfoChanged => {
GameEvent::BuildingInfoChanged(BuildingInfoChangedEvent::read(stream, definition)?)
}
GameEventType::LocalPlayerChangeDisguise => GameEvent::LocalPlayerChangeDisguise(
LocalPlayerChangeDisguiseEvent::read(stream, definition)?,
),
GameEventType::PlayerAccountChanged => GameEvent::PlayerAccountChanged(
PlayerAccountChangedEvent::read(stream, definition)?,
),
GameEventType::SpyPdaReset => {
GameEvent::SpyPdaReset(SpyPdaResetEvent::read(stream, definition)?)
}
GameEventType::FlagStatusUpdate => {
GameEvent::FlagStatusUpdate(FlagStatusUpdateEvent::read(stream, definition)?)
}
GameEventType::PlayerStatsUpdated => {
GameEvent::PlayerStatsUpdated(PlayerStatsUpdatedEvent::read(stream, definition)?)
}
GameEventType::PlayingCommentary => {
GameEvent::PlayingCommentary(PlayingCommentaryEvent::read(stream, definition)?)
}
GameEventType::PlayerChargeDeployed => GameEvent::PlayerChargeDeployed(
PlayerChargeDeployedEvent::read(stream, definition)?,
),
GameEventType::PlayerBuiltObject => {
GameEvent::PlayerBuiltObject(PlayerBuiltObjectEvent::read(stream, definition)?)
}
GameEventType::PlayerUpgradedObject => GameEvent::PlayerUpgradedObject(
PlayerUpgradedObjectEvent::read(stream, definition)?,
),
GameEventType::PlayerCarryObject => {
GameEvent::PlayerCarryObject(PlayerCarryObjectEvent::read(stream, definition)?)
}
GameEventType::PlayerDropObject => {
GameEvent::PlayerDropObject(PlayerDropObjectEvent::read(stream, definition)?)
}
GameEventType::ObjectRemoved => {
GameEvent::ObjectRemoved(ObjectRemovedEvent::read(stream, definition)?)
}
GameEventType::ObjectDestroyed => {
GameEvent::ObjectDestroyed(ObjectDestroyedEvent::read(stream, definition)?)
}
GameEventType::ObjectDetonated => {
GameEvent::ObjectDetonated(ObjectDetonatedEvent::read(stream, definition)?)
}
GameEventType::AchievementEarned => {
GameEvent::AchievementEarned(AchievementEarnedEvent::read(stream, definition)?)
}
GameEventType::SpecTargetUpdated => {
GameEvent::SpecTargetUpdated(SpecTargetUpdatedEvent::read(stream, definition)?)
}
GameEventType::TournamentStateUpdate => GameEvent::TournamentStateUpdate(
TournamentStateUpdateEvent::read(stream, definition)?,
),
GameEventType::TournamentEnableCountdown => GameEvent::TournamentEnableCountdown(
TournamentEnableCountdownEvent::read(stream, definition)?,
),
GameEventType::PlayerCalledForMedic => GameEvent::PlayerCalledForMedic(
PlayerCalledForMedicEvent::read(stream, definition)?,
),
GameEventType::PlayerAskedForBall => {
GameEvent::PlayerAskedForBall(PlayerAskedForBallEvent::read(stream, definition)?)
}
GameEventType::LocalPlayerBecameObserver => GameEvent::LocalPlayerBecameObserver(
LocalPlayerBecameObserverEvent::read(stream, definition)?,
),
GameEventType::PlayerIgnitedInv => {
GameEvent::PlayerIgnitedInv(PlayerIgnitedInvEvent::read(stream, definition)?)
}
GameEventType::PlayerIgnited => {
GameEvent::PlayerIgnited(PlayerIgnitedEvent::read(stream, definition)?)
}
GameEventType::PlayerExtinguished => {
GameEvent::PlayerExtinguished(PlayerExtinguishedEvent::read(stream, definition)?)
}
GameEventType::PlayerTeleported => {
GameEvent::PlayerTeleported(PlayerTeleportedEvent::read(stream, definition)?)
}
GameEventType::PlayerHealedMedicCall => GameEvent::PlayerHealedMedicCall(
PlayerHealedMedicCallEvent::read(stream, definition)?,
),
GameEventType::LocalPlayerChargeReady => GameEvent::LocalPlayerChargeReady(
LocalPlayerChargeReadyEvent::read(stream, definition)?,
),
GameEventType::LocalPlayerWindDown => {
GameEvent::LocalPlayerWindDown(LocalPlayerWindDownEvent::read(stream, definition)?)
}
GameEventType::PlayerInvulned => {
GameEvent::PlayerInvulned(PlayerInvulnedEvent::read(stream, definition)?)
}
GameEventType::EscortSpeed => {
GameEvent::EscortSpeed(EscortSpeedEvent::read(stream, definition)?)
}
GameEventType::EscortProgress => {
GameEvent::EscortProgress(EscortProgressEvent::read(stream, definition)?)
}
GameEventType::EscortRecede => {
GameEvent::EscortRecede(EscortRecedeEvent::read(stream, definition)?)
}
GameEventType::GameUIActivated => {
GameEvent::GameUIActivated(GameUIActivatedEvent::read(stream, definition)?)
}
GameEventType::GameUIHidden => {
GameEvent::GameUIHidden(GameUIHiddenEvent::read(stream, definition)?)
}
GameEventType::PlayerEscortScore => {
GameEvent::PlayerEscortScore(PlayerEscortScoreEvent::read(stream, definition)?)
}
GameEventType::PlayerHealOnHit => {
GameEvent::PlayerHealOnHit(PlayerHealOnHitEvent::read(stream, definition)?)
}
GameEventType::PlayerStealSandvich => {
GameEvent::PlayerStealSandvich(PlayerStealSandvichEvent::read(stream, definition)?)
}
GameEventType::ShowClassLayout => {
GameEvent::ShowClassLayout(ShowClassLayoutEvent::read(stream, definition)?)
}
GameEventType::ShowVsPanel => {
GameEvent::ShowVsPanel(ShowVsPanelEvent::read(stream, definition)?)
}
GameEventType::PlayerDamaged => {
GameEvent::PlayerDamaged(PlayerDamagedEvent::read(stream, definition)?)
}
GameEventType::ArenaPlayerNotification => GameEvent::ArenaPlayerNotification(
ArenaPlayerNotificationEvent::read(stream, definition)?,
),
GameEventType::ArenaMatchMaxStreak => {
GameEvent::ArenaMatchMaxStreak(ArenaMatchMaxStreakEvent::read(stream, definition)?)
}
GameEventType::ArenaRoundStart => {
GameEvent::ArenaRoundStart(ArenaRoundStartEvent::read(stream, definition)?)
}
GameEventType::ArenaWinPanel => {
GameEvent::ArenaWinPanel(ArenaWinPanelEvent::read(stream, definition)?)
}
GameEventType::PveWinPanel => {
GameEvent::PveWinPanel(PveWinPanelEvent::read(stream, definition)?)
}
GameEventType::AirDash => GameEvent::AirDash(AirDashEvent::read(stream, definition)?),
GameEventType::Landed => GameEvent::Landed(LandedEvent::read(stream, definition)?),
GameEventType::PlayerDamageDodged => {
GameEvent::PlayerDamageDodged(PlayerDamageDodgedEvent::read(stream, definition)?)
}
GameEventType::PlayerStunned => {
GameEvent::PlayerStunned(PlayerStunnedEvent::read(stream, definition)?)
}
GameEventType::ScoutGrandSlam => {
GameEvent::ScoutGrandSlam(ScoutGrandSlamEvent::read(stream, definition)?)
}
GameEventType::ScoutSlamdollLanded => {
GameEvent::ScoutSlamdollLanded(ScoutSlamdollLandedEvent::read(stream, definition)?)
}
GameEventType::ArrowImpact => {
GameEvent::ArrowImpact(ArrowImpactEvent::read(stream, definition)?)
}
GameEventType::PlayerJarated => {
GameEvent::PlayerJarated(PlayerJaratedEvent::read(stream, definition)?)
}
GameEventType::PlayerJaratedFade => {
GameEvent::PlayerJaratedFade(PlayerJaratedFadeEvent::read(stream, definition)?)
}
GameEventType::PlayerShieldBlocked => {
GameEvent::PlayerShieldBlocked(PlayerShieldBlockedEvent::read(stream, definition)?)
}
GameEventType::PlayerPinned => {
GameEvent::PlayerPinned(PlayerPinnedEvent::read(stream, definition)?)
}
GameEventType::PlayerHealedByMedic => {
GameEvent::PlayerHealedByMedic(PlayerHealedByMedicEvent::read(stream, definition)?)
}
GameEventType::PlayerSappedObject => {
GameEvent::PlayerSappedObject(PlayerSappedObjectEvent::read(stream, definition)?)
}
GameEventType::ItemFound => {
GameEvent::ItemFound(ItemFoundEvent::read(stream, definition)?)
}
GameEventType::ShowAnnotation => {
GameEvent::ShowAnnotation(ShowAnnotationEvent::read(stream, definition)?)
}
GameEventType::HideAnnotation => {
GameEvent::HideAnnotation(HideAnnotationEvent::read(stream, definition)?)
}
GameEventType::PostInventoryApplication => GameEvent::PostInventoryApplication(
PostInventoryApplicationEvent::read(stream, definition)?,
),
GameEventType::ControlPointUnlockUpdated => GameEvent::ControlPointUnlockUpdated(
ControlPointUnlockUpdatedEvent::read(stream, definition)?,
),
GameEventType::DeployBuffBanner => {
GameEvent::DeployBuffBanner(DeployBuffBannerEvent::read(stream, definition)?)
}
GameEventType::PlayerBuff => {
GameEvent::PlayerBuff(PlayerBuffEvent::read(stream, definition)?)
}
GameEventType::MedicDeath => {
GameEvent::MedicDeath(MedicDeathEvent::read(stream, definition)?)
}
GameEventType::OvertimeNag => {
GameEvent::OvertimeNag(OvertimeNagEvent::read(stream, definition)?)
}
GameEventType::TeamsChanged => {
GameEvent::TeamsChanged(TeamsChangedEvent::read(stream, definition)?)
}
GameEventType::HalloweenPumpkinGrab => GameEvent::HalloweenPumpkinGrab(
HalloweenPumpkinGrabEvent::read(stream, definition)?,
),
GameEventType::RocketJump => {
GameEvent::RocketJump(RocketJumpEvent::read(stream, definition)?)
}
GameEventType::RocketJumpLanded => {
GameEvent::RocketJumpLanded(RocketJumpLandedEvent::read(stream, definition)?)
}
GameEventType::StickyJump => {
GameEvent::StickyJump(StickyJumpEvent::read(stream, definition)?)
}
GameEventType::StickyJumpLanded => {
GameEvent::StickyJumpLanded(StickyJumpLandedEvent::read(stream, definition)?)
}
GameEventType::RocketPackLaunch => {
GameEvent::RocketPackLaunch(RocketPackLaunchEvent::read(stream, definition)?)
}
GameEventType::RocketPackLanded => {
GameEvent::RocketPackLanded(RocketPackLandedEvent::read(stream, definition)?)
}
GameEventType::MedicDefended => {
GameEvent::MedicDefended(MedicDefendedEvent::read(stream, definition)?)
}
GameEventType::LocalPlayerHealed => {
GameEvent::LocalPlayerHealed(LocalPlayerHealedEvent::read(stream, definition)?)
}
GameEventType::PlayerDestroyedPipeBomb => GameEvent::PlayerDestroyedPipeBomb(
PlayerDestroyedPipeBombEvent::read(stream, definition)?,
),
GameEventType::ObjectDeflected => {
GameEvent::ObjectDeflected(ObjectDeflectedEvent::read(stream, definition)?)
}
GameEventType::PlayerMvp => {
GameEvent::PlayerMvp(PlayerMvpEvent::read(stream, definition)?)
}
GameEventType::RaidSpawnMob => {
GameEvent::RaidSpawnMob(RaidSpawnMobEvent::read(stream, definition)?)
}
GameEventType::RaidSpawnSquad => {
GameEvent::RaidSpawnSquad(RaidSpawnSquadEvent::read(stream, definition)?)
}
GameEventType::NavBlocked => {
GameEvent::NavBlocked(NavBlockedEvent::read(stream, definition)?)
}
GameEventType::PathTrackPassed => {
GameEvent::PathTrackPassed(PathTrackPassedEvent::read(stream, definition)?)
}
GameEventType::NumCappersChanged => {
GameEvent::NumCappersChanged(NumCappersChangedEvent::read(stream, definition)?)
}
GameEventType::PlayerRegenerate => {
GameEvent::PlayerRegenerate(PlayerRegenerateEvent::read(stream, definition)?)
}
GameEventType::UpdateStatusItem => {
GameEvent::UpdateStatusItem(UpdateStatusItemEvent::read(stream, definition)?)
}
GameEventType::StatsResetRound => {
GameEvent::StatsResetRound(StatsResetRoundEvent::read(stream, definition)?)
}
GameEventType::ScoreStatsAccumulatedUpdate => GameEvent::ScoreStatsAccumulatedUpdate(
ScoreStatsAccumulatedUpdateEvent::read(stream, definition)?,
),
GameEventType::ScoreStatsAccumulatedReset => GameEvent::ScoreStatsAccumulatedReset(
ScoreStatsAccumulatedResetEvent::read(stream, definition)?,
),
GameEventType::AchievementEarnedLocal => GameEvent::AchievementEarnedLocal(
AchievementEarnedLocalEvent::read(stream, definition)?,
),
GameEventType::PlayerHealed => {
GameEvent::PlayerHealed(PlayerHealedEvent::read(stream, definition)?)
}
GameEventType::BuildingHealed => {
GameEvent::BuildingHealed(BuildingHealedEvent::read(stream, definition)?)
}
GameEventType::ItemPickup => {
GameEvent::ItemPickup(ItemPickupEvent::read(stream, definition)?)
}
GameEventType::DuelStatus => {
GameEvent::DuelStatus(DuelStatusEvent::read(stream, definition)?)
}
GameEventType::FishNotice => {
GameEvent::FishNotice(FishNoticeEvent::read(stream, definition)?)
}
GameEventType::FishNoticeArm => {
GameEvent::FishNoticeArm(FishNoticeArmEvent::read(stream, definition)?)
}
GameEventType::SlapNotice => {
GameEvent::SlapNotice(SlapNoticeEvent::read(stream, definition)?)
}
GameEventType::ThrowableHit => {
GameEvent::ThrowableHit(ThrowableHitEvent::read(stream, definition)?)
}
GameEventType::PumpkinLordSummoned => {
GameEvent::PumpkinLordSummoned(PumpkinLordSummonedEvent::read(stream, definition)?)
}
GameEventType::PumpkinLordKilled => {
GameEvent::PumpkinLordKilled(PumpkinLordKilledEvent::read(stream, definition)?)
}
GameEventType::MerasmusSummoned => {
GameEvent::MerasmusSummoned(MerasmusSummonedEvent::read(stream, definition)?)
}
GameEventType::MerasmusKilled => {
GameEvent::MerasmusKilled(MerasmusKilledEvent::read(stream, definition)?)
}
GameEventType::MerasmusEscapeWarning => GameEvent::MerasmusEscapeWarning(
MerasmusEscapeWarningEvent::read(stream, definition)?,
),
GameEventType::MerasmusEscaped => {
GameEvent::MerasmusEscaped(MerasmusEscapedEvent::read(stream, definition)?)
}
GameEventType::EyeballBossSummoned => {
GameEvent::EyeballBossSummoned(EyeballBossSummonedEvent::read(stream, definition)?)
}
GameEventType::EyeballBossStunned => {
GameEvent::EyeballBossStunned(EyeballBossStunnedEvent::read(stream, definition)?)
}
GameEventType::EyeballBossKilled => {
GameEvent::EyeballBossKilled(EyeballBossKilledEvent::read(stream, definition)?)
}
GameEventType::EyeballBossKiller => {
GameEvent::EyeballBossKiller(EyeballBossKillerEvent::read(stream, definition)?)
}
GameEventType::EyeballBossEscapeImminent => GameEvent::EyeballBossEscapeImminent(
EyeballBossEscapeImminentEvent::read(stream, definition)?,
),
GameEventType::EyeballBossEscaped => {
GameEvent::EyeballBossEscaped(EyeballBossEscapedEvent::read(stream, definition)?)
}
GameEventType::NpcHurt => GameEvent::NpcHurt(NpcHurtEvent::read(stream, definition)?),
GameEventType::ControlPointTimerUpdated => GameEvent::ControlPointTimerUpdated(
ControlPointTimerUpdatedEvent::read(stream, definition)?,
),
GameEventType::PlayerHighFiveStart => {
GameEvent::PlayerHighFiveStart(PlayerHighFiveStartEvent::read(stream, definition)?)
}
GameEventType::PlayerHighFiveCancel => GameEvent::PlayerHighFiveCancel(
PlayerHighFiveCancelEvent::read(stream, definition)?,
),
GameEventType::PlayerHighFiveSuccess => GameEvent::PlayerHighFiveSuccess(
PlayerHighFiveSuccessEvent::read(stream, definition)?,
),
GameEventType::PlayerBonusPoints => {
GameEvent::PlayerBonusPoints(PlayerBonusPointsEvent::read(stream, definition)?)
}
GameEventType::PlayerUpgraded => {
GameEvent::PlayerUpgraded(PlayerUpgradedEvent::read(stream, definition)?)
}
GameEventType::PlayerBuyback => {
GameEvent::PlayerBuyback(PlayerBuybackEvent::read(stream, definition)?)
}
GameEventType::PlayerUsedPowerUpBottle => GameEvent::PlayerUsedPowerUpBottle(
PlayerUsedPowerUpBottleEvent::read(stream, definition)?,
),
GameEventType::ChristmasGiftGrab => {
GameEvent::ChristmasGiftGrab(ChristmasGiftGrabEvent::read(stream, definition)?)
}
GameEventType::PlayerKilledAchievementZone => GameEvent::PlayerKilledAchievementZone(
PlayerKilledAchievementZoneEvent::read(stream, definition)?,
),
GameEventType::PartyUpdated => {
GameEvent::PartyUpdated(PartyUpdatedEvent::read(stream, definition)?)
}
GameEventType::PartyPrefChanged => {
GameEvent::PartyPrefChanged(PartyPrefChangedEvent::read(stream, definition)?)
}
GameEventType::PartyCriteriaChanged => GameEvent::PartyCriteriaChanged(
PartyCriteriaChangedEvent::read(stream, definition)?,
),
GameEventType::PartyInvitesChanged => {
GameEvent::PartyInvitesChanged(PartyInvitesChangedEvent::read(stream, definition)?)
}
GameEventType::PartyQueueStateChanged => GameEvent::PartyQueueStateChanged(
PartyQueueStateChangedEvent::read(stream, definition)?,
),
GameEventType::PartyChat => {
GameEvent::PartyChat(PartyChatEvent::read(stream, definition)?)
}
GameEventType::PartyMemberJoin => {
GameEvent::PartyMemberJoin(PartyMemberJoinEvent::read(stream, definition)?)
}
GameEventType::PartyMemberLeave => {
GameEvent::PartyMemberLeave(PartyMemberLeaveEvent::read(stream, definition)?)
}
GameEventType::MatchInvitesUpdated => {
GameEvent::MatchInvitesUpdated(MatchInvitesUpdatedEvent::read(stream, definition)?)
}
GameEventType::LobbyUpdated => {
GameEvent::LobbyUpdated(LobbyUpdatedEvent::read(stream, definition)?)
}
GameEventType::MvmMissionUpdate => {
GameEvent::MvmMissionUpdate(MvmMissionUpdateEvent::read(stream, definition)?)
}
GameEventType::RecalculateHolidays => {
GameEvent::RecalculateHolidays(RecalculateHolidaysEvent::read(stream, definition)?)
}
GameEventType::PlayerCurrencyChanged => GameEvent::PlayerCurrencyChanged(
PlayerCurrencyChangedEvent::read(stream, definition)?,
),
GameEventType::DoomsdayRocketOpen => {
GameEvent::DoomsdayRocketOpen(DoomsdayRocketOpenEvent::read(stream, definition)?)
}
GameEventType::RemoveNemesisRelationships => GameEvent::RemoveNemesisRelationships(
RemoveNemesisRelationshipsEvent::read(stream, definition)?,
),
GameEventType::MvmCreditBonusWave => {
GameEvent::MvmCreditBonusWave(MvmCreditBonusWaveEvent::read(stream, definition)?)
}
GameEventType::MvmCreditBonusAll => {
GameEvent::MvmCreditBonusAll(MvmCreditBonusAllEvent::read(stream, definition)?)
}
GameEventType::MvmCreditBonusAllAdvanced => GameEvent::MvmCreditBonusAllAdvanced(
MvmCreditBonusAllAdvancedEvent::read(stream, definition)?,
),
GameEventType::MvmQuickSentryUpgrade => GameEvent::MvmQuickSentryUpgrade(
MvmQuickSentryUpgradeEvent::read(stream, definition)?,
),
GameEventType::MvmTankDestroyedByPlayers => GameEvent::MvmTankDestroyedByPlayers(
MvmTankDestroyedByPlayersEvent::read(stream, definition)?,
),
GameEventType::MvmKillRobotDeliveringBomb => GameEvent::MvmKillRobotDeliveringBomb(
MvmKillRobotDeliveringBombEvent::read(stream, definition)?,
),
GameEventType::MvmPickupCurrency => {
GameEvent::MvmPickupCurrency(MvmPickupCurrencyEvent::read(stream, definition)?)
}
GameEventType::MvmBombCarrierKilled => GameEvent::MvmBombCarrierKilled(
MvmBombCarrierKilledEvent::read(stream, definition)?,
),
GameEventType::MvmSentryBusterDetonate => GameEvent::MvmSentryBusterDetonate(
MvmSentryBusterDetonateEvent::read(stream, definition)?,
),
GameEventType::MvmScoutMarkedForDeath => GameEvent::MvmScoutMarkedForDeath(
MvmScoutMarkedForDeathEvent::read(stream, definition)?,
),
GameEventType::MvmMedicPowerUpShared => GameEvent::MvmMedicPowerUpShared(
MvmMedicPowerUpSharedEvent::read(stream, definition)?,
),
GameEventType::MvmBeginWave => {
GameEvent::MvmBeginWave(MvmBeginWaveEvent::read(stream, definition)?)
}
GameEventType::MvmWaveComplete => {
GameEvent::MvmWaveComplete(MvmWaveCompleteEvent::read(stream, definition)?)
}
GameEventType::MvmMissionComplete => {
GameEvent::MvmMissionComplete(MvmMissionCompleteEvent::read(stream, definition)?)
}
GameEventType::MvmBombResetByPlayer => GameEvent::MvmBombResetByPlayer(
MvmBombResetByPlayerEvent::read(stream, definition)?,
),
GameEventType::MvmBombAlarmTriggered => GameEvent::MvmBombAlarmTriggered(
MvmBombAlarmTriggeredEvent::read(stream, definition)?,
),
GameEventType::MvmBombDeployResetByPlayer => GameEvent::MvmBombDeployResetByPlayer(
MvmBombDeployResetByPlayerEvent::read(stream, definition)?,
),
GameEventType::MvmWaveFailed => {
GameEvent::MvmWaveFailed(MvmWaveFailedEvent::read(stream, definition)?)
}
GameEventType::MvmResetStats => {
GameEvent::MvmResetStats(MvmResetStatsEvent::read(stream, definition)?)
}
GameEventType::DamageResisted => {
GameEvent::DamageResisted(DamageResistedEvent::read(stream, definition)?)
}
GameEventType::RevivePlayerNotify => {
GameEvent::RevivePlayerNotify(RevivePlayerNotifyEvent::read(stream, definition)?)
}
GameEventType::RevivePlayerStopped => {
GameEvent::RevivePlayerStopped(RevivePlayerStoppedEvent::read(stream, definition)?)
}
GameEventType::RevivePlayerComplete => GameEvent::RevivePlayerComplete(
RevivePlayerCompleteEvent::read(stream, definition)?,
),
GameEventType::PlayerTurnedToGhost => {
GameEvent::PlayerTurnedToGhost(PlayerTurnedToGhostEvent::read(stream, definition)?)
}
GameEventType::MedigunShieldBlockedDamage => GameEvent::MedigunShieldBlockedDamage(
MedigunShieldBlockedDamageEvent::read(stream, definition)?,
),
GameEventType::MvmAdvWaveCompleteNoGates => GameEvent::MvmAdvWaveCompleteNoGates(
MvmAdvWaveCompleteNoGatesEvent::read(stream, definition)?,
),
GameEventType::MvmSniperHeadshotCurrency => GameEvent::MvmSniperHeadshotCurrency(
MvmSniperHeadshotCurrencyEvent::read(stream, definition)?,
),
GameEventType::MvmMannhattanPit => {
GameEvent::MvmMannhattanPit(MvmMannhattanPitEvent::read(stream, definition)?)
}
GameEventType::FlagCarriedInDetectionZone => GameEvent::FlagCarriedInDetectionZone(
FlagCarriedInDetectionZoneEvent::read(stream, definition)?,
),
GameEventType::MvmAdvWaveKilledStunRadio => GameEvent::MvmAdvWaveKilledStunRadio(
MvmAdvWaveKilledStunRadioEvent::read(stream, definition)?,
),
GameEventType::PlayerDirectHitStun => {
GameEvent::PlayerDirectHitStun(PlayerDirectHitStunEvent::read(stream, definition)?)
}
GameEventType::MvmSentryBusterKilled => GameEvent::MvmSentryBusterKilled(
MvmSentryBusterKilledEvent::read(stream, definition)?,
),
GameEventType::UpgradesFileChanged => {
GameEvent::UpgradesFileChanged(UpgradesFileChangedEvent::read(stream, definition)?)
}
GameEventType::RdTeamPointsChanged => {
GameEvent::RdTeamPointsChanged(RdTeamPointsChangedEvent::read(stream, definition)?)
}
GameEventType::RdRulesStateChanged => {
GameEvent::RdRulesStateChanged(RdRulesStateChangedEvent::read(stream, definition)?)
}
GameEventType::RdRobotKilled => {
GameEvent::RdRobotKilled(RdRobotKilledEvent::read(stream, definition)?)
}
GameEventType::RdRobotImpact => {
GameEvent::RdRobotImpact(RdRobotImpactEvent::read(stream, definition)?)
}
GameEventType::TeamPlayPreRoundTimeLeft => GameEvent::TeamPlayPreRoundTimeLeft(
TeamPlayPreRoundTimeLeftEvent::read(stream, definition)?,
),
GameEventType::ParachuteDeploy => {
GameEvent::ParachuteDeploy(ParachuteDeployEvent::read(stream, definition)?)
}
GameEventType::ParachuteHolster => {
GameEvent::ParachuteHolster(ParachuteHolsterEvent::read(stream, definition)?)
}
GameEventType::KillRefillsMeter => {
GameEvent::KillRefillsMeter(KillRefillsMeterEvent::read(stream, definition)?)
}
GameEventType::RpsTauntEvent => {
GameEvent::RpsTauntEvent(RpsTauntEventEvent::read(stream, definition)?)
}
GameEventType::CongaKill => {
GameEvent::CongaKill(CongaKillEvent::read(stream, definition)?)
}
GameEventType::PlayerInitialSpawn => {
GameEvent::PlayerInitialSpawn(PlayerInitialSpawnEvent::read(stream, definition)?)
}
GameEventType::CompetitiveVictory => {
GameEvent::CompetitiveVictory(CompetitiveVictoryEvent::read(stream, definition)?)
}
GameEventType::CompetitiveStatsUpdate => GameEvent::CompetitiveStatsUpdate(
CompetitiveStatsUpdateEvent::read(stream, definition)?,
),
GameEventType::MiniGameWin => {
GameEvent::MiniGameWin(MiniGameWinEvent::read(stream, definition)?)
}
GameEventType::SentryOnGoActive => {
GameEvent::SentryOnGoActive(SentryOnGoActiveEvent::read(stream, definition)?)
}
GameEventType::DuckXpLevelUp => {
GameEvent::DuckXpLevelUp(DuckXpLevelUpEvent::read(stream, definition)?)
}
GameEventType::QuestLogOpened => {
GameEvent::QuestLogOpened(QuestLogOpenedEvent::read(stream, definition)?)
}
GameEventType::SchemaUpdated => {
GameEvent::SchemaUpdated(SchemaUpdatedEvent::read(stream, definition)?)
}
GameEventType::LocalPlayerPickupWeapon => GameEvent::LocalPlayerPickupWeapon(
LocalPlayerPickupWeaponEvent::read(stream, definition)?,
),
GameEventType::RdPlayerScorePoints => {
GameEvent::RdPlayerScorePoints(RdPlayerScorePointsEvent::read(stream, definition)?)
}
GameEventType::DemomanDetStickies => {
GameEvent::DemomanDetStickies(DemomanDetStickiesEvent::read(stream, definition)?)
}
GameEventType::QuestObjectiveCompleted => GameEvent::QuestObjectiveCompleted(
QuestObjectiveCompletedEvent::read(stream, definition)?,
),
GameEventType::PlayerScoreChanged => {
GameEvent::PlayerScoreChanged(PlayerScoreChangedEvent::read(stream, definition)?)
}
GameEventType::KilledCappingPlayer => {
GameEvent::KilledCappingPlayer(KilledCappingPlayerEvent::read(stream, definition)?)
}
GameEventType::EnvironmentalDeath => {
GameEvent::EnvironmentalDeath(EnvironmentalDeathEvent::read(stream, definition)?)
}
GameEventType::ProjectileDirectHit => {
GameEvent::ProjectileDirectHit(ProjectileDirectHitEvent::read(stream, definition)?)
}
GameEventType::PassGet => GameEvent::PassGet(PassGetEvent::read(stream, definition)?),
GameEventType::PassScore => {
GameEvent::PassScore(PassScoreEvent::read(stream, definition)?)
}
GameEventType::PassFree => {
GameEvent::PassFree(PassFreeEvent::read(stream, definition)?)
}
GameEventType::PassPassCaught => {
GameEvent::PassPassCaught(PassPassCaughtEvent::read(stream, definition)?)
}
GameEventType::PassBallStolen => {
GameEvent::PassBallStolen(PassBallStolenEvent::read(stream, definition)?)
}
GameEventType::PassBallBlocked => {
GameEvent::PassBallBlocked(PassBallBlockedEvent::read(stream, definition)?)
}
GameEventType::DamagePrevented => {
GameEvent::DamagePrevented(DamagePreventedEvent::read(stream, definition)?)
}
GameEventType::HalloweenBossKilled => {
GameEvent::HalloweenBossKilled(HalloweenBossKilledEvent::read(stream, definition)?)
}
GameEventType::EscapedLootIsland => {
GameEvent::EscapedLootIsland(EscapedLootIslandEvent::read(stream, definition)?)
}
GameEventType::TaggedPlayerAsIt => {
GameEvent::TaggedPlayerAsIt(TaggedPlayerAsItEvent::read(stream, definition)?)
}
GameEventType::MerasmusStunned => {
GameEvent::MerasmusStunned(MerasmusStunnedEvent::read(stream, definition)?)
}
GameEventType::MerasmusPropFound => {
GameEvent::MerasmusPropFound(MerasmusPropFoundEvent::read(stream, definition)?)
}
GameEventType::HalloweenSkeletonKilled => GameEvent::HalloweenSkeletonKilled(
HalloweenSkeletonKilledEvent::read(stream, definition)?,
),
GameEventType::EscapeHell => {
GameEvent::EscapeHell(EscapeHellEvent::read(stream, definition)?)
}
GameEventType::CrossSpectralBridge => {
GameEvent::CrossSpectralBridge(CrossSpectralBridgeEvent::read(stream, definition)?)
}
GameEventType::MiniGameWon => {
GameEvent::MiniGameWon(MiniGameWonEvent::read(stream, definition)?)
}
GameEventType::RespawnGhost => {
GameEvent::RespawnGhost(RespawnGhostEvent::read(stream, definition)?)
}
GameEventType::KillInHell => {
GameEvent::KillInHell(KillInHellEvent::read(stream, definition)?)
}
GameEventType::HalloweenDuckCollected => GameEvent::HalloweenDuckCollected(
HalloweenDuckCollectedEvent::read(stream, definition)?,
),
GameEventType::SpecialScore => {
GameEvent::SpecialScore(SpecialScoreEvent::read(stream, definition)?)
}
GameEventType::TeamLeaderKilled => {
GameEvent::TeamLeaderKilled(TeamLeaderKilledEvent::read(stream, definition)?)
}
GameEventType::HalloweenSoulCollected => GameEvent::HalloweenSoulCollected(
HalloweenSoulCollectedEvent::read(stream, definition)?,
),
GameEventType::RecalculateTruce => {
GameEvent::RecalculateTruce(RecalculateTruceEvent::read(stream, definition)?)
}
GameEventType::DeadRingerCheatDeath => GameEvent::DeadRingerCheatDeath(
DeadRingerCheatDeathEvent::read(stream, definition)?,
),
GameEventType::CrossbowHeal => {
GameEvent::CrossbowHeal(CrossbowHealEvent::read(stream, definition)?)
}
GameEventType::DamageMitigated => {
GameEvent::DamageMitigated(DamageMitigatedEvent::read(stream, definition)?)
}
GameEventType::PayloadPushed => {
GameEvent::PayloadPushed(PayloadPushedEvent::read(stream, definition)?)
}
GameEventType::PlayerAbandonedMatch => GameEvent::PlayerAbandonedMatch(
PlayerAbandonedMatchEvent::read(stream, definition)?,
),
GameEventType::ClDrawline => {
GameEvent::ClDrawline(ClDrawlineEvent::read(stream, definition)?)
}
GameEventType::RestartTimerTime => {
GameEvent::RestartTimerTime(RestartTimerTimeEvent::read(stream, definition)?)
}
GameEventType::WinLimitChanged => {
GameEvent::WinLimitChanged(WinLimitChangedEvent::read(stream, definition)?)
}
GameEventType::WinPanelShowScores => {
GameEvent::WinPanelShowScores(WinPanelShowScoresEvent::read(stream, definition)?)
}
GameEventType::TopStreamsRequestFinished => GameEvent::TopStreamsRequestFinished(
TopStreamsRequestFinishedEvent::read(stream, definition)?,
),
GameEventType::CompetitiveStateChanged => GameEvent::CompetitiveStateChanged(
CompetitiveStateChangedEvent::read(stream, definition)?,
),
GameEventType::GlobalWarDataUpdated => GameEvent::GlobalWarDataUpdated(
GlobalWarDataUpdatedEvent::read(stream, definition)?,
),
GameEventType::StopWatchChanged => {
GameEvent::StopWatchChanged(StopWatchChangedEvent::read(stream, definition)?)
}
GameEventType::DsStop => GameEvent::DsStop(DsStopEvent::read(stream, definition)?),
GameEventType::DsScreenshot => {
GameEvent::DsScreenshot(DsScreenshotEvent::read(stream, definition)?)
}
GameEventType::ShowMatchSummary => {
GameEvent::ShowMatchSummary(ShowMatchSummaryEvent::read(stream, definition)?)
}
GameEventType::ExperienceChanged => {
GameEvent::ExperienceChanged(ExperienceChangedEvent::read(stream, definition)?)
}
GameEventType::BeginXpLerp => {
GameEvent::BeginXpLerp(BeginXpLerpEvent::read(stream, definition)?)
}
GameEventType::MatchmakerStatsUpdated => GameEvent::MatchmakerStatsUpdated(
MatchmakerStatsUpdatedEvent::read(stream, definition)?,
),
GameEventType::RematchVotePeriodOver => GameEvent::RematchVotePeriodOver(
RematchVotePeriodOverEvent::read(stream, definition)?,
),
GameEventType::RematchFailedToCreate => GameEvent::RematchFailedToCreate(
RematchFailedToCreateEvent::read(stream, definition)?,
),
GameEventType::PlayerRematchChange => {
GameEvent::PlayerRematchChange(PlayerRematchChangeEvent::read(stream, definition)?)
}
GameEventType::PingUpdated => {
GameEvent::PingUpdated(PingUpdatedEvent::read(stream, definition)?)
}
GameEventType::MMStatsUpdated => {
GameEvent::MMStatsUpdated(MMStatsUpdatedEvent::read(stream, definition)?)
}
GameEventType::PlayerNextMapVoteChange => GameEvent::PlayerNextMapVoteChange(
PlayerNextMapVoteChangeEvent::read(stream, definition)?,
),
GameEventType::VoteMapsChanged => {
GameEvent::VoteMapsChanged(VoteMapsChangedEvent::read(stream, definition)?)
}
GameEventType::ProtoDefChanged => {
GameEvent::ProtoDefChanged(ProtoDefChangedEvent::read(stream, definition)?)
}
GameEventType::PlayerDomination => {
GameEvent::PlayerDomination(PlayerDominationEvent::read(stream, definition)?)
}
GameEventType::PlayerRocketPackPushed => GameEvent::PlayerRocketPackPushed(
PlayerRocketPackPushedEvent::read(stream, definition)?,
),
GameEventType::QuestRequest => {
GameEvent::QuestRequest(QuestRequestEvent::read(stream, definition)?)
}
GameEventType::QuestResponse => {
GameEvent::QuestResponse(QuestResponseEvent::read(stream, definition)?)
}
GameEventType::QuestProgress => {
GameEvent::QuestProgress(QuestProgressEvent::read(stream, definition)?)
}
GameEventType::ProjectileRemoved => {
GameEvent::ProjectileRemoved(ProjectileRemovedEvent::read(stream, definition)?)
}
GameEventType::QuestMapDataChanged => {
GameEvent::QuestMapDataChanged(QuestMapDataChangedEvent::read(stream, definition)?)
}
GameEventType::GasDousedPlayerIgnited => GameEvent::GasDousedPlayerIgnited(
GasDousedPlayerIgnitedEvent::read(stream, definition)?,
),
GameEventType::QuestTurnInState => {
GameEvent::QuestTurnInState(QuestTurnInStateEvent::read(stream, definition)?)
}
GameEventType::ItemsAcknowledged => {
GameEvent::ItemsAcknowledged(ItemsAcknowledgedEvent::read(stream, definition)?)
}
GameEventType::CapperKilled => {
GameEvent::CapperKilled(CapperKilledEvent::read(stream, definition)?)
}
GameEventType::MainMenuStabilized => {
GameEvent::MainMenuStabilized(MainMenuStabilizedEvent::read(stream, definition)?)
}
GameEventType::WorldStatusChanged => {
GameEvent::WorldStatusChanged(WorldStatusChangedEvent::read(stream, definition)?)
}
GameEventType::HLTVStatus => {
GameEvent::HLTVStatus(HLTVStatusEvent::read(stream, definition)?)
}
GameEventType::HLTVCameraman => {
GameEvent::HLTVCameraman(HLTVCameramanEvent::read(stream, definition)?)
}
GameEventType::HLTVRankCamera => {
GameEvent::HLTVRankCamera(HLTVRankCameraEvent::read(stream, definition)?)
}
GameEventType::HLTVRankEntity => {
GameEvent::HLTVRankEntity(HLTVRankEntityEvent::read(stream, definition)?)
}
GameEventType::HLTVFixed => {
GameEvent::HLTVFixed(HLTVFixedEvent::read(stream, definition)?)
}
GameEventType::HLTVChase => {
GameEvent::HLTVChase(HLTVChaseEvent::read(stream, definition)?)
}
GameEventType::HLTVMessage => {
GameEvent::HLTVMessage(HLTVMessageEvent::read(stream, definition)?)
}
GameEventType::HLTVTitle => {
GameEvent::HLTVTitle(HLTVTitleEvent::read(stream, definition)?)
}
GameEventType::HLTVChat => {
GameEvent::HLTVChat(HLTVChatEvent::read(stream, definition)?)
}
GameEventType::ReplayStartRecord => {
GameEvent::ReplayStartRecord(ReplayStartRecordEvent::read(stream, definition)?)
}
GameEventType::ReplaySessionInfo => {
GameEvent::ReplaySessionInfo(ReplaySessionInfoEvent::read(stream, definition)?)
}
GameEventType::ReplayEndRecord => {
GameEvent::ReplayEndRecord(ReplayEndRecordEvent::read(stream, definition)?)
}
GameEventType::ReplayReplaysAvailable => GameEvent::ReplayReplaysAvailable(
ReplayReplaysAvailableEvent::read(stream, definition)?,
),
GameEventType::ReplayServerError => {
GameEvent::ReplayServerError(ReplayServerErrorEvent::read(stream, definition)?)
}
GameEventType::Unknown => GameEvent::Unknown(RawGameEvent::read(stream, definition)?),
})
}
pub fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> bitbuffer::Result<()> {
match &self {
GameEvent::ServerSpawn(event) => event.write(stream),
GameEvent::ServerChangeLevelFailed(event) => event.write(stream),
GameEvent::ServerShutdown(event) => event.write(stream),
GameEvent::ServerCvar(event) => event.write(stream),
GameEvent::ServerMessage(event) => event.write(stream),
GameEvent::ServerAddBan(event) => event.write(stream),
GameEvent::ServerRemoveBan(event) => event.write(stream),
GameEvent::PlayerConnect(event) => event.write(stream),
GameEvent::PlayerConnectClient(event) => event.write(stream),
GameEvent::PlayerInfo(event) => event.write(stream),
GameEvent::PlayerDisconnect(event) => event.write(stream),
GameEvent::PlayerActivate(event) => event.write(stream),
GameEvent::PlayerSay(event) => event.write(stream),
GameEvent::ClientDisconnect(event) => event.write(stream),
GameEvent::ClientBeginConnect(event) => event.write(stream),
GameEvent::ClientConnected(event) => event.write(stream),
GameEvent::ClientFullConnect(event) => event.write(stream),
GameEvent::HostQuit(event) => event.write(stream),
GameEvent::TeamInfo(event) => event.write(stream),
GameEvent::TeamScore(event) => event.write(stream),
GameEvent::TeamPlayBroadcastAudio(event) => event.write(stream),
GameEvent::PlayerTeam(event) => event.write(stream),
GameEvent::PlayerClass(event) => event.write(stream),
GameEvent::PlayerDeath(event) => event.write(stream),
GameEvent::PlayerHurt(event) => event.write(stream),
GameEvent::PlayerChat(event) => event.write(stream),
GameEvent::PlayerScore(event) => event.write(stream),
GameEvent::PlayerSpawn(event) => event.write(stream),
GameEvent::PlayerShoot(event) => event.write(stream),
GameEvent::PlayerUse(event) => event.write(stream),
GameEvent::PlayerChangeName(event) => event.write(stream),
GameEvent::PlayerHintMessage(event) => event.write(stream),
GameEvent::BasePlayerTeleported(event) => event.write(stream),
GameEvent::GameInit(event) => event.write(stream),
GameEvent::GameNewMap(event) => event.write(stream),
GameEvent::GameStart(event) => event.write(stream),
GameEvent::GameEnd(event) => event.write(stream),
GameEvent::RoundStart(event) => event.write(stream),
GameEvent::RoundEnd(event) => event.write(stream),
GameEvent::GameMessage(event) => event.write(stream),
GameEvent::BreakBreakable(event) => event.write(stream),
GameEvent::BreakProp(event) => event.write(stream),
GameEvent::EntityKilled(event) => event.write(stream),
GameEvent::BonusUpdated(event) => event.write(stream),
GameEvent::AchievementEvent(event) => event.write(stream),
GameEvent::AchievementIncrement(event) => event.write(stream),
GameEvent::PhysgunPickup(event) => event.write(stream),
GameEvent::FlareIgniteNpc(event) => event.write(stream),
GameEvent::HelicopterGrenadePuntMiss(event) => event.write(stream),
GameEvent::UserDataDownloaded(event) => event.write(stream),
GameEvent::RagdollDissolved(event) => event.write(stream),
GameEvent::HLTVChangedMode(event) => event.write(stream),
GameEvent::HLTVChangedTarget(event) => event.write(stream),
GameEvent::VoteEnded(event) => event.write(stream),
GameEvent::VoteStarted(event) => event.write(stream),
GameEvent::VoteChanged(event) => event.write(stream),
GameEvent::VotePassed(event) => event.write(stream),
GameEvent::VoteFailed(event) => event.write(stream),
GameEvent::VoteCast(event) => event.write(stream),
GameEvent::VoteOptions(event) => event.write(stream),
GameEvent::ReplaySaved(event) => event.write(stream),
GameEvent::EnteredPerformanceMode(event) => event.write(stream),
GameEvent::BrowseReplays(event) => event.write(stream),
GameEvent::ReplayYoutubeStats(event) => event.write(stream),
GameEvent::InventoryUpdated(event) => event.write(stream),
GameEvent::CartUpdated(event) => event.write(stream),
GameEvent::StorePriceSheetUpdated(event) => event.write(stream),
GameEvent::EconInventoryConnected(event) => event.write(stream),
GameEvent::ItemSchemaInitialized(event) => event.write(stream),
GameEvent::GcNewSession(event) => event.write(stream),
GameEvent::GcLostSession(event) => event.write(stream),
GameEvent::IntroFinish(event) => event.write(stream),
GameEvent::IntroNextCamera(event) => event.write(stream),
GameEvent::PlayerChangeClass(event) => event.write(stream),
GameEvent::TfMapTimeRemaining(event) => event.write(stream),
GameEvent::TfGameOver(event) => event.write(stream),
GameEvent::CtfFlagCaptured(event) => event.write(stream),
GameEvent::ControlPointInitialized(event) => event.write(stream),
GameEvent::ControlPointUpdateImages(event) => event.write(stream),
GameEvent::ControlPointUpdateLayout(event) => event.write(stream),
GameEvent::ControlPointUpdateCapping(event) => event.write(stream),
GameEvent::ControlPointUpdateOwner(event) => event.write(stream),
GameEvent::ControlPointStartTouch(event) => event.write(stream),
GameEvent::ControlPointEndTouch(event) => event.write(stream),
GameEvent::ControlPointPulseElement(event) => event.write(stream),
GameEvent::ControlPointFakeCapture(event) => event.write(stream),
GameEvent::ControlPointFakeCaptureMultiplier(event) => event.write(stream),
GameEvent::TeamPlayRoundSelected(event) => event.write(stream),
GameEvent::TeamPlayRoundStart(event) => event.write(stream),
GameEvent::TeamPlayRoundActive(event) => event.write(stream),
GameEvent::TeamPlayWaitingBegins(event) => event.write(stream),
GameEvent::TeamPlayWaitingEnds(event) => event.write(stream),
GameEvent::TeamPlayWaitingAboutToEnd(event) => event.write(stream),
GameEvent::TeamPlayRestartRound(event) => event.write(stream),
GameEvent::TeamPlayReadyRestart(event) => event.write(stream),
GameEvent::TeamPlayRoundRestartSeconds(event) => event.write(stream),
GameEvent::TeamPlayTeamReady(event) => event.write(stream),
GameEvent::TeamPlayRoundWin(event) => event.write(stream),
GameEvent::TeamPlayUpdateTimer(event) => event.write(stream),
GameEvent::TeamPlayRoundStalemate(event) => event.write(stream),
GameEvent::TeamPlayOvertimeBegin(event) => event.write(stream),
GameEvent::TeamPlayOvertimeEnd(event) => event.write(stream),
GameEvent::TeamPlaySuddenDeathBegin(event) => event.write(stream),
GameEvent::TeamPlaySuddenDeathEnd(event) => event.write(stream),
GameEvent::TeamPlayGameOver(event) => event.write(stream),
GameEvent::TeamPlayMapTimeRemaining(event) => event.write(stream),
GameEvent::TeamPlayTimerFlash(event) => event.write(stream),
GameEvent::TeamPlayTimerTimeAdded(event) => event.write(stream),
GameEvent::TeamPlayPointStartCapture(event) => event.write(stream),
GameEvent::TeamPlayPointCaptured(event) => event.write(stream),
GameEvent::TeamPlayPointLocked(event) => event.write(stream),
GameEvent::TeamPlayPointUnlocked(event) => event.write(stream),
GameEvent::TeamPlayCaptureBroken(event) => event.write(stream),
GameEvent::TeamPlayCaptureBlocked(event) => event.write(stream),
GameEvent::TeamPlayFlagEvent(event) => event.write(stream),
GameEvent::TeamPlayWinPanel(event) => event.write(stream),
GameEvent::TeamPlayTeamBalancedPlayer(event) => event.write(stream),
GameEvent::TeamPlaySetupFinished(event) => event.write(stream),
GameEvent::TeamPlayAlert(event) => event.write(stream),
GameEvent::TrainingComplete(event) => event.write(stream),
GameEvent::ShowFreezePanel(event) => event.write(stream),
GameEvent::HideFreezePanel(event) => event.write(stream),
GameEvent::FreezeCamStarted(event) => event.write(stream),
GameEvent::LocalPlayerChangeTeam(event) => event.write(stream),
GameEvent::LocalPlayerScoreChanged(event) => event.write(stream),
GameEvent::LocalPlayerChangeClass(event) => event.write(stream),
GameEvent::LocalPlayerRespawn(event) => event.write(stream),
GameEvent::BuildingInfoChanged(event) => event.write(stream),
GameEvent::LocalPlayerChangeDisguise(event) => event.write(stream),
GameEvent::PlayerAccountChanged(event) => event.write(stream),
GameEvent::SpyPdaReset(event) => event.write(stream),
GameEvent::FlagStatusUpdate(event) => event.write(stream),
GameEvent::PlayerStatsUpdated(event) => event.write(stream),
GameEvent::PlayingCommentary(event) => event.write(stream),
GameEvent::PlayerChargeDeployed(event) => event.write(stream),
GameEvent::PlayerBuiltObject(event) => event.write(stream),
GameEvent::PlayerUpgradedObject(event) => event.write(stream),
GameEvent::PlayerCarryObject(event) => event.write(stream),
GameEvent::PlayerDropObject(event) => event.write(stream),
GameEvent::ObjectRemoved(event) => event.write(stream),
GameEvent::ObjectDestroyed(event) => event.write(stream),
GameEvent::ObjectDetonated(event) => event.write(stream),
GameEvent::AchievementEarned(event) => event.write(stream),
GameEvent::SpecTargetUpdated(event) => event.write(stream),
GameEvent::TournamentStateUpdate(event) => event.write(stream),
GameEvent::TournamentEnableCountdown(event) => event.write(stream),
GameEvent::PlayerCalledForMedic(event) => event.write(stream),
GameEvent::PlayerAskedForBall(event) => event.write(stream),
GameEvent::LocalPlayerBecameObserver(event) => event.write(stream),
GameEvent::PlayerIgnitedInv(event) => event.write(stream),
GameEvent::PlayerIgnited(event) => event.write(stream),
GameEvent::PlayerExtinguished(event) => event.write(stream),
GameEvent::PlayerTeleported(event) => event.write(stream),
GameEvent::PlayerHealedMedicCall(event) => event.write(stream),
GameEvent::LocalPlayerChargeReady(event) => event.write(stream),
GameEvent::LocalPlayerWindDown(event) => event.write(stream),
GameEvent::PlayerInvulned(event) => event.write(stream),
GameEvent::EscortSpeed(event) => event.write(stream),
GameEvent::EscortProgress(event) => event.write(stream),
GameEvent::EscortRecede(event) => event.write(stream),
GameEvent::GameUIActivated(event) => event.write(stream),
GameEvent::GameUIHidden(event) => event.write(stream),
GameEvent::PlayerEscortScore(event) => event.write(stream),
GameEvent::PlayerHealOnHit(event) => event.write(stream),
GameEvent::PlayerStealSandvich(event) => event.write(stream),
GameEvent::ShowClassLayout(event) => event.write(stream),
GameEvent::ShowVsPanel(event) => event.write(stream),
GameEvent::PlayerDamaged(event) => event.write(stream),
GameEvent::ArenaPlayerNotification(event) => event.write(stream),
GameEvent::ArenaMatchMaxStreak(event) => event.write(stream),
GameEvent::ArenaRoundStart(event) => event.write(stream),
GameEvent::ArenaWinPanel(event) => event.write(stream),
GameEvent::PveWinPanel(event) => event.write(stream),
GameEvent::AirDash(event) => event.write(stream),
GameEvent::Landed(event) => event.write(stream),
GameEvent::PlayerDamageDodged(event) => event.write(stream),
GameEvent::PlayerStunned(event) => event.write(stream),
GameEvent::ScoutGrandSlam(event) => event.write(stream),
GameEvent::ScoutSlamdollLanded(event) => event.write(stream),
GameEvent::ArrowImpact(event) => event.write(stream),
GameEvent::PlayerJarated(event) => event.write(stream),
GameEvent::PlayerJaratedFade(event) => event.write(stream),
GameEvent::PlayerShieldBlocked(event) => event.write(stream),
GameEvent::PlayerPinned(event) => event.write(stream),
GameEvent::PlayerHealedByMedic(event) => event.write(stream),
GameEvent::PlayerSappedObject(event) => event.write(stream),
GameEvent::ItemFound(event) => event.write(stream),
GameEvent::ShowAnnotation(event) => event.write(stream),
GameEvent::HideAnnotation(event) => event.write(stream),
GameEvent::PostInventoryApplication(event) => event.write(stream),
GameEvent::ControlPointUnlockUpdated(event) => event.write(stream),
GameEvent::DeployBuffBanner(event) => event.write(stream),
GameEvent::PlayerBuff(event) => event.write(stream),
GameEvent::MedicDeath(event) => event.write(stream),
GameEvent::OvertimeNag(event) => event.write(stream),
GameEvent::TeamsChanged(event) => event.write(stream),
GameEvent::HalloweenPumpkinGrab(event) => event.write(stream),
GameEvent::RocketJump(event) => event.write(stream),
GameEvent::RocketJumpLanded(event) => event.write(stream),
GameEvent::StickyJump(event) => event.write(stream),
GameEvent::StickyJumpLanded(event) => event.write(stream),
GameEvent::RocketPackLaunch(event) => event.write(stream),
GameEvent::RocketPackLanded(event) => event.write(stream),
GameEvent::MedicDefended(event) => event.write(stream),
GameEvent::LocalPlayerHealed(event) => event.write(stream),
GameEvent::PlayerDestroyedPipeBomb(event) => event.write(stream),
GameEvent::ObjectDeflected(event) => event.write(stream),
GameEvent::PlayerMvp(event) => event.write(stream),
GameEvent::RaidSpawnMob(event) => event.write(stream),
GameEvent::RaidSpawnSquad(event) => event.write(stream),
GameEvent::NavBlocked(event) => event.write(stream),
GameEvent::PathTrackPassed(event) => event.write(stream),
GameEvent::NumCappersChanged(event) => event.write(stream),
GameEvent::PlayerRegenerate(event) => event.write(stream),
GameEvent::UpdateStatusItem(event) => event.write(stream),
GameEvent::StatsResetRound(event) => event.write(stream),
GameEvent::ScoreStatsAccumulatedUpdate(event) => event.write(stream),
GameEvent::ScoreStatsAccumulatedReset(event) => event.write(stream),
GameEvent::AchievementEarnedLocal(event) => event.write(stream),
GameEvent::PlayerHealed(event) => event.write(stream),
GameEvent::BuildingHealed(event) => event.write(stream),
GameEvent::ItemPickup(event) => event.write(stream),
GameEvent::DuelStatus(event) => event.write(stream),
GameEvent::FishNotice(event) => event.write(stream),
GameEvent::FishNoticeArm(event) => event.write(stream),
GameEvent::SlapNotice(event) => event.write(stream),
GameEvent::ThrowableHit(event) => event.write(stream),
GameEvent::PumpkinLordSummoned(event) => event.write(stream),
GameEvent::PumpkinLordKilled(event) => event.write(stream),
GameEvent::MerasmusSummoned(event) => event.write(stream),
GameEvent::MerasmusKilled(event) => event.write(stream),
GameEvent::MerasmusEscapeWarning(event) => event.write(stream),
GameEvent::MerasmusEscaped(event) => event.write(stream),
GameEvent::EyeballBossSummoned(event) => event.write(stream),
GameEvent::EyeballBossStunned(event) => event.write(stream),
GameEvent::EyeballBossKilled(event) => event.write(stream),
GameEvent::EyeballBossKiller(event) => event.write(stream),
GameEvent::EyeballBossEscapeImminent(event) => event.write(stream),
GameEvent::EyeballBossEscaped(event) => event.write(stream),
GameEvent::NpcHurt(event) => event.write(stream),
GameEvent::ControlPointTimerUpdated(event) => event.write(stream),
GameEvent::PlayerHighFiveStart(event) => event.write(stream),
GameEvent::PlayerHighFiveCancel(event) => event.write(stream),
GameEvent::PlayerHighFiveSuccess(event) => event.write(stream),
GameEvent::PlayerBonusPoints(event) => event.write(stream),
GameEvent::PlayerUpgraded(event) => event.write(stream),
GameEvent::PlayerBuyback(event) => event.write(stream),
GameEvent::PlayerUsedPowerUpBottle(event) => event.write(stream),
GameEvent::ChristmasGiftGrab(event) => event.write(stream),
GameEvent::PlayerKilledAchievementZone(event) => event.write(stream),
GameEvent::PartyUpdated(event) => event.write(stream),
GameEvent::PartyPrefChanged(event) => event.write(stream),
GameEvent::PartyCriteriaChanged(event) => event.write(stream),
GameEvent::PartyInvitesChanged(event) => event.write(stream),
GameEvent::PartyQueueStateChanged(event) => event.write(stream),
GameEvent::PartyChat(event) => event.write(stream),
GameEvent::PartyMemberJoin(event) => event.write(stream),
GameEvent::PartyMemberLeave(event) => event.write(stream),
GameEvent::MatchInvitesUpdated(event) => event.write(stream),
GameEvent::LobbyUpdated(event) => event.write(stream),
GameEvent::MvmMissionUpdate(event) => event.write(stream),
GameEvent::RecalculateHolidays(event) => event.write(stream),
GameEvent::PlayerCurrencyChanged(event) => event.write(stream),
GameEvent::DoomsdayRocketOpen(event) => event.write(stream),
GameEvent::RemoveNemesisRelationships(event) => event.write(stream),
GameEvent::MvmCreditBonusWave(event) => event.write(stream),
GameEvent::MvmCreditBonusAll(event) => event.write(stream),
GameEvent::MvmCreditBonusAllAdvanced(event) => event.write(stream),
GameEvent::MvmQuickSentryUpgrade(event) => event.write(stream),
GameEvent::MvmTankDestroyedByPlayers(event) => event.write(stream),
GameEvent::MvmKillRobotDeliveringBomb(event) => event.write(stream),
GameEvent::MvmPickupCurrency(event) => event.write(stream),
GameEvent::MvmBombCarrierKilled(event) => event.write(stream),
GameEvent::MvmSentryBusterDetonate(event) => event.write(stream),
GameEvent::MvmScoutMarkedForDeath(event) => event.write(stream),
GameEvent::MvmMedicPowerUpShared(event) => event.write(stream),
GameEvent::MvmBeginWave(event) => event.write(stream),
GameEvent::MvmWaveComplete(event) => event.write(stream),
GameEvent::MvmMissionComplete(event) => event.write(stream),
GameEvent::MvmBombResetByPlayer(event) => event.write(stream),
GameEvent::MvmBombAlarmTriggered(event) => event.write(stream),
GameEvent::MvmBombDeployResetByPlayer(event) => event.write(stream),
GameEvent::MvmWaveFailed(event) => event.write(stream),
GameEvent::MvmResetStats(event) => event.write(stream),
GameEvent::DamageResisted(event) => event.write(stream),
GameEvent::RevivePlayerNotify(event) => event.write(stream),
GameEvent::RevivePlayerStopped(event) => event.write(stream),
GameEvent::RevivePlayerComplete(event) => event.write(stream),
GameEvent::PlayerTurnedToGhost(event) => event.write(stream),
GameEvent::MedigunShieldBlockedDamage(event) => event.write(stream),
GameEvent::MvmAdvWaveCompleteNoGates(event) => event.write(stream),
GameEvent::MvmSniperHeadshotCurrency(event) => event.write(stream),
GameEvent::MvmMannhattanPit(event) => event.write(stream),
GameEvent::FlagCarriedInDetectionZone(event) => event.write(stream),
GameEvent::MvmAdvWaveKilledStunRadio(event) => event.write(stream),
GameEvent::PlayerDirectHitStun(event) => event.write(stream),
GameEvent::MvmSentryBusterKilled(event) => event.write(stream),
GameEvent::UpgradesFileChanged(event) => event.write(stream),
GameEvent::RdTeamPointsChanged(event) => event.write(stream),
GameEvent::RdRulesStateChanged(event) => event.write(stream),
GameEvent::RdRobotKilled(event) => event.write(stream),
GameEvent::RdRobotImpact(event) => event.write(stream),
GameEvent::TeamPlayPreRoundTimeLeft(event) => event.write(stream),
GameEvent::ParachuteDeploy(event) => event.write(stream),
GameEvent::ParachuteHolster(event) => event.write(stream),
GameEvent::KillRefillsMeter(event) => event.write(stream),
GameEvent::RpsTauntEvent(event) => event.write(stream),
GameEvent::CongaKill(event) => event.write(stream),
GameEvent::PlayerInitialSpawn(event) => event.write(stream),
GameEvent::CompetitiveVictory(event) => event.write(stream),
GameEvent::CompetitiveStatsUpdate(event) => event.write(stream),
GameEvent::MiniGameWin(event) => event.write(stream),
GameEvent::SentryOnGoActive(event) => event.write(stream),
GameEvent::DuckXpLevelUp(event) => event.write(stream),
GameEvent::QuestLogOpened(event) => event.write(stream),
GameEvent::SchemaUpdated(event) => event.write(stream),
GameEvent::LocalPlayerPickupWeapon(event) => event.write(stream),
GameEvent::RdPlayerScorePoints(event) => event.write(stream),
GameEvent::DemomanDetStickies(event) => event.write(stream),
GameEvent::QuestObjectiveCompleted(event) => event.write(stream),
GameEvent::PlayerScoreChanged(event) => event.write(stream),
GameEvent::KilledCappingPlayer(event) => event.write(stream),
GameEvent::EnvironmentalDeath(event) => event.write(stream),
GameEvent::ProjectileDirectHit(event) => event.write(stream),
GameEvent::PassGet(event) => event.write(stream),
GameEvent::PassScore(event) => event.write(stream),
GameEvent::PassFree(event) => event.write(stream),
GameEvent::PassPassCaught(event) => event.write(stream),
GameEvent::PassBallStolen(event) => event.write(stream),
GameEvent::PassBallBlocked(event) => event.write(stream),
GameEvent::DamagePrevented(event) => event.write(stream),
GameEvent::HalloweenBossKilled(event) => event.write(stream),
GameEvent::EscapedLootIsland(event) => event.write(stream),
GameEvent::TaggedPlayerAsIt(event) => event.write(stream),
GameEvent::MerasmusStunned(event) => event.write(stream),
GameEvent::MerasmusPropFound(event) => event.write(stream),
GameEvent::HalloweenSkeletonKilled(event) => event.write(stream),
GameEvent::EscapeHell(event) => event.write(stream),
GameEvent::CrossSpectralBridge(event) => event.write(stream),
GameEvent::MiniGameWon(event) => event.write(stream),
GameEvent::RespawnGhost(event) => event.write(stream),
GameEvent::KillInHell(event) => event.write(stream),
GameEvent::HalloweenDuckCollected(event) => event.write(stream),
GameEvent::SpecialScore(event) => event.write(stream),
GameEvent::TeamLeaderKilled(event) => event.write(stream),
GameEvent::HalloweenSoulCollected(event) => event.write(stream),
GameEvent::RecalculateTruce(event) => event.write(stream),
GameEvent::DeadRingerCheatDeath(event) => event.write(stream),
GameEvent::CrossbowHeal(event) => event.write(stream),
GameEvent::DamageMitigated(event) => event.write(stream),
GameEvent::PayloadPushed(event) => event.write(stream),
GameEvent::PlayerAbandonedMatch(event) => event.write(stream),
GameEvent::ClDrawline(event) => event.write(stream),
GameEvent::RestartTimerTime(event) => event.write(stream),
GameEvent::WinLimitChanged(event) => event.write(stream),
GameEvent::WinPanelShowScores(event) => event.write(stream),
GameEvent::TopStreamsRequestFinished(event) => event.write(stream),
GameEvent::CompetitiveStateChanged(event) => event.write(stream),
GameEvent::GlobalWarDataUpdated(event) => event.write(stream),
GameEvent::StopWatchChanged(event) => event.write(stream),
GameEvent::DsStop(event) => event.write(stream),
GameEvent::DsScreenshot(event) => event.write(stream),
GameEvent::ShowMatchSummary(event) => event.write(stream),
GameEvent::ExperienceChanged(event) => event.write(stream),
GameEvent::BeginXpLerp(event) => event.write(stream),
GameEvent::MatchmakerStatsUpdated(event) => event.write(stream),
GameEvent::RematchVotePeriodOver(event) => event.write(stream),
GameEvent::RematchFailedToCreate(event) => event.write(stream),
GameEvent::PlayerRematchChange(event) => event.write(stream),
GameEvent::PingUpdated(event) => event.write(stream),
GameEvent::MMStatsUpdated(event) => event.write(stream),
GameEvent::PlayerNextMapVoteChange(event) => event.write(stream),
GameEvent::VoteMapsChanged(event) => event.write(stream),
GameEvent::ProtoDefChanged(event) => event.write(stream),
GameEvent::PlayerDomination(event) => event.write(stream),
GameEvent::PlayerRocketPackPushed(event) => event.write(stream),
GameEvent::QuestRequest(event) => event.write(stream),
GameEvent::QuestResponse(event) => event.write(stream),
GameEvent::QuestProgress(event) => event.write(stream),
GameEvent::ProjectileRemoved(event) => event.write(stream),
GameEvent::QuestMapDataChanged(event) => event.write(stream),
GameEvent::GasDousedPlayerIgnited(event) => event.write(stream),
GameEvent::QuestTurnInState(event) => event.write(stream),
GameEvent::ItemsAcknowledged(event) => event.write(stream),
GameEvent::CapperKilled(event) => event.write(stream),
GameEvent::MainMenuStabilized(event) => event.write(stream),
GameEvent::WorldStatusChanged(event) => event.write(stream),
GameEvent::HLTVStatus(event) => event.write(stream),
GameEvent::HLTVCameraman(event) => event.write(stream),
GameEvent::HLTVRankCamera(event) => event.write(stream),
GameEvent::HLTVRankEntity(event) => event.write(stream),
GameEvent::HLTVFixed(event) => event.write(stream),
GameEvent::HLTVChase(event) => event.write(stream),
GameEvent::HLTVMessage(event) => event.write(stream),
GameEvent::HLTVTitle(event) => event.write(stream),
GameEvent::HLTVChat(event) => event.write(stream),
GameEvent::ReplayStartRecord(event) => event.write(stream),
GameEvent::ReplaySessionInfo(event) => event.write(stream),
GameEvent::ReplayEndRecord(event) => event.write(stream),
GameEvent::ReplayReplaysAvailable(event) => event.write(stream),
GameEvent::ReplayServerError(event) => event.write(stream),
GameEvent::Unknown(raw) => raw.write(stream),
}
}
}
pub fn get_sizes() -> fnv::FnvHashMap<&'static str, usize> {
vec![
("ServerSpawn", std::mem::size_of::<ServerSpawnEvent>()),
(
"ServerChangeLevelFailed",
std::mem::size_of::<ServerChangeLevelFailedEvent>(),
),
("ServerShutdown", std::mem::size_of::<ServerShutdownEvent>()),
("ServerCvar", std::mem::size_of::<ServerCvarEvent>()),
("ServerMessage", std::mem::size_of::<ServerMessageEvent>()),
("ServerAddBan", std::mem::size_of::<ServerAddBanEvent>()),
(
"ServerRemoveBan",
std::mem::size_of::<ServerRemoveBanEvent>(),
),
("PlayerConnect", std::mem::size_of::<PlayerConnectEvent>()),
(
"PlayerConnectClient",
std::mem::size_of::<PlayerConnectClientEvent>(),
),
("PlayerInfo", std::mem::size_of::<PlayerInfoEvent>()),
(
"PlayerDisconnect",
std::mem::size_of::<PlayerDisconnectEvent>(),
),
("PlayerActivate", std::mem::size_of::<PlayerActivateEvent>()),
("PlayerSay", std::mem::size_of::<PlayerSayEvent>()),
(
"ClientDisconnect",
std::mem::size_of::<ClientDisconnectEvent>(),
),
(
"ClientBeginConnect",
std::mem::size_of::<ClientBeginConnectEvent>(),
),
(
"ClientConnected",
std::mem::size_of::<ClientConnectedEvent>(),
),
(
"ClientFullConnect",
std::mem::size_of::<ClientFullConnectEvent>(),
),
("HostQuit", std::mem::size_of::<HostQuitEvent>()),
("TeamInfo", std::mem::size_of::<TeamInfoEvent>()),
("TeamScore", std::mem::size_of::<TeamScoreEvent>()),
(
"TeamPlayBroadcastAudio",
std::mem::size_of::<TeamPlayBroadcastAudioEvent>(),
),
("PlayerTeam", std::mem::size_of::<PlayerTeamEvent>()),
("PlayerClass", std::mem::size_of::<PlayerClassEvent>()),
("PlayerDeath", std::mem::size_of::<PlayerDeathEvent>()),
("PlayerHurt", std::mem::size_of::<PlayerHurtEvent>()),
("PlayerChat", std::mem::size_of::<PlayerChatEvent>()),
("PlayerScore", std::mem::size_of::<PlayerScoreEvent>()),
("PlayerSpawn", std::mem::size_of::<PlayerSpawnEvent>()),
("PlayerShoot", std::mem::size_of::<PlayerShootEvent>()),
("PlayerUse", std::mem::size_of::<PlayerUseEvent>()),
(
"PlayerChangeName",
std::mem::size_of::<PlayerChangeNameEvent>(),
),
(
"PlayerHintMessage",
std::mem::size_of::<PlayerHintMessageEvent>(),
),
(
"BasePlayerTeleported",
std::mem::size_of::<BasePlayerTeleportedEvent>(),
),
("GameInit", std::mem::size_of::<GameInitEvent>()),
("GameNewMap", std::mem::size_of::<GameNewMapEvent>()),
("GameStart", std::mem::size_of::<GameStartEvent>()),
("GameEnd", std::mem::size_of::<GameEndEvent>()),
("RoundStart", std::mem::size_of::<RoundStartEvent>()),
("RoundEnd", std::mem::size_of::<RoundEndEvent>()),
("GameMessage", std::mem::size_of::<GameMessageEvent>()),
("BreakBreakable", std::mem::size_of::<BreakBreakableEvent>()),
("BreakProp", std::mem::size_of::<BreakPropEvent>()),
("EntityKilled", std::mem::size_of::<EntityKilledEvent>()),
("BonusUpdated", std::mem::size_of::<BonusUpdatedEvent>()),
(
"AchievementEvent",
std::mem::size_of::<AchievementEventEvent>(),
),
(
"AchievementIncrement",
std::mem::size_of::<AchievementIncrementEvent>(),
),
("PhysgunPickup", std::mem::size_of::<PhysgunPickupEvent>()),
("FlareIgniteNpc", std::mem::size_of::<FlareIgniteNpcEvent>()),
(
"HelicopterGrenadePuntMiss",
std::mem::size_of::<HelicopterGrenadePuntMissEvent>(),
),
(
"UserDataDownloaded",
std::mem::size_of::<UserDataDownloadedEvent>(),
),
(
"RagdollDissolved",
std::mem::size_of::<RagdollDissolvedEvent>(),
),
(
"HLTVChangedMode",
std::mem::size_of::<HLTVChangedModeEvent>(),
),
(
"HLTVChangedTarget",
std::mem::size_of::<HLTVChangedTargetEvent>(),
),
("VoteEnded", std::mem::size_of::<VoteEndedEvent>()),
("VoteStarted", std::mem::size_of::<VoteStartedEvent>()),
("VoteChanged", std::mem::size_of::<VoteChangedEvent>()),
("VotePassed", std::mem::size_of::<VotePassedEvent>()),
("VoteFailed", std::mem::size_of::<VoteFailedEvent>()),
("VoteCast", std::mem::size_of::<VoteCastEvent>()),
("VoteOptions", std::mem::size_of::<VoteOptionsEvent>()),
("ReplaySaved", std::mem::size_of::<ReplaySavedEvent>()),
(
"EnteredPerformanceMode",
std::mem::size_of::<EnteredPerformanceModeEvent>(),
),
("BrowseReplays", std::mem::size_of::<BrowseReplaysEvent>()),
(
"ReplayYoutubeStats",
std::mem::size_of::<ReplayYoutubeStatsEvent>(),
),
(
"InventoryUpdated",
std::mem::size_of::<InventoryUpdatedEvent>(),
),
("CartUpdated", std::mem::size_of::<CartUpdatedEvent>()),
(
"StorePriceSheetUpdated",
std::mem::size_of::<StorePriceSheetUpdatedEvent>(),
),
(
"EconInventoryConnected",
std::mem::size_of::<EconInventoryConnectedEvent>(),
),
(
"ItemSchemaInitialized",
std::mem::size_of::<ItemSchemaInitializedEvent>(),
),
("GcNewSession", std::mem::size_of::<GcNewSessionEvent>()),
("GcLostSession", std::mem::size_of::<GcLostSessionEvent>()),
("IntroFinish", std::mem::size_of::<IntroFinishEvent>()),
(
"IntroNextCamera",
std::mem::size_of::<IntroNextCameraEvent>(),
),
(
"PlayerChangeClass",
std::mem::size_of::<PlayerChangeClassEvent>(),
),
(
"TfMapTimeRemaining",
std::mem::size_of::<TfMapTimeRemainingEvent>(),
),
("TfGameOver", std::mem::size_of::<TfGameOverEvent>()),
(
"CtfFlagCaptured",
std::mem::size_of::<CtfFlagCapturedEvent>(),
),
(
"ControlPointInitialized",
std::mem::size_of::<ControlPointInitializedEvent>(),
),
(
"ControlPointUpdateImages",
std::mem::size_of::<ControlPointUpdateImagesEvent>(),
),
(
"ControlPointUpdateLayout",
std::mem::size_of::<ControlPointUpdateLayoutEvent>(),
),
(
"ControlPointUpdateCapping",
std::mem::size_of::<ControlPointUpdateCappingEvent>(),
),
(
"ControlPointUpdateOwner",
std::mem::size_of::<ControlPointUpdateOwnerEvent>(),
),
(
"ControlPointStartTouch",
std::mem::size_of::<ControlPointStartTouchEvent>(),
),
(
"ControlPointEndTouch",
std::mem::size_of::<ControlPointEndTouchEvent>(),
),
(
"ControlPointPulseElement",
std::mem::size_of::<ControlPointPulseElementEvent>(),
),
(
"ControlPointFakeCapture",
std::mem::size_of::<ControlPointFakeCaptureEvent>(),
),
(
"ControlPointFakeCaptureMultiplier",
std::mem::size_of::<ControlPointFakeCaptureMultiplierEvent>(),
),
(
"TeamPlayRoundSelected",
std::mem::size_of::<TeamPlayRoundSelectedEvent>(),
),
(
"TeamPlayRoundStart",
std::mem::size_of::<TeamPlayRoundStartEvent>(),
),
(
"TeamPlayRoundActive",
std::mem::size_of::<TeamPlayRoundActiveEvent>(),
),
(
"TeamPlayWaitingBegins",
std::mem::size_of::<TeamPlayWaitingBeginsEvent>(),
),
(
"TeamPlayWaitingEnds",
std::mem::size_of::<TeamPlayWaitingEndsEvent>(),
),
(
"TeamPlayWaitingAboutToEnd",
std::mem::size_of::<TeamPlayWaitingAboutToEndEvent>(),
),
(
"TeamPlayRestartRound",
std::mem::size_of::<TeamPlayRestartRoundEvent>(),
),
(
"TeamPlayReadyRestart",
std::mem::size_of::<TeamPlayReadyRestartEvent>(),
),
(
"TeamPlayRoundRestartSeconds",
std::mem::size_of::<TeamPlayRoundRestartSecondsEvent>(),
),
(
"TeamPlayTeamReady",
std::mem::size_of::<TeamPlayTeamReadyEvent>(),
),
(
"TeamPlayRoundWin",
std::mem::size_of::<TeamPlayRoundWinEvent>(),
),
(
"TeamPlayUpdateTimer",
std::mem::size_of::<TeamPlayUpdateTimerEvent>(),
),
(
"TeamPlayRoundStalemate",
std::mem::size_of::<TeamPlayRoundStalemateEvent>(),
),
(
"TeamPlayOvertimeBegin",
std::mem::size_of::<TeamPlayOvertimeBeginEvent>(),
),
(
"TeamPlayOvertimeEnd",
std::mem::size_of::<TeamPlayOvertimeEndEvent>(),
),
(
"TeamPlaySuddenDeathBegin",
std::mem::size_of::<TeamPlaySuddenDeathBeginEvent>(),
),
(
"TeamPlaySuddenDeathEnd",
std::mem::size_of::<TeamPlaySuddenDeathEndEvent>(),
),
(
"TeamPlayGameOver",
std::mem::size_of::<TeamPlayGameOverEvent>(),
),
(
"TeamPlayMapTimeRemaining",
std::mem::size_of::<TeamPlayMapTimeRemainingEvent>(),
),
(
"TeamPlayTimerFlash",
std::mem::size_of::<TeamPlayTimerFlashEvent>(),
),
(
"TeamPlayTimerTimeAdded",
std::mem::size_of::<TeamPlayTimerTimeAddedEvent>(),
),
(
"TeamPlayPointStartCapture",
std::mem::size_of::<TeamPlayPointStartCaptureEvent>(),
),
(
"TeamPlayPointCaptured",
std::mem::size_of::<TeamPlayPointCapturedEvent>(),
),
(
"TeamPlayPointLocked",
std::mem::size_of::<TeamPlayPointLockedEvent>(),
),
(
"TeamPlayPointUnlocked",
std::mem::size_of::<TeamPlayPointUnlockedEvent>(),
),
(
"TeamPlayCaptureBroken",
std::mem::size_of::<TeamPlayCaptureBrokenEvent>(),
),
(
"TeamPlayCaptureBlocked",
std::mem::size_of::<TeamPlayCaptureBlockedEvent>(),
),
(
"TeamPlayFlagEvent",
std::mem::size_of::<TeamPlayFlagEventEvent>(),
),
(
"TeamPlayWinPanel",
std::mem::size_of::<TeamPlayWinPanelEvent>(),
),
(
"TeamPlayTeamBalancedPlayer",
std::mem::size_of::<TeamPlayTeamBalancedPlayerEvent>(),
),
(
"TeamPlaySetupFinished",
std::mem::size_of::<TeamPlaySetupFinishedEvent>(),
),
("TeamPlayAlert", std::mem::size_of::<TeamPlayAlertEvent>()),
(
"TrainingComplete",
std::mem::size_of::<TrainingCompleteEvent>(),
),
(
"ShowFreezePanel",
std::mem::size_of::<ShowFreezePanelEvent>(),
),
(
"HideFreezePanel",
std::mem::size_of::<HideFreezePanelEvent>(),
),
(
"FreezeCamStarted",
std::mem::size_of::<FreezeCamStartedEvent>(),
),
(
"LocalPlayerChangeTeam",
std::mem::size_of::<LocalPlayerChangeTeamEvent>(),
),
(
"LocalPlayerScoreChanged",
std::mem::size_of::<LocalPlayerScoreChangedEvent>(),
),
(
"LocalPlayerChangeClass",
std::mem::size_of::<LocalPlayerChangeClassEvent>(),
),
(
"LocalPlayerRespawn",
std::mem::size_of::<LocalPlayerRespawnEvent>(),
),
(
"BuildingInfoChanged",
std::mem::size_of::<BuildingInfoChangedEvent>(),
),
(
"LocalPlayerChangeDisguise",
std::mem::size_of::<LocalPlayerChangeDisguiseEvent>(),
),
(
"PlayerAccountChanged",
std::mem::size_of::<PlayerAccountChangedEvent>(),
),
("SpyPdaReset", std::mem::size_of::<SpyPdaResetEvent>()),
(
"FlagStatusUpdate",
std::mem::size_of::<FlagStatusUpdateEvent>(),
),
(
"PlayerStatsUpdated",
std::mem::size_of::<PlayerStatsUpdatedEvent>(),
),
(
"PlayingCommentary",
std::mem::size_of::<PlayingCommentaryEvent>(),
),
(
"PlayerChargeDeployed",
std::mem::size_of::<PlayerChargeDeployedEvent>(),
),
(
"PlayerBuiltObject",
std::mem::size_of::<PlayerBuiltObjectEvent>(),
),
(
"PlayerUpgradedObject",
std::mem::size_of::<PlayerUpgradedObjectEvent>(),
),
(
"PlayerCarryObject",
std::mem::size_of::<PlayerCarryObjectEvent>(),
),
(
"PlayerDropObject",
std::mem::size_of::<PlayerDropObjectEvent>(),
),
("ObjectRemoved", std::mem::size_of::<ObjectRemovedEvent>()),
(
"ObjectDestroyed",
std::mem::size_of::<ObjectDestroyedEvent>(),
),
(
"ObjectDetonated",
std::mem::size_of::<ObjectDetonatedEvent>(),
),
(
"AchievementEarned",
std::mem::size_of::<AchievementEarnedEvent>(),
),
(
"SpecTargetUpdated",
std::mem::size_of::<SpecTargetUpdatedEvent>(),
),
(
"TournamentStateUpdate",
std::mem::size_of::<TournamentStateUpdateEvent>(),
),
(
"TournamentEnableCountdown",
std::mem::size_of::<TournamentEnableCountdownEvent>(),
),
(
"PlayerCalledForMedic",
std::mem::size_of::<PlayerCalledForMedicEvent>(),
),
(
"PlayerAskedForBall",
std::mem::size_of::<PlayerAskedForBallEvent>(),
),
(
"LocalPlayerBecameObserver",
std::mem::size_of::<LocalPlayerBecameObserverEvent>(),
),
(
"PlayerIgnitedInv",
std::mem::size_of::<PlayerIgnitedInvEvent>(),
),
("PlayerIgnited", std::mem::size_of::<PlayerIgnitedEvent>()),
(
"PlayerExtinguished",
std::mem::size_of::<PlayerExtinguishedEvent>(),
),
(
"PlayerTeleported",
std::mem::size_of::<PlayerTeleportedEvent>(),
),
(
"PlayerHealedMedicCall",
std::mem::size_of::<PlayerHealedMedicCallEvent>(),
),
(
"LocalPlayerChargeReady",
std::mem::size_of::<LocalPlayerChargeReadyEvent>(),
),
(
"LocalPlayerWindDown",
std::mem::size_of::<LocalPlayerWindDownEvent>(),
),
("PlayerInvulned", std::mem::size_of::<PlayerInvulnedEvent>()),
("EscortSpeed", std::mem::size_of::<EscortSpeedEvent>()),
("EscortProgress", std::mem::size_of::<EscortProgressEvent>()),
("EscortRecede", std::mem::size_of::<EscortRecedeEvent>()),
(
"GameUIActivated",
std::mem::size_of::<GameUIActivatedEvent>(),
),
("GameUIHidden", std::mem::size_of::<GameUIHiddenEvent>()),
(
"PlayerEscortScore",
std::mem::size_of::<PlayerEscortScoreEvent>(),
),
(
"PlayerHealOnHit",
std::mem::size_of::<PlayerHealOnHitEvent>(),
),
(
"PlayerStealSandvich",
std::mem::size_of::<PlayerStealSandvichEvent>(),
),
(
"ShowClassLayout",
std::mem::size_of::<ShowClassLayoutEvent>(),
),
("ShowVsPanel", std::mem::size_of::<ShowVsPanelEvent>()),
("PlayerDamaged", std::mem::size_of::<PlayerDamagedEvent>()),
(
"ArenaPlayerNotification",
std::mem::size_of::<ArenaPlayerNotificationEvent>(),
),
(
"ArenaMatchMaxStreak",
std::mem::size_of::<ArenaMatchMaxStreakEvent>(),
),
(
"ArenaRoundStart",
std::mem::size_of::<ArenaRoundStartEvent>(),
),
("ArenaWinPanel", std::mem::size_of::<ArenaWinPanelEvent>()),
("PveWinPanel", std::mem::size_of::<PveWinPanelEvent>()),
("AirDash", std::mem::size_of::<AirDashEvent>()),
("Landed", std::mem::size_of::<LandedEvent>()),
(
"PlayerDamageDodged",
std::mem::size_of::<PlayerDamageDodgedEvent>(),
),
("PlayerStunned", std::mem::size_of::<PlayerStunnedEvent>()),
("ScoutGrandSlam", std::mem::size_of::<ScoutGrandSlamEvent>()),
(
"ScoutSlamdollLanded",
std::mem::size_of::<ScoutSlamdollLandedEvent>(),
),
("ArrowImpact", std::mem::size_of::<ArrowImpactEvent>()),
("PlayerJarated", std::mem::size_of::<PlayerJaratedEvent>()),
(
"PlayerJaratedFade",
std::mem::size_of::<PlayerJaratedFadeEvent>(),
),
(
"PlayerShieldBlocked",
std::mem::size_of::<PlayerShieldBlockedEvent>(),
),
("PlayerPinned", std::mem::size_of::<PlayerPinnedEvent>()),
(
"PlayerHealedByMedic",
std::mem::size_of::<PlayerHealedByMedicEvent>(),
),
(
"PlayerSappedObject",
std::mem::size_of::<PlayerSappedObjectEvent>(),
),
("ItemFound", std::mem::size_of::<ItemFoundEvent>()),
("ShowAnnotation", std::mem::size_of::<ShowAnnotationEvent>()),
("HideAnnotation", std::mem::size_of::<HideAnnotationEvent>()),
(
"PostInventoryApplication",
std::mem::size_of::<PostInventoryApplicationEvent>(),
),
(
"ControlPointUnlockUpdated",
std::mem::size_of::<ControlPointUnlockUpdatedEvent>(),
),
(
"DeployBuffBanner",
std::mem::size_of::<DeployBuffBannerEvent>(),
),
("PlayerBuff", std::mem::size_of::<PlayerBuffEvent>()),
("MedicDeath", std::mem::size_of::<MedicDeathEvent>()),
("OvertimeNag", std::mem::size_of::<OvertimeNagEvent>()),
("TeamsChanged", std::mem::size_of::<TeamsChangedEvent>()),
(
"HalloweenPumpkinGrab",
std::mem::size_of::<HalloweenPumpkinGrabEvent>(),
),
("RocketJump", std::mem::size_of::<RocketJumpEvent>()),
(
"RocketJumpLanded",
std::mem::size_of::<RocketJumpLandedEvent>(),
),
("StickyJump", std::mem::size_of::<StickyJumpEvent>()),
(
"StickyJumpLanded",
std::mem::size_of::<StickyJumpLandedEvent>(),
),
(
"RocketPackLaunch",
std::mem::size_of::<RocketPackLaunchEvent>(),
),
(
"RocketPackLanded",
std::mem::size_of::<RocketPackLandedEvent>(),
),
("MedicDefended", std::mem::size_of::<MedicDefendedEvent>()),
(
"LocalPlayerHealed",
std::mem::size_of::<LocalPlayerHealedEvent>(),
),
(
"PlayerDestroyedPipeBomb",
std::mem::size_of::<PlayerDestroyedPipeBombEvent>(),
),
(
"ObjectDeflected",
std::mem::size_of::<ObjectDeflectedEvent>(),
),
("PlayerMvp", std::mem::size_of::<PlayerMvpEvent>()),
("RaidSpawnMob", std::mem::size_of::<RaidSpawnMobEvent>()),
("RaidSpawnSquad", std::mem::size_of::<RaidSpawnSquadEvent>()),
("NavBlocked", std::mem::size_of::<NavBlockedEvent>()),
(
"PathTrackPassed",
std::mem::size_of::<PathTrackPassedEvent>(),
),
(
"NumCappersChanged",
std::mem::size_of::<NumCappersChangedEvent>(),
),
(
"PlayerRegenerate",
std::mem::size_of::<PlayerRegenerateEvent>(),
),
(
"UpdateStatusItem",
std::mem::size_of::<UpdateStatusItemEvent>(),
),
(
"StatsResetRound",
std::mem::size_of::<StatsResetRoundEvent>(),
),
(
"ScoreStatsAccumulatedUpdate",
std::mem::size_of::<ScoreStatsAccumulatedUpdateEvent>(),
),
(
"ScoreStatsAccumulatedReset",
std::mem::size_of::<ScoreStatsAccumulatedResetEvent>(),
),
(
"AchievementEarnedLocal",
std::mem::size_of::<AchievementEarnedLocalEvent>(),
),
("PlayerHealed", std::mem::size_of::<PlayerHealedEvent>()),
("BuildingHealed", std::mem::size_of::<BuildingHealedEvent>()),
("ItemPickup", std::mem::size_of::<ItemPickupEvent>()),
("DuelStatus", std::mem::size_of::<DuelStatusEvent>()),
("FishNotice", std::mem::size_of::<FishNoticeEvent>()),
("FishNoticeArm", std::mem::size_of::<FishNoticeArmEvent>()),
("SlapNotice", std::mem::size_of::<SlapNoticeEvent>()),
("ThrowableHit", std::mem::size_of::<ThrowableHitEvent>()),
(
"PumpkinLordSummoned",
std::mem::size_of::<PumpkinLordSummonedEvent>(),
),
(
"PumpkinLordKilled",
std::mem::size_of::<PumpkinLordKilledEvent>(),
),
(
"MerasmusSummoned",
std::mem::size_of::<MerasmusSummonedEvent>(),
),
("MerasmusKilled", std::mem::size_of::<MerasmusKilledEvent>()),
(
"MerasmusEscapeWarning",
std::mem::size_of::<MerasmusEscapeWarningEvent>(),
),
(
"MerasmusEscaped",
std::mem::size_of::<MerasmusEscapedEvent>(),
),
(
"EyeballBossSummoned",
std::mem::size_of::<EyeballBossSummonedEvent>(),
),
(
"EyeballBossStunned",
std::mem::size_of::<EyeballBossStunnedEvent>(),
),
(
"EyeballBossKilled",
std::mem::size_of::<EyeballBossKilledEvent>(),
),
(
"EyeballBossKiller",
std::mem::size_of::<EyeballBossKillerEvent>(),
),
(
"EyeballBossEscapeImminent",
std::mem::size_of::<EyeballBossEscapeImminentEvent>(),
),
(
"EyeballBossEscaped",
std::mem::size_of::<EyeballBossEscapedEvent>(),
),
("NpcHurt", std::mem::size_of::<NpcHurtEvent>()),
(
"ControlPointTimerUpdated",
std::mem::size_of::<ControlPointTimerUpdatedEvent>(),
),
(
"PlayerHighFiveStart",
std::mem::size_of::<PlayerHighFiveStartEvent>(),
),
(
"PlayerHighFiveCancel",
std::mem::size_of::<PlayerHighFiveCancelEvent>(),
),
(
"PlayerHighFiveSuccess",
std::mem::size_of::<PlayerHighFiveSuccessEvent>(),
),
(
"PlayerBonusPoints",
std::mem::size_of::<PlayerBonusPointsEvent>(),
),
("PlayerUpgraded", std::mem::size_of::<PlayerUpgradedEvent>()),
("PlayerBuyback", std::mem::size_of::<PlayerBuybackEvent>()),
(
"PlayerUsedPowerUpBottle",
std::mem::size_of::<PlayerUsedPowerUpBottleEvent>(),
),
(
"ChristmasGiftGrab",
std::mem::size_of::<ChristmasGiftGrabEvent>(),
),
(
"PlayerKilledAchievementZone",
std::mem::size_of::<PlayerKilledAchievementZoneEvent>(),
),
("PartyUpdated", std::mem::size_of::<PartyUpdatedEvent>()),
(
"PartyPrefChanged",
std::mem::size_of::<PartyPrefChangedEvent>(),
),
(
"PartyCriteriaChanged",
std::mem::size_of::<PartyCriteriaChangedEvent>(),
),
(
"PartyInvitesChanged",
std::mem::size_of::<PartyInvitesChangedEvent>(),
),
(
"PartyQueueStateChanged",
std::mem::size_of::<PartyQueueStateChangedEvent>(),
),
("PartyChat", std::mem::size_of::<PartyChatEvent>()),
(
"PartyMemberJoin",
std::mem::size_of::<PartyMemberJoinEvent>(),
),
(
"PartyMemberLeave",
std::mem::size_of::<PartyMemberLeaveEvent>(),
),
(
"MatchInvitesUpdated",
std::mem::size_of::<MatchInvitesUpdatedEvent>(),
),
("LobbyUpdated", std::mem::size_of::<LobbyUpdatedEvent>()),
(
"MvmMissionUpdate",
std::mem::size_of::<MvmMissionUpdateEvent>(),
),
(
"RecalculateHolidays",
std::mem::size_of::<RecalculateHolidaysEvent>(),
),
(
"PlayerCurrencyChanged",
std::mem::size_of::<PlayerCurrencyChangedEvent>(),
),
(
"DoomsdayRocketOpen",
std::mem::size_of::<DoomsdayRocketOpenEvent>(),
),
(
"RemoveNemesisRelationships",
std::mem::size_of::<RemoveNemesisRelationshipsEvent>(),
),
(
"MvmCreditBonusWave",
std::mem::size_of::<MvmCreditBonusWaveEvent>(),
),
(
"MvmCreditBonusAll",
std::mem::size_of::<MvmCreditBonusAllEvent>(),
),
(
"MvmCreditBonusAllAdvanced",
std::mem::size_of::<MvmCreditBonusAllAdvancedEvent>(),
),
(
"MvmQuickSentryUpgrade",
std::mem::size_of::<MvmQuickSentryUpgradeEvent>(),
),
(
"MvmTankDestroyedByPlayers",
std::mem::size_of::<MvmTankDestroyedByPlayersEvent>(),
),
(
"MvmKillRobotDeliveringBomb",
std::mem::size_of::<MvmKillRobotDeliveringBombEvent>(),
),
(
"MvmPickupCurrency",
std::mem::size_of::<MvmPickupCurrencyEvent>(),
),
(
"MvmBombCarrierKilled",
std::mem::size_of::<MvmBombCarrierKilledEvent>(),
),
(
"MvmSentryBusterDetonate",
std::mem::size_of::<MvmSentryBusterDetonateEvent>(),
),
(
"MvmScoutMarkedForDeath",
std::mem::size_of::<MvmScoutMarkedForDeathEvent>(),
),
(
"MvmMedicPowerUpShared",
std::mem::size_of::<MvmMedicPowerUpSharedEvent>(),
),
("MvmBeginWave", std::mem::size_of::<MvmBeginWaveEvent>()),
(
"MvmWaveComplete",
std::mem::size_of::<MvmWaveCompleteEvent>(),
),
(
"MvmMissionComplete",
std::mem::size_of::<MvmMissionCompleteEvent>(),
),
(
"MvmBombResetByPlayer",
std::mem::size_of::<MvmBombResetByPlayerEvent>(),
),
(
"MvmBombAlarmTriggered",
std::mem::size_of::<MvmBombAlarmTriggeredEvent>(),
),
(
"MvmBombDeployResetByPlayer",
std::mem::size_of::<MvmBombDeployResetByPlayerEvent>(),
),
("MvmWaveFailed", std::mem::size_of::<MvmWaveFailedEvent>()),
("MvmResetStats", std::mem::size_of::<MvmResetStatsEvent>()),
("DamageResisted", std::mem::size_of::<DamageResistedEvent>()),
(
"RevivePlayerNotify",
std::mem::size_of::<RevivePlayerNotifyEvent>(),
),
(
"RevivePlayerStopped",
std::mem::size_of::<RevivePlayerStoppedEvent>(),
),
(
"RevivePlayerComplete",
std::mem::size_of::<RevivePlayerCompleteEvent>(),
),
(
"PlayerTurnedToGhost",
std::mem::size_of::<PlayerTurnedToGhostEvent>(),
),
(
"MedigunShieldBlockedDamage",
std::mem::size_of::<MedigunShieldBlockedDamageEvent>(),
),
(
"MvmAdvWaveCompleteNoGates",
std::mem::size_of::<MvmAdvWaveCompleteNoGatesEvent>(),
),
(
"MvmSniperHeadshotCurrency",
std::mem::size_of::<MvmSniperHeadshotCurrencyEvent>(),
),
(
"MvmMannhattanPit",
std::mem::size_of::<MvmMannhattanPitEvent>(),
),
(
"FlagCarriedInDetectionZone",
std::mem::size_of::<FlagCarriedInDetectionZoneEvent>(),
),
(
"MvmAdvWaveKilledStunRadio",
std::mem::size_of::<MvmAdvWaveKilledStunRadioEvent>(),
),
(
"PlayerDirectHitStun",
std::mem::size_of::<PlayerDirectHitStunEvent>(),
),
(
"MvmSentryBusterKilled",
std::mem::size_of::<MvmSentryBusterKilledEvent>(),
),
(
"UpgradesFileChanged",
std::mem::size_of::<UpgradesFileChangedEvent>(),
),
(
"RdTeamPointsChanged",
std::mem::size_of::<RdTeamPointsChangedEvent>(),
),
(
"RdRulesStateChanged",
std::mem::size_of::<RdRulesStateChangedEvent>(),
),
("RdRobotKilled", std::mem::size_of::<RdRobotKilledEvent>()),
("RdRobotImpact", std::mem::size_of::<RdRobotImpactEvent>()),
(
"TeamPlayPreRoundTimeLeft",
std::mem::size_of::<TeamPlayPreRoundTimeLeftEvent>(),
),
(
"ParachuteDeploy",
std::mem::size_of::<ParachuteDeployEvent>(),
),
(
"ParachuteHolster",
std::mem::size_of::<ParachuteHolsterEvent>(),
),
(
"KillRefillsMeter",
std::mem::size_of::<KillRefillsMeterEvent>(),
),
("RpsTauntEvent", std::mem::size_of::<RpsTauntEventEvent>()),
("CongaKill", std::mem::size_of::<CongaKillEvent>()),
(
"PlayerInitialSpawn",
std::mem::size_of::<PlayerInitialSpawnEvent>(),
),
(
"CompetitiveVictory",
std::mem::size_of::<CompetitiveVictoryEvent>(),
),
(
"CompetitiveStatsUpdate",
std::mem::size_of::<CompetitiveStatsUpdateEvent>(),
),
("MiniGameWin", std::mem::size_of::<MiniGameWinEvent>()),
(
"SentryOnGoActive",
std::mem::size_of::<SentryOnGoActiveEvent>(),
),
("DuckXpLevelUp", std::mem::size_of::<DuckXpLevelUpEvent>()),
("QuestLogOpened", std::mem::size_of::<QuestLogOpenedEvent>()),
("SchemaUpdated", std::mem::size_of::<SchemaUpdatedEvent>()),
(
"LocalPlayerPickupWeapon",
std::mem::size_of::<LocalPlayerPickupWeaponEvent>(),
),
(
"RdPlayerScorePoints",
std::mem::size_of::<RdPlayerScorePointsEvent>(),
),
(
"DemomanDetStickies",
std::mem::size_of::<DemomanDetStickiesEvent>(),
),
(
"QuestObjectiveCompleted",
std::mem::size_of::<QuestObjectiveCompletedEvent>(),
),
(
"PlayerScoreChanged",
std::mem::size_of::<PlayerScoreChangedEvent>(),
),
(
"KilledCappingPlayer",
std::mem::size_of::<KilledCappingPlayerEvent>(),
),
(
"EnvironmentalDeath",
std::mem::size_of::<EnvironmentalDeathEvent>(),
),
(
"ProjectileDirectHit",
std::mem::size_of::<ProjectileDirectHitEvent>(),
),
("PassGet", std::mem::size_of::<PassGetEvent>()),
("PassScore", std::mem::size_of::<PassScoreEvent>()),
("PassFree", std::mem::size_of::<PassFreeEvent>()),
("PassPassCaught", std::mem::size_of::<PassPassCaughtEvent>()),
("PassBallStolen", std::mem::size_of::<PassBallStolenEvent>()),
(
"PassBallBlocked",
std::mem::size_of::<PassBallBlockedEvent>(),
),
(
"DamagePrevented",
std::mem::size_of::<DamagePreventedEvent>(),
),
(
"HalloweenBossKilled",
std::mem::size_of::<HalloweenBossKilledEvent>(),
),
(
"EscapedLootIsland",
std::mem::size_of::<EscapedLootIslandEvent>(),
),
(
"TaggedPlayerAsIt",
std::mem::size_of::<TaggedPlayerAsItEvent>(),
),
(
"MerasmusStunned",
std::mem::size_of::<MerasmusStunnedEvent>(),
),
(
"MerasmusPropFound",
std::mem::size_of::<MerasmusPropFoundEvent>(),
),
(
"HalloweenSkeletonKilled",
std::mem::size_of::<HalloweenSkeletonKilledEvent>(),
),
("EscapeHell", std::mem::size_of::<EscapeHellEvent>()),
(
"CrossSpectralBridge",
std::mem::size_of::<CrossSpectralBridgeEvent>(),
),
("MiniGameWon", std::mem::size_of::<MiniGameWonEvent>()),
("RespawnGhost", std::mem::size_of::<RespawnGhostEvent>()),
("KillInHell", std::mem::size_of::<KillInHellEvent>()),
(
"HalloweenDuckCollected",
std::mem::size_of::<HalloweenDuckCollectedEvent>(),
),
("SpecialScore", std::mem::size_of::<SpecialScoreEvent>()),
(
"TeamLeaderKilled",
std::mem::size_of::<TeamLeaderKilledEvent>(),
),
(
"HalloweenSoulCollected",
std::mem::size_of::<HalloweenSoulCollectedEvent>(),
),
(
"RecalculateTruce",
std::mem::size_of::<RecalculateTruceEvent>(),
),
(
"DeadRingerCheatDeath",
std::mem::size_of::<DeadRingerCheatDeathEvent>(),
),
("CrossbowHeal", std::mem::size_of::<CrossbowHealEvent>()),
(
"DamageMitigated",
std::mem::size_of::<DamageMitigatedEvent>(),
),
("PayloadPushed", std::mem::size_of::<PayloadPushedEvent>()),
(
"PlayerAbandonedMatch",
std::mem::size_of::<PlayerAbandonedMatchEvent>(),
),
("ClDrawline", std::mem::size_of::<ClDrawlineEvent>()),
(
"RestartTimerTime",
std::mem::size_of::<RestartTimerTimeEvent>(),
),
(
"WinLimitChanged",
std::mem::size_of::<WinLimitChangedEvent>(),
),
(
"WinPanelShowScores",
std::mem::size_of::<WinPanelShowScoresEvent>(),
),
(
"TopStreamsRequestFinished",
std::mem::size_of::<TopStreamsRequestFinishedEvent>(),
),
(
"CompetitiveStateChanged",
std::mem::size_of::<CompetitiveStateChangedEvent>(),
),
(
"GlobalWarDataUpdated",
std::mem::size_of::<GlobalWarDataUpdatedEvent>(),
),
(
"StopWatchChanged",
std::mem::size_of::<StopWatchChangedEvent>(),
),
("DsStop", std::mem::size_of::<DsStopEvent>()),
("DsScreenshot", std::mem::size_of::<DsScreenshotEvent>()),
(
"ShowMatchSummary",
std::mem::size_of::<ShowMatchSummaryEvent>(),
),
(
"ExperienceChanged",
std::mem::size_of::<ExperienceChangedEvent>(),
),
("BeginXpLerp", std::mem::size_of::<BeginXpLerpEvent>()),
(
"MatchmakerStatsUpdated",
std::mem::size_of::<MatchmakerStatsUpdatedEvent>(),
),
(
"RematchVotePeriodOver",
std::mem::size_of::<RematchVotePeriodOverEvent>(),
),
(
"RematchFailedToCreate",
std::mem::size_of::<RematchFailedToCreateEvent>(),
),
(
"PlayerRematchChange",
std::mem::size_of::<PlayerRematchChangeEvent>(),
),
("PingUpdated", std::mem::size_of::<PingUpdatedEvent>()),
("MMStatsUpdated", std::mem::size_of::<MMStatsUpdatedEvent>()),
(
"PlayerNextMapVoteChange",
std::mem::size_of::<PlayerNextMapVoteChangeEvent>(),
),
(
"VoteMapsChanged",
std::mem::size_of::<VoteMapsChangedEvent>(),
),
(
"ProtoDefChanged",
std::mem::size_of::<ProtoDefChangedEvent>(),
),
(
"PlayerDomination",
std::mem::size_of::<PlayerDominationEvent>(),
),
(
"PlayerRocketPackPushed",
std::mem::size_of::<PlayerRocketPackPushedEvent>(),
),
("QuestRequest", std::mem::size_of::<QuestRequestEvent>()),
("QuestResponse", std::mem::size_of::<QuestResponseEvent>()),
("QuestProgress", std::mem::size_of::<QuestProgressEvent>()),
(
"ProjectileRemoved",
std::mem::size_of::<ProjectileRemovedEvent>(),
),
(
"QuestMapDataChanged",
std::mem::size_of::<QuestMapDataChangedEvent>(),
),
(
"GasDousedPlayerIgnited",
std::mem::size_of::<GasDousedPlayerIgnitedEvent>(),
),
(
"QuestTurnInState",
std::mem::size_of::<QuestTurnInStateEvent>(),
),
(
"ItemsAcknowledged",
std::mem::size_of::<ItemsAcknowledgedEvent>(),
),
("CapperKilled", std::mem::size_of::<CapperKilledEvent>()),
(
"MainMenuStabilized",
std::mem::size_of::<MainMenuStabilizedEvent>(),
),
(
"WorldStatusChanged",
std::mem::size_of::<WorldStatusChangedEvent>(),
),
("HLTVStatus", std::mem::size_of::<HLTVStatusEvent>()),
("HLTVCameraman", std::mem::size_of::<HLTVCameramanEvent>()),
("HLTVRankCamera", std::mem::size_of::<HLTVRankCameraEvent>()),
("HLTVRankEntity", std::mem::size_of::<HLTVRankEntityEvent>()),
("HLTVFixed", std::mem::size_of::<HLTVFixedEvent>()),
("HLTVChase", std::mem::size_of::<HLTVChaseEvent>()),
("HLTVMessage", std::mem::size_of::<HLTVMessageEvent>()),
("HLTVTitle", std::mem::size_of::<HLTVTitleEvent>()),
("HLTVChat", std::mem::size_of::<HLTVChatEvent>()),
(
"ReplayStartRecord",
std::mem::size_of::<ReplayStartRecordEvent>(),
),
(
"ReplaySessionInfo",
std::mem::size_of::<ReplaySessionInfoEvent>(),
),
(
"ReplayEndRecord",
std::mem::size_of::<ReplayEndRecordEvent>(),
),
(
"ReplayReplaysAvailable",
std::mem::size_of::<ReplayReplaysAvailableEvent>(),
),
(
"ReplayServerError",
std::mem::size_of::<ReplayServerErrorEvent>(),
),
]
.into_iter()
.collect()
}