1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2025-09-19 12:06:07 +08:00

Update Protobuf and add protos for CS2 (#176)

* Replace protobuf 2.6.1 with 3.21.8

* Update/add protobuf libs

* Add CS2 protos

* Remove old csgo/dota protos

* Add versioned protoc bin

* Comment out Valve's `schema` define for now

* Use ENetworkDisconnectionReason

* Fix-up `offsetof` to avoid errors on some Clang versions
This commit is contained in:
Nicholas Hastings
2023-11-15 18:58:12 -05:00
committed by GitHub
parent e6dc3f8a40
commit c5d57c03ee
3189 changed files with 984655 additions and 514607 deletions

View File

@ -0,0 +1,547 @@
import "steammessages.proto";
enum EGCBaseMsg {
k_EMsgGCSystemMessage = 4001;
k_EMsgGCReplicateConVars = 4002;
k_EMsgGCConVarUpdated = 4003;
k_EMsgGCInQueue = 4008;
k_EMsgGCInviteToParty = 4501;
k_EMsgGCInvitationCreated = 4502;
k_EMsgGCPartyInviteResponse = 4503;
k_EMsgGCKickFromParty = 4504;
k_EMsgGCLeaveParty = 4505;
k_EMsgGCServerAvailable = 4506;
k_EMsgGCClientConnectToServer = 4507;
k_EMsgGCGameServerInfo = 4508;
k_EMsgGCError = 4509;
k_EMsgGCReplay_UploadedToYouTube = 4510;
k_EMsgGCLANServerAvailable = 4511;
}
enum EGCBaseProtoObjectTypes {
k_EProtoObjectPartyInvite = 1001;
k_EProtoObjectLobbyInvite = 1002;
}
enum GC_BannedWordType {
GC_BANNED_WORD_DISABLE_WORD = 0;
GC_BANNED_WORD_ENABLE_WORD = 1;
}
message CGCStorePurchaseInit_LineItem {
optional uint32 item_def_id = 1;
optional uint32 quantity = 2;
optional uint32 cost_in_local_currency = 3;
optional uint32 purchase_type = 4;
}
message CMsgGCStorePurchaseInit {
optional string country = 1;
optional int32 language = 2;
optional int32 currency = 3;
repeated .CGCStorePurchaseInit_LineItem line_items = 4;
}
message CMsgGCStorePurchaseInitResponse {
optional int32 result = 1;
optional uint64 txn_id = 2;
optional string url = 3;
repeated uint64 item_ids = 4;
}
message CSOPartyInvite {
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
}
message CSOLobbyInvite {
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
}
message CMsgSystemBroadcast {
optional string message = 1;
}
message CMsgInviteToParty {
optional fixed64 steam_id = 1;
optional uint32 client_version = 2;
optional uint32 team_invite = 3;
}
message CMsgInvitationCreated {
optional uint64 group_id = 1;
optional fixed64 steam_id = 2;
}
message CMsgPartyInviteResponse {
optional uint64 party_id = 1;
optional bool accept = 2;
optional uint32 client_version = 3;
optional uint32 team_invite = 4;
}
message CMsgKickFromParty {
optional fixed64 steam_id = 1;
}
message CMsgLeaveParty {
}
message CMsgServerAvailable {
}
message CMsgLANServerAvailable {
optional fixed64 lobby_id = 1;
}
message CSOEconGameAccountClient {
optional uint32 additional_backpack_slots = 1 [default = 0];
optional fixed32 bonus_xp_timestamp_refresh = 12;
optional uint32 bonus_xp_usedflags = 13;
optional uint32 elevated_state = 14;
optional uint32 elevated_timestamp = 15;
}
message CSOItemCriteriaCondition {
optional int32 op = 1;
optional string field = 2;
optional bool required = 3;
optional float float_value = 4;
optional string string_value = 5;
}
message CSOItemCriteria {
optional uint32 item_level = 1;
optional int32 item_quality = 2;
optional bool item_level_set = 3;
optional bool item_quality_set = 4;
optional uint32 initial_inventory = 5;
optional uint32 initial_quantity = 6;
optional bool ignore_enabled_flag = 8;
repeated .CSOItemCriteriaCondition conditions = 9;
optional int32 item_rarity = 10;
optional bool item_rarity_set = 11;
optional bool recent_only = 12;
}
message CSOItemRecipe {
optional uint32 def_index = 1;
optional string name = 2;
optional string n_a = 3;
optional string desc_inputs = 4;
optional string desc_outputs = 5;
optional string di_a = 6;
optional string di_b = 7;
optional string di_c = 8;
optional string do_a = 9;
optional string do_b = 10;
optional string do_c = 11;
optional bool requires_all_same_class = 12;
optional bool requires_all_same_slot = 13;
optional int32 class_usage_for_output = 14;
optional int32 slot_usage_for_output = 15;
optional int32 set_for_output = 16;
repeated .CSOItemCriteria input_items_criteria = 20;
repeated .CSOItemCriteria output_items_criteria = 21;
repeated uint32 input_item_dupe_counts = 22;
}
message CMsgDevNewItemRequest {
optional fixed64 receiver = 1;
optional .CSOItemCriteria criteria = 2;
}
message CMsgIncrementKillCountAttribute {
optional fixed32 killer_account_id = 1;
optional fixed32 victim_account_id = 2;
optional uint64 item_id = 3;
optional uint32 event_type = 4;
optional uint32 amount = 5;
}
message CMsgApplySticker {
optional uint64 sticker_item_id = 1;
optional uint64 item_item_id = 2;
optional uint32 sticker_slot = 3;
optional uint32 baseitem_defidx = 4;
optional float sticker_wear = 5;
}
message CMsgModifyItemAttribute {
optional uint64 item_id = 1;
optional uint32 attr_defidx = 2;
optional uint32 attr_value = 3;
}
message CMsgApplyStatTrakSwap {
optional uint64 tool_item_id = 1;
optional uint64 item_1_item_id = 2;
optional uint64 item_2_item_id = 3;
}
message CMsgApplyStrangePart {
optional uint64 strange_part_item_id = 1;
optional uint64 item_item_id = 2;
}
message CMsgApplyPennantUpgrade {
optional uint64 upgrade_item_id = 1;
optional uint64 pennant_item_id = 2;
}
message CMsgApplyEggEssence {
optional uint64 essence_item_id = 1;
optional uint64 egg_item_id = 2;
}
message CSOEconItemAttribute {
optional uint32 def_index = 1;
optional uint32 value = 2;
optional bytes value_bytes = 3;
}
message CSOEconItemEquipped {
optional uint32 new_class = 1;
optional uint32 new_slot = 2;
}
message CSOEconItem {
optional uint64 id = 1;
optional uint32 account_id = 2;
optional uint32 inventory = 3;
optional uint32 def_index = 4;
optional uint32 quantity = 5;
optional uint32 level = 6;
optional uint32 quality = 7;
optional uint32 flags = 8 [default = 0];
optional uint32 origin = 9;
optional string custom_name = 10;
optional string custom_desc = 11;
repeated .CSOEconItemAttribute attribute = 12;
optional .CSOEconItem interior_item = 13;
optional bool in_use = 14 [default = false];
optional uint32 style = 15 [default = 0];
optional uint64 original_id = 16 [default = 0];
repeated .CSOEconItemEquipped equipped_state = 18;
optional uint32 rarity = 19;
}
message CMsgAdjustItemEquippedState {
optional uint64 item_id = 1;
optional uint32 new_class = 2;
optional uint32 new_slot = 3;
optional bool swap = 4;
}
message CMsgAdjustItemEquippedStateMulti {
repeated uint64 t_equips = 1;
repeated uint64 ct_equips = 2;
repeated uint64 noteam_equips = 3;
}
message CMsgSortItems {
optional uint32 sort_type = 1;
}
message CSOEconClaimCode {
optional uint32 account_id = 1;
optional uint32 code_type = 2;
optional uint32 time_acquired = 3;
optional string code = 4;
}
message CMsgStoreGetUserData {
optional fixed32 price_sheet_version = 1;
optional int32 currency = 2;
}
message CMsgStoreGetUserDataResponse {
optional int32 result = 1;
optional int32 currency_deprecated = 2;
optional string country_deprecated = 3;
optional fixed32 price_sheet_version = 4;
optional bytes price_sheet = 8;
}
message CMsgUpdateItemSchema {
optional bytes items_game = 1;
optional fixed32 item_schema_version = 2;
optional string items_game_url = 4;
}
message CMsgGCError {
optional string error_text = 1;
}
message CMsgRequestInventoryRefresh {
}
message CMsgConVarValue {
optional string name = 1;
optional string value = 2;
}
message CMsgReplicateConVars {
repeated .CMsgConVarValue convars = 1;
}
message CMsgUseItem {
optional uint64 item_id = 1;
optional fixed64 target_steam_id = 2;
repeated uint32 gift__potential_targets = 3;
optional uint32 duel__class_lock = 4;
optional fixed64 initiator_steam_id = 5;
}
message CMsgReplayUploadedToYouTube {
optional string youtube_url = 1;
optional string youtube_account_name = 2;
optional uint64 session_id = 3;
}
message CMsgConsumableExhausted {
optional int32 item_def_id = 1;
}
message CMsgItemAcknowledged__DEPRECATED {
optional uint32 account_id = 1;
optional uint32 inventory = 2;
optional uint32 def_index = 3;
optional uint32 quality = 4;
optional uint32 rarity = 5;
optional uint32 origin = 6;
optional uint64 item_id = 7;
}
message CMsgSetItemPositions {
message ItemPosition {
optional uint32 legacy_item_id = 1;
optional uint32 position = 2;
optional uint64 item_id = 3;
}
repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
}
message CMsgGCReportAbuse {
optional fixed64 target_steam_id = 1;
optional string description = 4;
optional uint64 gid = 5;
optional uint32 abuse_type = 2;
optional uint32 content_type = 3;
optional fixed32 target_game_server_ip = 6;
optional uint32 target_game_server_port = 7;
}
message CMsgGCReportAbuseResponse {
optional fixed64 target_steam_id = 1;
optional uint32 result = 2;
optional string error_message = 3;
}
message CMsgGCNameItemNotification {
optional fixed64 player_steamid = 1;
optional uint32 item_def_index = 2;
optional string item_name_custom = 3;
}
message CMsgGCClientDisplayNotification {
optional string notification_title_localization_key = 1;
optional string notification_body_localization_key = 2;
repeated string body_substring_keys = 3;
repeated string body_substring_values = 4;
}
message CMsgGCShowItemsPickedUp {
optional fixed64 player_steamid = 1;
}
message CMsgGCIncrementKillCountResponse {
optional uint32 killer_account_id = 1 [(key_field) = true];
optional uint32 num_kills = 2;
optional uint32 item_def = 3;
optional uint32 level_type = 4;
}
message CSOEconItemDropRateBonus {
optional uint32 account_id = 1;
optional fixed32 expiration_date = 2;
optional float bonus = 3;
optional uint32 bonus_count = 4;
optional uint64 item_id = 5;
optional uint32 def_index = 6;
}
message CSOEconItemLeagueViewPass {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 league_id = 2 [(key_field) = true];
optional uint32 admin = 3;
optional uint32 itemindex = 4;
}
message CSOEconItemEventTicket {
optional uint32 account_id = 1;
optional uint32 event_id = 2;
optional uint64 item_id = 3;
}
message CMsgGCItemPreviewItemBoughtNotification {
optional uint32 item_def_index = 1;
}
message CMsgGCStorePurchaseCancel {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseCancelResponse {
optional uint32 result = 1;
}
message CMsgGCStorePurchaseFinalize {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseFinalizeResponse {
optional uint32 result = 1;
repeated uint64 item_ids = 2;
}
message CMsgGCBannedWordListRequest {
optional uint32 ban_list_group_id = 1;
optional uint32 word_id = 2;
}
message CMsgGCRequestAnnouncements {
}
message CMsgGCRequestAnnouncementsResponse {
optional string announcement_title = 1;
optional string announcement = 2;
optional string nextmatch_title = 3;
optional string nextmatch = 4;
}
message CMsgGCBannedWord {
optional uint32 word_id = 1;
optional .GC_BannedWordType word_type = 2 [default = GC_BANNED_WORD_DISABLE_WORD];
optional string word = 3;
}
message CMsgGCBannedWordListResponse {
optional uint32 ban_list_group_id = 1;
repeated .CMsgGCBannedWord word_list = 2;
}
message CMsgGCToGCBannedWordListBroadcast {
optional .CMsgGCBannedWordListResponse broadcast = 1;
}
message CMsgGCToGCBannedWordListUpdated {
optional uint32 group_id = 1;
}
message CSOEconDefaultEquippedDefinitionInstanceClient {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 item_definition = 2;
optional uint32 class_id = 3 [(key_field) = true];
optional uint32 slot_id = 4 [(key_field) = true];
}
message CMsgGCToGCDirtySDOCache {
optional uint32 sdo_type = 1;
optional uint64 key_uint64 = 2;
}
message CMsgGCToGCDirtyMultipleSDOCache {
optional uint32 sdo_type = 1;
repeated uint64 key_uint64 = 2;
}
message CMsgGCCollectItem {
optional uint64 collection_item_id = 1;
optional uint64 subject_item_id = 2;
}
message CMsgSDONoMemcached {
}
message CMsgGCToGCUpdateSQLKeyValue {
optional string key_name = 1;
}
message CMsgGCToGCIsTrustedServer {
optional fixed64 steam_id = 1;
}
message CMsgGCToGCIsTrustedServerResponse {
optional bool is_trusted = 1;
}
message CMsgGCToGCBroadcastConsoleCommand {
optional string con_command = 1;
}
message CMsgGCServerVersionUpdated {
optional uint32 server_version = 1;
}
message CMsgGCClientVersionUpdated {
optional uint32 client_version = 1;
}
message CMsgGCToGCWebAPIAccountChanged {
}
message CMsgGCToGCRequestPassportItemGrant {
optional fixed64 steam_id = 1;
optional uint32 league_id = 2;
optional int32 reward_flag = 3;
}
message CMsgGameServerInfo {
enum ServerType {
UNSPECIFIED = 0;
GAME = 1;
PROXY = 2;
}
optional fixed32 server_public_ip_addr = 1;
optional fixed32 server_private_ip_addr = 2;
optional uint32 server_port = 3;
optional uint32 server_tv_port = 4;
optional string server_key = 5;
optional bool server_hibernation = 6;
optional .CMsgGameServerInfo.ServerType server_type = 7 [default = UNSPECIFIED];
optional uint32 server_region = 8;
optional float server_loadavg = 9;
optional float server_tv_broadcast_time = 10;
optional float server_game_time = 11;
optional fixed64 server_relay_connected_steam_id = 12;
optional uint32 relay_slots_max = 13;
optional int32 relays_connected = 14;
optional int32 relay_clients_connected = 15;
optional fixed64 relayed_game_server_steam_id = 16;
optional uint32 parent_relay_count = 17;
optional fixed64 tv_secret_code = 18;
}
message CSOEconEquipSlot {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 class_id = 2 [(key_field) = true];
optional uint32 slot_id = 3 [(key_field) = true];
optional uint64 item_id = 4;
optional uint32 item_definition = 5;
}
message CMsgAdjustEquipSlot {
optional uint32 class_id = 1;
optional uint32 slot_id = 2;
optional uint64 item_id = 3;
}
message CMsgAdjustEquipSlots {
repeated .CMsgAdjustEquipSlot slots = 1;
}

View File

@ -0,0 +1,48 @@
enum EBaseClientMessages {
CM_CustomGameEvent = 280;
CM_CustomGameEventBounce = 281;
CM_ClientUIEvent = 282;
CM_DevPaletteVisibilityChanged = 283;
CM_WorldUIControllerHasPanelChanged = 284;
CM_RotateAnchor = 285;
CM_MAX_BASE = 300;
}
enum EClientUIEvent {
EClientUIEvent_Invalid = 0;
EClientUIEvent_DialogFinished = 1;
EClientUIEvent_FireOutput = 2;
}
message CClientMsg_CustomGameEvent {
optional string event_name = 1;
optional bytes data = 2;
}
message CClientMsg_CustomGameEventBounce {
optional string event_name = 1;
optional bytes data = 2;
optional int32 player_slot = 3 [default = -1];
}
message CClientMsg_ClientUIEvent {
optional .EClientUIEvent event = 1 [default = EClientUIEvent_Invalid];
optional uint32 ent_ehandle = 2;
optional uint32 client_ehandle = 3;
optional string data1 = 4;
optional string data2 = 5;
}
message CClientMsg_DevPaletteVisibilityChangedEvent {
optional bool visible = 1;
}
message CClientMsg_WorldUIControllerHasPanelChangedEvent {
optional bool has_panel = 1;
optional uint32 client_ehandle = 2;
optional uint32 literal_hand_type = 3;
}
message CClientMsg_RotateAnchor {
optional float angle = 1;
}

View File

@ -0,0 +1,34 @@
import "networkbasetypes.proto";
enum ECsgoGameEvents {
GE_PlayerAnimEventId = 450;
GE_RadioIconEventId = 451;
GE_FireBulletsId = 452;
}
message CMsgTEPlayerAnimEvent {
optional fixed32 player = 1 [default = 16777215];
optional uint32 event = 2;
optional int32 data = 3;
}
message CMsgTERadioIcon {
optional fixed32 player = 1 [default = 16777215];
}
message CMsgTEFireBullets {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional uint32 weapon_id = 3 [default = 16777215];
optional uint32 mode = 4;
optional uint32 seed = 5;
optional fixed32 player = 6 [default = 16777215];
optional float inaccuracy = 7;
optional float recoil_index = 8;
optional float spread = 9;
optional int32 sound_type = 10;
optional uint32 item_def_index = 11;
optional fixed32 sound_dsp_effect = 12;
optional .CMsgVector ent_origin = 13;
optional uint32 num_bullets_remaining = 14;
}

View File

@ -0,0 +1,44 @@
import "networkbasetypes.proto";
import "usercmd.proto";
message CSGOInterpolationInfoPB {
optional int32 src_tick = 1 [default = -1];
optional int32 dst_tick = 2 [default = -1];
optional float frac = 3 [default = 0];
}
message CSGOInputHistoryEntryPB {
optional .CMsgQAngle view_angles = 2;
optional int32 render_tick_count = 4;
optional float render_tick_fraction = 5;
optional int32 player_tick_count = 6;
optional float player_tick_fraction = 7;
optional .CSGOInterpolationInfoPB cl_interp = 12;
optional .CSGOInterpolationInfoPB sv_interp0 = 13;
optional .CSGOInterpolationInfoPB sv_interp1 = 14;
optional .CSGOInterpolationInfoPB player_interp = 15;
optional int32 frame_number = 20;
optional int32 target_ent_index = 8 [default = -1];
optional .CMsgVector shoot_position = 3;
optional .CMsgVector target_head_pos_check = 9;
optional .CMsgVector target_abs_pos_check = 10;
optional .CMsgQAngle target_abs_ang_check = 11;
}
message CSGOUserCmdPB {
enum EWeaponDecision {
k_eNone = 0;
k_ePrimaryAttack = 1;
k_eSecondaryAttack = 2;
k_eZoom = 3;
k_eReload = 4;
}
optional .CBaseUserCmdPB base = 1;
repeated .CSGOInputHistoryEntryPB input_history = 2;
optional int32 attack1_start_history_index = 6 [default = -1];
optional int32 attack2_start_history_index = 7 [default = -1];
optional int32 attack3_start_history_index = 8 [default = -1];
optional .CSGOUserCmdPB.EWeaponDecision weapon_decision = 9 [default = k_eNone];
optional int32 weapon_decision_weapon = 10;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,596 @@
import "networkbasetypes.proto";
import "cstrike15_gcmessages.proto";
enum ECstrike15UserMessages {
CS_UM_VGUIMenu = 301;
CS_UM_Geiger = 302;
CS_UM_Train = 303;
CS_UM_HudText = 304;
CS_UM_SayText = 305;
CS_UM_SayText2 = 306;
CS_UM_TextMsg = 307;
CS_UM_HudMsg = 308;
CS_UM_ResetHud = 309;
CS_UM_GameTitle = 310;
CS_UM_Shake = 312;
CS_UM_Fade = 313;
CS_UM_Rumble = 314;
CS_UM_CloseCaption = 315;
CS_UM_CloseCaptionDirect = 316;
CS_UM_SendAudio = 317;
CS_UM_RawAudio = 318;
CS_UM_VoiceMask = 319;
CS_UM_RequestState = 320;
CS_UM_Damage = 321;
CS_UM_RadioText = 322;
CS_UM_HintText = 323;
CS_UM_KeyHintText = 324;
CS_UM_ProcessSpottedEntityUpdate = 325;
CS_UM_ReloadEffect = 326;
CS_UM_AdjustMoney = 327;
CS_UM_UpdateTeamMoney = 328;
CS_UM_StopSpectatorMode = 329;
CS_UM_KillCam = 330;
CS_UM_DesiredTimescale = 331;
CS_UM_CurrentTimescale = 332;
CS_UM_AchievementEvent = 333;
CS_UM_MatchEndConditions = 334;
CS_UM_DisconnectToLobby = 335;
CS_UM_PlayerStatsUpdate = 336;
CS_UM_WarmupHasEnded = 338;
CS_UM_ClientInfo = 339;
CS_UM_XRankGet = 340;
CS_UM_XRankUpd = 341;
CS_UM_CallVoteFailed = 345;
CS_UM_VoteStart = 346;
CS_UM_VotePass = 347;
CS_UM_VoteFailed = 348;
CS_UM_VoteSetup = 349;
CS_UM_ServerRankRevealAll = 350;
CS_UM_SendLastKillerDamageToClient = 351;
CS_UM_ServerRankUpdate = 352;
CS_UM_ItemPickup = 353;
CS_UM_ShowMenu = 354;
CS_UM_BarTime = 355;
CS_UM_AmmoDenied = 356;
CS_UM_MarkAchievement = 357;
CS_UM_MatchStatsUpdate = 358;
CS_UM_ItemDrop = 359;
CS_UM_GlowPropTurnOff = 360;
CS_UM_SendPlayerItemDrops = 361;
CS_UM_RoundBackupFilenames = 362;
CS_UM_SendPlayerItemFound = 363;
CS_UM_ReportHit = 364;
CS_UM_XpUpdate = 365;
CS_UM_QuestProgress = 366;
CS_UM_ScoreLeaderboardData = 367;
CS_UM_PlayerDecalDigitalSignature = 368;
CS_UM_WeaponSound = 369;
CS_UM_UpdateScreenHealthBar = 370;
CS_UM_EntityOutlineHighlight = 371;
CS_UM_SSUI = 372;
CS_UM_SurvivalStats = 373;
CS_UM_DisconnectToLobby2 = 374;
CS_UM_EndOfMatchAllPlayersData = 375;
CS_UM_PostRoundDamageReport = 376;
CS_UM_RoundEndReportData = 379;
CS_UM_CurrentRoundOdds = 380;
CS_UM_DeepStats = 381;
CS_UM_UtilMsg = 382;
CS_UM_ShootInfo = 383;
}
enum ECSUsrMsg_DisconnectToLobby_Action {
k_ECSUsrMsg_DisconnectToLobby_Action_Default = 0;
k_ECSUsrMsg_DisconnectToLobby_Action_GoQueue = 1;
}
message CCSUsrMsg_VGUIMenu {
message Keys {
optional string name = 1;
optional string value = 2;
}
optional string name = 1;
optional bool show = 2;
repeated .CCSUsrMsg_VGUIMenu.Keys keys = 3;
}
message CCSUsrMsg_Geiger {
optional int32 range = 1;
}
message CCSUsrMsg_Train {
optional int32 train = 1;
}
message CCSUsrMsg_HudText {
optional string text = 1;
}
message CCSUsrMsg_HudMsg {
optional int32 channel = 1;
optional .CMsgVector2D pos = 2;
optional .CMsgRGBA clr1 = 3;
optional .CMsgRGBA clr2 = 4;
optional int32 effect = 5;
optional float fade_in_time = 6;
optional float fade_out_time = 7;
optional float hold_time = 9;
optional float fx_time = 10;
optional string text = 11;
}
message CCSUsrMsg_Shake {
optional int32 command = 1;
optional float local_amplitude = 2;
optional float frequency = 3;
optional float duration = 4;
}
message CCSUsrMsg_Fade {
optional int32 duration = 1;
optional int32 hold_time = 2;
optional int32 flags = 3;
optional .CMsgRGBA clr = 4;
}
message CCSUsrMsg_Rumble {
optional int32 index = 1;
optional int32 data = 2;
optional int32 flags = 3;
}
message CCSUsrMsg_CloseCaption {
optional uint32 hash = 1;
optional int32 duration = 2;
optional bool from_player = 3;
optional string cctoken = 4;
}
message CCSUsrMsg_CloseCaptionDirect {
optional uint32 hash = 1;
optional int32 duration = 2;
optional bool from_player = 3;
}
message CCSUsrMsg_SendAudio {
optional string radio_sound = 1;
}
message CCSUsrMsg_RawAudio {
optional int32 pitch = 1;
optional int32 entidx = 2 [default = -1];
optional float duration = 3;
optional string voice_filename = 4;
}
message CCSUsrMsg_VoiceMask {
message PlayerMask {
optional int32 game_rules_mask = 1;
optional int32 ban_masks = 2;
}
repeated .CCSUsrMsg_VoiceMask.PlayerMask player_masks = 1;
optional bool player_mod_enable = 2;
}
message CCSUsrMsg_Damage {
optional int32 amount = 1;
optional .CMsgVector inflictor_world_pos = 2;
optional int32 victim_entindex = 3 [default = -1];
}
message CCSUsrMsg_RadioText {
optional int32 msg_dst = 1;
optional int32 client = 2 [default = -1];
optional string msg_name = 3;
repeated string params = 4;
}
message CCSUsrMsg_HintText {
optional string message = 1;
}
message CCSUsrMsg_KeyHintText {
repeated string messages = 1;
}
message CCSUsrMsg_ProcessSpottedEntityUpdate {
message SpottedEntityUpdate {
optional int32 entity_idx = 1 [default = -1];
optional int32 class_id = 2;
optional int32 origin_x = 3;
optional int32 origin_y = 4;
optional int32 origin_z = 5;
optional int32 angle_y = 6;
optional bool defuser = 7;
optional bool player_has_defuser = 8;
optional bool player_has_c4 = 9;
}
optional bool new_update = 1;
repeated .CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate entity_updates = 2;
}
message CCSUsrMsg_SendPlayerItemDrops {
repeated .CEconItemPreviewDataBlock entity_updates = 1;
}
message CCSUsrMsg_SendPlayerItemFound {
optional .CEconItemPreviewDataBlock iteminfo = 1;
optional int32 playerslot = 2 [default = -1];
}
message CCSUsrMsg_ReloadEffect {
optional int32 entidx = 1 [default = -1];
optional int32 actanim = 2;
optional float origin_x = 3;
optional float origin_y = 4;
optional float origin_z = 5;
}
message CCSUsrMsg_WeaponSound {
optional int32 entidx = 1 [default = -1];
optional float origin_x = 2;
optional float origin_y = 3;
optional float origin_z = 4;
optional string sound = 5;
optional float game_timestamp = 6;
optional fixed32 source_soundscapeid = 7;
}
message CCSUsrMsg_UpdateScreenHealthBar {
optional int32 entidx = 1 [default = -1];
optional float healthratio_old = 2;
optional float healthratio_new = 3;
optional int32 style = 4;
}
message CCSUsrMsg_EntityOutlineHighlight {
optional int32 entidx = 1 [default = -1];
optional bool removehighlight = 2;
}
message CCSUsrMsg_AdjustMoney {
optional int32 amount = 1;
}
message CCSUsrMsg_ReportHit {
optional float pos_x = 1;
optional float pos_y = 2;
optional float timestamp = 4;
optional float pos_z = 3;
}
message CCSUsrMsg_KillCam {
optional int32 obs_mode = 1;
optional int32 first_target = 2 [default = -1];
optional int32 second_target = 3 [default = -1];
}
message CCSUsrMsg_DesiredTimescale {
optional float desired_timescale = 1;
optional float duration_realtime_sec = 2;
optional int32 interpolator_type = 3;
optional float start_blend_time = 4;
}
message CCSUsrMsg_CurrentTimescale {
optional float cur_timescale = 1;
}
message CCSUsrMsg_AchievementEvent {
optional int32 achievement = 1;
optional int32 count = 2;
optional int32 user_id = 3;
}
message CCSUsrMsg_MatchEndConditions {
optional int32 fraglimit = 1;
optional int32 mp_maxrounds = 2;
optional int32 mp_winlimit = 3;
optional float mp_timelimit = 4;
}
message CCSUsrMsg_PlayerStatsUpdate {
message Stat {
optional int32 idx = 1;
optional int32 delta = 2;
}
optional int32 version = 1;
repeated .CCSUsrMsg_PlayerStatsUpdate.Stat stats = 4;
optional uint32 ehandle = 5;
optional int32 crc = 6;
}
message CCSUsrMsg_QuestProgress {
optional uint32 quest_id = 1;
optional uint32 normal_points = 2;
optional uint32 bonus_points = 3;
optional bool is_event_quest = 4;
}
message CCSUsrMsg_ScoreLeaderboardData {
optional .ScoreLeaderboardData data = 1;
}
message CCSUsrMsg_PlayerDecalDigitalSignature {
optional .PlayerDecalDigitalSignature data = 1;
}
message CCSUsrMsg_XRankGet {
optional int32 mode_idx = 1;
optional int32 controller = 2;
}
message CCSUsrMsg_XRankUpd {
optional int32 mode_idx = 1;
optional int32 controller = 2;
optional int32 ranking = 3;
}
message CCSUsrMsg_CallVoteFailed {
optional int32 reason = 1;
optional int32 time = 2;
}
message CCSUsrMsg_VoteStart {
optional int32 team = 1;
optional int32 player_slot = 2 [default = -1];
optional int32 vote_type = 3;
optional string disp_str = 4;
optional string details_str = 5;
optional string other_team_str = 6;
optional bool is_yes_no_vote = 7;
optional int32 player_slot_target = 8 [default = -1];
}
message CCSUsrMsg_VotePass {
optional int32 team = 1;
optional int32 vote_type = 2;
optional string disp_str = 3;
optional string details_str = 4;
}
message CCSUsrMsg_VoteFailed {
optional int32 team = 1;
optional int32 reason = 2;
}
message CCSUsrMsg_VoteSetup {
repeated string potential_issues = 1;
}
message CCSUsrMsg_SendLastKillerDamageToClient {
optional int32 num_hits_given = 1;
optional int32 damage_given = 2;
optional int32 num_hits_taken = 3;
optional int32 damage_taken = 4;
optional int32 actual_damage_given = 5;
optional int32 actual_damage_taken = 6;
}
message CCSUsrMsg_ServerRankUpdate {
message RankUpdate {
optional int32 account_id = 1;
optional int32 rank_old = 2;
optional int32 rank_new = 3;
optional int32 num_wins = 4;
optional float rank_change = 5;
optional int32 rank_type_id = 6;
}
repeated .CCSUsrMsg_ServerRankUpdate.RankUpdate rank_update = 1;
}
message CCSUsrMsg_XpUpdate {
optional .CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded data = 1;
}
message CCSUsrMsg_ItemPickup {
optional string item = 1;
}
message CCSUsrMsg_ShowMenu {
optional int32 bits_valid_slots = 1;
optional int32 display_time = 2;
optional string menu_string = 3;
}
message CCSUsrMsg_BarTime {
optional string time = 1;
}
message CCSUsrMsg_AmmoDenied {
optional int32 ammoidx = 1;
}
message CCSUsrMsg_MarkAchievement {
optional string achievement = 1;
}
message CCSUsrMsg_MatchStatsUpdate {
optional string update = 1;
}
message CCSUsrMsg_ItemDrop {
optional int64 itemid = 1;
optional bool death = 2;
}
message CCSUsrMsg_GlowPropTurnOff {
optional int32 entidx = 1 [default = -1];
}
message CCSUsrMsg_RoundBackupFilenames {
optional int32 count = 1;
optional int32 index = 2;
optional string filename = 3;
optional string nicename = 4;
}
message CCSUsrMsg_SSUI {
optional bool show = 1;
optional float start_time = 2;
optional float end_time = 3;
}
message CCSUsrMsg_SurvivalStats {
message Fact {
optional int32 type = 1;
optional int32 display = 2;
optional int32 value = 3;
optional float interestingness = 4;
}
message Placement {
optional uint64 xuid = 1;
optional int32 teamnumber = 2;
optional int32 placement = 3;
}
message Damage {
optional uint64 xuid = 1;
optional int32 to = 2;
optional int32 to_hits = 3;
optional int32 from = 4;
optional int32 from_hits = 5;
}
optional uint64 xuid = 1;
repeated .CCSUsrMsg_SurvivalStats.Fact facts = 2;
repeated .CCSUsrMsg_SurvivalStats.Placement users = 3;
repeated .CCSUsrMsg_SurvivalStats.Damage damages = 5;
optional int32 ticknumber = 4;
}
message CCSUsrMsg_EndOfMatchAllPlayersData {
message Accolade {
optional int32 eaccolade = 1;
optional float value = 2;
optional int32 position = 3;
}
message PlayerData {
optional int32 slot = 1 [default = -1];
optional uint64 xuid = 2;
optional string name = 3;
optional int32 teamnumber = 4;
optional .CCSUsrMsg_EndOfMatchAllPlayersData.Accolade nomination = 5;
repeated .CEconItemPreviewDataBlock items = 6;
optional int32 playercolor = 7;
optional bool isbot = 8;
}
repeated .CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData allplayerdata = 1;
optional int32 scene = 2;
}
message CCSUsrMsg_RoundEndReportData {
message RerEvent {
message Victim {
optional int32 team_number = 1;
optional int32 playerslot = 2 [default = -1];
optional uint64 xuid = 3;
optional int32 color = 4;
optional bool is_bot = 5;
optional bool is_dead = 6;
}
message Objective {
optional int32 type = 1;
}
message Damage {
optional int32 other_playerslot = 1 [default = -1];
optional uint64 other_xuid = 2;
optional int32 health_removed = 3;
optional int32 num_hits = 4;
optional int32 return_health_removed = 5;
optional int32 return_num_hits = 6;
}
optional float timestamp = 1;
optional int32 terrorist_odds = 2;
optional int32 ct_alive = 3;
optional int32 t_alive = 4;
optional .CCSUsrMsg_RoundEndReportData.RerEvent.Victim victim_data = 5;
optional .CCSUsrMsg_RoundEndReportData.RerEvent.Objective objective_data = 6;
repeated .CCSUsrMsg_RoundEndReportData.RerEvent.Damage all_damage_data = 7;
}
message InitialConditions {
optional int32 ct_equip_value = 1;
optional int32 t_equip_value = 2;
optional int32 terrorist_odds = 3;
}
optional .CCSUsrMsg_RoundEndReportData.InitialConditions init_conditions = 1;
repeated .CCSUsrMsg_RoundEndReportData.RerEvent all_rer_event_data = 2;
}
message CCSUsrMsg_PostRoundDamageReport {
optional uint64 other_xuid = 1;
optional int32 given_kill_type = 2;
optional int32 given_health_removed = 3;
optional int32 given_num_hits = 4;
optional int32 taken_kill_type = 5;
optional int32 taken_health_removed = 6;
optional int32 taken_num_hits = 7;
}
message CCSUsrMsg_CurrentRoundOdds {
optional int32 odds = 1;
}
message CCSUsrMsg_DeepStats {
optional .CMsgGCCStrike15_ClientDeepStats stats = 1;
}
message CCSUsrMsg_ShootInfo {
optional int32 frame_number = 1;
repeated .CMsgTransform hitbox_transforms = 2;
optional .CMsgVector shoot_pos = 3;
optional .CMsgQAngle shoot_dir = 4;
}
message CCSUsrMsg_ResetHud {
optional bool reset = 1;
}
message CCSUsrMsg_GameTitle {
optional int32 dummy = 1;
}
message CCSUsrMsg_RequestState {
optional int32 dummy = 1;
}
message CCSUsrMsg_StopSpectatorMode {
optional int32 dummy = 1;
}
message CCSUsrMsg_DisconnectToLobby {
optional int32 dummy = 1;
}
message CCSUsrMsg_WarmupHasEnded {
optional int32 dummy = 1;
}
message CCSUsrMsg_ClientInfo {
optional int32 dummy = 1;
}
message CCSUsrMsg_ServerRankRevealAll {
optional int32 seconds_till_shutdown = 1;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
}
message CCSUsrMsgPreMatchSayText {
optional uint32 account_id = 1;
optional string text = 2;
optional bool all_chat = 3;
}

View File

@ -0,0 +1,228 @@
import "steammessages.proto";
enum EGCItemMsg {
k_EMsgGCBase = 1000;
k_EMsgGCSetItemPosition = 1001;
k_EMsgGCCraft = 1002;
k_EMsgGCCraftResponse = 1003;
k_EMsgGCDelete = 1004;
k_EMsgGCVerifyCacheSubscription = 1005;
k_EMsgGCNameItem = 1006;
k_EMsgGCUnlockCrate = 1007;
k_EMsgGCUnlockCrateResponse = 1008;
k_EMsgGCPaintItem = 1009;
k_EMsgGCPaintItemResponse = 1010;
k_EMsgGCGoldenWrenchBroadcast = 1011;
k_EMsgGCMOTDRequest = 1012;
k_EMsgGCMOTDRequestResponse = 1013;
k_EMsgGCAddItemToSocket_DEPRECATED = 1014;
k_EMsgGCAddItemToSocketResponse_DEPRECATED = 1015;
k_EMsgGCAddSocketToBaseItem_DEPRECATED = 1016;
k_EMsgGCAddSocketToItem_DEPRECATED = 1017;
k_EMsgGCAddSocketToItemResponse_DEPRECATED = 1018;
k_EMsgGCNameBaseItem = 1019;
k_EMsgGCNameBaseItemResponse = 1020;
k_EMsgGCRemoveSocketItem_DEPRECATED = 1021;
k_EMsgGCRemoveSocketItemResponse_DEPRECATED = 1022;
k_EMsgGCCustomizeItemTexture = 1023;
k_EMsgGCCustomizeItemTextureResponse = 1024;
k_EMsgGCUseItemRequest = 1025;
k_EMsgGCUseItemResponse = 1026;
k_EMsgGCGiftedItems_DEPRECATED = 1027;
k_EMsgGCRemoveItemName = 1030;
k_EMsgGCRemoveItemPaint = 1031;
k_EMsgGCGiftWrapItem = 1032;
k_EMsgGCGiftWrapItemResponse = 1033;
k_EMsgGCDeliverGift = 1034;
k_EMsgGCDeliverGiftResponseGiver = 1035;
k_EMsgGCDeliverGiftResponseReceiver = 1036;
k_EMsgGCUnwrapGiftRequest = 1037;
k_EMsgGCUnwrapGiftResponse = 1038;
k_EMsgGCSetItemStyle = 1039;
k_EMsgGCUsedClaimCodeItem = 1040;
k_EMsgGCSortItems = 1041;
k_EMsgGC_RevolvingLootList_DEPRECATED = 1042;
k_EMsgGCLookupAccount = 1043;
k_EMsgGCLookupAccountResponse = 1044;
k_EMsgGCLookupAccountName = 1045;
k_EMsgGCLookupAccountNameResponse = 1046;
k_EMsgGCUpdateItemSchema = 1049;
k_EMsgGCRemoveCustomTexture = 1051;
k_EMsgGCRemoveCustomTextureResponse = 1052;
k_EMsgGCRemoveMakersMark = 1053;
k_EMsgGCRemoveMakersMarkResponse = 1054;
k_EMsgGCRemoveUniqueCraftIndex = 1055;
k_EMsgGCRemoveUniqueCraftIndexResponse = 1056;
k_EMsgGCSaxxyBroadcast = 1057;
k_EMsgGCBackpackSortFinished = 1058;
k_EMsgGCAdjustItemEquippedState = 1059;
k_EMsgGCCollectItem = 1061;
k_EMsgGCItemAcknowledged__DEPRECATED = 1062;
k_EMsgGC_ReportAbuse = 1065;
k_EMsgGC_ReportAbuseResponse = 1066;
k_EMsgGCNameItemNotification = 1068;
k_EMsgGCApplyConsumableEffects = 1069;
k_EMsgGCConsumableExhausted = 1070;
k_EMsgGCShowItemsPickedUp = 1071;
k_EMsgGCClientDisplayNotification = 1072;
k_EMsgGCApplyStrangePart = 1073;
k_EMsgGC_IncrementKillCountAttribute = 1074;
k_EMsgGC_IncrementKillCountResponse = 1075;
k_EMsgGCApplyPennantUpgrade = 1076;
k_EMsgGCSetItemPositions = 1077;
k_EMsgGCApplyEggEssence = 1078;
k_EMsgGCNameEggEssenceResponse = 1079;
k_EMsgGCPaintKitItem = 1080;
k_EMsgGCPaintKitBaseItem = 1081;
k_EMsgGCPaintKitItemResponse = 1082;
k_EMsgGCGiftedItems = 1083;
k_EMsgGCUnlockItemStyle = 1084;
k_EMsgGCUnlockItemStyleResponse = 1085;
k_EMsgGCApplySticker = 1086;
k_EMsgGCItemAcknowledged = 1087;
k_EMsgGCStatTrakSwap = 1088;
k_EMsgGCUserTrackTimePlayedConsecutively = 1089;
k_EMsgGCItemCustomizationNotification = 1090;
k_EMsgGCModifyItemAttribute = 1091;
k_EMsgGCCasketItemAdd = 1092;
k_EMsgGCCasketItemExtract = 1093;
k_EMsgGCCasketItemLoadContents = 1094;
k_EMsgGCTradingBase = 1500;
k_EMsgGCTrading_InitiateTradeRequest = 1501;
k_EMsgGCTrading_InitiateTradeResponse = 1502;
k_EMsgGCTrading_StartSession = 1503;
k_EMsgGCTrading_SetItem = 1504;
k_EMsgGCTrading_RemoveItem = 1505;
k_EMsgGCTrading_UpdateTradeInfo = 1506;
k_EMsgGCTrading_SetReadiness = 1507;
k_EMsgGCTrading_ReadinessResponse = 1508;
k_EMsgGCTrading_SessionClosed = 1509;
k_EMsgGCTrading_CancelSession = 1510;
k_EMsgGCTrading_TradeChatMsg = 1511;
k_EMsgGCTrading_ConfirmOffer = 1512;
k_EMsgGCTrading_TradeTypingChatMsg = 1513;
k_EMsgGCServerBrowser_FavoriteServer = 1601;
k_EMsgGCServerBrowser_BlacklistServer = 1602;
k_EMsgGCServerRentalsBase = 1700;
k_EMsgGCItemPreviewCheckStatus = 1701;
k_EMsgGCItemPreviewStatusResponse = 1702;
k_EMsgGCItemPreviewRequest = 1703;
k_EMsgGCItemPreviewRequestResponse = 1704;
k_EMsgGCItemPreviewExpire = 1705;
k_EMsgGCItemPreviewExpireNotification = 1706;
k_EMsgGCItemPreviewItemBoughtNotification = 1707;
k_EMsgGCDev_NewItemRequest = 2001;
k_EMsgGCDev_NewItemRequestResponse = 2002;
k_EMsgGCDev_PaintKitDropItem = 2003;
k_EMsgGCStoreGetUserData = 2500;
k_EMsgGCStoreGetUserDataResponse = 2501;
k_EMsgGCStorePurchaseInit_DEPRECATED = 2502;
k_EMsgGCStorePurchaseInitResponse_DEPRECATED = 2503;
k_EMsgGCStorePurchaseFinalize = 2504;
k_EMsgGCStorePurchaseFinalizeResponse = 2505;
k_EMsgGCStorePurchaseCancel = 2506;
k_EMsgGCStorePurchaseCancelResponse = 2507;
k_EMsgGCStorePurchaseQueryTxn = 2508;
k_EMsgGCStorePurchaseQueryTxnResponse = 2509;
k_EMsgGCStorePurchaseInit = 2510;
k_EMsgGCStorePurchaseInitResponse = 2511;
k_EMsgGCBannedWordListRequest = 2512;
k_EMsgGCBannedWordListResponse = 2513;
k_EMsgGCToGCBannedWordListBroadcast = 2514;
k_EMsgGCToGCBannedWordListUpdated = 2515;
k_EMsgGCToGCDirtySDOCache = 2516;
k_EMsgGCToGCDirtyMultipleSDOCache = 2517;
k_EMsgGCToGCUpdateSQLKeyValue = 2518;
k_EMsgGCToGCIsTrustedServer = 2519;
k_EMsgGCToGCIsTrustedServerResponse = 2520;
k_EMsgGCToGCBroadcastConsoleCommand = 2521;
k_EMsgGCServerVersionUpdated = 2522;
k_EMsgGCToGCWebAPIAccountChanged = 2524;
k_EMsgGCRequestAnnouncements = 2525;
k_EMsgGCRequestAnnouncementsResponse = 2526;
k_EMsgGCRequestPassportItemGrant = 2527;
k_EMsgGCClientVersionUpdated = 2528;
k_EMsgGCAdjustItemEquippedStateMulti = 2529;
k_EMsgGCRecurringSubscriptionStatus = 2530;
k_EMsgGCAdjustEquipSlotsManual = 2531;
k_EMsgGCAdjustEquipSlotsShuffle = 2532;
}
enum EGCMsgResponse {
k_EGCMsgResponseOK = 0;
k_EGCMsgResponseDenied = 1;
k_EGCMsgResponseServerError = 2;
k_EGCMsgResponseTimeout = 3;
k_EGCMsgResponseInvalid = 4;
k_EGCMsgResponseNoMatch = 5;
k_EGCMsgResponseUnknownError = 6;
k_EGCMsgResponseNotLoggedOn = 7;
k_EGCMsgFailedToCreate = 8;
k_EGCMsgLimitExceeded = 9;
k_EGCMsgCommitUnfinalized = 10;
}
enum EUnlockStyle {
k_UnlockStyle_Succeeded = 0;
k_UnlockStyle_Failed_PreReq = 1;
k_UnlockStyle_Failed_CantAfford = 2;
k_UnlockStyle_Failed_CantCommit = 3;
k_UnlockStyle_Failed_CantLockCache = 4;
k_UnlockStyle_Failed_CantAffordAttrib = 5;
}
enum EGCItemCustomizationNotification {
k_EGCItemCustomizationNotification_NameItem = 1006;
k_EGCItemCustomizationNotification_UnlockCrate = 1007;
k_EGCItemCustomizationNotification_XRayItemReveal = 1008;
k_EGCItemCustomizationNotification_XRayItemClaim = 1009;
k_EGCItemCustomizationNotification_CasketTooFull = 1011;
k_EGCItemCustomizationNotification_CasketContents = 1012;
k_EGCItemCustomizationNotification_CasketAdded = 1013;
k_EGCItemCustomizationNotification_CasketRemoved = 1014;
k_EGCItemCustomizationNotification_CasketInvFull = 1015;
k_EGCItemCustomizationNotification_NameBaseItem = 1019;
k_EGCItemCustomizationNotification_RemoveItemName = 1030;
k_EGCItemCustomizationNotification_RemoveSticker = 1053;
k_EGCItemCustomizationNotification_ApplySticker = 1086;
k_EGCItemCustomizationNotification_StatTrakSwap = 1088;
k_EGCItemCustomizationNotification_RemovePatch = 1089;
k_EGCItemCustomizationNotification_ApplyPatch = 1090;
k_EGCItemCustomizationNotification_ActivateFanToken = 9178;
k_EGCItemCustomizationNotification_ActivateOperationCoin = 9179;
k_EGCItemCustomizationNotification_GraffitiUnseal = 9185;
k_EGCItemCustomizationNotification_GenerateSouvenir = 9204;
k_EGCItemCustomizationNotification_ClientRedeemMissionReward = 9209;
k_EGCItemCustomizationNotification_ClientRedeemFreeReward = 9219;
}
message CMsgGCGiftedItems {
optional uint32 accountid = 1;
optional uint32 giftdefindex = 2;
optional uint32 max_gifts_possible = 3;
optional uint32 num_eligible_recipients = 4;
repeated uint32 recipients_accountids = 5;
}
message CMsgApplyAutograph {
optional uint64 autograph_item_id = 1;
optional uint64 item_item_id = 2;
}
message CMsgCasketItem {
optional uint64 casket_item_id = 1;
optional uint64 item_item_id = 2;
}
message CMsgGCUserTrackTimePlayedConsecutively {
optional uint32 state = 1;
}
message CMsgGCItemCustomizationNotification {
repeated uint64 item_id = 1;
optional uint32 request = 2;
}
message CAttribute_String {
optional string value = 1;
}

View File

@ -0,0 +1,120 @@
import "networkbasetypes.proto";
enum EBaseGameEvents {
GE_VDebugGameSessionIDEvent = 200;
GE_PlaceDecalEvent = 201;
GE_ClearWorldDecalsEvent = 202;
GE_ClearEntityDecalsEvent = 203;
GE_ClearDecalsForSkeletonInstanceEvent = 204;
GE_Source1LegacyGameEventList = 205;
GE_Source1LegacyListenEvents = 206;
GE_Source1LegacyGameEvent = 207;
GE_SosStartSoundEvent = 208;
GE_SosStopSoundEvent = 209;
GE_SosSetSoundEventParams = 210;
GE_SosSetLibraryStackFields = 211;
GE_SosStopSoundEventHash = 212;
}
message CMsgVDebugGameSessionIDEvent {
optional int32 clientid = 1;
optional string gamesessionid = 2;
}
message CMsgPlaceDecalEvent {
optional .CMsgVector position = 1;
optional .CMsgVector normal = 2;
optional .CMsgVector saxis = 3;
optional uint32 decalmaterialindex = 4;
optional uint32 flags = 5;
optional fixed32 color = 6;
optional float width = 7;
optional float height = 8;
optional float depth = 9;
optional uint32 entityhandleindex = 10;
optional fixed32 skeletoninstancehash = 11;
optional int32 boneindex = 12;
optional bool translucenthit = 13;
optional bool is_adjacent = 14;
}
message CMsgClearWorldDecalsEvent {
optional uint32 flagstoclear = 1;
}
message CMsgClearEntityDecalsEvent {
optional uint32 flagstoclear = 1;
}
message CMsgClearDecalsForSkeletonInstanceEvent {
optional uint32 flagstoclear = 1;
optional uint32 entityhandleindex = 2;
optional uint32 skeletoninstancehash = 3;
}
message CMsgSource1LegacyGameEventList {
message key_t {
optional int32 type = 1;
optional string name = 2;
}
message descriptor_t {
optional int32 eventid = 1;
optional string name = 2;
repeated .CMsgSource1LegacyGameEventList.key_t keys = 3;
}
repeated .CMsgSource1LegacyGameEventList.descriptor_t descriptors = 1;
}
message CMsgSource1LegacyListenEvents {
optional int32 playerslot = 1;
repeated uint32 eventarraybits = 2;
}
message CMsgSource1LegacyGameEvent {
message key_t {
optional int32 type = 1;
optional string val_string = 2;
optional float val_float = 3;
optional int32 val_long = 4;
optional int32 val_short = 5;
optional int32 val_byte = 6;
optional bool val_bool = 7;
optional uint64 val_uint64 = 8;
}
optional string event_name = 1;
optional int32 eventid = 2;
repeated .CMsgSource1LegacyGameEvent.key_t keys = 3;
optional int32 server_tick = 4;
optional int32 passthrough = 5;
}
message CMsgSosStartSoundEvent {
optional int32 soundevent_guid = 1;
optional fixed32 soundevent_hash = 2;
optional int32 source_entity_index = 3 [default = -1];
optional int32 seed = 4;
optional bytes packed_params = 5;
optional float start_time = 6;
}
message CMsgSosStopSoundEvent {
optional int32 soundevent_guid = 1;
}
message CMsgSosStopSoundEventHash {
optional fixed32 soundevent_hash = 1;
optional int32 source_entity_index = 2 [default = -1];
}
message CMsgSosSetSoundEventParams {
optional int32 soundevent_guid = 1;
optional bytes packed_params = 5;
}
message CMsgSosSetLibraryStackFields {
optional fixed32 stack_hash = 1;
optional bytes packed_fields = 5;
}

259
game/shared/te.proto Normal file
View File

@ -0,0 +1,259 @@
import "networkbasetypes.proto";
enum ETEProtobufIds {
TE_EffectDispatchId = 400;
TE_ArmorRicochetId = 401;
TE_BeamEntPointId = 402;
TE_BeamEntsId = 403;
TE_BeamPointsId = 404;
TE_BeamRingId = 405;
TE_BSPDecalId = 407;
TE_BubblesId = 408;
TE_BubbleTrailId = 409;
TE_DecalId = 410;
TE_WorldDecalId = 411;
TE_EnergySplashId = 412;
TE_FizzId = 413;
TE_ShatterSurfaceId = 414;
TE_GlowSpriteId = 415;
TE_ImpactId = 416;
TE_MuzzleFlashId = 417;
TE_BloodStreamId = 418;
TE_ExplosionId = 419;
TE_DustId = 420;
TE_LargeFunnelId = 421;
TE_SparksId = 422;
TE_PhysicsPropId = 423;
TE_PlayerDecalId = 424;
TE_ProjectedDecalId = 425;
TE_SmokeId = 426;
}
message CMsgTEArmorRicochet {
optional .CMsgVector pos = 1;
optional .CMsgVector dir = 2;
}
message CMsgTEBaseBeam {
optional fixed64 modelindex = 1;
optional fixed64 haloindex = 2;
optional uint32 startframe = 3;
optional uint32 framerate = 4;
optional float life = 5;
optional float width = 6;
optional float endwidth = 7;
optional uint32 fadelength = 8;
optional float amplitude = 9;
optional fixed32 color = 10;
optional uint32 speed = 11;
optional uint32 flags = 12;
}
message CMsgTEBeamEntPoint {
optional .CMsgTEBaseBeam base = 1;
optional uint32 startentity = 2;
optional uint32 endentity = 3;
optional .CMsgVector start = 4;
optional .CMsgVector end = 5;
}
message CMsgTEBeamEnts {
optional .CMsgTEBaseBeam base = 1;
optional uint32 startentity = 2;
optional uint32 endentity = 3;
}
message CMsgTEBeamPoints {
optional .CMsgTEBaseBeam base = 1;
optional .CMsgVector start = 2;
optional .CMsgVector end = 3;
}
message CMsgTEBeamRing {
optional .CMsgTEBaseBeam base = 1;
optional uint32 startentity = 2;
optional uint32 endentity = 3;
}
message CMsgTEBSPDecal {
optional .CMsgVector origin = 1;
optional .CMsgVector normal = 2;
optional .CMsgVector saxis = 3;
optional int32 entity = 4 [default = -1];
optional uint32 index = 5;
}
message CMsgTEBubbles {
optional .CMsgVector mins = 1;
optional .CMsgVector maxs = 2;
optional float height = 3;
optional uint32 count = 4;
optional float speed = 5;
}
message CMsgTEBubbleTrail {
optional .CMsgVector mins = 1;
optional .CMsgVector maxs = 2;
optional float waterz = 3;
optional uint32 count = 4;
optional float speed = 5;
}
message CMsgTEDecal {
optional .CMsgVector origin = 1;
optional .CMsgVector start = 2;
optional int32 entity = 3 [default = -1];
optional uint32 hitbox = 4;
optional uint32 index = 5;
}
message CMsgEffectData {
optional .CMsgVector origin = 1;
optional .CMsgVector start = 2;
optional .CMsgVector normal = 3;
optional .CMsgQAngle angles = 4;
optional fixed32 entity = 5 [default = 16777215];
optional fixed32 otherentity = 6 [default = 16777215];
optional float scale = 7;
optional float magnitude = 8;
optional float radius = 9;
optional fixed32 surfaceprop = 10;
optional fixed64 effectindex = 11;
optional uint32 damagetype = 12;
optional uint32 material = 13;
optional uint32 hitbox = 14;
optional uint32 color = 15;
optional uint32 flags = 16;
optional int32 attachmentindex = 17;
optional uint32 effectname = 18;
optional uint32 attachmentname = 19;
}
message CMsgTEEffectDispatch {
optional .CMsgEffectData effectdata = 1;
}
message CMsgTEEnergySplash {
optional .CMsgVector pos = 1;
optional .CMsgVector dir = 2;
optional bool explosive = 3;
}
message CMsgTEFizz {
optional int32 entity = 1 [default = -1];
optional uint32 density = 2;
optional int32 current = 3;
}
message CMsgTEShatterSurface {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional .CMsgVector force = 3;
optional .CMsgVector forcepos = 4;
optional float width = 5;
optional float height = 6;
optional float shardsize = 7;
optional uint32 surfacetype = 8;
optional fixed32 frontcolor = 9;
optional fixed32 backcolor = 10;
}
message CMsgTEGlowSprite {
optional .CMsgVector origin = 1;
optional float scale = 2;
optional float life = 3;
optional uint32 brightness = 4;
}
message CMsgTEImpact {
optional .CMsgVector origin = 1;
optional .CMsgVector normal = 2;
optional uint32 type = 3;
}
message CMsgTEMuzzleFlash {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional float scale = 3;
optional uint32 type = 4;
}
message CMsgTEBloodStream {
optional .CMsgVector origin = 1;
optional .CMsgVector direction = 2;
optional fixed32 color = 3;
optional uint32 amount = 4;
}
message CMsgTEExplosion {
optional .CMsgVector origin = 1;
optional uint32 framerate = 2;
optional uint32 flags = 3;
optional .CMsgVector normal = 4;
optional uint32 materialtype = 5;
optional uint32 radius = 6;
optional uint32 magnitude = 7;
optional float scale = 8;
optional bool affect_ragdolls = 9;
optional string effect_name = 10;
optional uint32 explosion_type = 11;
}
message CMsgTEDust {
optional .CMsgVector origin = 1;
optional float size = 2;
optional float speed = 3;
optional .CMsgVector direction = 4;
}
message CMsgTELargeFunnel {
optional .CMsgVector origin = 1;
optional uint32 reversed = 2;
}
message CMsgTESparks {
optional .CMsgVector origin = 1;
optional uint32 magnitude = 2;
optional uint32 length = 3;
optional .CMsgVector direction = 4;
}
message CMsgTEPhysicsProp {
optional .CMsgVector origin = 1;
optional .CMsgVector velocity = 2;
optional .CMsgQAngle angles = 3;
optional fixed32 skin = 4;
optional uint32 flags = 5;
optional uint32 effects = 6;
optional fixed32 color = 7;
optional fixed64 modelindex = 8;
optional uint32 unused_breakmodelsnottomake = 9;
optional float scale = 10;
optional .CMsgVector dmgpos = 11;
optional .CMsgVector dmgdir = 12;
optional int32 dmgtype = 13;
}
message CMsgTEPlayerDecal {
optional .CMsgVector origin = 1;
optional int32 player = 2 [default = -1];
optional int32 entity = 3 [default = -1];
}
message CMsgTEProjectedDecal {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional uint32 index = 3;
optional float distance = 4;
}
message CMsgTESmoke {
optional .CMsgVector origin = 1;
optional float scale = 2;
}
message CMsgTEWorldDecal {
optional .CMsgVector origin = 1;
optional .CMsgVector normal = 2;
optional uint32 index = 3;
}

37
game/shared/usercmd.proto Normal file
View File

@ -0,0 +1,37 @@
import "networkbasetypes.proto";
message CInButtonStatePB {
optional uint64 buttonstate1 = 1;
optional uint64 buttonstate2 = 2;
optional uint64 buttonstate3 = 3;
}
message CSubtickMoveStep {
optional uint64 button = 1;
optional bool pressed = 2;
optional float when = 3;
}
message CBaseUserCmdPB {
optional int32 command_number = 1;
optional int32 tick_count = 2;
optional .CInButtonStatePB buttons_pb = 3;
optional .CMsgQAngle viewangles = 4;
optional float forwardmove = 5;
optional float leftmove = 6;
optional float upmove = 7;
optional int32 impulse = 8;
optional int32 weaponselect = 9;
optional int32 random_seed = 10;
optional int32 mousedx = 11;
optional int32 mousedy = 12;
optional uint32 pawn_entity_handle = 14 [default = 16777215];
repeated .CSubtickMoveStep subtick_moves = 18;
optional bytes move_crc = 19;
optional uint32 consumed_server_angle_changes = 20;
optional int32 cmd_flags = 21;
}
message CUserCmdBasePB {
optional .CBaseUserCmdPB base = 1;
}

View File

@ -0,0 +1,739 @@
import "networkbasetypes.proto";
enum EBaseUserMessages {
UM_AchievementEvent = 101;
UM_CloseCaption = 102;
UM_CloseCaptionDirect = 103;
UM_CurrentTimescale = 104;
UM_DesiredTimescale = 105;
UM_Fade = 106;
UM_GameTitle = 107;
UM_HudMsg = 110;
UM_HudText = 111;
UM_ColoredText = 113;
UM_RequestState = 114;
UM_ResetHUD = 115;
UM_Rumble = 116;
UM_SayText = 117;
UM_SayText2 = 118;
UM_SayTextChannel = 119;
UM_Shake = 120;
UM_ShakeDir = 121;
UM_TextMsg = 124;
UM_ScreenTilt = 125;
UM_VoiceMask = 128;
UM_SendAudio = 130;
UM_ItemPickup = 131;
UM_AmmoDenied = 132;
UM_ShowMenu = 134;
UM_CreditsMsg = 135;
UM_CloseCaptionPlaceholder = 142;
UM_CameraTransition = 143;
UM_AudioParameter = 144;
UM_ParticleManager = 145;
UM_HudError = 146;
UM_CustomGameEvent = 148;
UM_AnimGraphUpdate = 149;
UM_HapticsManagerPulse = 150;
UM_HapticsManagerEffect = 151;
UM_CommandQueueState = 152;
UM_UpdateCssClasses = 153;
UM_ServerFrameTime = 154;
UM_LagCompensationError = 155;
UM_RequestDllStatus = 156;
UM_RequestUtilAction = 157;
UM_UtilActionResponse = 158;
UM_DllStatusResponse = 159;
UM_RequestInventory = 160;
UM_InventoryResponse = 161;
UM_RequestDiagnostic = 162;
UM_DiagnosticResponse = 163;
UM_ExtraUserData = 164;
UM_MAX_BASE = 200;
}
enum EBaseEntityMessages {
EM_PlayJingle = 136;
EM_ScreenOverlay = 137;
EM_RemoveAllDecals = 138;
EM_PropagateForce = 139;
EM_DoSpark = 140;
EM_FixAngle = 141;
}
enum eRollType {
ROLL_NONE = -1;
ROLL_STATS = 0;
ROLL_CREDITS = 1;
ROLL_LATE_JOIN_LOGO = 2;
ROLL_OUTTRO = 3;
}
enum PARTICLE_MESSAGE {
GAME_PARTICLE_MANAGER_EVENT_CREATE = 0;
GAME_PARTICLE_MANAGER_EVENT_UPDATE = 1;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD = 2;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION = 3;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK = 4;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENT = 5;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET = 6;
GAME_PARTICLE_MANAGER_EVENT_DESTROY = 7;
GAME_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING = 8;
GAME_PARTICLE_MANAGER_EVENT_RELEASE = 9;
GAME_PARTICLE_MANAGER_EVENT_LATENCY = 10;
GAME_PARTICLE_MANAGER_EVENT_SHOULD_DRAW = 11;
GAME_PARTICLE_MANAGER_EVENT_FROZEN = 12;
GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT = 13;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENTITY_POSITION = 14;
GAME_PARTICLE_MANAGER_EVENT_SET_FOW_PROPERTIES = 15;
GAME_PARTICLE_MANAGER_EVENT_SET_TEXT = 16;
GAME_PARTICLE_MANAGER_EVENT_SET_SHOULD_CHECK_FOW = 17;
GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_MODEL = 18;
GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_SNAPSHOT = 19;
GAME_PARTICLE_MANAGER_EVENT_SET_TEXTURE_ATTRIBUTE = 20;
GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_GENERIC_FLAG = 21;
GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_TINT_AND_DESAT = 22;
GAME_PARTICLE_MANAGER_EVENT_DESTROY_NAMED = 23;
GAME_PARTICLE_MANAGER_EVENT_SKIP_TO_TIME = 24;
GAME_PARTICLE_MANAGER_EVENT_CAN_FREEZE = 25;
GAME_PARTICLE_MANAGER_EVENT_SET_NAMED_VALUE_CONTEXT = 26;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_TRANSFORM = 27;
GAME_PARTICLE_MANAGER_EVENT_FREEZE_TRANSITION_OVERRIDE = 28;
GAME_PARTICLE_MANAGER_EVENT_FREEZE_INVOLVING = 29;
}
enum EHapticPulseType {
VR_HAND_HAPTIC_PULSE_LIGHT = 0;
VR_HAND_HAPTIC_PULSE_MEDIUM = 1;
VR_HAND_HAPTIC_PULSE_STRONG = 2;
}
message CUserMessageAchievementEvent {
optional uint32 achievement = 1;
}
message CUserMessageCloseCaption {
optional fixed32 hash = 1;
optional float duration = 2;
optional bool from_player = 3;
optional int32 ent_index = 4 [default = -1];
}
message CUserMessageCloseCaptionDirect {
optional fixed32 hash = 1;
optional float duration = 2;
optional bool from_player = 3;
optional int32 ent_index = 4 [default = -1];
}
message CUserMessageCloseCaptionPlaceholder {
optional string string = 1;
optional float duration = 2;
optional bool from_player = 3;
optional int32 ent_index = 4 [default = -1];
}
message CUserMessageCurrentTimescale {
optional float current = 1;
}
message CUserMessageDesiredTimescale {
optional float desired = 1;
optional float acceleration = 2;
optional float minblendrate = 3;
optional float blenddeltamultiplier = 4;
}
message CUserMessageFade {
optional uint32 duration = 1;
optional uint32 hold_time = 2;
optional uint32 flags = 3;
optional fixed32 color = 4;
}
message CUserMessageShake {
optional uint32 command = 1;
optional float amplitude = 2;
optional float frequency = 3;
optional float duration = 4;
}
message CUserMessageShakeDir {
optional .CUserMessageShake shake = 1;
optional .CMsgVector direction = 2;
}
message CUserMessageScreenTilt {
optional uint32 command = 1;
optional bool ease_in_out = 2;
optional .CMsgVector angle = 3;
optional float duration = 4;
optional float time = 5;
}
message CUserMessageSayText {
optional int32 playerindex = 1 [default = -1];
optional string text = 2;
optional bool chat = 3;
}
message CUserMessageSayText2 {
optional int32 entityindex = 1 [default = -1];
optional bool chat = 2;
optional string messagename = 3;
optional string param1 = 4;
optional string param2 = 5;
optional string param3 = 6;
optional string param4 = 7;
}
message CUserMessageHudMsg {
optional uint32 channel = 1;
optional float x = 2;
optional float y = 3;
optional fixed32 color1 = 4;
optional fixed32 color2 = 5;
optional uint32 effect = 6;
optional string message = 11;
}
message CUserMessageHudText {
optional string message = 1;
}
message CUserMessageTextMsg {
optional uint32 dest = 1;
repeated string param = 2;
}
message CUserMessageGameTitle {
}
message CUserMessageResetHUD {
}
message CUserMessageSendAudio {
optional string soundname = 1;
optional bool stop = 2;
}
message CUserMessageAudioParameter {
optional uint32 parameter_type = 1;
optional uint32 name_hash_code = 2;
optional float value = 3;
optional uint32 int_value = 4;
}
message CUserMessageVoiceMask {
repeated uint32 gamerules_masks = 1;
repeated uint32 ban_masks = 2;
optional bool mod_enable = 3;
}
message CUserMessageRequestState {
}
message CUserMessageRumble {
optional int32 index = 1;
optional int32 data = 2;
optional int32 flags = 3;
}
message CUserMessageSayTextChannel {
optional int32 player = 1;
optional int32 channel = 2;
optional string text = 3;
}
message CUserMessageColoredText {
optional uint32 color = 1;
optional string text = 2;
optional bool reset = 3;
optional int32 context_player_slot = 4 [default = -1];
optional int32 context_value = 5;
optional int32 context_team_id = 6;
}
message CUserMessageItemPickup {
optional string itemname = 1;
}
message CUserMessageAmmoDenied {
optional uint32 ammo_id = 1;
}
message CUserMessageShowMenu {
optional uint32 validslots = 1;
optional uint32 displaytime = 2;
optional bool needmore = 3;
optional string menustring = 4;
}
message CUserMessageCreditsMsg {
optional .eRollType rolltype = 1 [default = ROLL_NONE];
optional float logo_length = 2;
}
message CEntityMessagePlayJingle {
optional .CEntityMsg entity_msg = 1;
}
message CEntityMessageScreenOverlay {
optional bool start_effect = 1;
optional .CEntityMsg entity_msg = 2;
}
message CEntityMessageRemoveAllDecals {
optional bool remove_decals = 1;
optional .CEntityMsg entity_msg = 2;
}
message CEntityMessagePropagateForce {
optional .CMsgVector impulse = 1;
optional .CEntityMsg entity_msg = 2;
}
message CEntityMessageDoSpark {
optional .CMsgVector origin = 1;
optional int32 entityindex = 2 [default = -1];
optional float radius = 3;
optional fixed32 color = 4;
optional uint32 beams = 5;
optional float thick = 6;
optional float duration = 7;
optional .CEntityMsg entity_msg = 8;
}
message CEntityMessageFixAngle {
optional bool relative = 1;
optional .CMsgQAngle angle = 2;
optional .CEntityMsg entity_msg = 3;
}
message CUserMessageCameraTransition {
message Transition_DataDriven {
optional string filename = 1;
optional int32 attach_ent_index = 2 [default = -1];
optional float duration = 3;
}
optional uint32 camera_type = 1;
optional float duration = 2;
optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
}
message CUserMsg_ParticleManager {
message ReleaseParticleIndex {
}
message CreateParticle {
optional fixed64 particle_name_index = 1;
optional int32 attach_type = 2;
optional uint32 entity_handle = 3 [default = 16777215];
optional uint32 entity_handle_for_modifiers = 4 [default = 16777215];
optional bool apply_voice_ban_rules = 5;
optional int32 team_behavior = 6;
optional string control_point_configuration = 7;
}
message DestroyParticle {
optional bool destroy_immediately = 1;
}
message DestroyParticleInvolving {
optional bool destroy_immediately = 1;
optional uint32 entity_handle = 3 [default = 16777215];
}
message DestroyParticleNamed {
optional fixed64 particle_name_index = 1;
optional uint32 entity_handle = 2 [default = 16777215];
optional bool destroy_immediately = 3;
optional bool play_endcap = 4;
}
message UpdateParticle_OBSOLETE {
optional int32 control_point = 1;
optional .CMsgVector position = 2;
}
message UpdateParticleFwd_OBSOLETE {
optional int32 control_point = 1;
optional .CMsgVector forward = 2;
}
message UpdateParticleOrient_OBSOLETE {
optional int32 control_point = 1;
optional .CMsgVector forward = 2;
optional .CMsgVector deprecated_right = 3;
optional .CMsgVector up = 4;
optional .CMsgVector left = 5;
}
message UpdateParticleTransform {
optional int32 control_point = 1;
optional .CMsgVector position = 2;
optional .CMsgQuaternion orientation = 3;
optional float interpolation_interval = 4;
}
message UpdateParticleFallback {
optional int32 control_point = 1;
optional .CMsgVector position = 2;
}
message UpdateParticleOffset {
optional int32 control_point = 1;
optional .CMsgVector origin_offset = 2;
optional .CMsgQAngle angle_offset = 3;
}
message UpdateParticleEnt {
optional int32 control_point = 1;
optional uint32 entity_handle = 2 [default = 16777215];
optional int32 attach_type = 3;
optional int32 attachment = 4;
optional .CMsgVector fallback_position = 5;
optional bool include_wearables = 6;
optional .CMsgVector offset_position = 7;
optional .CMsgQAngle offset_angles = 8;
}
message UpdateParticleSetFrozen {
optional bool set_frozen = 1;
optional float transition_duration = 2;
}
message UpdateParticleShouldDraw {
optional bool should_draw = 1;
}
message ChangeControlPointAttachment {
optional int32 attachment_old = 1;
optional int32 attachment_new = 2;
optional uint32 entity_handle = 3 [default = 16777215];
}
message UpdateEntityPosition {
optional uint32 entity_handle = 1 [default = 16777215];
optional .CMsgVector position = 2;
}
message SetParticleFoWProperties {
optional int32 fow_control_point = 1;
optional int32 fow_control_point2 = 2;
optional float fow_radius = 3;
}
message SetParticleShouldCheckFoW {
optional bool check_fow = 1;
}
message SetControlPointModel {
optional int32 control_point = 1;
optional string model_name = 2;
}
message SetControlPointSnapshot {
optional int32 control_point = 1;
optional string snapshot_name = 2;
}
message SetParticleText {
optional string text = 1;
}
message SetTextureAttribute {
optional string attribute_name = 1;
optional string texture_name = 2;
}
message SetSceneObjectGenericFlag {
optional bool flag_value = 1;
}
message SetSceneObjectTintAndDesat {
optional fixed32 tint = 1;
optional float desat = 2;
}
message ParticleSkipToTime {
optional float skip_to_time = 1;
}
message ParticleCanFreeze {
optional bool can_freeze = 1;
}
message ParticleFreezeTransitionOverride {
optional float freeze_transition_override = 1;
}
message FreezeParticleInvolving {
optional bool set_frozen = 1;
optional float transition_duration = 2;
optional uint32 entity_handle = 3 [default = 16777215];
}
message SetParticleNamedValueContext {
message FloatContextValue {
optional uint32 value_name_hash = 1;
optional float value = 2;
}
message VectorContextValue {
optional uint32 value_name_hash = 1;
optional .CMsgVector value = 2;
}
message TransformContextValue {
optional uint32 value_name_hash = 1;
optional .CMsgQAngle angles = 2;
optional .CMsgVector translation = 3;
}
message EHandleContext {
optional uint32 value_name_hash = 1;
optional uint32 ent_index = 2 [default = 16777215];
}
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.FloatContextValue float_values = 1;
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue vector_values = 2;
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue transform_values = 3;
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.EHandleContext ehandle_values = 4;
}
required .PARTICLE_MESSAGE type = 1 [default = GAME_PARTICLE_MANAGER_EVENT_CREATE];
required uint32 index = 2;
optional .CUserMsg_ParticleManager.ReleaseParticleIndex release_particle_index = 3;
optional .CUserMsg_ParticleManager.CreateParticle create_particle = 4;
optional .CUserMsg_ParticleManager.DestroyParticle destroy_particle = 5;
optional .CUserMsg_ParticleManager.DestroyParticleInvolving destroy_particle_involving = 6;
optional .CUserMsg_ParticleManager.UpdateParticle_OBSOLETE update_particle = 7;
optional .CUserMsg_ParticleManager.UpdateParticleFwd_OBSOLETE update_particle_fwd = 8;
optional .CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE update_particle_orient = 9;
optional .CUserMsg_ParticleManager.UpdateParticleFallback update_particle_fallback = 10;
optional .CUserMsg_ParticleManager.UpdateParticleOffset update_particle_offset = 11;
optional .CUserMsg_ParticleManager.UpdateParticleEnt update_particle_ent = 12;
optional .CUserMsg_ParticleManager.UpdateParticleShouldDraw update_particle_should_draw = 14;
optional .CUserMsg_ParticleManager.UpdateParticleSetFrozen update_particle_set_frozen = 15;
optional .CUserMsg_ParticleManager.ChangeControlPointAttachment change_control_point_attachment = 16;
optional .CUserMsg_ParticleManager.UpdateEntityPosition update_entity_position = 17;
optional .CUserMsg_ParticleManager.SetParticleFoWProperties set_particle_fow_properties = 18;
optional .CUserMsg_ParticleManager.SetParticleText set_particle_text = 19;
optional .CUserMsg_ParticleManager.SetParticleShouldCheckFoW set_particle_should_check_fow = 20;
optional .CUserMsg_ParticleManager.SetControlPointModel set_control_point_model = 21;
optional .CUserMsg_ParticleManager.SetControlPointSnapshot set_control_point_snapshot = 22;
optional .CUserMsg_ParticleManager.SetTextureAttribute set_texture_attribute = 23;
optional .CUserMsg_ParticleManager.SetSceneObjectGenericFlag set_scene_object_generic_flag = 24;
optional .CUserMsg_ParticleManager.SetSceneObjectTintAndDesat set_scene_object_tint_and_desat = 25;
optional .CUserMsg_ParticleManager.DestroyParticleNamed destroy_particle_named = 26;
optional .CUserMsg_ParticleManager.ParticleSkipToTime particle_skip_to_time = 27;
optional .CUserMsg_ParticleManager.ParticleCanFreeze particle_can_freeze = 28;
optional .CUserMsg_ParticleManager.SetParticleNamedValueContext set_named_value_context = 29;
optional .CUserMsg_ParticleManager.UpdateParticleTransform update_particle_transform = 30;
optional .CUserMsg_ParticleManager.ParticleFreezeTransitionOverride particle_freeze_transition_override = 31;
optional .CUserMsg_ParticleManager.FreezeParticleInvolving freeze_particle_involving = 32;
extensions 100 to 201;
}
message CUserMsg_HudError {
optional int32 order_id = 1;
}
message CUserMsg_CustomGameEvent {
optional string event_name = 1;
optional bytes data = 2;
}
message CUserMessageHapticsManagerPulse {
optional int32 hand_id = 1;
optional float effect_amplitude = 2;
optional float effect_frequency = 3;
optional float effect_duration = 4;
}
message CUserMessageHapticsManagerEffect {
optional int32 hand_id = 1;
optional uint32 effect_name_hash_code = 2;
optional float effect_scale = 3;
}
message CUserMessageAnimStateGraphState {
optional int32 entity_index = 1;
optional bytes data = 2;
}
message CUserMessageCommandQueueState {
message command_queue_info_t {
optional uint32 commands_queued = 1;
optional uint32 command_queue_desired_size = 2;
optional uint32 starved_command_ticks = 3;
optional int32 time_dilation_percent = 4;
}
optional int32 player_slot = 1 [default = -1];
optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
}
message CUserMessageUpdateCssClasses {
optional int32 target_world_panel = 1;
optional string css_classes = 2;
optional bool is_add = 3;
}
message CUserMessageServerFrameTime {
optional float frame_time = 1;
}
message CUserMessageLagCompensationError {
optional float distance = 1;
}
message CUserMessageRequestDllStatus {
optional string dll_action = 1;
optional bool full_report = 2;
}
message CUserMessageRequestUtilAction {
optional int32 util1 = 2;
optional int32 util2 = 3;
optional int32 util3 = 4;
optional int32 util4 = 5;
optional int32 util5 = 6;
}
message CUserMessage_UtilMsg_Response {
message ItemDetail {
optional int32 index = 1;
optional int32 hash = 2;
optional int32 crc = 3;
optional string name = 4;
}
optional fixed32 crc = 1;
optional int32 item_count = 2;
optional fixed32 crc2 = 3;
optional int32 item_count2 = 4;
repeated int32 crc_part = 5;
repeated int32 crc_part2 = 6;
optional int32 client_timestamp = 7;
optional int32 platform = 8;
repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
optional int32 itemgroup = 10;
optional int32 total_count = 11;
optional int32 total_count2 = 12;
}
message CUserMessage_DllStatus {
message CVDiagnostic {
optional uint32 id = 1;
optional uint32 extended = 2;
optional uint64 value = 3;
optional string string_value = 4;
}
message CModule {
optional uint64 base_addr = 1;
optional string name = 2;
optional uint32 size = 3;
optional uint32 timestamp = 4;
}
optional string file_report = 1;
optional string command_line = 2;
optional uint32 total_files = 3;
optional uint32 process_id = 4;
optional int32 osversion = 5;
optional uint64 client_time = 6;
repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
repeated .CUserMessage_DllStatus.CModule modules = 8;
}
message CUserMessageRequestInventory {
optional int32 inventory = 1;
optional int32 offset = 2;
optional int32 options = 3;
}
message CUserMessage_Inventory_Response {
message InventoryDetail {
optional int32 index = 1;
optional int64 primary = 2;
optional int64 offset = 3;
optional int64 first = 4;
optional int64 base = 5;
optional string name = 6;
optional string base_name = 7;
optional int32 base_detail = 8;
optional int32 base_time = 9;
optional int32 base_hash = 10;
}
optional fixed32 crc = 1;
optional int32 item_count = 2;
optional int32 osversion = 5;
optional int32 perf_time = 6;
optional int32 client_timestamp = 7;
optional int32 platform = 8;
repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
optional int32 inv_type = 11;
optional int32 build_version = 12;
optional int32 instance = 13;
optional int64 start_time = 15;
}
message CUserMessageRequestDiagnostic {
message Diagnostic {
optional int32 index = 1;
optional int64 offset = 2;
optional int32 param = 3;
optional int32 length = 4;
optional int32 type = 5;
optional int64 base = 6;
optional int64 range = 7;
optional int64 extent = 8;
optional int64 detail = 9;
optional string name = 10;
optional string alias = 11;
optional bytes vardetail = 12;
optional int32 context = 13;
}
repeated .CUserMessageRequestDiagnostic.Diagnostic diagnostics = 1;
}
message CUserMessage_Diagnostic_Response {
message Diagnostic {
optional int32 index = 1;
optional int64 offset = 2;
optional int32 param = 3;
optional int32 length = 4;
optional bytes detail = 5;
optional int64 base = 6;
optional int64 range = 7;
optional int32 type = 8;
optional string name = 10;
optional string alias = 11;
optional bytes backup = 12;
optional int32 context = 13;
}
repeated .CUserMessage_Diagnostic_Response.Diagnostic diagnostics = 1;
optional int32 build_version = 2;
optional int32 instance = 3;
optional int64 start_time = 4;
optional int32 osversion = 5;
optional int32 platform = 6;
}
message CUserMessage_ExtraUserData {
optional int32 item = 1;
optional int64 value1 = 2;
optional int64 value2 = 3;
repeated bytes detail1 = 4;
repeated bytes detail2 = 5;
}