-
Notifications
You must be signed in to change notification settings - Fork 480
/
demo.proto
146 lines (123 loc) · 3.27 KB
/
demo.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
import "google/protobuf/descriptor.proto";
enum EDemoCommands {
DEM_Error = -1;
DEM_Stop = 0;
DEM_FileHeader = 1;
DEM_FileInfo = 2;
DEM_SyncTick = 3;
DEM_SendTables = 4;
DEM_ClassInfo = 5;
DEM_StringTables = 6;
DEM_Packet = 7;
DEM_SignonPacket = 8;
DEM_ConsoleCmd = 9;
DEM_CustomData = 10;
DEM_CustomDataCallbacks = 11;
DEM_UserCmd = 12;
DEM_FullPacket = 13;
DEM_SaveGame = 14;
DEM_Max = 15;
DEM_IsCompressed = 112;
}
message CDemoFileHeader {
required string demo_file_stamp = 1;
optional int32 network_protocol = 2;
optional string server_name = 3;
optional string client_name = 4;
optional string map_name = 5;
optional string game_directory = 6;
optional int32 fullpackets_version = 7;
optional bool allow_clientside_entities = 8;
optional bool allow_clientside_particles = 9;
}
message CGameInfo {
message CDotaGameInfo {
message CPlayerInfo {
optional string hero_name = 1;
optional string player_name = 2;
optional bool is_fake_client = 3;
optional uint64 steamid = 4;
optional int32 game_team = 5;
}
message CHeroSelectEvent {
optional bool is_pick = 1;
optional uint32 team = 2;
optional uint32 hero_id = 3;
}
optional uint32 match_id = 1;
optional int32 game_mode = 2;
optional int32 game_winner = 3;
repeated .CGameInfo.CDotaGameInfo.CPlayerInfo player_info = 4;
optional uint32 leagueid = 5;
repeated .CGameInfo.CDotaGameInfo.CHeroSelectEvent picks_bans = 6;
optional uint32 radiant_team_id = 7;
optional uint32 dire_team_id = 8;
optional string radiant_team_tag = 9;
optional string dire_team_tag = 10;
optional uint32 end_time = 11;
}
optional .CGameInfo.CDotaGameInfo dota = 4;
}
message CDemoFileInfo {
optional float playback_time = 1;
optional int32 playback_ticks = 2;
optional int32 playback_frames = 3;
optional .CGameInfo game_info = 4;
}
message CDemoPacket {
optional int32 sequence_in = 1;
optional int32 sequence_out_ack = 2;
optional bytes data = 3;
}
message CDemoFullPacket {
optional .CDemoStringTables string_table = 1;
optional .CDemoPacket packet = 2;
}
message CDemoSaveGame {
optional bytes data = 1;
optional fixed64 steam_id = 2;
optional fixed64 signature = 3;
optional int32 version = 4;
}
message CDemoSyncTick {
}
message CDemoConsoleCmd {
optional string cmdstring = 1;
}
message CDemoSendTables {
optional bytes data = 1;
}
message CDemoClassInfo {
message class_t {
optional int32 class_id = 1;
optional string network_name = 2;
optional string table_name = 3;
}
repeated .CDemoClassInfo.class_t classes = 1;
}
message CDemoCustomData {
optional int32 callback_index = 1;
optional bytes data = 2;
}
message CDemoCustomDataCallbacks {
repeated string save_id = 1;
}
message CDemoStringTables {
message items_t {
optional string str = 1;
optional bytes data = 2;
}
message table_t {
optional string table_name = 1;
repeated .CDemoStringTables.items_t items = 2;
repeated .CDemoStringTables.items_t items_clientside = 3;
optional int32 table_flags = 4;
}
repeated .CDemoStringTables.table_t tables = 1;
}
message CDemoStop {
}
message CDemoUserCmd {
optional int32 cmd_number = 1;
optional bytes data = 2;
}