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

properly reencode unknown game event definitions

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

View file

@ -6282,410 +6282,410 @@ pub enum GameEvent {
ReplayServerError(ReplayServerErrorEvent),
Unknown(RawGameEvent),
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[derive(Clone, 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,
ServerSpawn,
ServerChangeLevelFailed,
ServerShutdown,
ServerCvar,
ServerMessage,
ServerAddBan,
ServerRemoveBan,
PlayerConnect,
PlayerConnectClient,
PlayerInfo,
PlayerDisconnect,
PlayerActivate,
PlayerSay,
ClientDisconnect,
ClientBeginConnect,
ClientConnected,
ClientFullConnect,
HostQuit,
TeamInfo,
TeamScore,
TeamPlayBroadcastAudio,
PlayerTeam,
PlayerClass,
PlayerDeath,
PlayerHurt,
PlayerChat,
PlayerScore,
PlayerSpawn,
PlayerShoot,
PlayerUse,
PlayerChangeName,
PlayerHintMessage,
BasePlayerTeleported,
GameInit,
GameNewMap,
GameStart,
GameEnd,
RoundStart,
RoundEnd,
GameMessage,
BreakBreakable,
BreakProp,
EntityKilled,
BonusUpdated,
AchievementEvent,
AchievementIncrement,
PhysgunPickup,
FlareIgniteNpc,
HelicopterGrenadePuntMiss,
UserDataDownloaded,
RagdollDissolved,
HLTVChangedMode,
HLTVChangedTarget,
VoteEnded,
VoteStarted,
VoteChanged,
VotePassed,
VoteFailed,
VoteCast,
VoteOptions,
ReplaySaved,
EnteredPerformanceMode,
BrowseReplays,
ReplayYoutubeStats,
InventoryUpdated,
CartUpdated,
StorePriceSheetUpdated,
EconInventoryConnected,
ItemSchemaInitialized,
GcNewSession,
GcLostSession,
IntroFinish,
IntroNextCamera,
PlayerChangeClass,
TfMapTimeRemaining,
TfGameOver,
CtfFlagCaptured,
ControlPointInitialized,
ControlPointUpdateImages,
ControlPointUpdateLayout,
ControlPointUpdateCapping,
ControlPointUpdateOwner,
ControlPointStartTouch,
ControlPointEndTouch,
ControlPointPulseElement,
ControlPointFakeCapture,
ControlPointFakeCaptureMultiplier,
TeamPlayRoundSelected,
TeamPlayRoundStart,
TeamPlayRoundActive,
TeamPlayWaitingBegins,
TeamPlayWaitingEnds,
TeamPlayWaitingAboutToEnd,
TeamPlayRestartRound,
TeamPlayReadyRestart,
TeamPlayRoundRestartSeconds,
TeamPlayTeamReady,
TeamPlayRoundWin,
TeamPlayUpdateTimer,
TeamPlayRoundStalemate,
TeamPlayOvertimeBegin,
TeamPlayOvertimeEnd,
TeamPlaySuddenDeathBegin,
TeamPlaySuddenDeathEnd,
TeamPlayGameOver,
TeamPlayMapTimeRemaining,
TeamPlayTimerFlash,
TeamPlayTimerTimeAdded,
TeamPlayPointStartCapture,
TeamPlayPointCaptured,
TeamPlayPointLocked,
TeamPlayPointUnlocked,
TeamPlayCaptureBroken,
TeamPlayCaptureBlocked,
TeamPlayFlagEvent,
TeamPlayWinPanel,
TeamPlayTeamBalancedPlayer,
TeamPlaySetupFinished,
TeamPlayAlert,
TrainingComplete,
ShowFreezePanel,
HideFreezePanel,
FreezeCamStarted,
LocalPlayerChangeTeam,
LocalPlayerScoreChanged,
LocalPlayerChangeClass,
LocalPlayerRespawn,
BuildingInfoChanged,
LocalPlayerChangeDisguise,
PlayerAccountChanged,
SpyPdaReset,
FlagStatusUpdate,
PlayerStatsUpdated,
PlayingCommentary,
PlayerChargeDeployed,
PlayerBuiltObject,
PlayerUpgradedObject,
PlayerCarryObject,
PlayerDropObject,
ObjectRemoved,
ObjectDestroyed,
ObjectDetonated,
AchievementEarned,
SpecTargetUpdated,
TournamentStateUpdate,
TournamentEnableCountdown,
PlayerCalledForMedic,
PlayerAskedForBall,
LocalPlayerBecameObserver,
PlayerIgnitedInv,
PlayerIgnited,
PlayerExtinguished,
PlayerTeleported,
PlayerHealedMedicCall,
LocalPlayerChargeReady,
LocalPlayerWindDown,
PlayerInvulned,
EscortSpeed,
EscortProgress,
EscortRecede,
GameUIActivated,
GameUIHidden,
PlayerEscortScore,
PlayerHealOnHit,
PlayerStealSandvich,
ShowClassLayout,
ShowVsPanel,
PlayerDamaged,
ArenaPlayerNotification,
ArenaMatchMaxStreak,
ArenaRoundStart,
ArenaWinPanel,
PveWinPanel,
AirDash,
Landed,
PlayerDamageDodged,
PlayerStunned,
ScoutGrandSlam,
ScoutSlamdollLanded,
ArrowImpact,
PlayerJarated,
PlayerJaratedFade,
PlayerShieldBlocked,
PlayerPinned,
PlayerHealedByMedic,
PlayerSappedObject,
ItemFound,
ShowAnnotation,
HideAnnotation,
PostInventoryApplication,
ControlPointUnlockUpdated,
DeployBuffBanner,
PlayerBuff,
MedicDeath,
OvertimeNag,
TeamsChanged,
HalloweenPumpkinGrab,
RocketJump,
RocketJumpLanded,
StickyJump,
StickyJumpLanded,
RocketPackLaunch,
RocketPackLanded,
MedicDefended,
LocalPlayerHealed,
PlayerDestroyedPipeBomb,
ObjectDeflected,
PlayerMvp,
RaidSpawnMob,
RaidSpawnSquad,
NavBlocked,
PathTrackPassed,
NumCappersChanged,
PlayerRegenerate,
UpdateStatusItem,
StatsResetRound,
ScoreStatsAccumulatedUpdate,
ScoreStatsAccumulatedReset,
AchievementEarnedLocal,
PlayerHealed,
BuildingHealed,
ItemPickup,
DuelStatus,
FishNotice,
FishNoticeArm,
SlapNotice,
ThrowableHit,
PumpkinLordSummoned,
PumpkinLordKilled,
MerasmusSummoned,
MerasmusKilled,
MerasmusEscapeWarning,
MerasmusEscaped,
EyeballBossSummoned,
EyeballBossStunned,
EyeballBossKilled,
EyeballBossKiller,
EyeballBossEscapeImminent,
EyeballBossEscaped,
NpcHurt,
ControlPointTimerUpdated,
PlayerHighFiveStart,
PlayerHighFiveCancel,
PlayerHighFiveSuccess,
PlayerBonusPoints,
PlayerUpgraded,
PlayerBuyback,
PlayerUsedPowerUpBottle,
ChristmasGiftGrab,
PlayerKilledAchievementZone,
PartyUpdated,
PartyPrefChanged,
PartyCriteriaChanged,
PartyInvitesChanged,
PartyQueueStateChanged,
PartyChat,
PartyMemberJoin,
PartyMemberLeave,
MatchInvitesUpdated,
LobbyUpdated,
MvmMissionUpdate,
RecalculateHolidays,
PlayerCurrencyChanged,
DoomsdayRocketOpen,
RemoveNemesisRelationships,
MvmCreditBonusWave,
MvmCreditBonusAll,
MvmCreditBonusAllAdvanced,
MvmQuickSentryUpgrade,
MvmTankDestroyedByPlayers,
MvmKillRobotDeliveringBomb,
MvmPickupCurrency,
MvmBombCarrierKilled,
MvmSentryBusterDetonate,
MvmScoutMarkedForDeath,
MvmMedicPowerUpShared,
MvmBeginWave,
MvmWaveComplete,
MvmMissionComplete,
MvmBombResetByPlayer,
MvmBombAlarmTriggered,
MvmBombDeployResetByPlayer,
MvmWaveFailed,
MvmResetStats,
DamageResisted,
RevivePlayerNotify,
RevivePlayerStopped,
RevivePlayerComplete,
PlayerTurnedToGhost,
MedigunShieldBlockedDamage,
MvmAdvWaveCompleteNoGates,
MvmSniperHeadshotCurrency,
MvmMannhattanPit,
FlagCarriedInDetectionZone,
MvmAdvWaveKilledStunRadio,
PlayerDirectHitStun,
MvmSentryBusterKilled,
UpgradesFileChanged,
RdTeamPointsChanged,
RdRulesStateChanged,
RdRobotKilled,
RdRobotImpact,
TeamPlayPreRoundTimeLeft,
ParachuteDeploy,
ParachuteHolster,
KillRefillsMeter,
RpsTauntEvent,
CongaKill,
PlayerInitialSpawn,
CompetitiveVictory,
CompetitiveStatsUpdate,
MiniGameWin,
SentryOnGoActive,
DuckXpLevelUp,
QuestLogOpened,
SchemaUpdated,
LocalPlayerPickupWeapon,
RdPlayerScorePoints,
DemomanDetStickies,
QuestObjectiveCompleted,
PlayerScoreChanged,
KilledCappingPlayer,
EnvironmentalDeath,
ProjectileDirectHit,
PassGet,
PassScore,
PassFree,
PassPassCaught,
PassBallStolen,
PassBallBlocked,
DamagePrevented,
HalloweenBossKilled,
EscapedLootIsland,
TaggedPlayerAsIt,
MerasmusStunned,
MerasmusPropFound,
HalloweenSkeletonKilled,
EscapeHell,
CrossSpectralBridge,
MiniGameWon,
RespawnGhost,
KillInHell,
HalloweenDuckCollected,
SpecialScore,
TeamLeaderKilled,
HalloweenSoulCollected,
RecalculateTruce,
DeadRingerCheatDeath,
CrossbowHeal,
DamageMitigated,
PayloadPushed,
PlayerAbandonedMatch,
ClDrawline,
RestartTimerTime,
WinLimitChanged,
WinPanelShowScores,
TopStreamsRequestFinished,
CompetitiveStateChanged,
GlobalWarDataUpdated,
StopWatchChanged,
DsStop,
DsScreenshot,
ShowMatchSummary,
ExperienceChanged,
BeginXpLerp,
MatchmakerStatsUpdated,
RematchVotePeriodOver,
RematchFailedToCreate,
PlayerRematchChange,
PingUpdated,
MMStatsUpdated,
PlayerNextMapVoteChange,
VoteMapsChanged,
ProtoDefChanged,
PlayerDomination,
PlayerRocketPackPushed,
QuestRequest,
QuestResponse,
QuestProgress,
ProjectileRemoved,
QuestMapDataChanged,
GasDousedPlayerIgnited,
QuestTurnInState,
ItemsAcknowledged,
CapperKilled,
MainMenuStabilized,
WorldStatusChanged,
HLTVStatus,
HLTVCameraman,
HLTVRankCamera,
HLTVRankEntity,
HLTVFixed,
HLTVChase,
HLTVMessage,
HLTVTitle,
HLTVChat,
ReplayStartRecord,
ReplaySessionInfo,
ReplayEndRecord,
ReplayReplaysAvailable,
ReplayServerError,
Unknown(String),
}
impl GameEventType {
pub fn from_type_name(name: &str) -> Self {
@ -7091,10 +7091,10 @@ impl GameEventType {
"replay_endrecord" => GameEventType::ReplayEndRecord,
"replay_replaysavailable" => GameEventType::ReplayReplaysAvailable,
"replay_servererror" => GameEventType::ReplayServerError,
_ => GameEventType::Unknown,
ty => GameEventType::Unknown(ty.into()),
}
}
pub fn as_str(&self) -> &'static str {
pub fn as_str(&self) -> &str {
match self {
GameEventType::ServerSpawn => "server_spawn",
GameEventType::ServerChangeLevelFailed => "server_changelevel_failed",
@ -7497,7 +7497,7 @@ impl GameEventType {
GameEventType::ReplayEndRecord => "replay_endrecord",
GameEventType::ReplayReplaysAvailable => "replay_replaysavailable",
GameEventType::ReplayServerError => "replay_servererror",
GameEventType::Unknown => "unknown",
GameEventType::Unknown(ty) => &ty,
}
}
}
@ -8697,7 +8697,9 @@ impl GameEvent {
GameEventType::ReplayServerError => {
GameEvent::ReplayServerError(ReplayServerErrorEvent::read(stream, definition)?)
}
GameEventType::Unknown => GameEvent::Unknown(RawGameEvent::read(stream, definition)?),
GameEventType::Unknown(_) => {
GameEvent::Unknown(RawGameEvent::read(stream, definition)?)
}
})
}
pub fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> bitbuffer::Result<()> {

View file

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

View file

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