From 5adc155b56a194c572df78f618d3f9d754bac594 Mon Sep 17 00:00:00 2001 From: Christian Stewart Date: Thu, 24 Sep 2015 23:28:14 -0400 Subject: [PATCH] Update protobufs --- .../Protobufs/dota/dota_clientmessages.proto | 5 + .../Protobufs/dota/dota_commonmessages.proto | 13 ++ .../dota/dota_gcmessages_client.proto | 154 +++++++++++++----- .../dota/dota_gcmessages_common.proto | 28 +++- .../Protobufs/dota/dota_usermessages.proto | 1 + .../Protobufs/dota/econ_gcmessages.proto | 11 ++ Resources/Protobufs/dota/netmessages.proto | 13 +- 7 files changed, 177 insertions(+), 48 deletions(-) diff --git a/Resources/Protobufs/dota/dota_clientmessages.proto b/Resources/Protobufs/dota/dota_clientmessages.proto index bfc1d64..a3a52a2 100644 --- a/Resources/Protobufs/dota/dota_clientmessages.proto +++ b/Resources/Protobufs/dota/dota_clientmessages.proto @@ -53,6 +53,7 @@ enum EDotaClientMessages { DOTA_CM_ChallengeReroll = 347; DOTA_CM_ClickedBuff = 348; DOTA_CM_CoinWager = 349; + DOTA_CM_ExecuteOrders = 350; } message CDOTAClientMsg_MapPing { @@ -266,3 +267,7 @@ message CDOTAClientMsg_CoinWager { optional uint32 wager_amount = 1; } +message CDOTAClientMsg_ExecuteOrders { + repeated .CDOTAMsg_UnitOrder orders = 1; +} + diff --git a/Resources/Protobufs/dota/dota_commonmessages.proto b/Resources/Protobufs/dota/dota_commonmessages.proto index 8e31185..1b92ccc 100644 --- a/Resources/Protobufs/dota/dota_commonmessages.proto +++ b/Resources/Protobufs/dota/dota_commonmessages.proto @@ -1,3 +1,5 @@ +import "networkbasetypes.proto"; + option optimize_for = SPEED; option cc_generic_services = false; @@ -169,3 +171,14 @@ message CDOTAMsg_CoachHUDPing { optional string tgtpath = 3; } +message CDOTAMsg_UnitOrder { + optional sint32 issuer = 1 [default = -1]; + optional .dotaunitorder_t order_type = 2 [default = DOTA_UNIT_ORDER_NONE]; + repeated int32 units = 3; + optional int32 target_index = 4; + optional int32 ability_index = 5; + optional .CMsgVector position = 6; + optional bool queue = 7; + optional int32 sequence_number = 8; +} + diff --git a/Resources/Protobufs/dota/dota_gcmessages_client.proto b/Resources/Protobufs/dota/dota_gcmessages_client.proto index 5c87694..3882cfd 100644 --- a/Resources/Protobufs/dota/dota_gcmessages_client.proto +++ b/Resources/Protobufs/dota/dota_gcmessages_client.proto @@ -6,26 +6,6 @@ import "dota_gcmessages_client_fantasy.proto"; option optimize_for = SPEED; option cc_generic_services = false; -enum DOTAChatChannelType_t { - DOTAChannelType_Regional = 0; - DOTAChannelType_Custom = 1; - DOTAChannelType_Party = 2; - DOTAChannelType_Lobby = 3; - DOTAChannelType_Team = 4; - DOTAChannelType_Guild = 5; - DOTAChannelType_Fantasy = 6; - DOTAChannelType_Whisper = 7; - DOTAChannelType_Console = 8; - DOTAChannelType_Tab = 9; - DOTAChannelType_Invalid = 10; - DOTAChannelType_GameAll = 11; - DOTAChannelType_GameAllies = 12; - DOTAChannelType_GameSpectator = 13; - DOTAChannelType_GameCoaching = 14; - DOTAChannelType_Cafe = 15; - DOTAChannelType_CustomGame = 16; -} - enum DOTA_WatchReplayType { DOTA_WATCH_REPLAY_NORMAL = 0; DOTA_WATCH_REPLAY_HIGHLIGHTS = 1; @@ -213,14 +193,27 @@ message CMsgClientToGCTopMatchesRequest { optional uint32 team_id = 3; } -message CMsgGCToClientTopMatchesResponse { - enum Type { - LEAGUES = 1; - FRIENDS = 2; - } +message CMsgClientToGCTopLeagueMatchesRequest { +} + +message CMsgClientToGCTopFriendMatchesRequest { +} + +message CMsgClientToGCMatchesMinimalRequest { + repeated uint64 match_ids = 1; +} - optional .CMsgGCToClientTopMatchesResponse.Type type = 1 [default = LEAGUES]; - repeated .CMsgDOTAMatch matches = 2; +message CMsgClientToGCMatchesMinimalResponse { + repeated .CMsgDOTAMatchMinimal matches = 1; + optional bool last_match = 2; +} + +message CMsgGCToClientTopLeagueMatchesResponse { + repeated .CMsgDOTAMatchMinimal matches = 2; +} + +message CMsgGCToClientTopFriendMatchesResponse { + repeated .CMsgDOTAMatchMinimal matches = 1; } message CMsgClientToGCFindTopMatches { @@ -387,6 +380,7 @@ message CMsgPracticeLobbyListResponseEntry { optional uint32 max_player_count = 16; optional uint32 server_region = 17; optional uint32 lan_host_ping_to_server_region = 18; + optional uint32 league_id = 19; } message CMsgPracticeLobbyListResponse { @@ -649,6 +643,37 @@ message CMsgDOTAPlayerMatchHistory { repeated uint64 match_ids = 1; } +message CMsgDOTAMatchMinimal { + message Player { + optional uint32 account_id = 1; + optional uint32 hero_id = 2; + optional uint32 kills = 3; + optional uint32 deaths = 4; + optional uint32 assists = 5; + repeated uint32 items = 6; + } + + message League { + optional uint32 league_id = 1; + optional uint32 radiant_team_id = 2; + optional string radiant_team_name = 3; + optional fixed64 radiant_team_logo = 4; + optional uint32 dire_team_id = 5; + optional string dire_team_name = 6; + optional fixed64 dire_team_logo = 7; + optional uint32 series_type = 8; + optional uint32 series_game = 9; + } + + optional uint32 match_id = 1; + optional fixed32 start_time = 2; + optional uint32 duration = 3; + optional .DOTA_GameMode game_mode = 4 [default = DOTA_GAMEMODE_NONE]; + optional uint32 winning_team = 5; + repeated .CMsgDOTAMatchMinimal.Player players = 6; + optional .CMsgDOTAMatchMinimal.League league = 7; +} + message CMsgDOTAMatchHistoryFilter { repeated uint64 match_ids = 1; optional uint64 newest_match_id_at_last_query = 2; @@ -761,6 +786,7 @@ message CMsgDOTAPopup { TI2015_POINTS_EARNED = 63; CUSTOM_GAME_INCORRECT_VERSION = 64; COMPETITIVE_MM_MMR_TOO_HIGH_S2 = 65; + LIMITED_USER_CHAT = 66; } optional .CMsgDOTAPopup.PopupID id = 1 [default = KICKED_FROM_LOBBY]; @@ -1117,6 +1143,7 @@ message CMsgDOTAChatMessage { optional uint32 event_points = 12; optional bool coin_flip = 13; optional int32 player_id = 14 [default = -1]; + optional uint32 share_profile_account_id = 15; } message CMsgDOTAChatMember { @@ -1125,11 +1152,27 @@ message CMsgDOTAChatMember { } message CMsgDOTAJoinChatChannelResponse { + enum Result { + JOIN_SUCCESS = 0; + INVALID_CHANNEL_TYPE = 1; + ACCOUNT_NOT_FOUND = 2; + ACH_FAILED = 3; + USER_IN_TOO_MANY_CHANNELS = 4; + RATE_LIMIT_EXCEEDED = 5; + CHANNEL_FULL = 6; + CHANNEL_FULL_OVERFLOWED = 7; + FAILED_TO_ADD_USER = 8; + CHANNEL_TYPE_DISABLED = 9; + } + optional uint32 response = 1; optional string channel_name = 2; optional fixed64 channel_id = 3; optional uint32 max_members = 4; repeated .CMsgDOTAChatMember members = 5; + optional .DOTAChatChannelType_t channel_type = 6 [default = DOTAChannelType_Regional]; + optional .CMsgDOTAJoinChatChannelResponse.Result result = 7 [default = JOIN_SUCCESS]; + optional bool gc_initiated_join = 8; } message CMsgDOTAChatChannelFullUpdate { @@ -1197,6 +1240,18 @@ message CMsgDOTAChatGetMemberCountResponse { optional uint32 member_count = 3; } +message CMsgDOTAChatRegionsEnabled { + message Region { + optional float min_latitude = 1; + optional float max_latitude = 2; + optional float min_longitude = 3; + optional float max_longitude = 4; + } + + optional bool enable_all_regions = 1; + repeated .CMsgDOTAChatRegionsEnabled.Region enabled_regions = 2; +} + message CMsgDOTAGuildSDO { message Member { optional uint32 account_id = 1; @@ -1665,26 +1720,41 @@ message CMsgDOTAFeaturedItems { message CMsgRequestLeagueInfo { } -message CLeague { - optional uint32 leagueid = 1; - optional bool live = 2; - optional fixed32 lastgametime = 4; - optional uint32 prize_pool_usd = 5; - optional uint32 version = 6; - optional bool compendium_is_public = 7; - optional uint32 content_version = 8; +message CDynamicLeagueData { + optional uint32 league_id = 1; + optional fixed32 last_match_time = 2; + optional uint32 prize_pool_usd = 3; + optional bool has_live_matches = 4; + optional bool is_compendium_public = 5; + optional uint32 compendium_version = 6; + optional uint32 compendium_content_version = 7; } -message CMsgClientLeagueInfo { - optional .CLeague league = 1; - optional bool is_major = 2; +message CStaticLeagueData { + optional uint32 league_id = 1; + optional string name = 2; + optional string description = 3; + optional string banner_name = 4; + optional string itemdef_name = 5; + optional string url = 6; + optional uint32 item_def_index = 7; + optional uint32 hud_skin_item_def_index = 8; + optional string loading_screen_name = 9; + optional uint32 base_prize_pool = 10; + optional bool is_major = 11; + optional uint32 sort_order = 12; + optional uint32 tier = 13; + optional uint32 amateur_region = 14; +} + +message CLeagueData { + optional .CDynamicLeagueData dynamic_data = 1; + optional .CStaticLeagueData static_data = 2; optional bool is_owned = 3; - optional uint32 sort_order = 4; - optional uint32 amateur_region = 5; } message CMsgResponseLeagueInfo { - repeated .CLeague leagues = 1; + repeated .CDynamicLeagueData leagues = 1; } message CMsgDOTAMatchVotes { @@ -2123,8 +2193,8 @@ message CMsgDOTAGetPlayerMatchHistory { optional uint32 matches_requested = 3; optional uint32 hero_id = 4; optional uint32 request_id = 5; - optional .ESourceEngine engine = 6 [default = k_ESE_Source1]; optional bool include_practice_matches = 7; + optional bool include_custom_games = 8; } message CMsgDOTAGetPlayerMatchHistoryResponse { diff --git a/Resources/Protobufs/dota/dota_gcmessages_common.proto b/Resources/Protobufs/dota/dota_gcmessages_common.proto index dfc39e5..5d46011 100644 --- a/Resources/Protobufs/dota/dota_gcmessages_common.proto +++ b/Resources/Protobufs/dota/dota_gcmessages_common.proto @@ -570,7 +570,6 @@ enum EDOTAGCMsg { k_EMsgClientToGCGetProfileCardStatsResponse = 8035; k_EMsgClientToGCTopLeagueMatchesRequest = 8036; k_EMsgClientToGCTopFriendMatchesRequest = 8037; - k_EMsgGCToClientTopMatchesResponse = 8038; k_EMsgGCToClientProfileCardStatsUpdated = 8040; k_EMsgServerToGCRealtimeStats = 8041; k_EMsgGCToServerRealtimeStatsStartStop = 8042; @@ -590,6 +589,13 @@ enum EDOTAGCMsg { k_EMsgGCToGCGetAccountFlags = 8058; k_EMsgGCToGCGetAccountFlagsResponse = 8059; k_EMsgSignOutWagerStats = 8060; + k_EMsgGCToClientTopLeagueMatchesResponse = 8061; + k_EMsgGCToClientTopFriendMatchesResponse = 8062; + k_EMsgClientToGCMatchesMinimalRequest = 8063; + k_EMsgClientToGCMatchesMinimalResponse = 8064; + k_EMsgGCToGCGetProfileBadgePoints = 8065; + k_EMsgGCToGCGetProfileBadgePointsResponse = 8066; + k_EMsgGCToClientChatRegionsEnabled = 8067; } enum DOTA_GameMode { @@ -887,6 +893,26 @@ enum DOTA_COMBATLOG_TYPES { DOTA_COMBATLOG_PICKUP_RUNE = 21; } +enum DOTAChatChannelType_t { + DOTAChannelType_Regional = 0; + DOTAChannelType_Custom = 1; + DOTAChannelType_Party = 2; + DOTAChannelType_Lobby = 3; + DOTAChannelType_Team = 4; + DOTAChannelType_Guild = 5; + DOTAChannelType_Fantasy = 6; + DOTAChannelType_Whisper = 7; + DOTAChannelType_Console = 8; + DOTAChannelType_Tab = 9; + DOTAChannelType_Invalid = 10; + DOTAChannelType_GameAll = 11; + DOTAChannelType_GameAllies = 12; + DOTAChannelType_GameSpectator = 13; + DOTAChannelType_GameCoaching = 14; + DOTAChannelType_Cafe = 15; + DOTAChannelType_CustomGame = 16; +} + message CSODOTAGameAccountClient { optional uint32 account_id = 1 [(key_field) = true]; optional uint32 wins = 3; diff --git a/Resources/Protobufs/dota/dota_usermessages.proto b/Resources/Protobufs/dota/dota_usermessages.proto index aca0946..60f88f5 100644 --- a/Resources/Protobufs/dota/dota_usermessages.proto +++ b/Resources/Protobufs/dota/dota_usermessages.proto @@ -513,6 +513,7 @@ message CDOTAUserMsg_SpectatorPlayerUnitOrders { optional int32 ability_index = 5; optional .CMsgVector position = 6; optional bool queue = 7; + optional int32 sequence_number = 8; } message CDOTAUserMsg_NevermoreRequiem { diff --git a/Resources/Protobufs/dota/econ_gcmessages.proto b/Resources/Protobufs/dota/econ_gcmessages.proto index 782f5a7..22b79e3 100644 --- a/Resources/Protobufs/dota/econ_gcmessages.proto +++ b/Resources/Protobufs/dota/econ_gcmessages.proto @@ -590,3 +590,14 @@ message CMsgGCRemoveItemAttributeMsg { optional uint64 item_id = 1; } +message CMsgGCNameItem { + optional uint64 subject_item_id = 1; + optional uint64 tool_item_id = 2; + optional string name = 3; +} + +message CMsgGCSetItemPosition { + optional uint64 item_id = 1; + optional uint32 new_position = 2; +} + diff --git a/Resources/Protobufs/dota/netmessages.proto b/Resources/Protobufs/dota/netmessages.proto index 1831fe3..dc74305 100644 --- a/Resources/Protobufs/dota/netmessages.proto +++ b/Resources/Protobufs/dota/netmessages.proto @@ -43,11 +43,7 @@ enum SVC_Messages { svc_StopSound = 59; svc_PeerList = 60; svc_PacketReliable = 61; - svc_UserMessage = 62; - svc_SendTable = 63; - svc_GameEvent = 67; - svc_TempEntities = 68; - svc_GameEventList = 69; + svc_HLTVStatus = 62; svc_FullFrameSplit = 70; } @@ -399,6 +395,13 @@ message CSVCMsg_FullFrameSplit { optional bytes data = 4; } +message CSVCMsg_HLTVStatus { + optional string master = 1; + optional int32 clients = 2; + optional int32 slots = 3; + optional int32 proxies = 4; +} + message CSVCMsg_CmdKeyValues { optional bytes data = 1; }