package main //////////////////////////////////////////////////////////////////////////////// // // .aMMMb .aMMMb dMMMMb dMMMMMP // dMP"VMP dMP"dMP dMP VMP dMP // dMP dMP dMP dMP dMP dMMMP // dMP.aMP dMP.aMP dMP.aMP dMP // VMMMP" VMMMP" dMMMMP" dMMMMMP // // .aMMMMP dMMMMMP dMMMMb dMMMMMP dMMMMb .aMMMb dMMMMMMP dMMMMMP dMMMMb // dMP" dMP dMP dMP dMP dMP.dMP dMP"dMP dMP dMP dMP VMP // dMP MMP"dMMMP dMP dMP dMMMP dMMMMK" dMMMMMP dMP dMMMP dMP dMP // dMP.dMP dMP dMP dMP dMP dMP"AMF dMP dMP dMP dMP dMP.aMP // VMMMP" dMMMMMP dMP dMP dMMMMMP dMP dMP dMP dMP dMP dMMMMMP dMMMMP" // // // This code was generated by a code-generation program. It was NOT written by // hand. Do not edit this file by hand! Your edits will be destroyed! // // This file can be regenerated by running "go generate" // // The generator program is defined in "gen/main.go" // //////////////////////////////////////////////////////////////////////////////// import ( "fmt" "github.com/golang/protobuf/proto" "github.com/jordanorelli/hyperstone/dota" "sync" ) type packetType int32 type entityType int32 const ( EDemoCommands_DEM_Error packetType = -1 EDemoCommands_DEM_Stop packetType = 0 EDemoCommands_DEM_FileHeader packetType = 1 EDemoCommands_DEM_FileInfo packetType = 2 EDemoCommands_DEM_SyncTick packetType = 3 EDemoCommands_DEM_SendTables packetType = 4 EDemoCommands_DEM_ClassInfo packetType = 5 EDemoCommands_DEM_StringTables packetType = 6 EDemoCommands_DEM_Packet packetType = 7 EDemoCommands_DEM_SignonPacket packetType = 8 EDemoCommands_DEM_ConsoleCmd packetType = 9 EDemoCommands_DEM_CustomData packetType = 10 EDemoCommands_DEM_CustomDataCallbacks packetType = 11 EDemoCommands_DEM_UserCmd packetType = 12 EDemoCommands_DEM_FullPacket packetType = 13 EDemoCommands_DEM_SaveGame packetType = 14 EDemoCommands_DEM_SpawnGroups packetType = 15 NET_Messages_net_NOP entityType = 0 NET_Messages_net_Disconnect entityType = 1 NET_Messages_net_SplitScreenUser entityType = 3 NET_Messages_net_Tick entityType = 4 NET_Messages_net_StringCmd entityType = 5 NET_Messages_net_SetConVar entityType = 6 NET_Messages_net_SignonState entityType = 7 NET_Messages_net_SpawnGroup_Load entityType = 8 NET_Messages_net_SpawnGroup_ManifestUpdate entityType = 9 NET_Messages_net_SpawnGroup_SetCreationTick entityType = 11 NET_Messages_net_SpawnGroup_Unload entityType = 12 NET_Messages_net_SpawnGroup_LoadCompleted entityType = 13 SVC_Messages_svc_ServerInfo entityType = 40 SVC_Messages_svc_FlattenedSerializer entityType = 41 SVC_Messages_svc_ClassInfo entityType = 42 SVC_Messages_svc_SetPause entityType = 43 SVC_Messages_svc_CreateStringTable entityType = 44 SVC_Messages_svc_UpdateStringTable entityType = 45 SVC_Messages_svc_VoiceInit entityType = 46 SVC_Messages_svc_VoiceData entityType = 47 SVC_Messages_svc_Print entityType = 48 SVC_Messages_svc_Sounds entityType = 49 SVC_Messages_svc_SetView entityType = 50 SVC_Messages_svc_ClearAllStringTables entityType = 51 SVC_Messages_svc_CmdKeyValues entityType = 52 SVC_Messages_svc_BSPDecal entityType = 53 SVC_Messages_svc_SplitScreen entityType = 54 SVC_Messages_svc_PacketEntities entityType = 55 SVC_Messages_svc_Prefetch entityType = 56 SVC_Messages_svc_Menu entityType = 57 SVC_Messages_svc_GetCvarValue entityType = 58 SVC_Messages_svc_StopSound entityType = 59 SVC_Messages_svc_PeerList entityType = 60 SVC_Messages_svc_PacketReliable entityType = 61 SVC_Messages_svc_HLTVStatus entityType = 62 SVC_Messages_svc_ServerSteamID entityType = 63 SVC_Messages_svc_FullFrameSplit entityType = 70 EBaseUserMessages_UM_AchievementEvent entityType = 101 EBaseUserMessages_UM_CloseCaption entityType = 102 EBaseUserMessages_UM_CloseCaptionDirect entityType = 103 EBaseUserMessages_UM_CurrentTimescale entityType = 104 EBaseUserMessages_UM_DesiredTimescale entityType = 105 EBaseUserMessages_UM_Fade entityType = 106 EBaseUserMessages_UM_GameTitle entityType = 107 EBaseUserMessages_UM_HintText entityType = 109 EBaseUserMessages_UM_HudMsg entityType = 110 EBaseUserMessages_UM_HudText entityType = 111 EBaseUserMessages_UM_KeyHintText entityType = 112 EBaseUserMessages_UM_ColoredText entityType = 113 EBaseUserMessages_UM_RequestState entityType = 114 EBaseUserMessages_UM_ResetHUD entityType = 115 EBaseUserMessages_UM_Rumble entityType = 116 EBaseUserMessages_UM_SayText entityType = 117 EBaseUserMessages_UM_SayText2 entityType = 118 EBaseUserMessages_UM_SayTextChannel entityType = 119 EBaseUserMessages_UM_Shake entityType = 120 EBaseUserMessages_UM_ShakeDir entityType = 121 EBaseUserMessages_UM_TextMsg entityType = 124 EBaseUserMessages_UM_ScreenTilt entityType = 125 EBaseUserMessages_UM_Train entityType = 126 EBaseUserMessages_UM_VGUIMenu entityType = 127 EBaseUserMessages_UM_VoiceMask entityType = 128 EBaseUserMessages_UM_VoiceSubtitle entityType = 129 EBaseUserMessages_UM_SendAudio entityType = 130 EBaseUserMessages_UM_ItemPickup entityType = 131 EBaseUserMessages_UM_AmmoDenied entityType = 132 EBaseUserMessages_UM_CrosshairAngle entityType = 133 EBaseUserMessages_UM_ShowMenu entityType = 134 EBaseUserMessages_UM_CreditsMsg entityType = 135 EBaseEntityMessages_EM_PlayJingle entityType = 136 EBaseEntityMessages_EM_ScreenOverlay entityType = 137 EBaseEntityMessages_EM_RemoveAllDecals entityType = 138 EBaseEntityMessages_EM_PropagateForce entityType = 139 EBaseEntityMessages_EM_DoSpark entityType = 140 EBaseEntityMessages_EM_FixAngle entityType = 141 EBaseUserMessages_UM_CloseCaptionPlaceholder entityType = 142 EBaseUserMessages_UM_CameraTransition entityType = 143 EBaseUserMessages_UM_AudioParameter entityType = 144 EBaseGameEvents_GE_VDebugGameSessionIDEvent entityType = 200 EBaseGameEvents_GE_PlaceDecalEvent entityType = 201 EBaseGameEvents_GE_ClearWorldDecalsEvent entityType = 202 EBaseGameEvents_GE_ClearEntityDecalsEvent entityType = 203 EBaseGameEvents_GE_ClearDecalsForSkeletonInstanceEvent entityType = 204 EBaseGameEvents_GE_Source1LegacyGameEventList entityType = 205 EBaseGameEvents_GE_Source1LegacyListenEvents entityType = 206 EBaseGameEvents_GE_Source1LegacyGameEvent entityType = 207 EBaseGameEvents_GE_SosStartSoundEvent entityType = 208 EBaseGameEvents_GE_SosStopSoundEvent entityType = 209 EBaseGameEvents_GE_SosSetSoundEventParams entityType = 210 EBaseGameEvents_GE_SosSetLibraryStackFields entityType = 211 EBaseGameEvents_GE_SosStopSoundEventHash entityType = 212 ETEProtobufIds_TE_EffectDispatchId entityType = 400 EDotaUserMessages_DOTA_UM_AIDebugLine entityType = 465 EDotaUserMessages_DOTA_UM_ChatEvent entityType = 466 EDotaUserMessages_DOTA_UM_CombatHeroPositions entityType = 467 EDotaUserMessages_DOTA_UM_CombatLogShowDeath entityType = 470 EDotaUserMessages_DOTA_UM_CreateLinearProjectile entityType = 471 EDotaUserMessages_DOTA_UM_DestroyLinearProjectile entityType = 472 EDotaUserMessages_DOTA_UM_DodgeTrackingProjectiles entityType = 473 EDotaUserMessages_DOTA_UM_GlobalLightColor entityType = 474 EDotaUserMessages_DOTA_UM_GlobalLightDirection entityType = 475 EDotaUserMessages_DOTA_UM_InvalidCommand entityType = 476 EDotaUserMessages_DOTA_UM_LocationPing entityType = 477 EDotaUserMessages_DOTA_UM_MapLine entityType = 478 EDotaUserMessages_DOTA_UM_MiniKillCamInfo entityType = 479 EDotaUserMessages_DOTA_UM_MinimapDebugPoint entityType = 480 EDotaUserMessages_DOTA_UM_MinimapEvent entityType = 481 EDotaUserMessages_DOTA_UM_NevermoreRequiem entityType = 482 EDotaUserMessages_DOTA_UM_OverheadEvent entityType = 483 EDotaUserMessages_DOTA_UM_SetNextAutobuyItem entityType = 484 EDotaUserMessages_DOTA_UM_SharedCooldown entityType = 485 EDotaUserMessages_DOTA_UM_SpectatorPlayerClick entityType = 486 EDotaUserMessages_DOTA_UM_TutorialTipInfo entityType = 487 EDotaUserMessages_DOTA_UM_UnitEvent entityType = 488 EDotaUserMessages_DOTA_UM_ParticleManager entityType = 489 EDotaUserMessages_DOTA_UM_BotChat entityType = 490 EDotaUserMessages_DOTA_UM_HudError entityType = 491 EDotaUserMessages_DOTA_UM_ItemPurchased entityType = 492 EDotaUserMessages_DOTA_UM_Ping entityType = 493 EDotaUserMessages_DOTA_UM_ItemFound entityType = 494 EDotaUserMessages_DOTA_UM_SwapVerify entityType = 496 EDotaUserMessages_DOTA_UM_WorldLine entityType = 497 EDotaUserMessages_DOTA_UM_TournamentDrop entityType = 498 EDotaUserMessages_DOTA_UM_ItemAlert entityType = 499 EDotaUserMessages_DOTA_UM_HalloweenDrops entityType = 500 EDotaUserMessages_DOTA_UM_ChatWheel entityType = 501 EDotaUserMessages_DOTA_UM_ReceivedXmasGift entityType = 502 EDotaUserMessages_DOTA_UM_UpdateSharedContent entityType = 503 EDotaUserMessages_DOTA_UM_TutorialRequestExp entityType = 504 EDotaUserMessages_DOTA_UM_TutorialPingMinimap entityType = 505 EDotaUserMessages_DOTA_UM_GamerulesStateChanged entityType = 506 EDotaUserMessages_DOTA_UM_ShowSurvey entityType = 507 EDotaUserMessages_DOTA_UM_TutorialFade entityType = 508 EDotaUserMessages_DOTA_UM_AddQuestLogEntry entityType = 509 EDotaUserMessages_DOTA_UM_SendStatPopup entityType = 510 EDotaUserMessages_DOTA_UM_TutorialFinish entityType = 511 EDotaUserMessages_DOTA_UM_SendRoshanPopup entityType = 512 EDotaUserMessages_DOTA_UM_SendGenericToolTip entityType = 513 EDotaUserMessages_DOTA_UM_SendFinalGold entityType = 514 EDotaUserMessages_DOTA_UM_CustomMsg entityType = 515 EDotaUserMessages_DOTA_UM_CoachHUDPing entityType = 516 EDotaUserMessages_DOTA_UM_ClientLoadGridNav entityType = 517 EDotaUserMessages_DOTA_UM_TE_Projectile entityType = 518 EDotaUserMessages_DOTA_UM_TE_ProjectileLoc entityType = 519 EDotaUserMessages_DOTA_UM_TE_DotaBloodImpact entityType = 520 EDotaUserMessages_DOTA_UM_TE_UnitAnimation entityType = 521 EDotaUserMessages_DOTA_UM_TE_UnitAnimationEnd entityType = 522 EDotaUserMessages_DOTA_UM_AbilityPing entityType = 523 EDotaUserMessages_DOTA_UM_ShowGenericPopup entityType = 524 EDotaUserMessages_DOTA_UM_VoteStart entityType = 525 EDotaUserMessages_DOTA_UM_VoteUpdate entityType = 526 EDotaUserMessages_DOTA_UM_VoteEnd entityType = 527 EDotaUserMessages_DOTA_UM_BoosterState entityType = 528 EDotaUserMessages_DOTA_UM_WillPurchaseAlert entityType = 529 EDotaUserMessages_DOTA_UM_TutorialMinimapPosition entityType = 530 EDotaUserMessages_DOTA_UM_PlayerMMR entityType = 531 EDotaUserMessages_DOTA_UM_AbilitySteal entityType = 532 EDotaUserMessages_DOTA_UM_CourierKilledAlert entityType = 533 EDotaUserMessages_DOTA_UM_EnemyItemAlert entityType = 534 EDotaUserMessages_DOTA_UM_StatsMatchDetails entityType = 535 EDotaUserMessages_DOTA_UM_MiniTaunt entityType = 536 EDotaUserMessages_DOTA_UM_BuyBackStateAlert entityType = 537 EDotaUserMessages_DOTA_UM_SpeechBubble entityType = 538 EDotaUserMessages_DOTA_UM_CustomHeaderMessage entityType = 539 EDotaUserMessages_DOTA_UM_QuickBuyAlert entityType = 540 EDotaUserMessages_DOTA_UM_StatsHeroDetails entityType = 541 EDotaUserMessages_DOTA_UM_PredictionResult entityType = 542 EDotaUserMessages_DOTA_UM_ModifierAlert entityType = 543 EDotaUserMessages_DOTA_UM_HPManaAlert entityType = 544 EDotaUserMessages_DOTA_UM_GlyphAlert entityType = 545 EDotaUserMessages_DOTA_UM_BeastChat entityType = 546 EDotaUserMessages_DOTA_UM_SpectatorPlayerUnitOrders entityType = 547 EDotaUserMessages_DOTA_UM_CustomHudElement_Create entityType = 548 EDotaUserMessages_DOTA_UM_CustomHudElement_Modify entityType = 549 EDotaUserMessages_DOTA_UM_CustomHudElement_Destroy entityType = 550 EDotaUserMessages_DOTA_UM_CompendiumState entityType = 551 EDotaUserMessages_DOTA_UM_ProjectionAbility entityType = 552 EDotaUserMessages_DOTA_UM_ProjectionEvent entityType = 553 EDotaUserMessages_DOTA_UM_CombatLogDataHLTV entityType = 554 EDotaUserMessages_DOTA_UM_XPAlert entityType = 555 EDotaUserMessages_DOTA_UM_UpdateQuestProgress entityType = 556 EDotaUserMessages_DOTA_UM_MatchMetadata entityType = 557 EDotaUserMessages_DOTA_UM_QuestStatus entityType = 559 ) func (t packetType) String() string { switch t { case EDemoCommands_DEM_Stop: return "EDemoCommands_DEM_Stop" case EDemoCommands_DEM_FileHeader: return "EDemoCommands_DEM_FileHeader" case EDemoCommands_DEM_FileInfo: return "EDemoCommands_DEM_FileInfo" case EDemoCommands_DEM_SyncTick: return "EDemoCommands_DEM_SyncTick" case EDemoCommands_DEM_SendTables: return "EDemoCommands_DEM_SendTables" case EDemoCommands_DEM_ClassInfo: return "EDemoCommands_DEM_ClassInfo" case EDemoCommands_DEM_StringTables: return "EDemoCommands_DEM_StringTables" case EDemoCommands_DEM_Packet: return "EDemoCommands_DEM_Packet" case EDemoCommands_DEM_SignonPacket: return "EDemoCommands_DEM_SignonPacket" case EDemoCommands_DEM_ConsoleCmd: return "EDemoCommands_DEM_ConsoleCmd" case EDemoCommands_DEM_CustomData: return "EDemoCommands_DEM_CustomData" case EDemoCommands_DEM_CustomDataCallbacks: return "EDemoCommands_DEM_CustomDataCallbacks" case EDemoCommands_DEM_UserCmd: return "EDemoCommands_DEM_UserCmd" case EDemoCommands_DEM_FullPacket: return "EDemoCommands_DEM_FullPacket" case EDemoCommands_DEM_SaveGame: return "EDemoCommands_DEM_SaveGame" case EDemoCommands_DEM_SpawnGroups: return "EDemoCommands_DEM_SpawnGroups" default: return fmt.Sprintf("UnknownPacketType_%d", t) } } func (t entityType) String() string { switch t { case NET_Messages_net_NOP: return "NET_Messages_net_NOP" case NET_Messages_net_Disconnect: return "NET_Messages_net_Disconnect" case NET_Messages_net_SplitScreenUser: return "NET_Messages_net_SplitScreenUser" case NET_Messages_net_Tick: return "NET_Messages_net_Tick" case NET_Messages_net_StringCmd: return "NET_Messages_net_StringCmd" case NET_Messages_net_SetConVar: return "NET_Messages_net_SetConVar" case NET_Messages_net_SignonState: return "NET_Messages_net_SignonState" case NET_Messages_net_SpawnGroup_Load: return "NET_Messages_net_SpawnGroup_Load" case NET_Messages_net_SpawnGroup_ManifestUpdate: return "NET_Messages_net_SpawnGroup_ManifestUpdate" case NET_Messages_net_SpawnGroup_SetCreationTick: return "NET_Messages_net_SpawnGroup_SetCreationTick" case NET_Messages_net_SpawnGroup_Unload: return "NET_Messages_net_SpawnGroup_Unload" case NET_Messages_net_SpawnGroup_LoadCompleted: return "NET_Messages_net_SpawnGroup_LoadCompleted" case SVC_Messages_svc_ServerInfo: return "SVC_Messages_svc_ServerInfo" case SVC_Messages_svc_FlattenedSerializer: return "SVC_Messages_svc_FlattenedSerializer" case SVC_Messages_svc_ClassInfo: return "SVC_Messages_svc_ClassInfo" case SVC_Messages_svc_SetPause: return "SVC_Messages_svc_SetPause" case SVC_Messages_svc_CreateStringTable: return "SVC_Messages_svc_CreateStringTable" case SVC_Messages_svc_UpdateStringTable: return "SVC_Messages_svc_UpdateStringTable" case SVC_Messages_svc_VoiceInit: return "SVC_Messages_svc_VoiceInit" case SVC_Messages_svc_VoiceData: return "SVC_Messages_svc_VoiceData" case SVC_Messages_svc_Print: return "SVC_Messages_svc_Print" case SVC_Messages_svc_Sounds: return "SVC_Messages_svc_Sounds" case SVC_Messages_svc_SetView: return "SVC_Messages_svc_SetView" case SVC_Messages_svc_ClearAllStringTables: return "SVC_Messages_svc_ClearAllStringTables" case SVC_Messages_svc_CmdKeyValues: return "SVC_Messages_svc_CmdKeyValues" case SVC_Messages_svc_BSPDecal: return "SVC_Messages_svc_BSPDecal" case SVC_Messages_svc_SplitScreen: return "SVC_Messages_svc_SplitScreen" case SVC_Messages_svc_PacketEntities: return "SVC_Messages_svc_PacketEntities" case SVC_Messages_svc_Prefetch: return "SVC_Messages_svc_Prefetch" case SVC_Messages_svc_Menu: return "SVC_Messages_svc_Menu" case SVC_Messages_svc_GetCvarValue: return "SVC_Messages_svc_GetCvarValue" case SVC_Messages_svc_StopSound: return "SVC_Messages_svc_StopSound" case SVC_Messages_svc_PeerList: return "SVC_Messages_svc_PeerList" case SVC_Messages_svc_PacketReliable: return "SVC_Messages_svc_PacketReliable" case SVC_Messages_svc_HLTVStatus: return "SVC_Messages_svc_HLTVStatus" case SVC_Messages_svc_ServerSteamID: return "SVC_Messages_svc_ServerSteamID" case SVC_Messages_svc_FullFrameSplit: return "SVC_Messages_svc_FullFrameSplit" case EBaseUserMessages_UM_AchievementEvent: return "EBaseUserMessages_UM_AchievementEvent" case EBaseUserMessages_UM_CloseCaption: return "EBaseUserMessages_UM_CloseCaption" case EBaseUserMessages_UM_CloseCaptionDirect: return "EBaseUserMessages_UM_CloseCaptionDirect" case EBaseUserMessages_UM_CurrentTimescale: return "EBaseUserMessages_UM_CurrentTimescale" case EBaseUserMessages_UM_DesiredTimescale: return "EBaseUserMessages_UM_DesiredTimescale" case EBaseUserMessages_UM_Fade: return "EBaseUserMessages_UM_Fade" case EBaseUserMessages_UM_GameTitle: return "EBaseUserMessages_UM_GameTitle" case EBaseUserMessages_UM_HintText: return "EBaseUserMessages_UM_HintText" case EBaseUserMessages_UM_HudMsg: return "EBaseUserMessages_UM_HudMsg" case EBaseUserMessages_UM_HudText: return "EBaseUserMessages_UM_HudText" case EBaseUserMessages_UM_KeyHintText: return "EBaseUserMessages_UM_KeyHintText" case EBaseUserMessages_UM_ColoredText: return "EBaseUserMessages_UM_ColoredText" case EBaseUserMessages_UM_RequestState: return "EBaseUserMessages_UM_RequestState" case EBaseUserMessages_UM_ResetHUD: return "EBaseUserMessages_UM_ResetHUD" case EBaseUserMessages_UM_Rumble: return "EBaseUserMessages_UM_Rumble" case EBaseUserMessages_UM_SayText: return "EBaseUserMessages_UM_SayText" case EBaseUserMessages_UM_SayText2: return "EBaseUserMessages_UM_SayText2" case EBaseUserMessages_UM_SayTextChannel: return "EBaseUserMessages_UM_SayTextChannel" case EBaseUserMessages_UM_Shake: return "EBaseUserMessages_UM_Shake" case EBaseUserMessages_UM_ShakeDir: return "EBaseUserMessages_UM_ShakeDir" case EBaseUserMessages_UM_TextMsg: return "EBaseUserMessages_UM_TextMsg" case EBaseUserMessages_UM_ScreenTilt: return "EBaseUserMessages_UM_ScreenTilt" case EBaseUserMessages_UM_Train: return "EBaseUserMessages_UM_Train" case EBaseUserMessages_UM_VGUIMenu: return "EBaseUserMessages_UM_VGUIMenu" case EBaseUserMessages_UM_VoiceMask: return "EBaseUserMessages_UM_VoiceMask" case EBaseUserMessages_UM_VoiceSubtitle: return "EBaseUserMessages_UM_VoiceSubtitle" case EBaseUserMessages_UM_SendAudio: return "EBaseUserMessages_UM_SendAudio" case EBaseUserMessages_UM_ItemPickup: return "EBaseUserMessages_UM_ItemPickup" case EBaseUserMessages_UM_AmmoDenied: return "EBaseUserMessages_UM_AmmoDenied" case EBaseUserMessages_UM_CrosshairAngle: return "EBaseUserMessages_UM_CrosshairAngle" case EBaseUserMessages_UM_ShowMenu: return "EBaseUserMessages_UM_ShowMenu" case EBaseUserMessages_UM_CreditsMsg: return "EBaseUserMessages_UM_CreditsMsg" case EBaseEntityMessages_EM_PlayJingle: return "EBaseEntityMessages_EM_PlayJingle" case EBaseEntityMessages_EM_ScreenOverlay: return "EBaseEntityMessages_EM_ScreenOverlay" case EBaseEntityMessages_EM_RemoveAllDecals: return "EBaseEntityMessages_EM_RemoveAllDecals" case EBaseEntityMessages_EM_PropagateForce: return "EBaseEntityMessages_EM_PropagateForce" case EBaseEntityMessages_EM_DoSpark: return "EBaseEntityMessages_EM_DoSpark" case EBaseEntityMessages_EM_FixAngle: return "EBaseEntityMessages_EM_FixAngle" case EBaseUserMessages_UM_CloseCaptionPlaceholder: return "EBaseUserMessages_UM_CloseCaptionPlaceholder" case EBaseUserMessages_UM_CameraTransition: return "EBaseUserMessages_UM_CameraTransition" case EBaseUserMessages_UM_AudioParameter: return "EBaseUserMessages_UM_AudioParameter" case EBaseGameEvents_GE_VDebugGameSessionIDEvent: return "EBaseGameEvents_GE_VDebugGameSessionIDEvent" case EBaseGameEvents_GE_PlaceDecalEvent: return "EBaseGameEvents_GE_PlaceDecalEvent" case EBaseGameEvents_GE_ClearWorldDecalsEvent: return "EBaseGameEvents_GE_ClearWorldDecalsEvent" case EBaseGameEvents_GE_ClearEntityDecalsEvent: return "EBaseGameEvents_GE_ClearEntityDecalsEvent" case EBaseGameEvents_GE_ClearDecalsForSkeletonInstanceEvent: return "EBaseGameEvents_GE_ClearDecalsForSkeletonInstanceEvent" case EBaseGameEvents_GE_Source1LegacyGameEventList: return "EBaseGameEvents_GE_Source1LegacyGameEventList" case EBaseGameEvents_GE_Source1LegacyListenEvents: return "EBaseGameEvents_GE_Source1LegacyListenEvents" case EBaseGameEvents_GE_Source1LegacyGameEvent: return "EBaseGameEvents_GE_Source1LegacyGameEvent" case EBaseGameEvents_GE_SosStartSoundEvent: return "EBaseGameEvents_GE_SosStartSoundEvent" case EBaseGameEvents_GE_SosStopSoundEvent: return "EBaseGameEvents_GE_SosStopSoundEvent" case EBaseGameEvents_GE_SosSetSoundEventParams: return "EBaseGameEvents_GE_SosSetSoundEventParams" case EBaseGameEvents_GE_SosSetLibraryStackFields: return "EBaseGameEvents_GE_SosSetLibraryStackFields" case EBaseGameEvents_GE_SosStopSoundEventHash: return "EBaseGameEvents_GE_SosStopSoundEventHash" case ETEProtobufIds_TE_EffectDispatchId: return "ETEProtobufIds_TE_EffectDispatchId" case EDotaUserMessages_DOTA_UM_AIDebugLine: return "EDotaUserMessages_DOTA_UM_AIDebugLine" case EDotaUserMessages_DOTA_UM_ChatEvent: return "EDotaUserMessages_DOTA_UM_ChatEvent" case EDotaUserMessages_DOTA_UM_CombatHeroPositions: return "EDotaUserMessages_DOTA_UM_CombatHeroPositions" case EDotaUserMessages_DOTA_UM_CombatLogShowDeath: return "EDotaUserMessages_DOTA_UM_CombatLogShowDeath" case EDotaUserMessages_DOTA_UM_CreateLinearProjectile: return "EDotaUserMessages_DOTA_UM_CreateLinearProjectile" case EDotaUserMessages_DOTA_UM_DestroyLinearProjectile: return "EDotaUserMessages_DOTA_UM_DestroyLinearProjectile" case EDotaUserMessages_DOTA_UM_DodgeTrackingProjectiles: return "EDotaUserMessages_DOTA_UM_DodgeTrackingProjectiles" case EDotaUserMessages_DOTA_UM_GlobalLightColor: return "EDotaUserMessages_DOTA_UM_GlobalLightColor" case EDotaUserMessages_DOTA_UM_GlobalLightDirection: return "EDotaUserMessages_DOTA_UM_GlobalLightDirection" case EDotaUserMessages_DOTA_UM_InvalidCommand: return "EDotaUserMessages_DOTA_UM_InvalidCommand" case EDotaUserMessages_DOTA_UM_LocationPing: return "EDotaUserMessages_DOTA_UM_LocationPing" case EDotaUserMessages_DOTA_UM_MapLine: return "EDotaUserMessages_DOTA_UM_MapLine" case EDotaUserMessages_DOTA_UM_MiniKillCamInfo: return "EDotaUserMessages_DOTA_UM_MiniKillCamInfo" case EDotaUserMessages_DOTA_UM_MinimapDebugPoint: return "EDotaUserMessages_DOTA_UM_MinimapDebugPoint" case EDotaUserMessages_DOTA_UM_MinimapEvent: return "EDotaUserMessages_DOTA_UM_MinimapEvent" case EDotaUserMessages_DOTA_UM_NevermoreRequiem: return "EDotaUserMessages_DOTA_UM_NevermoreRequiem" case EDotaUserMessages_DOTA_UM_OverheadEvent: return "EDotaUserMessages_DOTA_UM_OverheadEvent" case EDotaUserMessages_DOTA_UM_SetNextAutobuyItem: return "EDotaUserMessages_DOTA_UM_SetNextAutobuyItem" case EDotaUserMessages_DOTA_UM_SharedCooldown: return "EDotaUserMessages_DOTA_UM_SharedCooldown" case EDotaUserMessages_DOTA_UM_SpectatorPlayerClick: return "EDotaUserMessages_DOTA_UM_SpectatorPlayerClick" case EDotaUserMessages_DOTA_UM_TutorialTipInfo: return "EDotaUserMessages_DOTA_UM_TutorialTipInfo" case EDotaUserMessages_DOTA_UM_UnitEvent: return "EDotaUserMessages_DOTA_UM_UnitEvent" case EDotaUserMessages_DOTA_UM_ParticleManager: return "EDotaUserMessages_DOTA_UM_ParticleManager" case EDotaUserMessages_DOTA_UM_BotChat: return "EDotaUserMessages_DOTA_UM_BotChat" case EDotaUserMessages_DOTA_UM_HudError: return "EDotaUserMessages_DOTA_UM_HudError" case EDotaUserMessages_DOTA_UM_ItemPurchased: return "EDotaUserMessages_DOTA_UM_ItemPurchased" case EDotaUserMessages_DOTA_UM_Ping: return "EDotaUserMessages_DOTA_UM_Ping" case EDotaUserMessages_DOTA_UM_ItemFound: return "EDotaUserMessages_DOTA_UM_ItemFound" case EDotaUserMessages_DOTA_UM_SwapVerify: return "EDotaUserMessages_DOTA_UM_SwapVerify" case EDotaUserMessages_DOTA_UM_WorldLine: return "EDotaUserMessages_DOTA_UM_WorldLine" case EDotaUserMessages_DOTA_UM_TournamentDrop: return "EDotaUserMessages_DOTA_UM_TournamentDrop" case EDotaUserMessages_DOTA_UM_ItemAlert: return "EDotaUserMessages_DOTA_UM_ItemAlert" case EDotaUserMessages_DOTA_UM_HalloweenDrops: return "EDotaUserMessages_DOTA_UM_HalloweenDrops" case EDotaUserMessages_DOTA_UM_ChatWheel: return "EDotaUserMessages_DOTA_UM_ChatWheel" case EDotaUserMessages_DOTA_UM_ReceivedXmasGift: return "EDotaUserMessages_DOTA_UM_ReceivedXmasGift" case EDotaUserMessages_DOTA_UM_UpdateSharedContent: return "EDotaUserMessages_DOTA_UM_UpdateSharedContent" case EDotaUserMessages_DOTA_UM_TutorialRequestExp: return "EDotaUserMessages_DOTA_UM_TutorialRequestExp" case EDotaUserMessages_DOTA_UM_TutorialPingMinimap: return "EDotaUserMessages_DOTA_UM_TutorialPingMinimap" case EDotaUserMessages_DOTA_UM_GamerulesStateChanged: return "EDotaUserMessages_DOTA_UM_GamerulesStateChanged" case EDotaUserMessages_DOTA_UM_ShowSurvey: return "EDotaUserMessages_DOTA_UM_ShowSurvey" case EDotaUserMessages_DOTA_UM_TutorialFade: return "EDotaUserMessages_DOTA_UM_TutorialFade" case EDotaUserMessages_DOTA_UM_AddQuestLogEntry: return "EDotaUserMessages_DOTA_UM_AddQuestLogEntry" case EDotaUserMessages_DOTA_UM_SendStatPopup: return "EDotaUserMessages_DOTA_UM_SendStatPopup" case EDotaUserMessages_DOTA_UM_TutorialFinish: return "EDotaUserMessages_DOTA_UM_TutorialFinish" case EDotaUserMessages_DOTA_UM_SendRoshanPopup: return "EDotaUserMessages_DOTA_UM_SendRoshanPopup" case EDotaUserMessages_DOTA_UM_SendGenericToolTip: return "EDotaUserMessages_DOTA_UM_SendGenericToolTip" case EDotaUserMessages_DOTA_UM_SendFinalGold: return "EDotaUserMessages_DOTA_UM_SendFinalGold" case EDotaUserMessages_DOTA_UM_CustomMsg: return "EDotaUserMessages_DOTA_UM_CustomMsg" case EDotaUserMessages_DOTA_UM_CoachHUDPing: return "EDotaUserMessages_DOTA_UM_CoachHUDPing" case EDotaUserMessages_DOTA_UM_ClientLoadGridNav: return "EDotaUserMessages_DOTA_UM_ClientLoadGridNav" case EDotaUserMessages_DOTA_UM_TE_Projectile: return "EDotaUserMessages_DOTA_UM_TE_Projectile" case EDotaUserMessages_DOTA_UM_TE_ProjectileLoc: return "EDotaUserMessages_DOTA_UM_TE_ProjectileLoc" case EDotaUserMessages_DOTA_UM_TE_DotaBloodImpact: return "EDotaUserMessages_DOTA_UM_TE_DotaBloodImpact" case EDotaUserMessages_DOTA_UM_TE_UnitAnimation: return "EDotaUserMessages_DOTA_UM_TE_UnitAnimation" case EDotaUserMessages_DOTA_UM_TE_UnitAnimationEnd: return "EDotaUserMessages_DOTA_UM_TE_UnitAnimationEnd" case EDotaUserMessages_DOTA_UM_AbilityPing: return "EDotaUserMessages_DOTA_UM_AbilityPing" case EDotaUserMessages_DOTA_UM_ShowGenericPopup: return "EDotaUserMessages_DOTA_UM_ShowGenericPopup" case EDotaUserMessages_DOTA_UM_VoteStart: return "EDotaUserMessages_DOTA_UM_VoteStart" case EDotaUserMessages_DOTA_UM_VoteUpdate: return "EDotaUserMessages_DOTA_UM_VoteUpdate" case EDotaUserMessages_DOTA_UM_VoteEnd: return "EDotaUserMessages_DOTA_UM_VoteEnd" case EDotaUserMessages_DOTA_UM_BoosterState: return "EDotaUserMessages_DOTA_UM_BoosterState" case EDotaUserMessages_DOTA_UM_WillPurchaseAlert: return "EDotaUserMessages_DOTA_UM_WillPurchaseAlert" case EDotaUserMessages_DOTA_UM_TutorialMinimapPosition: return "EDotaUserMessages_DOTA_UM_TutorialMinimapPosition" case EDotaUserMessages_DOTA_UM_PlayerMMR: return "EDotaUserMessages_DOTA_UM_PlayerMMR" case EDotaUserMessages_DOTA_UM_AbilitySteal: return "EDotaUserMessages_DOTA_UM_AbilitySteal" case EDotaUserMessages_DOTA_UM_CourierKilledAlert: return "EDotaUserMessages_DOTA_UM_CourierKilledAlert" case EDotaUserMessages_DOTA_UM_EnemyItemAlert: return "EDotaUserMessages_DOTA_UM_EnemyItemAlert" case EDotaUserMessages_DOTA_UM_StatsMatchDetails: return "EDotaUserMessages_DOTA_UM_StatsMatchDetails" case EDotaUserMessages_DOTA_UM_MiniTaunt: return "EDotaUserMessages_DOTA_UM_MiniTaunt" case EDotaUserMessages_DOTA_UM_BuyBackStateAlert: return "EDotaUserMessages_DOTA_UM_BuyBackStateAlert" case EDotaUserMessages_DOTA_UM_SpeechBubble: return "EDotaUserMessages_DOTA_UM_SpeechBubble" case EDotaUserMessages_DOTA_UM_CustomHeaderMessage: return "EDotaUserMessages_DOTA_UM_CustomHeaderMessage" case EDotaUserMessages_DOTA_UM_QuickBuyAlert: return "EDotaUserMessages_DOTA_UM_QuickBuyAlert" case EDotaUserMessages_DOTA_UM_StatsHeroDetails: return "EDotaUserMessages_DOTA_UM_StatsHeroDetails" case EDotaUserMessages_DOTA_UM_PredictionResult: return "EDotaUserMessages_DOTA_UM_PredictionResult" case EDotaUserMessages_DOTA_UM_ModifierAlert: return "EDotaUserMessages_DOTA_UM_ModifierAlert" case EDotaUserMessages_DOTA_UM_HPManaAlert: return "EDotaUserMessages_DOTA_UM_HPManaAlert" case EDotaUserMessages_DOTA_UM_GlyphAlert: return "EDotaUserMessages_DOTA_UM_GlyphAlert" case EDotaUserMessages_DOTA_UM_BeastChat: return "EDotaUserMessages_DOTA_UM_BeastChat" case EDotaUserMessages_DOTA_UM_SpectatorPlayerUnitOrders: return "EDotaUserMessages_DOTA_UM_SpectatorPlayerUnitOrders" case EDotaUserMessages_DOTA_UM_CustomHudElement_Create: return "EDotaUserMessages_DOTA_UM_CustomHudElement_Create" case EDotaUserMessages_DOTA_UM_CustomHudElement_Modify: return "EDotaUserMessages_DOTA_UM_CustomHudElement_Modify" case EDotaUserMessages_DOTA_UM_CustomHudElement_Destroy: return "EDotaUserMessages_DOTA_UM_CustomHudElement_Destroy" case EDotaUserMessages_DOTA_UM_CompendiumState: return "EDotaUserMessages_DOTA_UM_CompendiumState" case EDotaUserMessages_DOTA_UM_ProjectionAbility: return "EDotaUserMessages_DOTA_UM_ProjectionAbility" case EDotaUserMessages_DOTA_UM_ProjectionEvent: return "EDotaUserMessages_DOTA_UM_ProjectionEvent" case EDotaUserMessages_DOTA_UM_CombatLogDataHLTV: return "EDotaUserMessages_DOTA_UM_CombatLogDataHLTV" case EDotaUserMessages_DOTA_UM_XPAlert: return "EDotaUserMessages_DOTA_UM_XPAlert" case EDotaUserMessages_DOTA_UM_UpdateQuestProgress: return "EDotaUserMessages_DOTA_UM_UpdateQuestProgress" case EDotaUserMessages_DOTA_UM_MatchMetadata: return "EDotaUserMessages_DOTA_UM_MatchMetadata" case EDotaUserMessages_DOTA_UM_QuestStatus: return "EDotaUserMessages_DOTA_UM_QuestStatus" default: return fmt.Sprintf("UnknownEntityType_%d", t) } } type messageStatus int const ( m_Unknown messageStatus = iota m_Skipped ) func (m messageStatus) Error() string { switch m { case m_Unknown: return "unknown message type" case m_Skipped: return "skipped message type" default: return "unknown message error" } } type packetFactory map[packetType]func() proto.Message type entityFactory map[entityType]func() proto.Message type messageFactory struct { packets packetFactory entities entityFactory } func (m *messageFactory) BuildPacket(id packetType) (proto.Message, error) { fn, ok := m.packets[id] if !ok { return nil, m_Unknown } return fn(), nil } func (m *messageFactory) BuildEntity(id entityType) (proto.Message, error) { fn, ok := m.entities[id] if !ok { return nil, m_Unknown } return fn(), nil } func (m *messageFactory) Return(msg proto.Message) { switch msg.(type) { case *dota.CDOTAUserMsg_ChatEvent: p_CDOTAUserMsg_ChatEvent.Put(msg) case *dota.CDOTAUserMsg_LocationPing: p_CDOTAUserMsg_LocationPing.Put(msg) case *dota.CDOTAUserMsg_OverheadEvent: p_CDOTAUserMsg_OverheadEvent.Put(msg) case *dota.CDOTAUserMsg_ParticleManager: p_CDOTAUserMsg_ParticleManager.Put(msg) case *dota.CDOTAUserMsg_SharedCooldown: p_CDOTAUserMsg_SharedCooldown.Put(msg) case *dota.CDOTAUserMsg_SpectatorPlayerClick: p_CDOTAUserMsg_SpectatorPlayerClick.Put(msg) case *dota.CDOTAUserMsg_SpectatorPlayerUnitOrders: p_CDOTAUserMsg_SpectatorPlayerUnitOrders.Put(msg) case *dota.CDOTAUserMsg_TE_DotaBloodImpact: p_CDOTAUserMsg_TE_DotaBloodImpact.Put(msg) case *dota.CDOTAUserMsg_TE_Projectile: p_CDOTAUserMsg_TE_Projectile.Put(msg) case *dota.CDOTAUserMsg_TE_ProjectileLoc: p_CDOTAUserMsg_TE_ProjectileLoc.Put(msg) case *dota.CDOTAUserMsg_TE_UnitAnimation: p_CDOTAUserMsg_TE_UnitAnimation.Put(msg) case *dota.CDOTAUserMsg_TE_UnitAnimationEnd: p_CDOTAUserMsg_TE_UnitAnimationEnd.Put(msg) case *dota.CDOTAUserMsg_UnitEvent: p_CDOTAUserMsg_UnitEvent.Put(msg) case *dota.CDemoPacket: p_CDemoPacket.Put(msg) case *dota.CMsgDOTACombatLogEntry: p_CMsgDOTACombatLogEntry.Put(msg) case *dota.CMsgSosSetSoundEventParams: p_CMsgSosSetSoundEventParams.Put(msg) case *dota.CMsgSosStartSoundEvent: p_CMsgSosStartSoundEvent.Put(msg) case *dota.CNETMsg_Tick: p_CNETMsg_Tick.Put(msg) case *dota.CSVCMsg_PacketEntities: p_CSVCMsg_PacketEntities.Put(msg) case *dota.CSVCMsg_UpdateStringTable: p_CSVCMsg_UpdateStringTable.Put(msg) } } var ( p_CDOTAUserMsg_ChatEvent = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_ChatEvent) }} p_CDOTAUserMsg_LocationPing = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_LocationPing) }} p_CDOTAUserMsg_OverheadEvent = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_OverheadEvent) }} p_CDOTAUserMsg_ParticleManager = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_ParticleManager) }} p_CDOTAUserMsg_SharedCooldown = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_SharedCooldown) }} p_CDOTAUserMsg_SpectatorPlayerClick = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_SpectatorPlayerClick) }} p_CDOTAUserMsg_SpectatorPlayerUnitOrders = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_SpectatorPlayerUnitOrders) }} p_CDOTAUserMsg_TE_DotaBloodImpact = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_TE_DotaBloodImpact) }} p_CDOTAUserMsg_TE_Projectile = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_TE_Projectile) }} p_CDOTAUserMsg_TE_ProjectileLoc = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_TE_ProjectileLoc) }} p_CDOTAUserMsg_TE_UnitAnimation = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_TE_UnitAnimation) }} p_CDOTAUserMsg_TE_UnitAnimationEnd = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_TE_UnitAnimationEnd) }} p_CDOTAUserMsg_UnitEvent = &sync.Pool{New: func() interface{} { return new(dota.CDOTAUserMsg_UnitEvent) }} p_CDemoPacket = &sync.Pool{New: func() interface{} { return new(dota.CDemoPacket) }} p_CMsgDOTACombatLogEntry = &sync.Pool{New: func() interface{} { return new(dota.CMsgDOTACombatLogEntry) }} p_CMsgSosSetSoundEventParams = &sync.Pool{New: func() interface{} { return new(dota.CMsgSosSetSoundEventParams) }} p_CMsgSosStartSoundEvent = &sync.Pool{New: func() interface{} { return new(dota.CMsgSosStartSoundEvent) }} p_CNETMsg_Tick = &sync.Pool{New: func() interface{} { return new(dota.CNETMsg_Tick) }} p_CSVCMsg_PacketEntities = &sync.Pool{New: func() interface{} { return new(dota.CSVCMsg_PacketEntities) }} p_CSVCMsg_UpdateStringTable = &sync.Pool{New: func() interface{} { return new(dota.CSVCMsg_UpdateStringTable) }} ) type packetWhitelist map[packetType]bool type entityWhitelist map[entityType]bool var allPackets = packetWhitelist{ EDemoCommands_DEM_Stop: true, EDemoCommands_DEM_FileHeader: true, EDemoCommands_DEM_FileInfo: true, EDemoCommands_DEM_SyncTick: true, EDemoCommands_DEM_SendTables: true, EDemoCommands_DEM_ClassInfo: true, EDemoCommands_DEM_StringTables: true, EDemoCommands_DEM_Packet: true, EDemoCommands_DEM_SignonPacket: true, EDemoCommands_DEM_ConsoleCmd: true, EDemoCommands_DEM_CustomData: true, EDemoCommands_DEM_CustomDataCallbacks: true, EDemoCommands_DEM_UserCmd: true, EDemoCommands_DEM_FullPacket: true, EDemoCommands_DEM_SaveGame: true, EDemoCommands_DEM_SpawnGroups: true, } var allEntities = entityWhitelist{ NET_Messages_net_NOP: true, NET_Messages_net_Disconnect: true, NET_Messages_net_SplitScreenUser: true, NET_Messages_net_Tick: true, NET_Messages_net_StringCmd: true, NET_Messages_net_SetConVar: true, NET_Messages_net_SignonState: true, NET_Messages_net_SpawnGroup_Load: true, NET_Messages_net_SpawnGroup_ManifestUpdate: true, NET_Messages_net_SpawnGroup_SetCreationTick: true, NET_Messages_net_SpawnGroup_Unload: true, NET_Messages_net_SpawnGroup_LoadCompleted: true, SVC_Messages_svc_ServerInfo: true, SVC_Messages_svc_FlattenedSerializer: true, SVC_Messages_svc_ClassInfo: true, SVC_Messages_svc_SetPause: true, SVC_Messages_svc_CreateStringTable: true, SVC_Messages_svc_UpdateStringTable: true, SVC_Messages_svc_VoiceInit: true, SVC_Messages_svc_VoiceData: true, SVC_Messages_svc_Print: true, SVC_Messages_svc_Sounds: true, SVC_Messages_svc_SetView: true, SVC_Messages_svc_ClearAllStringTables: true, SVC_Messages_svc_CmdKeyValues: true, SVC_Messages_svc_BSPDecal: true, SVC_Messages_svc_SplitScreen: true, SVC_Messages_svc_PacketEntities: true, SVC_Messages_svc_Prefetch: true, SVC_Messages_svc_Menu: true, SVC_Messages_svc_GetCvarValue: true, SVC_Messages_svc_StopSound: true, SVC_Messages_svc_PeerList: true, SVC_Messages_svc_PacketReliable: true, SVC_Messages_svc_HLTVStatus: true, SVC_Messages_svc_ServerSteamID: true, SVC_Messages_svc_FullFrameSplit: true, EBaseUserMessages_UM_AchievementEvent: true, EBaseUserMessages_UM_CloseCaption: true, EBaseUserMessages_UM_CloseCaptionDirect: true, EBaseUserMessages_UM_CurrentTimescale: true, EBaseUserMessages_UM_DesiredTimescale: true, EBaseUserMessages_UM_Fade: true, EBaseUserMessages_UM_GameTitle: true, EBaseUserMessages_UM_HintText: true, EBaseUserMessages_UM_HudMsg: true, EBaseUserMessages_UM_HudText: true, EBaseUserMessages_UM_KeyHintText: true, EBaseUserMessages_UM_ColoredText: true, EBaseUserMessages_UM_RequestState: true, EBaseUserMessages_UM_ResetHUD: true, EBaseUserMessages_UM_Rumble: true, EBaseUserMessages_UM_SayText: true, EBaseUserMessages_UM_SayText2: true, EBaseUserMessages_UM_SayTextChannel: true, EBaseUserMessages_UM_Shake: true, EBaseUserMessages_UM_ShakeDir: true, EBaseUserMessages_UM_TextMsg: true, EBaseUserMessages_UM_ScreenTilt: true, EBaseUserMessages_UM_Train: true, EBaseUserMessages_UM_VGUIMenu: true, EBaseUserMessages_UM_VoiceMask: true, EBaseUserMessages_UM_VoiceSubtitle: true, EBaseUserMessages_UM_SendAudio: true, EBaseUserMessages_UM_ItemPickup: true, EBaseUserMessages_UM_AmmoDenied: true, EBaseUserMessages_UM_CrosshairAngle: true, EBaseUserMessages_UM_ShowMenu: true, EBaseUserMessages_UM_CreditsMsg: true, EBaseEntityMessages_EM_PlayJingle: true, EBaseEntityMessages_EM_ScreenOverlay: true, EBaseEntityMessages_EM_RemoveAllDecals: true, EBaseEntityMessages_EM_PropagateForce: true, EBaseEntityMessages_EM_DoSpark: true, EBaseEntityMessages_EM_FixAngle: true, EBaseUserMessages_UM_CloseCaptionPlaceholder: true, EBaseUserMessages_UM_CameraTransition: true, EBaseUserMessages_UM_AudioParameter: true, EBaseGameEvents_GE_VDebugGameSessionIDEvent: true, EBaseGameEvents_GE_PlaceDecalEvent: true, EBaseGameEvents_GE_ClearWorldDecalsEvent: true, EBaseGameEvents_GE_ClearEntityDecalsEvent: true, EBaseGameEvents_GE_ClearDecalsForSkeletonInstanceEvent: true, EBaseGameEvents_GE_Source1LegacyGameEventList: true, EBaseGameEvents_GE_Source1LegacyListenEvents: true, EBaseGameEvents_GE_Source1LegacyGameEvent: true, EBaseGameEvents_GE_SosStartSoundEvent: true, EBaseGameEvents_GE_SosStopSoundEvent: true, EBaseGameEvents_GE_SosSetSoundEventParams: true, EBaseGameEvents_GE_SosSetLibraryStackFields: true, EBaseGameEvents_GE_SosStopSoundEventHash: true, ETEProtobufIds_TE_EffectDispatchId: true, EDotaUserMessages_DOTA_UM_AIDebugLine: true, EDotaUserMessages_DOTA_UM_ChatEvent: true, EDotaUserMessages_DOTA_UM_CombatHeroPositions: true, EDotaUserMessages_DOTA_UM_CombatLogShowDeath: true, EDotaUserMessages_DOTA_UM_CreateLinearProjectile: true, EDotaUserMessages_DOTA_UM_DestroyLinearProjectile: true, EDotaUserMessages_DOTA_UM_DodgeTrackingProjectiles: true, EDotaUserMessages_DOTA_UM_GlobalLightColor: true, EDotaUserMessages_DOTA_UM_GlobalLightDirection: true, EDotaUserMessages_DOTA_UM_InvalidCommand: true, EDotaUserMessages_DOTA_UM_LocationPing: true, EDotaUserMessages_DOTA_UM_MapLine: true, EDotaUserMessages_DOTA_UM_MiniKillCamInfo: true, EDotaUserMessages_DOTA_UM_MinimapDebugPoint: true, EDotaUserMessages_DOTA_UM_MinimapEvent: true, EDotaUserMessages_DOTA_UM_NevermoreRequiem: true, EDotaUserMessages_DOTA_UM_OverheadEvent: true, EDotaUserMessages_DOTA_UM_SetNextAutobuyItem: true, EDotaUserMessages_DOTA_UM_SharedCooldown: true, EDotaUserMessages_DOTA_UM_SpectatorPlayerClick: true, EDotaUserMessages_DOTA_UM_TutorialTipInfo: true, EDotaUserMessages_DOTA_UM_UnitEvent: true, EDotaUserMessages_DOTA_UM_ParticleManager: true, EDotaUserMessages_DOTA_UM_BotChat: true, EDotaUserMessages_DOTA_UM_HudError: true, EDotaUserMessages_DOTA_UM_ItemPurchased: true, EDotaUserMessages_DOTA_UM_Ping: true, EDotaUserMessages_DOTA_UM_ItemFound: true, EDotaUserMessages_DOTA_UM_SwapVerify: true, EDotaUserMessages_DOTA_UM_WorldLine: true, EDotaUserMessages_DOTA_UM_TournamentDrop: true, EDotaUserMessages_DOTA_UM_ItemAlert: true, EDotaUserMessages_DOTA_UM_HalloweenDrops: true, EDotaUserMessages_DOTA_UM_ChatWheel: true, EDotaUserMessages_DOTA_UM_ReceivedXmasGift: true, EDotaUserMessages_DOTA_UM_UpdateSharedContent: true, EDotaUserMessages_DOTA_UM_TutorialRequestExp: true, EDotaUserMessages_DOTA_UM_TutorialPingMinimap: true, EDotaUserMessages_DOTA_UM_GamerulesStateChanged: true, EDotaUserMessages_DOTA_UM_ShowSurvey: true, EDotaUserMessages_DOTA_UM_TutorialFade: true, EDotaUserMessages_DOTA_UM_AddQuestLogEntry: true, EDotaUserMessages_DOTA_UM_SendStatPopup: true, EDotaUserMessages_DOTA_UM_TutorialFinish: true, EDotaUserMessages_DOTA_UM_SendRoshanPopup: true, EDotaUserMessages_DOTA_UM_SendGenericToolTip: true, EDotaUserMessages_DOTA_UM_SendFinalGold: true, EDotaUserMessages_DOTA_UM_CustomMsg: true, EDotaUserMessages_DOTA_UM_CoachHUDPing: true, EDotaUserMessages_DOTA_UM_ClientLoadGridNav: true, EDotaUserMessages_DOTA_UM_TE_Projectile: true, EDotaUserMessages_DOTA_UM_TE_ProjectileLoc: true, EDotaUserMessages_DOTA_UM_TE_DotaBloodImpact: true, EDotaUserMessages_DOTA_UM_TE_UnitAnimation: true, EDotaUserMessages_DOTA_UM_TE_UnitAnimationEnd: true, EDotaUserMessages_DOTA_UM_AbilityPing: true, EDotaUserMessages_DOTA_UM_ShowGenericPopup: true, EDotaUserMessages_DOTA_UM_VoteStart: true, EDotaUserMessages_DOTA_UM_VoteUpdate: true, EDotaUserMessages_DOTA_UM_VoteEnd: true, EDotaUserMessages_DOTA_UM_BoosterState: true, EDotaUserMessages_DOTA_UM_WillPurchaseAlert: true, EDotaUserMessages_DOTA_UM_TutorialMinimapPosition: true, EDotaUserMessages_DOTA_UM_PlayerMMR: true, EDotaUserMessages_DOTA_UM_AbilitySteal: true, EDotaUserMessages_DOTA_UM_CourierKilledAlert: true, EDotaUserMessages_DOTA_UM_EnemyItemAlert: true, EDotaUserMessages_DOTA_UM_StatsMatchDetails: true, EDotaUserMessages_DOTA_UM_MiniTaunt: true, EDotaUserMessages_DOTA_UM_BuyBackStateAlert: true, EDotaUserMessages_DOTA_UM_SpeechBubble: true, EDotaUserMessages_DOTA_UM_CustomHeaderMessage: true, EDotaUserMessages_DOTA_UM_QuickBuyAlert: true, EDotaUserMessages_DOTA_UM_StatsHeroDetails: true, EDotaUserMessages_DOTA_UM_PredictionResult: true, EDotaUserMessages_DOTA_UM_ModifierAlert: true, EDotaUserMessages_DOTA_UM_HPManaAlert: true, EDotaUserMessages_DOTA_UM_GlyphAlert: true, EDotaUserMessages_DOTA_UM_BeastChat: true, EDotaUserMessages_DOTA_UM_SpectatorPlayerUnitOrders: true, EDotaUserMessages_DOTA_UM_CustomHudElement_Create: true, EDotaUserMessages_DOTA_UM_CustomHudElement_Modify: true, EDotaUserMessages_DOTA_UM_CustomHudElement_Destroy: true, EDotaUserMessages_DOTA_UM_CompendiumState: true, EDotaUserMessages_DOTA_UM_ProjectionAbility: true, EDotaUserMessages_DOTA_UM_ProjectionEvent: true, EDotaUserMessages_DOTA_UM_CombatLogDataHLTV: true, EDotaUserMessages_DOTA_UM_XPAlert: true, EDotaUserMessages_DOTA_UM_UpdateQuestProgress: true, EDotaUserMessages_DOTA_UM_MatchMetadata: true, EDotaUserMessages_DOTA_UM_QuestStatus: true, } var netEntities = entityWhitelist{ NET_Messages_net_NOP: true, NET_Messages_net_Disconnect: true, NET_Messages_net_SplitScreenUser: true, NET_Messages_net_Tick: true, NET_Messages_net_StringCmd: true, NET_Messages_net_SetConVar: true, NET_Messages_net_SignonState: true, NET_Messages_net_SpawnGroup_Load: true, NET_Messages_net_SpawnGroup_ManifestUpdate: true, NET_Messages_net_SpawnGroup_SetCreationTick: true, NET_Messages_net_SpawnGroup_Unload: true, NET_Messages_net_SpawnGroup_LoadCompleted: true, } var svcEntities = entityWhitelist{ SVC_Messages_svc_ServerInfo: true, SVC_Messages_svc_FlattenedSerializer: true, SVC_Messages_svc_ClassInfo: true, SVC_Messages_svc_SetPause: true, SVC_Messages_svc_CreateStringTable: true, SVC_Messages_svc_UpdateStringTable: true, SVC_Messages_svc_VoiceInit: true, SVC_Messages_svc_VoiceData: true, SVC_Messages_svc_Print: true, SVC_Messages_svc_Sounds: true, SVC_Messages_svc_SetView: true, SVC_Messages_svc_ClearAllStringTables: true, SVC_Messages_svc_CmdKeyValues: true, SVC_Messages_svc_BSPDecal: true, SVC_Messages_svc_SplitScreen: true, SVC_Messages_svc_PacketEntities: true, SVC_Messages_svc_Prefetch: true, SVC_Messages_svc_Menu: true, SVC_Messages_svc_GetCvarValue: true, SVC_Messages_svc_StopSound: true, SVC_Messages_svc_PeerList: true, SVC_Messages_svc_PacketReliable: true, SVC_Messages_svc_HLTVStatus: true, SVC_Messages_svc_ServerSteamID: true, SVC_Messages_svc_FullFrameSplit: true, } var baseUserEntities = entityWhitelist{ EBaseUserMessages_UM_AchievementEvent: true, EBaseUserMessages_UM_CloseCaption: true, EBaseUserMessages_UM_CloseCaptionDirect: true, EBaseUserMessages_UM_CurrentTimescale: true, EBaseUserMessages_UM_DesiredTimescale: true, EBaseUserMessages_UM_Fade: true, EBaseUserMessages_UM_GameTitle: true, EBaseUserMessages_UM_HintText: true, EBaseUserMessages_UM_HudMsg: true, EBaseUserMessages_UM_HudText: true, EBaseUserMessages_UM_KeyHintText: true, EBaseUserMessages_UM_ColoredText: true, EBaseUserMessages_UM_RequestState: true, EBaseUserMessages_UM_ResetHUD: true, EBaseUserMessages_UM_Rumble: true, EBaseUserMessages_UM_SayText: true, EBaseUserMessages_UM_SayText2: true, EBaseUserMessages_UM_SayTextChannel: true, EBaseUserMessages_UM_Shake: true, EBaseUserMessages_UM_ShakeDir: true, EBaseUserMessages_UM_TextMsg: true, EBaseUserMessages_UM_ScreenTilt: true, EBaseUserMessages_UM_Train: true, EBaseUserMessages_UM_VGUIMenu: true, EBaseUserMessages_UM_VoiceMask: true, EBaseUserMessages_UM_VoiceSubtitle: true, EBaseUserMessages_UM_SendAudio: true, EBaseUserMessages_UM_ItemPickup: true, EBaseUserMessages_UM_AmmoDenied: true, EBaseUserMessages_UM_CrosshairAngle: true, EBaseUserMessages_UM_ShowMenu: true, EBaseUserMessages_UM_CreditsMsg: true, EBaseUserMessages_UM_CloseCaptionPlaceholder: true, EBaseUserMessages_UM_CameraTransition: true, EBaseUserMessages_UM_AudioParameter: true, } // ffffffffffffffff kkkkkkkk // f::::::::::::::::f k::::::k // f::::::::::::::::::f k::::::k // f::::::fffffff:::::f k::::::k // f:::::f ffffffuuuuuu uuuuuu cccccccccccccccc k:::::k kkkkkkk // f:::::f u::::u u::::u cc:::::::::::::::c k:::::k k:::::k // f:::::::ffffff u::::u u::::u c:::::::::::::::::c k:::::k k:::::k // f::::::::::::f u::::u u::::u c:::::::cccccc:::::c k:::::k k:::::k // f::::::::::::f u::::u u::::u c::::::c ccccccc k::::::k:::::k // f:::::::ffffff u::::u u::::u c:::::c k:::::::::::k // f:::::f u::::u u::::u c:::::c k:::::::::::k // f:::::f u:::::uuuu:::::u c::::::c ccccccc k::::::k:::::k // f:::::::f u:::::::::::::::uuc:::::::cccccc:::::ck::::::k k:::::k // f:::::::f u:::::::::::::::u c:::::::::::::::::ck::::::k k:::::k // f:::::::f uu::::::::uu:::u cc:::::::::::::::ck::::::k k:::::k // fffffffff uuuuuuuu uuuu cccccccccccccccckkkkkkkk kkkkkkk var entityEntities = entityWhitelist{ EBaseEntityMessages_EM_PlayJingle: true, EBaseEntityMessages_EM_ScreenOverlay: true, EBaseEntityMessages_EM_RemoveAllDecals: true, EBaseEntityMessages_EM_PropagateForce: true, EBaseEntityMessages_EM_DoSpark: true, EBaseEntityMessages_EM_FixAngle: true, } var gameEntities = entityWhitelist{ EBaseGameEvents_GE_VDebugGameSessionIDEvent: true, EBaseGameEvents_GE_PlaceDecalEvent: true, EBaseGameEvents_GE_ClearWorldDecalsEvent: true, EBaseGameEvents_GE_ClearEntityDecalsEvent: true, EBaseGameEvents_GE_ClearDecalsForSkeletonInstanceEvent: true, EBaseGameEvents_GE_Source1LegacyGameEventList: true, EBaseGameEvents_GE_Source1LegacyListenEvents: true, EBaseGameEvents_GE_Source1LegacyGameEvent: true, EBaseGameEvents_GE_SosStartSoundEvent: true, EBaseGameEvents_GE_SosStopSoundEvent: true, EBaseGameEvents_GE_SosSetSoundEventParams: true, EBaseGameEvents_GE_SosSetLibraryStackFields: true, EBaseGameEvents_GE_SosStopSoundEventHash: true, } var dotaUserEntities = entityWhitelist{ EDotaUserMessages_DOTA_UM_AIDebugLine: true, EDotaUserMessages_DOTA_UM_ChatEvent: true, EDotaUserMessages_DOTA_UM_CombatHeroPositions: true, EDotaUserMessages_DOTA_UM_CombatLogShowDeath: true, EDotaUserMessages_DOTA_UM_CreateLinearProjectile: true, EDotaUserMessages_DOTA_UM_DestroyLinearProjectile: true, EDotaUserMessages_DOTA_UM_DodgeTrackingProjectiles: true, EDotaUserMessages_DOTA_UM_GlobalLightColor: true, EDotaUserMessages_DOTA_UM_GlobalLightDirection: true, EDotaUserMessages_DOTA_UM_InvalidCommand: true, EDotaUserMessages_DOTA_UM_LocationPing: true, EDotaUserMessages_DOTA_UM_MapLine: true, EDotaUserMessages_DOTA_UM_MiniKillCamInfo: true, EDotaUserMessages_DOTA_UM_MinimapDebugPoint: true, EDotaUserMessages_DOTA_UM_MinimapEvent: true, EDotaUserMessages_DOTA_UM_NevermoreRequiem: true, EDotaUserMessages_DOTA_UM_OverheadEvent: true, EDotaUserMessages_DOTA_UM_SetNextAutobuyItem: true, EDotaUserMessages_DOTA_UM_SharedCooldown: true, EDotaUserMessages_DOTA_UM_SpectatorPlayerClick: true, EDotaUserMessages_DOTA_UM_TutorialTipInfo: true, EDotaUserMessages_DOTA_UM_UnitEvent: true, EDotaUserMessages_DOTA_UM_ParticleManager: true, EDotaUserMessages_DOTA_UM_BotChat: true, EDotaUserMessages_DOTA_UM_HudError: true, EDotaUserMessages_DOTA_UM_ItemPurchased: true, EDotaUserMessages_DOTA_UM_Ping: true, EDotaUserMessages_DOTA_UM_ItemFound: true, EDotaUserMessages_DOTA_UM_SwapVerify: true, EDotaUserMessages_DOTA_UM_WorldLine: true, EDotaUserMessages_DOTA_UM_TournamentDrop: true, EDotaUserMessages_DOTA_UM_ItemAlert: true, EDotaUserMessages_DOTA_UM_HalloweenDrops: true, EDotaUserMessages_DOTA_UM_ChatWheel: true, EDotaUserMessages_DOTA_UM_ReceivedXmasGift: true, EDotaUserMessages_DOTA_UM_UpdateSharedContent: true, EDotaUserMessages_DOTA_UM_TutorialRequestExp: true, EDotaUserMessages_DOTA_UM_TutorialPingMinimap: true, EDotaUserMessages_DOTA_UM_GamerulesStateChanged: true, EDotaUserMessages_DOTA_UM_ShowSurvey: true, EDotaUserMessages_DOTA_UM_TutorialFade: true, EDotaUserMessages_DOTA_UM_AddQuestLogEntry: true, EDotaUserMessages_DOTA_UM_SendStatPopup: true, EDotaUserMessages_DOTA_UM_TutorialFinish: true, EDotaUserMessages_DOTA_UM_SendRoshanPopup: true, EDotaUserMessages_DOTA_UM_SendGenericToolTip: true, EDotaUserMessages_DOTA_UM_SendFinalGold: true, EDotaUserMessages_DOTA_UM_CustomMsg: true, EDotaUserMessages_DOTA_UM_CoachHUDPing: true, EDotaUserMessages_DOTA_UM_ClientLoadGridNav: true, EDotaUserMessages_DOTA_UM_TE_Projectile: true, EDotaUserMessages_DOTA_UM_TE_ProjectileLoc: true, EDotaUserMessages_DOTA_UM_TE_DotaBloodImpact: true, EDotaUserMessages_DOTA_UM_TE_UnitAnimation: true, EDotaUserMessages_DOTA_UM_TE_UnitAnimationEnd: true, EDotaUserMessages_DOTA_UM_AbilityPing: true, EDotaUserMessages_DOTA_UM_ShowGenericPopup: true, EDotaUserMessages_DOTA_UM_VoteStart: true, EDotaUserMessages_DOTA_UM_VoteUpdate: true, EDotaUserMessages_DOTA_UM_VoteEnd: true, EDotaUserMessages_DOTA_UM_BoosterState: true, EDotaUserMessages_DOTA_UM_WillPurchaseAlert: true, EDotaUserMessages_DOTA_UM_TutorialMinimapPosition: true, EDotaUserMessages_DOTA_UM_PlayerMMR: true, EDotaUserMessages_DOTA_UM_AbilitySteal: true, EDotaUserMessages_DOTA_UM_CourierKilledAlert: true, EDotaUserMessages_DOTA_UM_EnemyItemAlert: true, EDotaUserMessages_DOTA_UM_StatsMatchDetails: true, EDotaUserMessages_DOTA_UM_MiniTaunt: true, EDotaUserMessages_DOTA_UM_BuyBackStateAlert: true, EDotaUserMessages_DOTA_UM_SpeechBubble: true, EDotaUserMessages_DOTA_UM_CustomHeaderMessage: true, EDotaUserMessages_DOTA_UM_QuickBuyAlert: true, EDotaUserMessages_DOTA_UM_StatsHeroDetails: true, EDotaUserMessages_DOTA_UM_PredictionResult: true, EDotaUserMessages_DOTA_UM_ModifierAlert: true, EDotaUserMessages_DOTA_UM_HPManaAlert: true, EDotaUserMessages_DOTA_UM_GlyphAlert: true, EDotaUserMessages_DOTA_UM_BeastChat: true, EDotaUserMessages_DOTA_UM_SpectatorPlayerUnitOrders: true, EDotaUserMessages_DOTA_UM_CustomHudElement_Create: true, EDotaUserMessages_DOTA_UM_CustomHudElement_Modify: true, EDotaUserMessages_DOTA_UM_CustomHudElement_Destroy: true, EDotaUserMessages_DOTA_UM_CompendiumState: true, EDotaUserMessages_DOTA_UM_ProjectionAbility: true, EDotaUserMessages_DOTA_UM_ProjectionEvent: true, EDotaUserMessages_DOTA_UM_CombatLogDataHLTV: true, EDotaUserMessages_DOTA_UM_XPAlert: true, EDotaUserMessages_DOTA_UM_UpdateQuestProgress: true, EDotaUserMessages_DOTA_UM_MatchMetadata: true, EDotaUserMessages_DOTA_UM_QuestStatus: true, } var eteEntities = entityWhitelist{ ETEProtobufIds_TE_EffectDispatchId: true, } var messages = messageFactory{ packetFactory{ EDemoCommands_DEM_Stop: func() proto.Message { return new(dota.CDemoStop) }, EDemoCommands_DEM_FileHeader: func() proto.Message { return new(dota.CDemoFileHeader) }, EDemoCommands_DEM_FileInfo: func() proto.Message { return new(dota.CDemoFileInfo) }, EDemoCommands_DEM_SyncTick: func() proto.Message { return new(dota.CDemoSyncTick) }, EDemoCommands_DEM_SendTables: func() proto.Message { return new(dota.CDemoSendTables) }, EDemoCommands_DEM_ClassInfo: func() proto.Message { return new(dota.CDemoClassInfo) }, EDemoCommands_DEM_StringTables: func() proto.Message { return new(dota.CDemoStringTables) }, EDemoCommands_DEM_Packet: func() proto.Message { return p_CDemoPacket.Get().(*dota.CDemoPacket) }, EDemoCommands_DEM_SignonPacket: func() proto.Message { return p_CDemoPacket.Get().(*dota.CDemoPacket) }, EDemoCommands_DEM_ConsoleCmd: func() proto.Message { return new(dota.CDemoConsoleCmd) }, EDemoCommands_DEM_CustomData: func() proto.Message { return new(dota.CDemoCustomData) }, EDemoCommands_DEM_CustomDataCallbacks: func() proto.Message { return new(dota.CDemoCustomDataCallbacks) }, EDemoCommands_DEM_UserCmd: func() proto.Message { return new(dota.CDemoUserCmd) }, EDemoCommands_DEM_FullPacket: func() proto.Message { return new(dota.CDemoFullPacket) }, EDemoCommands_DEM_SaveGame: func() proto.Message { return new(dota.CDemoSaveGame) }, EDemoCommands_DEM_SpawnGroups: func() proto.Message { return new(dota.CDemoSpawnGroups) }, }, entityFactory{ NET_Messages_net_NOP: func() proto.Message { return new(dota.CNETMsg_NOP) }, NET_Messages_net_Disconnect: func() proto.Message { return new(dota.CNETMsg_Disconnect) }, NET_Messages_net_SplitScreenUser: func() proto.Message { return new(dota.CNETMsg_SplitScreenUser) }, NET_Messages_net_Tick: func() proto.Message { return p_CNETMsg_Tick.Get().(*dota.CNETMsg_Tick) }, NET_Messages_net_StringCmd: func() proto.Message { return new(dota.CNETMsg_StringCmd) }, NET_Messages_net_SetConVar: func() proto.Message { return new(dota.CNETMsg_SetConVar) }, NET_Messages_net_SignonState: func() proto.Message { return new(dota.CNETMsg_SignonState) }, NET_Messages_net_SpawnGroup_Load: func() proto.Message { return new(dota.CNETMsg_SpawnGroup_Load) }, NET_Messages_net_SpawnGroup_ManifestUpdate: func() proto.Message { return new(dota.CNETMsg_SpawnGroup_ManifestUpdate) }, NET_Messages_net_SpawnGroup_SetCreationTick: func() proto.Message { return new(dota.CNETMsg_SpawnGroup_SetCreationTick) }, NET_Messages_net_SpawnGroup_Unload: func() proto.Message { return new(dota.CNETMsg_SpawnGroup_Unload) }, NET_Messages_net_SpawnGroup_LoadCompleted: func() proto.Message { return new(dota.CNETMsg_SpawnGroup_LoadCompleted) }, SVC_Messages_svc_ServerInfo: func() proto.Message { return new(dota.CSVCMsg_ServerInfo) }, SVC_Messages_svc_FlattenedSerializer: func() proto.Message { return new(dota.CSVCMsg_FlattenedSerializer) }, SVC_Messages_svc_ClassInfo: func() proto.Message { return new(dota.CSVCMsg_ClassInfo) }, SVC_Messages_svc_SetPause: func() proto.Message { return new(dota.CSVCMsg_SetPause) }, SVC_Messages_svc_CreateStringTable: func() proto.Message { return new(dota.CSVCMsg_CreateStringTable) }, SVC_Messages_svc_UpdateStringTable: func() proto.Message { return p_CSVCMsg_UpdateStringTable.Get().(*dota.CSVCMsg_UpdateStringTable) }, SVC_Messages_svc_VoiceInit: func() proto.Message { return new(dota.CSVCMsg_VoiceInit) }, SVC_Messages_svc_VoiceData: func() proto.Message { return new(dota.CSVCMsg_VoiceData) }, SVC_Messages_svc_Print: func() proto.Message { return new(dota.CSVCMsg_Print) }, SVC_Messages_svc_Sounds: func() proto.Message { return new(dota.CSVCMsg_Sounds) }, SVC_Messages_svc_SetView: func() proto.Message { return new(dota.CSVCMsg_SetView) }, SVC_Messages_svc_ClearAllStringTables: func() proto.Message { return new(dota.CSVCMsg_ClearAllStringTables) }, SVC_Messages_svc_CmdKeyValues: func() proto.Message { return new(dota.CSVCMsg_CmdKeyValues) }, SVC_Messages_svc_BSPDecal: func() proto.Message { return new(dota.CSVCMsg_BSPDecal) }, SVC_Messages_svc_SplitScreen: func() proto.Message { return new(dota.CSVCMsg_SplitScreen) }, SVC_Messages_svc_PacketEntities: func() proto.Message { return p_CSVCMsg_PacketEntities.Get().(*dota.CSVCMsg_PacketEntities) }, SVC_Messages_svc_Prefetch: func() proto.Message { return new(dota.CSVCMsg_Prefetch) }, SVC_Messages_svc_Menu: func() proto.Message { return new(dota.CSVCMsg_Menu) }, SVC_Messages_svc_GetCvarValue: func() proto.Message { return new(dota.CSVCMsg_GetCvarValue) }, SVC_Messages_svc_StopSound: func() proto.Message { return new(dota.CSVCMsg_StopSound) }, SVC_Messages_svc_PeerList: func() proto.Message { return new(dota.CSVCMsg_PeerList) }, SVC_Messages_svc_PacketReliable: func() proto.Message { return new(dota.CSVCMsg_PacketReliable) }, SVC_Messages_svc_HLTVStatus: func() proto.Message { return new(dota.CSVCMsg_HLTVStatus) }, SVC_Messages_svc_ServerSteamID: func() proto.Message { return new(dota.CSVCMsg_ServerSteamID) }, SVC_Messages_svc_FullFrameSplit: func() proto.Message { return new(dota.CSVCMsg_FullFrameSplit) }, EBaseUserMessages_UM_AchievementEvent: func() proto.Message { return new(dota.CUserMessageAchievementEvent) }, EBaseUserMessages_UM_CloseCaption: func() proto.Message { return new(dota.CUserMessageCloseCaption) }, EBaseUserMessages_UM_CloseCaptionDirect: func() proto.Message { return new(dota.CUserMessageCloseCaptionDirect) }, EBaseUserMessages_UM_CurrentTimescale: func() proto.Message { return new(dota.CUserMessageCurrentTimescale) }, EBaseUserMessages_UM_DesiredTimescale: func() proto.Message { return new(dota.CUserMessageDesiredTimescale) }, EBaseUserMessages_UM_Fade: func() proto.Message { return new(dota.CUserMessageFade) }, EBaseUserMessages_UM_GameTitle: func() proto.Message { return new(dota.CUserMessageGameTitle) }, EBaseUserMessages_UM_HintText: func() proto.Message { return new(dota.CUserMessageHintText) }, EBaseUserMessages_UM_HudMsg: func() proto.Message { return new(dota.CUserMessageHudMsg) }, EBaseUserMessages_UM_HudText: func() proto.Message { return new(dota.CUserMessageHudText) }, EBaseUserMessages_UM_KeyHintText: func() proto.Message { return new(dota.CUserMessageKeyHintText) }, EBaseUserMessages_UM_ColoredText: func() proto.Message { return new(dota.CUserMessageColoredText) }, EBaseUserMessages_UM_RequestState: func() proto.Message { return new(dota.CUserMessageRequestState) }, EBaseUserMessages_UM_ResetHUD: func() proto.Message { return new(dota.CUserMessageResetHUD) }, EBaseUserMessages_UM_Rumble: func() proto.Message { return new(dota.CUserMessageRumble) }, EBaseUserMessages_UM_SayText: func() proto.Message { return new(dota.CUserMessageSayText) }, EBaseUserMessages_UM_SayText2: func() proto.Message { return new(dota.CUserMessageSayText2) }, EBaseUserMessages_UM_SayTextChannel: func() proto.Message { return new(dota.CUserMessageSayTextChannel) }, EBaseUserMessages_UM_Shake: func() proto.Message { return new(dota.CUserMessageShake) }, EBaseUserMessages_UM_ShakeDir: func() proto.Message { return new(dota.CUserMessageShakeDir) }, EBaseUserMessages_UM_TextMsg: func() proto.Message { return new(dota.CUserMessageTextMsg) }, EBaseUserMessages_UM_ScreenTilt: func() proto.Message { return new(dota.CUserMessageScreenTilt) }, EBaseUserMessages_UM_Train: func() proto.Message { return new(dota.CUserMessageTrain) }, EBaseUserMessages_UM_VGUIMenu: func() proto.Message { return new(dota.CUserMessageVGUIMenu) }, EBaseUserMessages_UM_VoiceMask: func() proto.Message { return new(dota.CUserMessageVoiceMask) }, EBaseUserMessages_UM_VoiceSubtitle: func() proto.Message { return new(dota.CUserMessageVoiceSubtitle) }, EBaseUserMessages_UM_SendAudio: func() proto.Message { return new(dota.CUserMessageSendAudio) }, EBaseUserMessages_UM_ItemPickup: func() proto.Message { return new(dota.CUserMessageItemPickup) }, EBaseUserMessages_UM_AmmoDenied: func() proto.Message { return new(dota.CUserMessageAmmoDenied) }, EBaseUserMessages_UM_CrosshairAngle: func() proto.Message { return new(dota.CUserMessageCrosshairAngle) }, EBaseUserMessages_UM_ShowMenu: func() proto.Message { return new(dota.CUserMessageShowMenu) }, EBaseUserMessages_UM_CreditsMsg: func() proto.Message { return new(dota.CUserMessageCreditsMsg) }, EBaseEntityMessages_EM_PlayJingle: func() proto.Message { return new(dota.CEntityMessagePlayJingle) }, EBaseEntityMessages_EM_ScreenOverlay: func() proto.Message { return new(dota.CEntityMessageScreenOverlay) }, EBaseEntityMessages_EM_RemoveAllDecals: func() proto.Message { return new(dota.CEntityMessageRemoveAllDecals) }, EBaseEntityMessages_EM_PropagateForce: func() proto.Message { return new(dota.CEntityMessagePropagateForce) }, EBaseEntityMessages_EM_DoSpark: func() proto.Message { return new(dota.CEntityMessageDoSpark) }, EBaseEntityMessages_EM_FixAngle: func() proto.Message { return new(dota.CEntityMessageFixAngle) }, EBaseUserMessages_UM_CloseCaptionPlaceholder: func() proto.Message { return new(dota.CUserMessageCloseCaptionPlaceholder) }, EBaseUserMessages_UM_CameraTransition: func() proto.Message { return new(dota.CUserMessageCameraTransition) }, EBaseUserMessages_UM_AudioParameter: func() proto.Message { return new(dota.CUserMessageAudioParameter) }, EBaseGameEvents_GE_VDebugGameSessionIDEvent: func() proto.Message { return new(dota.CMsgVDebugGameSessionIDEvent) }, EBaseGameEvents_GE_PlaceDecalEvent: func() proto.Message { return new(dota.CMsgPlaceDecalEvent) }, EBaseGameEvents_GE_ClearWorldDecalsEvent: func() proto.Message { return new(dota.CMsgClearWorldDecalsEvent) }, EBaseGameEvents_GE_ClearEntityDecalsEvent: func() proto.Message { return new(dota.CMsgClearEntityDecalsEvent) }, EBaseGameEvents_GE_ClearDecalsForSkeletonInstanceEvent: func() proto.Message { return new(dota.CMsgClearDecalsForSkeletonInstanceEvent) }, EBaseGameEvents_GE_Source1LegacyGameEventList: func() proto.Message { return new(dota.CMsgSource1LegacyGameEventList) }, EBaseGameEvents_GE_Source1LegacyListenEvents: func() proto.Message { return new(dota.CMsgSource1LegacyListenEvents) }, EBaseGameEvents_GE_Source1LegacyGameEvent: func() proto.Message { return new(dota.CMsgSource1LegacyGameEvent) }, EBaseGameEvents_GE_SosStartSoundEvent: func() proto.Message { return p_CMsgSosStartSoundEvent.Get().(*dota.CMsgSosStartSoundEvent) }, EBaseGameEvents_GE_SosStopSoundEvent: func() proto.Message { return new(dota.CMsgSosStopSoundEvent) }, EBaseGameEvents_GE_SosSetSoundEventParams: func() proto.Message { return p_CMsgSosSetSoundEventParams.Get().(*dota.CMsgSosSetSoundEventParams) }, EBaseGameEvents_GE_SosSetLibraryStackFields: func() proto.Message { return new(dota.CMsgSosSetLibraryStackFields) }, EBaseGameEvents_GE_SosStopSoundEventHash: func() proto.Message { return new(dota.CMsgSosStopSoundEventHash) }, ETEProtobufIds_TE_EffectDispatchId: func() proto.Message { return new(dota.CMsgTEEffectDispatch) }, EDotaUserMessages_DOTA_UM_AIDebugLine: func() proto.Message { return new(dota.CDOTAUserMsg_AIDebugLine) }, EDotaUserMessages_DOTA_UM_ChatEvent: func() proto.Message { return p_CDOTAUserMsg_ChatEvent.Get().(*dota.CDOTAUserMsg_ChatEvent) }, EDotaUserMessages_DOTA_UM_CombatHeroPositions: func() proto.Message { return new(dota.CDOTAUserMsg_CombatHeroPositions) }, EDotaUserMessages_DOTA_UM_CombatLogShowDeath: func() proto.Message { return new(dota.CDOTAUserMsg_CombatLogShowDeath) }, EDotaUserMessages_DOTA_UM_CreateLinearProjectile: func() proto.Message { return new(dota.CDOTAUserMsg_CreateLinearProjectile) }, EDotaUserMessages_DOTA_UM_DestroyLinearProjectile: func() proto.Message { return new(dota.CDOTAUserMsg_DestroyLinearProjectile) }, EDotaUserMessages_DOTA_UM_DodgeTrackingProjectiles: func() proto.Message { return new(dota.CDOTAUserMsg_DodgeTrackingProjectiles) }, EDotaUserMessages_DOTA_UM_GlobalLightColor: func() proto.Message { return new(dota.CDOTAUserMsg_GlobalLightColor) }, EDotaUserMessages_DOTA_UM_GlobalLightDirection: func() proto.Message { return new(dota.CDOTAUserMsg_GlobalLightDirection) }, EDotaUserMessages_DOTA_UM_InvalidCommand: func() proto.Message { return new(dota.CDOTAUserMsg_InvalidCommand) }, EDotaUserMessages_DOTA_UM_LocationPing: func() proto.Message { return p_CDOTAUserMsg_LocationPing.Get().(*dota.CDOTAUserMsg_LocationPing) }, EDotaUserMessages_DOTA_UM_MapLine: func() proto.Message { return new(dota.CDOTAUserMsg_MapLine) }, EDotaUserMessages_DOTA_UM_MiniKillCamInfo: func() proto.Message { return new(dota.CDOTAUserMsg_MiniKillCamInfo) }, EDotaUserMessages_DOTA_UM_MinimapDebugPoint: func() proto.Message { return new(dota.CDOTAUserMsg_MinimapDebugPoint) }, EDotaUserMessages_DOTA_UM_MinimapEvent: func() proto.Message { return new(dota.CDOTAUserMsg_MinimapEvent) }, EDotaUserMessages_DOTA_UM_NevermoreRequiem: func() proto.Message { return new(dota.CDOTAUserMsg_NevermoreRequiem) }, EDotaUserMessages_DOTA_UM_OverheadEvent: func() proto.Message { return p_CDOTAUserMsg_OverheadEvent.Get().(*dota.CDOTAUserMsg_OverheadEvent) }, EDotaUserMessages_DOTA_UM_SetNextAutobuyItem: func() proto.Message { return new(dota.CDOTAUserMsg_SetNextAutobuyItem) }, EDotaUserMessages_DOTA_UM_SharedCooldown: func() proto.Message { return p_CDOTAUserMsg_SharedCooldown.Get().(*dota.CDOTAUserMsg_SharedCooldown) }, EDotaUserMessages_DOTA_UM_SpectatorPlayerClick: func() proto.Message { return p_CDOTAUserMsg_SpectatorPlayerClick.Get().(*dota.CDOTAUserMsg_SpectatorPlayerClick) }, EDotaUserMessages_DOTA_UM_TutorialTipInfo: func() proto.Message { return new(dota.CDOTAUserMsg_TutorialTipInfo) }, EDotaUserMessages_DOTA_UM_UnitEvent: func() proto.Message { return p_CDOTAUserMsg_UnitEvent.Get().(*dota.CDOTAUserMsg_UnitEvent) }, EDotaUserMessages_DOTA_UM_ParticleManager: func() proto.Message { return p_CDOTAUserMsg_ParticleManager.Get().(*dota.CDOTAUserMsg_ParticleManager) }, EDotaUserMessages_DOTA_UM_BotChat: func() proto.Message { return new(dota.CDOTAUserMsg_BotChat) }, EDotaUserMessages_DOTA_UM_HudError: func() proto.Message { return new(dota.CDOTAUserMsg_HudError) }, EDotaUserMessages_DOTA_UM_ItemPurchased: func() proto.Message { return new(dota.CDOTAUserMsg_ItemPurchased) }, EDotaUserMessages_DOTA_UM_Ping: func() proto.Message { return new(dota.CDOTAUserMsg_Ping) }, EDotaUserMessages_DOTA_UM_ItemFound: func() proto.Message { return new(dota.CDOTAUserMsg_ItemFound) }, EDotaUserMessages_DOTA_UM_SwapVerify: func() proto.Message { return new(dota.CDOTAUserMsg_SwapVerify) }, EDotaUserMessages_DOTA_UM_WorldLine: func() proto.Message { return new(dota.CDOTAUserMsg_WorldLine) }, EDotaUserMessages_DOTA_UM_TournamentDrop: func() proto.Message { return new(dota.CMsgGCToClientTournamentItemDrop) }, EDotaUserMessages_DOTA_UM_ItemAlert: func() proto.Message { return new(dota.CDOTAUserMsg_ItemAlert) }, EDotaUserMessages_DOTA_UM_HalloweenDrops: func() proto.Message { return new(dota.CDOTAUserMsg_HalloweenDrops) }, EDotaUserMessages_DOTA_UM_ChatWheel: func() proto.Message { return new(dota.CDOTAUserMsg_ChatWheel) }, EDotaUserMessages_DOTA_UM_ReceivedXmasGift: func() proto.Message { return new(dota.CDOTAUserMsg_ReceivedXmasGift) }, EDotaUserMessages_DOTA_UM_UpdateSharedContent: func() proto.Message { return new(dota.CDOTAUserMsg_UpdateSharedContent) }, EDotaUserMessages_DOTA_UM_TutorialRequestExp: func() proto.Message { return new(dota.CDOTAUserMsg_TutorialRequestExp) }, EDotaUserMessages_DOTA_UM_TutorialPingMinimap: func() proto.Message { return new(dota.CDOTAUserMsg_TutorialPingMinimap) }, EDotaUserMessages_DOTA_UM_GamerulesStateChanged: func() proto.Message { return new(dota.CDOTAUserMsg_GamerulesStateChanged) }, EDotaUserMessages_DOTA_UM_ShowSurvey: func() proto.Message { return new(dota.CDOTAUserMsg_ShowSurvey) }, EDotaUserMessages_DOTA_UM_TutorialFade: func() proto.Message { return new(dota.CDOTAUserMsg_TutorialFade) }, EDotaUserMessages_DOTA_UM_AddQuestLogEntry: func() proto.Message { return new(dota.CDOTAUserMsg_AddQuestLogEntry) }, EDotaUserMessages_DOTA_UM_SendStatPopup: func() proto.Message { return new(dota.CDOTAUserMsg_SendStatPopup) }, EDotaUserMessages_DOTA_UM_TutorialFinish: func() proto.Message { return new(dota.CDOTAUserMsg_TutorialFinish) }, EDotaUserMessages_DOTA_UM_SendRoshanPopup: func() proto.Message { return new(dota.CDOTAUserMsg_SendRoshanPopup) }, EDotaUserMessages_DOTA_UM_SendGenericToolTip: func() proto.Message { return new(dota.CDOTAUserMsg_SendGenericToolTip) }, EDotaUserMessages_DOTA_UM_SendFinalGold: func() proto.Message { return new(dota.CDOTAUserMsg_SendFinalGold) }, EDotaUserMessages_DOTA_UM_CustomMsg: func() proto.Message { return new(dota.CDOTAUserMsg_CustomMsg) }, EDotaUserMessages_DOTA_UM_CoachHUDPing: func() proto.Message { return new(dota.CDOTAUserMsg_CoachHUDPing) }, EDotaUserMessages_DOTA_UM_ClientLoadGridNav: func() proto.Message { return new(dota.CDOTAUserMsg_ClientLoadGridNav) }, EDotaUserMessages_DOTA_UM_TE_Projectile: func() proto.Message { return p_CDOTAUserMsg_TE_Projectile.Get().(*dota.CDOTAUserMsg_TE_Projectile) }, EDotaUserMessages_DOTA_UM_TE_ProjectileLoc: func() proto.Message { return p_CDOTAUserMsg_TE_ProjectileLoc.Get().(*dota.CDOTAUserMsg_TE_ProjectileLoc) }, EDotaUserMessages_DOTA_UM_TE_DotaBloodImpact: func() proto.Message { return p_CDOTAUserMsg_TE_DotaBloodImpact.Get().(*dota.CDOTAUserMsg_TE_DotaBloodImpact) }, EDotaUserMessages_DOTA_UM_TE_UnitAnimation: func() proto.Message { return p_CDOTAUserMsg_TE_UnitAnimation.Get().(*dota.CDOTAUserMsg_TE_UnitAnimation) }, EDotaUserMessages_DOTA_UM_TE_UnitAnimationEnd: func() proto.Message { return p_CDOTAUserMsg_TE_UnitAnimationEnd.Get().(*dota.CDOTAUserMsg_TE_UnitAnimationEnd) }, EDotaUserMessages_DOTA_UM_AbilityPing: func() proto.Message { return new(dota.CDOTAUserMsg_AbilityPing) }, EDotaUserMessages_DOTA_UM_ShowGenericPopup: func() proto.Message { return new(dota.CDOTAUserMsg_ShowGenericPopup) }, EDotaUserMessages_DOTA_UM_VoteStart: func() proto.Message { return new(dota.CDOTAUserMsg_VoteStart) }, EDotaUserMessages_DOTA_UM_VoteUpdate: func() proto.Message { return new(dota.CDOTAUserMsg_VoteUpdate) }, EDotaUserMessages_DOTA_UM_VoteEnd: func() proto.Message { return new(dota.CDOTAUserMsg_VoteEnd) }, EDotaUserMessages_DOTA_UM_BoosterState: func() proto.Message { return new(dota.CDOTAUserMsg_BoosterState) }, EDotaUserMessages_DOTA_UM_WillPurchaseAlert: func() proto.Message { return new(dota.CDOTAUserMsg_WillPurchaseAlert) }, EDotaUserMessages_DOTA_UM_TutorialMinimapPosition: func() proto.Message { return new(dota.CDOTAUserMsg_TutorialMinimapPosition) }, EDotaUserMessages_DOTA_UM_PlayerMMR: func() proto.Message { return new(dota.CDOTAUserMsg_PlayerMMR) }, EDotaUserMessages_DOTA_UM_AbilitySteal: func() proto.Message { return new(dota.CDOTAUserMsg_AbilitySteal) }, EDotaUserMessages_DOTA_UM_CourierKilledAlert: func() proto.Message { return new(dota.CDOTAUserMsg_CourierKilledAlert) }, EDotaUserMessages_DOTA_UM_EnemyItemAlert: func() proto.Message { return new(dota.CDOTAUserMsg_EnemyItemAlert) }, EDotaUserMessages_DOTA_UM_StatsMatchDetails: func() proto.Message { return new(dota.CDOTAUserMsg_StatsMatchDetails) }, EDotaUserMessages_DOTA_UM_MiniTaunt: func() proto.Message { return new(dota.CDOTAUserMsg_MiniTaunt) }, EDotaUserMessages_DOTA_UM_BuyBackStateAlert: func() proto.Message { return new(dota.CDOTAUserMsg_BuyBackStateAlert) }, EDotaUserMessages_DOTA_UM_SpeechBubble: func() proto.Message { return new(dota.CDOTAUserMsg_SpeechBubble) }, EDotaUserMessages_DOTA_UM_CustomHeaderMessage: func() proto.Message { return new(dota.CDOTAUserMsg_CustomHeaderMessage) }, EDotaUserMessages_DOTA_UM_QuickBuyAlert: func() proto.Message { return new(dota.CDOTAUserMsg_QuickBuyAlert) }, EDotaUserMessages_DOTA_UM_StatsHeroDetails: func() proto.Message { return new(dota.CDOTAUserMsg_StatsHeroMinuteDetails) }, EDotaUserMessages_DOTA_UM_PredictionResult: func() proto.Message { return new(dota.CDOTAUserMsg_PredictionResult) }, EDotaUserMessages_DOTA_UM_ModifierAlert: func() proto.Message { return new(dota.CDOTAUserMsg_ModifierAlert) }, EDotaUserMessages_DOTA_UM_HPManaAlert: func() proto.Message { return new(dota.CDOTAUserMsg_HPManaAlert) }, EDotaUserMessages_DOTA_UM_GlyphAlert: func() proto.Message { return new(dota.CDOTAUserMsg_GlyphAlert) }, EDotaUserMessages_DOTA_UM_BeastChat: func() proto.Message { return new(dota.CDOTAUserMsg_BeastChat) }, EDotaUserMessages_DOTA_UM_SpectatorPlayerUnitOrders: func() proto.Message { return p_CDOTAUserMsg_SpectatorPlayerUnitOrders.Get().(*dota.CDOTAUserMsg_SpectatorPlayerUnitOrders) }, EDotaUserMessages_DOTA_UM_CustomHudElement_Create: func() proto.Message { return new(dota.CDOTAUserMsg_CustomHudElement_Create) }, EDotaUserMessages_DOTA_UM_CustomHudElement_Modify: func() proto.Message { return new(dota.CDOTAUserMsg_CustomHudElement_Modify) }, EDotaUserMessages_DOTA_UM_CustomHudElement_Destroy: func() proto.Message { return new(dota.CDOTAUserMsg_CustomHudElement_Destroy) }, EDotaUserMessages_DOTA_UM_CompendiumState: func() proto.Message { return new(dota.CDOTAUserMsg_CompendiumState) }, EDotaUserMessages_DOTA_UM_ProjectionAbility: func() proto.Message { return new(dota.CDOTAUserMsg_ProjectionAbility) }, EDotaUserMessages_DOTA_UM_ProjectionEvent: func() proto.Message { return new(dota.CDOTAUserMsg_ProjectionEvent) }, EDotaUserMessages_DOTA_UM_CombatLogDataHLTV: func() proto.Message { return p_CMsgDOTACombatLogEntry.Get().(*dota.CMsgDOTACombatLogEntry) }, EDotaUserMessages_DOTA_UM_XPAlert: func() proto.Message { return new(dota.CDOTAUserMsg_XPAlert) }, EDotaUserMessages_DOTA_UM_UpdateQuestProgress: func() proto.Message { return new(dota.CDOTAUserMsg_UpdateQuestProgress) }, EDotaUserMessages_DOTA_UM_MatchMetadata: func() proto.Message { return new(dota.CDOTAClientMsg_MatchMetadata) }, EDotaUserMessages_DOTA_UM_QuestStatus: func() proto.Message { return new(dota.CDOTAUserMsg_QuestStatus) }, }, }