mirror of
https://github.com/zoffline/zwift-offline.git
synced 2025-12-05 20:40:03 -08:00
proto enum refactorings
no pro crowd any more...
This commit is contained in:
@@ -25,21 +25,21 @@ message ClubAttribution {
|
||||
message Activity {
|
||||
optional uint64 id = 1;
|
||||
required uint64 player_id = 2;
|
||||
required uint64 f3 = 3; /* world_id or player_type_id */
|
||||
required uint64 f3 = 3; // world_id or player_type_id
|
||||
required string name = 4;
|
||||
optional string f5 = 5;
|
||||
//optional bool f6 = 6;
|
||||
required string start_date = 7;
|
||||
optional string end_date = 8;
|
||||
optional float distance = 9; /* in meters */
|
||||
optional float distance = 9; // in meters
|
||||
optional float avg_heart_rate = 10;
|
||||
optional float max_heart_rate = 11;
|
||||
optional float avg_watts = 12;
|
||||
optional float max_watts = 13;
|
||||
optional float avg_cadence = 14;
|
||||
optional float max_cadence = 15;
|
||||
optional float avg_speed = 16; /* in m/s */
|
||||
optional float max_speed = 17; /* in m/s */
|
||||
optional float avg_speed = 16; // in m/s
|
||||
optional float max_speed = 17; // in m/s
|
||||
optional float calories = 18;
|
||||
optional float total_elevation = 19;
|
||||
optional uint32 strava_upload_id = 20;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
syntax = "proto2";
|
||||
//All decompiled
|
||||
import "profile.proto"; //enums PlayerType and Sport
|
||||
|
||||
message EventSubgroupProtobuf {
|
||||
required uint64 id = 1; // 2395269
|
||||
optional string description = 2; // "3R True2 Steady Ride [2.0w/kg avg] (C)"
|
||||
@@ -26,7 +27,7 @@ message EventSubgroupProtobuf {
|
||||
repeated uint64 leaders = 23; // or sweepers? tag440
|
||||
optional fixed32 f24 = 24; //tag453
|
||||
optional uint32 laps = 25; // 0, tag456
|
||||
/* no 26-28 */
|
||||
// no 26-28
|
||||
optional uint32 startLocation = 29; // 13, tag488
|
||||
optional uint32 label = 30; // 3, tag496
|
||||
optional uint32 paceType = 31; // 1, tag504
|
||||
@@ -94,7 +95,7 @@ message Event { //real name: EventProtobuf
|
||||
optional string f19 = 19;
|
||||
optional string f20 = 20;
|
||||
optional string f21 = 21;
|
||||
optional uint32 f22 = 22; //sport
|
||||
optional Sport sport = 22;
|
||||
optional uint64 f23 = 23;
|
||||
optional uint32 f24 = 24;
|
||||
optional uint64 f25 = 25;
|
||||
|
||||
@@ -12,9 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
import profile_pb2 as profile__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x65vents.proto\"\xc6\x06\n\x15\x45ventSubgroupProtobuf\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\n\n\x02\x66\x33\x18\x03 \x01(\t\x12\n\n\x02\x66\x34\x18\x04 \x01(\r\x12\n\n\x02\x66\x35\x18\x05 \x01(\r\x12\n\n\x02\x66\x36\x18\x06 \x01(\r\x12\n\n\x02\x66\x37\x18\x07 \x01(\t\x12\x10\n\x08rules_id\x18\x08 \x01(\x04\x12\x19\n\x11registrationStart\x18\t \x01(\x04\x12\x1b\n\x13registrationStartWT\x18\n \x01(\x04\x12\x17\n\x0fregistrationEnd\x18\x0b \x01(\x04\x12\x19\n\x11registrationEndWT\x18\x0c \x01(\x04\x12\x13\n\x0blineUpStart\x18\r \x01(\x04\x12\x15\n\rlineUpStartWT\x18\x0e \x01(\x04\x12\x11\n\tlineUpEnd\x18\x0f \x01(\x04\x12\x13\n\x0blineUpEndWT\x18\x10 \x01(\x04\x12\x1a\n\x12\x65ventSubgroupStart\x18\x11 \x01(\x04\x12\x1c\n\x14\x65ventSubgroupStartWT\x18\x12 \x01(\x04\x12\x0b\n\x03\x66\x31\x39\x18\x13 \x01(\x04\x12\x0b\n\x03\x66\x32\x30\x18\x14 \x01(\x04\x12\x0b\n\x03\x66\x32\x31\x18\x15 \x01(\x08\x12\x10\n\x08route_id\x18\x16 \x02(\x04\x12\x0f\n\x07leaders\x18\x17 \x03(\x04\x12\x0b\n\x03\x66\x32\x34\x18\x18 \x01(\x07\x12\x0c\n\x04laps\x18\x19 \x01(\r\x12\x15\n\rstartLocation\x18\x1d \x01(\r\x12\r\n\x05label\x18\x1e \x01(\r\x12\x10\n\x08paceType\x18\x1f \x01(\r\x12\x0b\n\x03\x66\x33\x32\x18 \x01(\x07\x12\x0b\n\x03\x66\x33\x33\x18! \x01(\x07\x12\x10\n\x08\x64uration\x18\" \x01(\r\x12\x0b\n\x03\x66\x33\x35\x18# \x01(\r\x12\x12\n\njerseyHash\x18$ \x01(\x04\x12\x0b\n\x03\x66\x33\x37\x18% \x01(\x08\x12\x0b\n\x03\x66\x33\x38\x18& \x01(\x04\x12\r\n\x05\x61udio\x18\' \x01(\t\x12\x0b\n\x03\x66\x34\x30\x18( \x01(\x04\x12\x10\n\x08sweepers\x18) \x03(\x04\x12\x0b\n\x03\x66\x34\x32\x18* \x01(\x04\x12\x0b\n\x03\x66\x34\x33\x18+ \x01(\t\x12\x0b\n\x03\x66\x34\x34\x18, \x01(\x08\x12\x0c\n\x04tags\x18- \x01(\t\x12\x19\n\x11lateJoinInMinutes\x18. \x01(\r\x12\x0e\n\x06map_id\x18/ \x01(\x04\x12\x0b\n\x03\x66\x34\x38\x18\x30 \x01(\r\x12\x0b\n\x03\x66\x34\x39\x18\x31 \x01(\t\x12\x0b\n\x03\x66\x35\x30\x18\x32 \x03(\x05\x12\x0b\n\x03\x66\x35\x31\x18\x33 \x01(\x08\";\n\x15MicroserviceEventData\x12\n\n\x02\x66\x31\x18\x01 \x01(\t\x12\n\n\x02\x66\x32\x18\x02 \x01(\t\x12\n\n\x02\x66\x33\x18\x03 \x01(\x04\"9\n\x13\x45ventSeriesProtobuf\x12\n\n\x02\x66\x31\x18\x01 \x01(\x04\x12\n\n\x02\x66\x32\x18\x02 \x01(\t\x12\n\n\x02\x66\x33\x18\x03 \x01(\t\"S\n\x15\x45ventTimeTrialOptions\x12\n\n\x02\x66\x31\x18\x01 \x01(\r\x12\n\n\x02\x66\x32\x18\x02 \x01(\r\x12\n\n\x02\x66\x33\x18\x03 \x01(\r\x12\n\n\x02\x66\x34\x18\x04 \x01(\r\x12\n\n\x02\x66\x35\x18\x05 \x01(\x04\"\xb7\x05\n\x05\x45vent\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x10\n\x08world_id\x18\x02 \x01(\r\x12\r\n\x05title\x18\x03 \x02(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x12\n\neventStart\x18\x05 \x01(\x04\x12\n\n\x02\x66\x36\x18\x06 \x01(\t\x12\n\n\x02\x66\x37\x18\x07 \x01(\x07\x12\x0c\n\x04laps\x18\x08 \x01(\r\x12\n\n\x02\x66\x39\x18\t \x01(\r\x12(\n\x08\x63\x61tegory\x18\n \x03(\x0b\x32\x16.EventSubgroupProtobuf\x12\x0b\n\x03\x66\x31\x31\x18\x0b \x01(\t\x12\x0f\n\x07pic_url\x18\x0c \x01(\t\x12\x10\n\x08\x64uration\x18\r \x01(\r\x12\x10\n\x08route_id\x18\x0e \x01(\x04\x12\x10\n\x08rules_id\x18\x0f \x01(\x04\x12\x0b\n\x03\x66\x31\x36\x18\x10 \x01(\r\x12\x0b\n\x03\x66\x31\x37\x18\x11 \x01(\x08\x12\x0b\n\x03\x66\x31\x38\x18\x12 \x01(\x04\x12\x0b\n\x03\x66\x31\x39\x18\x13 \x01(\t\x12\x0b\n\x03\x66\x32\x30\x18\x14 \x01(\t\x12\x0b\n\x03\x66\x32\x31\x18\x15 \x01(\t\x12\x0b\n\x03\x66\x32\x32\x18\x16 \x01(\r\x12\x0b\n\x03\x66\x32\x33\x18\x17 \x01(\x04\x12\x0b\n\x03\x66\x32\x34\x18\x18 \x01(\r\x12\x0b\n\x03\x66\x32\x35\x18\x19 \x01(\x04\x12\x0b\n\x03\x66\x32\x36\x18\x1a \x01(\t\x12\x0b\n\x03\x66\x32\x37\x18\x1b \x01(\r\x12\x0b\n\x03\x66\x32\x38\x18\x1c \x01(\x08\x12\x0b\n\x03\x66\x32\x39\x18\x1d \x01(\x08\x12!\n\x03\x66\x33\x30\x18\x1e \x01(\x0b\x32\x14.EventSeriesProtobuf\x12\x0c\n\x04tags\x18\x1f \x01(\t\x12\x0b\n\x03\x66\x33\x32\x18 \x01(\x04\x12\x0b\n\x03\x66\x33\x33\x18! \x01(\x08\x12\x19\n\x11lateJoinInMinutes\x18\" \x01(\r\x12\x0e\n\x06map_id\x18# \x01(\x04\x12#\n\x03\x66\x33\x36\x18$ \x01(\x0b\x32\x16.EventTimeTrialOptions\x12\x0b\n\x03\x66\x33\x37\x18% \x01(\t\x12\x0b\n\x03\x66\x33\x38\x18& \x01(\t\x12\x0b\n\x03\x66\x33\x39\x18\' \x01(\r\x12#\n\x03\x66\x34\x30\x18( \x01(\x0b\x32\x16.MicroserviceEventData\x12\x0b\n\x03\x66\x34\x31\x18) \x03(\r\" \n\x06\x45vents\x12\x16\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x06.Event')
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x65vents.proto\x1a\rprofile.proto\"\xc6\x06\n\x15\x45ventSubgroupProtobuf\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\n\n\x02\x66\x33\x18\x03 \x01(\t\x12\n\n\x02\x66\x34\x18\x04 \x01(\r\x12\n\n\x02\x66\x35\x18\x05 \x01(\r\x12\n\n\x02\x66\x36\x18\x06 \x01(\r\x12\n\n\x02\x66\x37\x18\x07 \x01(\t\x12\x10\n\x08rules_id\x18\x08 \x01(\x04\x12\x19\n\x11registrationStart\x18\t \x01(\x04\x12\x1b\n\x13registrationStartWT\x18\n \x01(\x04\x12\x17\n\x0fregistrationEnd\x18\x0b \x01(\x04\x12\x19\n\x11registrationEndWT\x18\x0c \x01(\x04\x12\x13\n\x0blineUpStart\x18\r \x01(\x04\x12\x15\n\rlineUpStartWT\x18\x0e \x01(\x04\x12\x11\n\tlineUpEnd\x18\x0f \x01(\x04\x12\x13\n\x0blineUpEndWT\x18\x10 \x01(\x04\x12\x1a\n\x12\x65ventSubgroupStart\x18\x11 \x01(\x04\x12\x1c\n\x14\x65ventSubgroupStartWT\x18\x12 \x01(\x04\x12\x0b\n\x03\x66\x31\x39\x18\x13 \x01(\x04\x12\x0b\n\x03\x66\x32\x30\x18\x14 \x01(\x04\x12\x0b\n\x03\x66\x32\x31\x18\x15 \x01(\x08\x12\x10\n\x08route_id\x18\x16 \x02(\x04\x12\x0f\n\x07leaders\x18\x17 \x03(\x04\x12\x0b\n\x03\x66\x32\x34\x18\x18 \x01(\x07\x12\x0c\n\x04laps\x18\x19 \x01(\r\x12\x15\n\rstartLocation\x18\x1d \x01(\r\x12\r\n\x05label\x18\x1e \x01(\r\x12\x10\n\x08paceType\x18\x1f \x01(\r\x12\x0b\n\x03\x66\x33\x32\x18 \x01(\x07\x12\x0b\n\x03\x66\x33\x33\x18! \x01(\x07\x12\x10\n\x08\x64uration\x18\" \x01(\r\x12\x0b\n\x03\x66\x33\x35\x18# \x01(\r\x12\x12\n\njerseyHash\x18$ \x01(\x04\x12\x0b\n\x03\x66\x33\x37\x18% \x01(\x08\x12\x0b\n\x03\x66\x33\x38\x18& \x01(\x04\x12\r\n\x05\x61udio\x18\' \x01(\t\x12\x0b\n\x03\x66\x34\x30\x18( \x01(\x04\x12\x10\n\x08sweepers\x18) \x03(\x04\x12\x0b\n\x03\x66\x34\x32\x18* \x01(\x04\x12\x0b\n\x03\x66\x34\x33\x18+ \x01(\t\x12\x0b\n\x03\x66\x34\x34\x18, \x01(\x08\x12\x0c\n\x04tags\x18- \x01(\t\x12\x19\n\x11lateJoinInMinutes\x18. \x01(\r\x12\x0e\n\x06map_id\x18/ \x01(\x04\x12\x0b\n\x03\x66\x34\x38\x18\x30 \x01(\r\x12\x0b\n\x03\x66\x34\x39\x18\x31 \x01(\t\x12\x0b\n\x03\x66\x35\x30\x18\x32 \x03(\x05\x12\x0b\n\x03\x66\x35\x31\x18\x33 \x01(\x08\";\n\x15MicroserviceEventData\x12\n\n\x02\x66\x31\x18\x01 \x01(\t\x12\n\n\x02\x66\x32\x18\x02 \x01(\t\x12\n\n\x02\x66\x33\x18\x03 \x01(\x04\"9\n\x13\x45ventSeriesProtobuf\x12\n\n\x02\x66\x31\x18\x01 \x01(\x04\x12\n\n\x02\x66\x32\x18\x02 \x01(\t\x12\n\n\x02\x66\x33\x18\x03 \x01(\t\"S\n\x15\x45ventTimeTrialOptions\x12\n\n\x02\x66\x31\x18\x01 \x01(\r\x12\n\n\x02\x66\x32\x18\x02 \x01(\r\x12\n\n\x02\x66\x33\x18\x03 \x01(\r\x12\n\n\x02\x66\x34\x18\x04 \x01(\r\x12\n\n\x02\x66\x35\x18\x05 \x01(\x04\"\xc1\x05\n\x05\x45vent\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x10\n\x08world_id\x18\x02 \x01(\r\x12\r\n\x05title\x18\x03 \x02(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x12\n\neventStart\x18\x05 \x01(\x04\x12\n\n\x02\x66\x36\x18\x06 \x01(\t\x12\n\n\x02\x66\x37\x18\x07 \x01(\x07\x12\x0c\n\x04laps\x18\x08 \x01(\r\x12\n\n\x02\x66\x39\x18\t \x01(\r\x12(\n\x08\x63\x61tegory\x18\n \x03(\x0b\x32\x16.EventSubgroupProtobuf\x12\x0b\n\x03\x66\x31\x31\x18\x0b \x01(\t\x12\x0f\n\x07pic_url\x18\x0c \x01(\t\x12\x10\n\x08\x64uration\x18\r \x01(\r\x12\x10\n\x08route_id\x18\x0e \x01(\x04\x12\x10\n\x08rules_id\x18\x0f \x01(\x04\x12\x0b\n\x03\x66\x31\x36\x18\x10 \x01(\r\x12\x0b\n\x03\x66\x31\x37\x18\x11 \x01(\x08\x12\x0b\n\x03\x66\x31\x38\x18\x12 \x01(\x04\x12\x0b\n\x03\x66\x31\x39\x18\x13 \x01(\t\x12\x0b\n\x03\x66\x32\x30\x18\x14 \x01(\t\x12\x0b\n\x03\x66\x32\x31\x18\x15 \x01(\t\x12\x15\n\x05sport\x18\x16 \x01(\x0e\x32\x06.Sport\x12\x0b\n\x03\x66\x32\x33\x18\x17 \x01(\x04\x12\x0b\n\x03\x66\x32\x34\x18\x18 \x01(\r\x12\x0b\n\x03\x66\x32\x35\x18\x19 \x01(\x04\x12\x0b\n\x03\x66\x32\x36\x18\x1a \x01(\t\x12\x0b\n\x03\x66\x32\x37\x18\x1b \x01(\r\x12\x0b\n\x03\x66\x32\x38\x18\x1c \x01(\x08\x12\x0b\n\x03\x66\x32\x39\x18\x1d \x01(\x08\x12!\n\x03\x66\x33\x30\x18\x1e \x01(\x0b\x32\x14.EventSeriesProtobuf\x12\x0c\n\x04tags\x18\x1f \x01(\t\x12\x0b\n\x03\x66\x33\x32\x18 \x01(\x04\x12\x0b\n\x03\x66\x33\x33\x18! \x01(\x08\x12\x19\n\x11lateJoinInMinutes\x18\" \x01(\r\x12\x0e\n\x06map_id\x18# \x01(\x04\x12#\n\x03\x66\x33\x36\x18$ \x01(\x0b\x32\x16.EventTimeTrialOptions\x12\x0b\n\x03\x66\x33\x37\x18% \x01(\t\x12\x0b\n\x03\x66\x33\x38\x18& \x01(\t\x12\x0b\n\x03\x66\x33\x39\x18\' \x01(\r\x12#\n\x03\x66\x34\x30\x18( \x01(\x0b\x32\x16.MicroserviceEventData\x12\x0b\n\x03\x66\x34\x31\x18) \x03(\r\" \n\x06\x45vents\x12\x16\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x06.Event')
|
||||
|
||||
|
||||
|
||||
@@ -69,16 +70,16 @@ _sym_db.RegisterMessage(Events)
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
_EVENTSUBGROUPPROTOBUF._serialized_start=17
|
||||
_EVENTSUBGROUPPROTOBUF._serialized_end=855
|
||||
_MICROSERVICEEVENTDATA._serialized_start=857
|
||||
_MICROSERVICEEVENTDATA._serialized_end=916
|
||||
_EVENTSERIESPROTOBUF._serialized_start=918
|
||||
_EVENTSERIESPROTOBUF._serialized_end=975
|
||||
_EVENTTIMETRIALOPTIONS._serialized_start=977
|
||||
_EVENTTIMETRIALOPTIONS._serialized_end=1060
|
||||
_EVENT._serialized_start=1063
|
||||
_EVENT._serialized_end=1758
|
||||
_EVENTS._serialized_start=1760
|
||||
_EVENTS._serialized_end=1792
|
||||
_EVENTSUBGROUPPROTOBUF._serialized_start=32
|
||||
_EVENTSUBGROUPPROTOBUF._serialized_end=870
|
||||
_MICROSERVICEEVENTDATA._serialized_start=872
|
||||
_MICROSERVICEEVENTDATA._serialized_end=931
|
||||
_EVENTSERIESPROTOBUF._serialized_start=933
|
||||
_EVENTSERIESPROTOBUF._serialized_end=990
|
||||
_EVENTTIMETRIALOPTIONS._serialized_start=992
|
||||
_EVENTTIMETRIALOPTIONS._serialized_end=1075
|
||||
_EVENT._serialized_start=1078
|
||||
_EVENT._serialized_end=1783
|
||||
_EVENTS._serialized_start=1785
|
||||
_EVENTS._serialized_end=1817
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
syntax = "proto2";
|
||||
//All decompiled. TODO: uncomment and use f14
|
||||
//TODO: uncomment and use f14, rename fields in db
|
||||
message Goal {
|
||||
optional uint64 id = 1;
|
||||
optional uint64 player_id = 2;
|
||||
optional int64 f3 = 3; /* TODO: rename to sport; int64 on wire, stored as int32 */
|
||||
optional int64 f3 = 3; //-> enum Sport sport
|
||||
optional string name = 4; // i.e. "Monthly time goal"
|
||||
optional int64 type = 5; /* 0=distance, 1=time; int64 on wire, stored as int32 */
|
||||
optional int64 periodicity = 6; /* 0=weekly, 1=monthly; int64 on wire, stored as int32 */
|
||||
optional float target_distance = 7; /* in meters. set to dur for dur goals */
|
||||
optional float target_duration = 8; /* in minutes. set to dist for dist goals */
|
||||
optional float actual_distance = 9; /* in meters. is also set for dur goals? */
|
||||
optional float actual_duration = 10; /* in minutes. is also set for dist goals? */
|
||||
optional uint64 created_on = 11; /* in ms since epoch */
|
||||
optional int64 type = 5; //-> enum GoalType 0=distance, 1=time
|
||||
optional int64 periodicity = 6; //-> enum GoalPeriod 0=weekly, 1=monthly
|
||||
optional float target_distance = 7; //in meters. set to dur for dur goals
|
||||
optional float target_duration = 8; //in minutes. set to dist for dist goals
|
||||
optional float actual_distance = 9; //in meters. is also set for dur goals?
|
||||
optional float actual_duration = 10; //in minutes. is also set for dist goals?
|
||||
optional uint64 created_on = 11; //in ms since epoch
|
||||
optional uint64 period_end_date = 12;
|
||||
optional uint64 f13 = 13; /* TODO: rename to status (0=active, 1=retired); int64 on wire, stored as int32 */
|
||||
//optional string f14 = 14; /* TODO: find usage: GoalsManager? */
|
||||
optional uint64 f13 = 13; //-> enum GoalStatus 0=active, 1=retired
|
||||
//optional string f14 = 14; // TODO: find usage: GoalsManager?
|
||||
}
|
||||
|
||||
message Goals {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
syntax = "proto2";
|
||||
//All decompiled. TODO: check
|
||||
message HashSeed {
|
||||
required uint32 seed1 = 1;
|
||||
required uint32 seed2 = 2;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
syntax = "proto2";
|
||||
/* XXX: This is a first approximation of login response. Not looked into or verified. */
|
||||
//All decompiled.
|
||||
import "per-session-info.proto";
|
||||
|
||||
message LoginResponse {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
syntax = "proto2";
|
||||
// All decompiled.
|
||||
message TcpAddress {
|
||||
optional string ip = 1;
|
||||
optional int32 port = 2;
|
||||
@@ -8,7 +7,7 @@ message TcpAddress {
|
||||
}
|
||||
|
||||
message TcpConfig {
|
||||
/* First server: the TCP telemetry server (34.218.60.145) */
|
||||
//First server: the TCP telemetry server (34.218.60.145)
|
||||
repeated TcpAddress nodes = 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
syntax = "proto2";
|
||||
//TODO: check if PeriodicInfo is TcpAddress
|
||||
//TODO: check if used
|
||||
message PeriodicInfo { // very similar to TcpAddress, did not found in ZwiftApp.exe yet
|
||||
required string game_server_ip = 1;
|
||||
optional uint32 f2 = 2;
|
||||
|
||||
@@ -1,299 +1,296 @@
|
||||
syntax = "proto2";
|
||||
//All decompiled. TODO: answer ??? questions and saved_game format (zwift_profile.ksy)
|
||||
|
||||
message AchievementEntry { // name from Zwift debug info
|
||||
required int32 id = 1;
|
||||
//TODO: answer ??? questions and saved_game format (zwift_profile.ksy)
|
||||
enum Sport {
|
||||
CYCLING = 0;
|
||||
RUNNING = 1;
|
||||
ROWING = 2;
|
||||
SPORT3 = 3;
|
||||
SPORT4 = 4;
|
||||
}
|
||||
enum PlayerType {
|
||||
PLAYERTYPE0 = 0;
|
||||
NORMAL = 1;
|
||||
PRO_CYCLIST = 2;
|
||||
ZWIFT_STAFF = 3;
|
||||
AMBASSADOR = 4;
|
||||
VERIFIED = 5;
|
||||
ZED = 6;
|
||||
ZAC = 7;
|
||||
PRO_TRIATHLETE = 8;
|
||||
PRO_RUNNER = 9;
|
||||
}
|
||||
message AchievementEntry {
|
||||
required int32 id = 1;
|
||||
}
|
||||
message Achievements {
|
||||
repeated AchievementEntry achievements = 1;
|
||||
repeated AchievementEntry achievements = 1;
|
||||
}
|
||||
|
||||
message Profile { // should be renamed (name from Zwift debug info: PlayerProfile)
|
||||
optional int64 id = 1;
|
||||
optional int64 world_id = 2;
|
||||
optional string email = 3;
|
||||
optional string first_name = 4;
|
||||
optional string last_name = 5;
|
||||
optional bool is_male = 6;
|
||||
optional string f7 = 7; //??? empty
|
||||
/* no f8 exists */
|
||||
optional uint32 weight_in_grams = 9;
|
||||
optional uint32 ftp = 10;
|
||||
optional uint32 f11 = 11; //??? empty
|
||||
optional uint32 body_type = 12;
|
||||
optional uint32 hair_type = 13;
|
||||
optional uint32 facial_hair_type = 14;
|
||||
optional uint32 ride_helmet_type = 15;
|
||||
optional uint32 glasses_type = 16;
|
||||
optional uint32 ride_shoes_type = 17;
|
||||
optional uint32 ride_socks_type = 18;
|
||||
optional uint32 ride_gloves = 19;
|
||||
optional fixed32 ride_jersey = 20;
|
||||
optional fixed32 f21 = 21; //??? empty
|
||||
optional fixed32 bike_wheel_front = 22;
|
||||
optional fixed32 bike_wheel_rear = 23;
|
||||
optional fixed32 bike_frame = 24;
|
||||
optional fixed32 f25 = 25; //??? empty
|
||||
optional fixed32 f26 = 26; //??? empty
|
||||
optional fixed64 bike_frame_colour = 27;
|
||||
optional fixed64 f28 = 28; //??? empty
|
||||
optional fixed64 f29 = 29; //??? empty
|
||||
optional fixed64 f30 = 30; //??? empty
|
||||
optional fixed64 f31 = 31; //??? empty
|
||||
optional fixed64 f32 = 32; //??? empty
|
||||
optional bytes saved_game = 33; //for format look at zwift_profile.ksy
|
||||
optional uint32 country_code = 34;
|
||||
optional uint32 total_distance_in_meters = 35;
|
||||
optional uint32 elevation_gain_in_meters = 36;
|
||||
optional uint32 time_ridden_in_minutes = 37;
|
||||
optional uint32 total_in_kom_jersey = 38;
|
||||
optional uint32 total_in_sprinters_jersey = 39;
|
||||
optional uint32 total_in_orange_jersey = 40;
|
||||
optional uint32 total_watt_hours = 41; // = calories * 0.3256381927080305
|
||||
optional uint32 height_in_millimeters = 42;
|
||||
optional string dob = 43;
|
||||
optional uint32 max_heart_rate = 44;
|
||||
optional bool connected_to_strava = 45;
|
||||
optional uint32 total_xp = 46;
|
||||
optional uint32 total_gold_drops = 47;
|
||||
|
||||
optional PlayerType player_type = 48;
|
||||
enum PlayerType {
|
||||
PLAYERTYPE0 = 0;
|
||||
NORMAL = 1;
|
||||
PRO_CYCLIST = 2;
|
||||
ZWIFT_STAFF = 3;
|
||||
AMBASSADOR = 4;
|
||||
VERIFIED = 5;
|
||||
ZED = 6;
|
||||
ZAC = 7;
|
||||
PRO_TRIATHLETE = 8;
|
||||
PRO_RUNNER = 9;
|
||||
}
|
||||
|
||||
optional uint32 achievement_level = 49;
|
||||
optional bool use_metric = 50;
|
||||
optional bool strava_premium = 51;
|
||||
optional uint32 power_source_model = 52;
|
||||
optional uint32 f53 = 53; //??? empty
|
||||
optional uint32 f54 = 54; //??? empty
|
||||
optional uint32 age = 55;
|
||||
optional fixed32 f56 = 56; //??? empty
|
||||
optional uint32 f57 = 57; //??? empty
|
||||
optional string large_avatar_url = 58;
|
||||
optional fixed64 privacy_bits = 59;
|
||||
repeated ProfileEntitlement entitlements = 60;
|
||||
|
||||
optional SocialFacts social_facts = 61;
|
||||
message SocialFacts {
|
||||
optional int64 profile_id = 1;
|
||||
optional int32 followers_count = 2;
|
||||
optional int32 followees_count = 3;
|
||||
optional int32 followees_in_common_with_logged_in_player = 4;
|
||||
optional FollowStatus follower_status_of_logged_in_player = 5;
|
||||
optional FollowStatus followee_status_of_logged_in_player = 6;
|
||||
optional bool is_favorite_of_logged_in_player = 7;
|
||||
}
|
||||
|
||||
optional FollowStatus follow_status = 62;
|
||||
optional bool connected_to_training_peaks = 63;
|
||||
optional bool connected_to_todays_plan = 64;
|
||||
|
||||
optional EnrolledProgram enrolled_program = 65;
|
||||
enum EnrolledProgram {
|
||||
ENROLLEDPROGRAM0 = 0;
|
||||
ZWIFT_ACADEMY = 1;
|
||||
ENROLLEDPROGRAM2 = 2;
|
||||
ENROLLEDPROGRAM3 = 3;
|
||||
ENROLLEDPROGRAM4 = 4;
|
||||
}
|
||||
|
||||
optional string todayplan_url = 66;
|
||||
optional uint32 f67 = 67; //??? empty
|
||||
optional fixed32 run_shirt_type = 68;
|
||||
optional fixed32 run_shorts_type = 69;
|
||||
optional fixed32 run_shoes_type = 70;
|
||||
optional fixed32 run_socks_type = 71;
|
||||
optional fixed32 run_helmet_type = 72;
|
||||
optional fixed32 run_arm_accessory = 73;
|
||||
optional uint32 total_run_distance = 74;
|
||||
optional uint32 total_run_experience_points = 75;
|
||||
optional fixed32 f76 = 76; //??? empty
|
||||
optional fixed32 f77 = 77; //??? empty
|
||||
optional fixed32 f78 = 78; //??? empty
|
||||
optional fixed32 f79 = 79; //??? empty
|
||||
optional uint32 f80 = 80; //??? empty
|
||||
optional uint32 f81 = 81; //??? empty
|
||||
optional Subscription subscription = 82;
|
||||
enum Sport {
|
||||
CYCLING = 0;
|
||||
RUNNING = 1;
|
||||
ROWING = 2;
|
||||
SPORT3 = 3;
|
||||
SPORT4 = 4;
|
||||
}
|
||||
optional string mix_panel_distinct_id = 83;
|
||||
optional uint32 run_achievement_level = 84;
|
||||
optional uint32 total_run_time_in_minutes = 85;
|
||||
optional Sport sport = 86;
|
||||
optional uint32 utc_offset_in_minutes = 87;
|
||||
optional bool connected_to_under_armour = 88;
|
||||
optional string preferred_language = 89;
|
||||
optional uint32 hair_colour = 90;
|
||||
optional uint32 facial_hair_colour = 91;
|
||||
optional uint32 f92 = 92; //??? empty
|
||||
optional uint32 f93 = 93; //??? empty
|
||||
optional uint32 run_shorts_length = 94;
|
||||
optional uint32 f95 = 95; //??? empty
|
||||
optional uint32 run_socks_length = 96;
|
||||
optional uint32 f97 = 97; //??? empty
|
||||
optional uint32 ride_socks_length = 98;
|
||||
optional uint32 f99 = 99; //??? empty
|
||||
optional uint32 f100 = 100; //??? empty
|
||||
optional uint32 f101 = 101; //??? empty
|
||||
optional uint32 f102 = 102; //??? empty
|
||||
optional uint32 f103 = 103; //??? empty
|
||||
optional uint32 f104 = 104; //??? empty
|
||||
optional bool connected_to_withings = 105;
|
||||
optional bool connected_to_fitbit = 106;
|
||||
/* no 107 repeated bytes */
|
||||
optional string launched_game_client = 108;
|
||||
optional int64 current_activity_id = 109;
|
||||
optional bool connected_to_garmin = 110;
|
||||
message Reminder {
|
||||
optional int64 f1 = 1;
|
||||
optional string f2 = 2;
|
||||
optional int64 f3 = 3;
|
||||
message ReminderProperty {
|
||||
optional int64 f1 = 1;
|
||||
optional string f2 = 2;
|
||||
optional string f3 = 3;
|
||||
}
|
||||
repeated ReminderProperty f4 = 4;
|
||||
}
|
||||
repeated Reminder reminders = 111;
|
||||
optional bool f112 = 112; //??? empty
|
||||
repeated Attribute private_attributes = 113;
|
||||
repeated Attribute public_attributes = 114;
|
||||
optional int32 total_run_calories = 115;
|
||||
optional int64 f116 = 116; //??? empty
|
||||
optional int32 run_time_1mi_in_seconds = 117;
|
||||
optional int32 run_time_5km_in_seconds = 118;
|
||||
optional int32 run_time_10km_in_seconds = 119;
|
||||
optional int32 run_time_half_marathon_in_seconds = 120;
|
||||
optional int32 run_time_full_marathon_in_seconds = 121;
|
||||
optional int32 f122 = 122; //??? empty
|
||||
enum CyclingOrganization {
|
||||
NO_CYCLING_LICENSE = 0;
|
||||
CYCLING_SOUTH_AFRICA = 1;
|
||||
CYCLING_AUSTRALIA = 2;
|
||||
CYCLING_NEW_ZEALAND = 3;
|
||||
}
|
||||
optional CyclingOrganization cycling_organization = 123;
|
||||
optional string f124 = 124; /* org name? */
|
||||
enum ActivityPrivacyType {
|
||||
PUBLIC = 0;
|
||||
PRIVATE = 1;
|
||||
FRIENDS = 2;
|
||||
}
|
||||
optional ActivityPrivacyType default_activity_privacy = 125;
|
||||
optional bool connected_to_runtastic = 126;
|
||||
repeated PropertyChange property_changes = 127;
|
||||
message PlayerProfile {
|
||||
optional int64 id = 1;
|
||||
optional int64 world_id = 2;
|
||||
optional string email = 3;
|
||||
optional string first_name = 4;
|
||||
optional string last_name = 5;
|
||||
optional bool is_male = 6;
|
||||
optional string f7 = 7; //??? empty
|
||||
// no f8 exists
|
||||
optional uint32 weight_in_grams = 9;
|
||||
optional uint32 ftp = 10;
|
||||
optional uint32 f11 = 11; //??? empty
|
||||
optional uint32 body_type = 12;
|
||||
optional uint32 hair_type = 13;
|
||||
optional uint32 facial_hair_type = 14;
|
||||
optional uint32 ride_helmet_type = 15;
|
||||
optional uint32 glasses_type = 16;
|
||||
optional uint32 ride_shoes_type = 17;
|
||||
optional uint32 ride_socks_type = 18;
|
||||
optional uint32 ride_gloves = 19;
|
||||
optional fixed32 ride_jersey = 20;
|
||||
optional fixed32 f21 = 21; //??? empty
|
||||
optional fixed32 bike_wheel_front = 22;
|
||||
optional fixed32 bike_wheel_rear = 23;
|
||||
optional fixed32 bike_frame = 24;
|
||||
optional fixed32 f25 = 25; //??? empty
|
||||
optional fixed32 f26 = 26; //??? empty
|
||||
optional fixed64 bike_frame_colour = 27;
|
||||
optional fixed64 f28 = 28; //??? empty
|
||||
optional fixed64 f29 = 29; //??? empty
|
||||
optional fixed64 f30 = 30; //??? empty
|
||||
optional fixed64 f31 = 31; //??? empty
|
||||
optional fixed64 f32 = 32; //??? empty
|
||||
optional bytes saved_game = 33; //for format look at zwift_profile.ksy
|
||||
optional uint32 country_code = 34;
|
||||
optional uint32 total_distance_in_meters = 35;
|
||||
optional uint32 elevation_gain_in_meters = 36;
|
||||
optional uint32 time_ridden_in_minutes = 37;
|
||||
optional uint32 total_in_kom_jersey = 38;
|
||||
optional uint32 total_in_sprinters_jersey = 39;
|
||||
optional uint32 total_in_orange_jersey = 40;
|
||||
optional uint32 total_watt_hours = 41; // = calories * 0.3256381927080305
|
||||
optional uint32 height_in_millimeters = 42;
|
||||
optional string dob = 43;
|
||||
optional uint32 max_heart_rate = 44;
|
||||
optional bool connected_to_strava = 45;
|
||||
optional uint32 total_xp = 46;
|
||||
optional uint32 total_gold_drops = 47;
|
||||
optional PlayerType player_type = 48;
|
||||
optional uint32 achievement_level = 49;
|
||||
optional bool use_metric = 50;
|
||||
optional bool strava_premium = 51;
|
||||
optional uint32 power_source_model = 52;
|
||||
optional uint32 f53 = 53; //??? empty
|
||||
optional uint32 f54 = 54; //??? empty
|
||||
optional uint32 age = 55;
|
||||
optional fixed32 f56 = 56; //??? empty
|
||||
optional uint32 f57 = 57; //??? empty
|
||||
optional string large_avatar_url = 58;
|
||||
optional fixed64 privacy_bits = 59;
|
||||
repeated ProfileEntitlement entitlements = 60;
|
||||
|
||||
optional SocialFacts social_facts = 61;
|
||||
message SocialFacts {
|
||||
optional int64 profile_id = 1;
|
||||
optional int32 followers_count = 2;
|
||||
optional int32 followees_count = 3;
|
||||
optional int32 followees_in_common_with_logged_in_player = 4;
|
||||
optional FollowStatus follower_status_of_logged_in_player = 5;
|
||||
optional FollowStatus followee_status_of_logged_in_player = 6;
|
||||
optional bool is_favorite_of_logged_in_player = 7;
|
||||
}
|
||||
|
||||
optional FollowStatus follow_status = 62;
|
||||
optional bool connected_to_training_peaks = 63;
|
||||
optional bool connected_to_todays_plan = 64;
|
||||
|
||||
optional EnrolledProgram enrolled_program = 65;
|
||||
enum EnrolledProgram {
|
||||
ENROLLEDPROGRAM0 = 0;
|
||||
ZWIFT_ACADEMY = 1;
|
||||
ENROLLEDPROGRAM2 = 2;
|
||||
ENROLLEDPROGRAM3 = 3;
|
||||
ENROLLEDPROGRAM4 = 4;
|
||||
}
|
||||
|
||||
optional string todayplan_url = 66;
|
||||
optional uint32 f67 = 67; //??? empty
|
||||
optional fixed32 run_shirt_type = 68;
|
||||
optional fixed32 run_shorts_type = 69;
|
||||
optional fixed32 run_shoes_type = 70;
|
||||
optional fixed32 run_socks_type = 71;
|
||||
optional fixed32 run_helmet_type = 72;
|
||||
optional fixed32 run_arm_accessory = 73;
|
||||
optional uint32 total_run_distance = 74;
|
||||
optional uint32 total_run_experience_points = 75;
|
||||
optional fixed32 f76 = 76; //??? empty
|
||||
optional fixed32 f77 = 77; //??? empty
|
||||
optional fixed32 f78 = 78; //??? empty
|
||||
optional fixed32 f79 = 79; //??? empty
|
||||
optional uint32 f80 = 80; //??? empty
|
||||
optional uint32 f81 = 81; //??? empty
|
||||
optional Subscription subscription = 82;
|
||||
optional string mix_panel_distinct_id = 83;
|
||||
optional uint32 run_achievement_level = 84;
|
||||
optional uint32 total_run_time_in_minutes = 85;
|
||||
optional Sport sport = 86;
|
||||
optional uint32 utc_offset_in_minutes = 87;
|
||||
optional bool connected_to_under_armour = 88;
|
||||
optional string preferred_language = 89;
|
||||
optional uint32 hair_colour = 90;
|
||||
optional uint32 facial_hair_colour = 91;
|
||||
optional uint32 f92 = 92; //??? empty
|
||||
optional uint32 f93 = 93; //??? empty
|
||||
optional uint32 run_shorts_length = 94;
|
||||
optional uint32 f95 = 95; //??? empty
|
||||
optional uint32 run_socks_length = 96;
|
||||
optional uint32 f97 = 97; //??? empty
|
||||
optional uint32 ride_socks_length = 98;
|
||||
optional uint32 f99 = 99; //??? empty
|
||||
optional uint32 f100 = 100; //??? empty
|
||||
optional uint32 f101 = 101; //??? empty
|
||||
optional uint32 f102 = 102; //??? empty
|
||||
optional uint32 f103 = 103; //??? empty
|
||||
optional uint32 f104 = 104; //??? empty
|
||||
optional bool connected_to_withings = 105;
|
||||
optional bool connected_to_fitbit = 106;
|
||||
// no 107 repeated bytes
|
||||
optional string launched_game_client = 108;
|
||||
optional int64 current_activity_id = 109;
|
||||
optional bool connected_to_garmin = 110;
|
||||
message Reminder {
|
||||
optional int64 f1 = 1;
|
||||
optional string f2 = 2;
|
||||
optional int64 f3 = 3;
|
||||
message ReminderProperty {
|
||||
optional int64 f1 = 1;
|
||||
optional string f2 = 2;
|
||||
optional string f3 = 3;
|
||||
}
|
||||
repeated ReminderProperty f4 = 4;
|
||||
}
|
||||
repeated Reminder reminders = 111;
|
||||
optional bool f112 = 112; //??? empty
|
||||
repeated Attribute private_attributes = 113;
|
||||
repeated Attribute public_attributes = 114;
|
||||
optional int32 total_run_calories = 115;
|
||||
optional int64 f116 = 116; //??? empty
|
||||
optional int32 run_time_1mi_in_seconds = 117;
|
||||
optional int32 run_time_5km_in_seconds = 118;
|
||||
optional int32 run_time_10km_in_seconds = 119;
|
||||
optional int32 run_time_half_marathon_in_seconds = 120;
|
||||
optional int32 run_time_full_marathon_in_seconds = 121;
|
||||
optional int32 f122 = 122; //??? empty
|
||||
enum CyclingOrganization {
|
||||
NO_CYCLING_LICENSE = 0;
|
||||
CYCLING_SOUTH_AFRICA = 1;
|
||||
CYCLING_AUSTRALIA = 2;
|
||||
CYCLING_NEW_ZEALAND = 3;
|
||||
}
|
||||
optional CyclingOrganization cycling_organization = 123;
|
||||
optional string f124 = 124; // LICENSE_NUMBER/E_NUMBER
|
||||
enum ActivityPrivacyType {
|
||||
PUBLIC = 0;
|
||||
PRIVATE = 1;
|
||||
FRIENDS = 2;
|
||||
}
|
||||
optional ActivityPrivacyType default_activity_privacy = 125;
|
||||
optional bool connected_to_runtastic = 126;
|
||||
repeated PropertyChange property_changes = 127;
|
||||
}
|
||||
|
||||
message Profiles {
|
||||
repeated Profile profiles = 1;
|
||||
message PlayerProfiles {
|
||||
repeated PlayerProfile profiles = 1;
|
||||
}
|
||||
|
||||
message ProfileEntitlement {
|
||||
optional EntitlementType type = 1;
|
||||
enum EntitlementType {
|
||||
ENTITLEMENTTYPE0 = 0;
|
||||
RIDE = 1;
|
||||
RUN = 2;
|
||||
ROW = 3;
|
||||
USE = 4;
|
||||
}
|
||||
|
||||
optional int64 f2 = 2; // always -1: legacy?
|
||||
|
||||
optional ProfileEntitlementStatus status = 3;
|
||||
enum ProfileEntitlementStatus {
|
||||
ENTITLEMENTSTATUS0 = 0;
|
||||
EXPIRED = 1;
|
||||
ACTIVE = 2;
|
||||
CANCELED = 3;
|
||||
INACTIVE = 4;
|
||||
APPLIED_AS_SUBSCRIPTION_TRIAL_PERIOD = 5;
|
||||
}
|
||||
|
||||
optional string period = 4; // 'P7D' = period of 7 days (Y, M also supported for year and month)
|
||||
optional uint32 begin_time_unix = 5; //when period started
|
||||
optional uint32 end_time_unix = 6; //when period ended
|
||||
optional uint32 kilometers = 7; //25 every month
|
||||
optional uint32 begin_total_distance = 8; //where every-month gift started
|
||||
optional uint32 end_total_distance = 9; //where every-month gift should end
|
||||
optional string source = 10; // for example, "strava.premium" ?
|
||||
|
||||
optional Platform platform = 11; // legacy?
|
||||
enum Platform {
|
||||
PLATFORM_OSX = 0;
|
||||
PLATFORM_PC = 1;
|
||||
PLATFORM_IOS = 2;
|
||||
PLATFORM_ANDROID = 3;
|
||||
PLATFORM_TVOS = 4;
|
||||
PLATFORM5 = 5;
|
||||
PLATFORM6 = 6;
|
||||
}
|
||||
|
||||
optional uint32 renewal_date_unix = 12; //when next 25km gift renewed
|
||||
optional bool new_trial_system = 13; //do not interrupt current track if trial ended
|
||||
repeated Platform platforms = 14;
|
||||
optional EntitlementType type = 1;
|
||||
enum EntitlementType {
|
||||
ENTITLEMENTTYPE0 = 0;
|
||||
RIDE = 1;
|
||||
RUN = 2;
|
||||
ROW = 3;
|
||||
USE = 4;
|
||||
}
|
||||
|
||||
optional int64 f2 = 2; // always -1: legacy?
|
||||
|
||||
optional ProfileEntitlementStatus status = 3;
|
||||
enum ProfileEntitlementStatus {
|
||||
ENTITLEMENTSTATUS0 = 0;
|
||||
EXPIRED = 1;
|
||||
ACTIVE = 2;
|
||||
CANCELED = 3;
|
||||
INACTIVE = 4;
|
||||
APPLIED_AS_SUBSCRIPTION_TRIAL_PERIOD = 5;
|
||||
}
|
||||
|
||||
optional string period = 4; // 'P7D' = period of 7 days (Y, M also supported for year and month)
|
||||
optional uint32 begin_time_unix = 5; //when period started
|
||||
optional uint32 end_time_unix = 6; //when period ended
|
||||
optional uint32 kilometers = 7; //25 every month
|
||||
optional uint32 begin_total_distance = 8; //where every-month gift started
|
||||
optional uint32 end_total_distance = 9; //where every-month gift should end
|
||||
optional string source = 10; // for example, "strava.premium" ?
|
||||
|
||||
optional Platform platform = 11; // legacy?
|
||||
enum Platform {
|
||||
PLATFORM_OSX = 0;
|
||||
PLATFORM_PC = 1;
|
||||
PLATFORM_IOS = 2;
|
||||
PLATFORM_ANDROID = 3;
|
||||
PLATFORM_TVOS = 4;
|
||||
PLATFORM5 = 5;
|
||||
PLATFORM6 = 6;
|
||||
}
|
||||
|
||||
optional uint32 renewal_date_unix = 12; //when next 25km gift renewed
|
||||
optional bool new_trial_system = 13; //do not interrupt current track if trial ended
|
||||
repeated Platform platforms = 14;
|
||||
}
|
||||
|
||||
enum FollowStatus {
|
||||
FOLLOWSTATUS0 = 0;
|
||||
UNKNOWN = 1;
|
||||
REQUESTS_TO_FOLLOW = 2;
|
||||
IS_FOLLOWING = 3;
|
||||
HAS_BEEN_DECLINED = 7;
|
||||
IS_BLOCKED = 4;
|
||||
NO_RELATIONSHIP = 5;
|
||||
SELF = 6;
|
||||
FOLLOWSTATUS0 = 0;
|
||||
UNKNOWN = 1;
|
||||
REQUESTS_TO_FOLLOW = 2;
|
||||
IS_FOLLOWING = 3;
|
||||
HAS_BEEN_DECLINED = 7;
|
||||
IS_BLOCKED = 4;
|
||||
NO_RELATIONSHIP = 5;
|
||||
SELF = 6;
|
||||
}
|
||||
|
||||
message Subscription {
|
||||
optional Gateway gateway = 1;
|
||||
enum Gateway {
|
||||
BRAINTREE = 0;
|
||||
APPLE = 1;
|
||||
}
|
||||
|
||||
optional SubscriptionStatus status = 2;
|
||||
enum SubscriptionStatus {
|
||||
NEW = 0;
|
||||
EXPIRED = 1;
|
||||
ACTIVE = 2;
|
||||
CANCELED = 3;
|
||||
PAST_DUE = 4;
|
||||
PENDING = 5;
|
||||
SUBERROR = 6;
|
||||
UNRECOGNIZED = 7;
|
||||
UNKNOWN = 8;
|
||||
ACTIVE_WITH_PAYMENT_FAILURE = 9;
|
||||
ABANDONED = 10;
|
||||
}
|
||||
optional Gateway gateway = 1;
|
||||
enum Gateway {
|
||||
BRAINTREE = 0;
|
||||
APPLE = 1;
|
||||
}
|
||||
|
||||
optional SubscriptionStatus status = 2;
|
||||
enum SubscriptionStatus {
|
||||
NEW = 0;
|
||||
EXPIRED = 1;
|
||||
ACTIVE = 2;
|
||||
CANCELED = 3;
|
||||
PAST_DUE = 4;
|
||||
PENDING = 5;
|
||||
SUBERROR = 6;
|
||||
UNRECOGNIZED = 7;
|
||||
UNKNOWN = 8;
|
||||
ACTIVE_WITH_PAYMENT_FAILURE = 9;
|
||||
ABANDONED = 10;
|
||||
}
|
||||
}
|
||||
|
||||
message PropertyChange {
|
||||
enum Id {
|
||||
TYPE0 = 0;
|
||||
DATE_OF_BIRTH = 1;
|
||||
GENDER = 2;
|
||||
}
|
||||
required Id property_name = 1;
|
||||
optional int32 change_count = 2;
|
||||
optional int32 max_changes = 3;
|
||||
enum Id {
|
||||
TYPE0 = 0;
|
||||
DATE_OF_BIRTH = 1;
|
||||
GENDER = 2;
|
||||
}
|
||||
required Id property_name = 1;
|
||||
optional int32 change_count = 2;
|
||||
optional int32 max_changes = 3;
|
||||
}
|
||||
/*
|
||||
Attribute ID is crc32 of it's name. Examples:
|
||||
@@ -320,8 +317,8 @@ private
|
||||
-1316403440="PACERBOTTUTORIAL" (1)
|
||||
*/
|
||||
message Attribute {
|
||||
required int32 id = 1;
|
||||
optional int64 number_value = 2;
|
||||
optional float float_value = 3;
|
||||
optional string string_value = 5;
|
||||
required int32 id = 1;
|
||||
optional int64 number_value = 2;
|
||||
optional float float_value = 3;
|
||||
optional string string_value = 5;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,6 @@
|
||||
syntax = "proto2";
|
||||
//All decompiled. TODO: incorporate new fields
|
||||
//import "profile.proto"; //enums PlayerType and Sport
|
||||
//TODO: incorporate new fields, rename db fields
|
||||
message SegmentResult {
|
||||
optional uint64 id = 1;
|
||||
required uint64 player_id = 2;
|
||||
@@ -18,9 +19,9 @@ message SegmentResult {
|
||||
optional uint32 f15 = 15; //avg_power
|
||||
optional bool f16 = 16; //:= isMale
|
||||
optional string f17 = 17; //ISO8601 time (magicLeaderboardBirthday := const @ ZNETWORK_Initialize)
|
||||
optional uint64 f18 = 18; //TODO: enum PlayerType, stored as 32 bit
|
||||
optional uint64 f18 = 18; //-> enum PlayerType player_type
|
||||
optional uint32 f19 = 19; //avg_hr(ZNETWORK_RaceResultEntrySaveRequest):=m_computer.m_accumHeartRate/m_computer.m_accumTime @ZNETWORK_RegisterLocalPlayersSegmentResult (or 0.0)
|
||||
optional uint64 f20 = 20; //TODO: enum Sport, stored as 32 bit
|
||||
optional int64 f20 = 20; //-> enum Sport sport
|
||||
//optional uint64 f21 = 21; //:=activityId (may be -1)
|
||||
//optional bool f22 = 22;
|
||||
//optional string f23 = 23;
|
||||
|
||||
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14segment-result.proto\"\xd2\x02\n\rSegmentResult\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tplayer_id\x18\x02 \x02(\x04\x12\n\n\x02\x66\x33\x18\x03 \x01(\x04\x12\n\n\x02\x66\x34\x18\x04 \x01(\x04\x12\x12\n\nsegment_id\x18\x05 \x01(\x04\x12\x19\n\x11\x65vent_subgroup_id\x18\x06 \x01(\x04\x12\x12\n\nfirst_name\x18\x07 \x02(\t\x12\x11\n\tlast_name\x18\x08 \x02(\t\x12\x12\n\nworld_time\x18\t \x01(\x04\x12\x17\n\x0f\x66inish_time_str\x18\n \x01(\t\x12\x12\n\nelapsed_ms\x18\x0b \x02(\x04\x12\x0b\n\x03\x66\x31\x32\x18\x0c \x01(\x03\x12\x0b\n\x03\x66\x31\x33\x18\r \x01(\r\x12\x0b\n\x03\x66\x31\x34\x18\x0e \x01(\r\x12\x0b\n\x03\x66\x31\x35\x18\x0f \x01(\r\x12\x0b\n\x03\x66\x31\x36\x18\x10 \x01(\x08\x12\x0b\n\x03\x66\x31\x37\x18\x11 \x01(\t\x12\x0b\n\x03\x66\x31\x38\x18\x12 \x01(\x04\x12\x0b\n\x03\x66\x31\x39\x18\x13 \x01(\r\x12\x0b\n\x03\x66\x32\x30\x18\x14 \x01(\x04\"z\n\x0eSegmentResults\x12\x10\n\x08world_id\x18\x01 \x02(\x04\x12\x12\n\nsegment_id\x18\x02 \x02(\x04\x12\x19\n\x11\x65vent_subgroup_id\x18\x03 \x01(\x04\x12\'\n\x0fsegment_results\x18\x04 \x03(\x0b\x32\x0e.SegmentResult')
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14segment-result.proto\"\xd2\x02\n\rSegmentResult\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tplayer_id\x18\x02 \x02(\x04\x12\n\n\x02\x66\x33\x18\x03 \x01(\x04\x12\n\n\x02\x66\x34\x18\x04 \x01(\x04\x12\x12\n\nsegment_id\x18\x05 \x01(\x04\x12\x19\n\x11\x65vent_subgroup_id\x18\x06 \x01(\x04\x12\x12\n\nfirst_name\x18\x07 \x02(\t\x12\x11\n\tlast_name\x18\x08 \x02(\t\x12\x12\n\nworld_time\x18\t \x01(\x04\x12\x17\n\x0f\x66inish_time_str\x18\n \x01(\t\x12\x12\n\nelapsed_ms\x18\x0b \x02(\x04\x12\x0b\n\x03\x66\x31\x32\x18\x0c \x01(\x03\x12\x0b\n\x03\x66\x31\x33\x18\r \x01(\r\x12\x0b\n\x03\x66\x31\x34\x18\x0e \x01(\r\x12\x0b\n\x03\x66\x31\x35\x18\x0f \x01(\r\x12\x0b\n\x03\x66\x31\x36\x18\x10 \x01(\x08\x12\x0b\n\x03\x66\x31\x37\x18\x11 \x01(\t\x12\x0b\n\x03\x66\x31\x38\x18\x12 \x01(\x04\x12\x0b\n\x03\x66\x31\x39\x18\x13 \x01(\r\x12\x0b\n\x03\x66\x32\x30\x18\x14 \x01(\x03\"z\n\x0eSegmentResults\x12\x10\n\x08world_id\x18\x01 \x02(\x04\x12\x12\n\nsegment_id\x18\x02 \x02(\x04\x12\x19\n\x11\x65vent_subgroup_id\x18\x03 \x01(\x04\x12\'\n\x0fsegment_results\x18\x04 \x03(\x0b\x32\x0e.SegmentResult')
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,25 +1,36 @@
|
||||
syntax = "proto2";
|
||||
// All decompiled. TODO: replace with originals, integrate enums and check
|
||||
////////////////////////////////////////
|
||||
// Initial TCP response below
|
||||
////////////////////////////////////////
|
||||
|
||||
// Zwift companion protocol
|
||||
//TODO: enum SocialPlayerActionType 0,1,2,3: SOCIAL_ACTION_UNKNOWN_TYPE=0, SOCIAL_TEXT_MESSAGE=1, SOCIAL_FLAG=3, SOCIAL_RIDE_ON=2
|
||||
enum SocialPlayerActionType {
|
||||
SOCIAL_ACTION_UNKNOWN_TYPE = 0;
|
||||
SOCIAL_TEXT_MESSAGE = 1;
|
||||
SOCIAL_RIDE_ON = 2;
|
||||
SOCIAL_FLAG = 3;
|
||||
}
|
||||
enum FlagType {
|
||||
FLAG_TYPE_UNKNOWN = 0;
|
||||
FLAG_TYPE_HARASSMENT = 1;
|
||||
FLAG_TYPE_FLIER = 2;
|
||||
FLAG_TYPE_BAD_LANGUAGE = 3;
|
||||
}
|
||||
enum MessageGroupType {
|
||||
MGT_UNKNOWN = 0;
|
||||
MGT_GLOBAL = 1;
|
||||
MGT_DIRECT = 2;
|
||||
MGT_EVENT = 3;
|
||||
MGT_CLUB = 4;
|
||||
}
|
||||
message SocialPlayerAction {
|
||||
optional int64 player_id = 1;
|
||||
optional int64 to_player_id = 2; // 0 if public message
|
||||
optional int64 type = 3; // SocialPlayerActionType, stored as int32
|
||||
optional SocialPlayerActionType spa_type = 3;
|
||||
optional string firstName = 4;
|
||||
optional string lastName = 5;
|
||||
optional string message = 6;
|
||||
optional string avatar = 7;
|
||||
optional int32 countryCode = 8;
|
||||
optional int64 flagType = 9; //stored as int32 FLAG_TYPE_BAD_LANGUAGE=3, FLAG_TYPE_FLIER=2, FLAG_TYPE_HARASSMENT=1
|
||||
optional int64 mgType = 10; //enum MessageGroupType: CLUB=4, DIRECT=2, EVENT=3, GLOBAL=1, stored as int32
|
||||
optional FlagType flagType = 9;
|
||||
optional MessageGroupType mgType = 10;
|
||||
optional int64 eventSubgroup = 11;
|
||||
}
|
||||
|
||||
/*message MobileAlertResponse {
|
||||
optional int64 f1 = 1;
|
||||
optional int64 f2 = 2;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: tcp-node-msgs.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf.internal import enum_type_wrapper
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
@@ -14,8 +15,27 @@ _sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13tcp-node-msgs.proto\"\xdf\x01\n\x12SocialPlayerAction\x12\x11\n\tplayer_id\x18\x01 \x01(\x03\x12\x14\n\x0cto_player_id\x18\x02 \x01(\x03\x12\x0c\n\x04type\x18\x03 \x01(\x03\x12\x11\n\tfirstName\x18\x04 \x01(\t\x12\x10\n\x08lastName\x18\x05 \x01(\t\x12\x0f\n\x07message\x18\x06 \x01(\t\x12\x0e\n\x06\x61vatar\x18\x07 \x01(\t\x12\x13\n\x0b\x63ountryCode\x18\x08 \x01(\x05\x12\x10\n\x08\x66lagType\x18\t \x01(\x03\x12\x0e\n\x06mgType\x18\n \x01(\x03\x12\x15\n\reventSubgroup\x18\x0b \x01(\x03')
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13tcp-node-msgs.proto\"\x9a\x02\n\x12SocialPlayerAction\x12\x11\n\tplayer_id\x18\x01 \x01(\x03\x12\x14\n\x0cto_player_id\x18\x02 \x01(\x03\x12)\n\x08spa_type\x18\x03 \x01(\x0e\x32\x17.SocialPlayerActionType\x12\x11\n\tfirstName\x18\x04 \x01(\t\x12\x10\n\x08lastName\x18\x05 \x01(\t\x12\x0f\n\x07message\x18\x06 \x01(\t\x12\x0e\n\x06\x61vatar\x18\x07 \x01(\t\x12\x13\n\x0b\x63ountryCode\x18\x08 \x01(\x05\x12\x1b\n\x08\x66lagType\x18\t \x01(\x0e\x32\t.FlagType\x12!\n\x06mgType\x18\n \x01(\x0e\x32\x11.MessageGroupType\x12\x15\n\reventSubgroup\x18\x0b \x01(\x03*v\n\x16SocialPlayerActionType\x12\x1e\n\x1aSOCIAL_ACTION_UNKNOWN_TYPE\x10\x00\x12\x17\n\x13SOCIAL_TEXT_MESSAGE\x10\x01\x12\x12\n\x0eSOCIAL_RIDE_ON\x10\x02\x12\x0f\n\x0bSOCIAL_FLAG\x10\x03*l\n\x08\x46lagType\x12\x15\n\x11\x46LAG_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14\x46LAG_TYPE_HARASSMENT\x10\x01\x12\x13\n\x0f\x46LAG_TYPE_FLIER\x10\x02\x12\x1a\n\x16\x46LAG_TYPE_BAD_LANGUAGE\x10\x03*`\n\x10MessageGroupType\x12\x0f\n\x0bMGT_UNKNOWN\x10\x00\x12\x0e\n\nMGT_GLOBAL\x10\x01\x12\x0e\n\nMGT_DIRECT\x10\x02\x12\r\n\tMGT_EVENT\x10\x03\x12\x0c\n\x08MGT_CLUB\x10\x04')
|
||||
|
||||
_SOCIALPLAYERACTIONTYPE = DESCRIPTOR.enum_types_by_name['SocialPlayerActionType']
|
||||
SocialPlayerActionType = enum_type_wrapper.EnumTypeWrapper(_SOCIALPLAYERACTIONTYPE)
|
||||
_FLAGTYPE = DESCRIPTOR.enum_types_by_name['FlagType']
|
||||
FlagType = enum_type_wrapper.EnumTypeWrapper(_FLAGTYPE)
|
||||
_MESSAGEGROUPTYPE = DESCRIPTOR.enum_types_by_name['MessageGroupType']
|
||||
MessageGroupType = enum_type_wrapper.EnumTypeWrapper(_MESSAGEGROUPTYPE)
|
||||
SOCIAL_ACTION_UNKNOWN_TYPE = 0
|
||||
SOCIAL_TEXT_MESSAGE = 1
|
||||
SOCIAL_RIDE_ON = 2
|
||||
SOCIAL_FLAG = 3
|
||||
FLAG_TYPE_UNKNOWN = 0
|
||||
FLAG_TYPE_HARASSMENT = 1
|
||||
FLAG_TYPE_FLIER = 2
|
||||
FLAG_TYPE_BAD_LANGUAGE = 3
|
||||
MGT_UNKNOWN = 0
|
||||
MGT_GLOBAL = 1
|
||||
MGT_DIRECT = 2
|
||||
MGT_EVENT = 3
|
||||
MGT_CLUB = 4
|
||||
|
||||
|
||||
_SOCIALPLAYERACTION = DESCRIPTOR.message_types_by_name['SocialPlayerAction']
|
||||
@@ -29,6 +49,12 @@ _sym_db.RegisterMessage(SocialPlayerAction)
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
_SOCIALPLAYERACTIONTYPE._serialized_start=308
|
||||
_SOCIALPLAYERACTIONTYPE._serialized_end=426
|
||||
_FLAGTYPE._serialized_start=428
|
||||
_FLAGTYPE._serialized_end=536
|
||||
_MESSAGEGROUPTYPE._serialized_start=538
|
||||
_MESSAGEGROUPTYPE._serialized_end=634
|
||||
_SOCIALPLAYERACTION._serialized_start=24
|
||||
_SOCIALPLAYERACTION._serialized_end=247
|
||||
_SOCIALPLAYERACTION._serialized_end=306
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
syntax = "proto2";
|
||||
//import "profile.proto"; //Profile
|
||||
import "profile.proto"; //enums PlayerType and Sport
|
||||
import "per-session-info.proto"; //TcpConfig
|
||||
|
||||
enum WA_TYPE {
|
||||
WAT_LEAVE = 2; //proto::PlayerLeftWorld
|
||||
WAT_RELOGIN = 3; //proto::PlayerLeftWorld
|
||||
WAT_RIDEON = 4; //proto::RideOn
|
||||
WAT_RIDE_ON = 4; //proto::RideOn
|
||||
WAT_SPA = 5; //proto::SocialPlayerAction (chat message)
|
||||
WAT_EVENT = 6; //proto::Event
|
||||
WAT_JOIN_E = 7; //proto::PlayerJoinedEvent
|
||||
@@ -35,7 +35,7 @@ enum WA_TYPE {
|
||||
message WorldAttribute {
|
||||
optional int64 f1 = 1; //587645624533328784, later 5876456 85771834256
|
||||
optional int64 f2 = 2; //1
|
||||
optional WA_TYPE type = 3; //stored as int32
|
||||
optional WA_TYPE wa_type = 3; //stored as int32
|
||||
optional bytes payload = 4; //not only protobuf
|
||||
optional int64 world_time_born = 5;
|
||||
optional int64 x = 6; //stored as int32
|
||||
@@ -68,7 +68,7 @@ message World { //zwift.protobuf.World
|
||||
}
|
||||
|
||||
message Player {
|
||||
optional Profile player_profile = 1;
|
||||
optional PlayerProfile player_profile = 1;
|
||||
optional PlayerState player_state = 2;
|
||||
}*/
|
||||
|
||||
@@ -110,7 +110,7 @@ message PlayerState {
|
||||
optional int64 watchingRiderId = 28;
|
||||
optional int64 groupId = 29;
|
||||
// 30 absent at least in Android Game
|
||||
optional int32 sport = 31;
|
||||
optional Sport sport = 31;
|
||||
optional float f32 = 32;
|
||||
optional uint32 f33 = 33;
|
||||
optional float f34 = 34; //= BikeEntity.field_F00 (=219.56387 and incr if moving)
|
||||
@@ -223,7 +223,7 @@ message ServerToClient {
|
||||
optional int64 f13 = 13;
|
||||
optional int32 zwifters = 14;
|
||||
optional int32 zc_local_port = 15;
|
||||
optional int32 kind = 16;
|
||||
optional int32 kind = 16; //TODO: enum; 2: TCP
|
||||
optional int64 f17 = 17;
|
||||
optional int32 num_msgs = 18;
|
||||
optional int32 msgnum = 19;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,4 +1,6 @@
|
||||
syntax = "proto2";
|
||||
import "profile.proto"; //enums PlayerType and Sport
|
||||
|
||||
message DropInWorld {
|
||||
required uint64 id = 1;
|
||||
optional string name = 2;
|
||||
@@ -25,8 +27,8 @@ message DropInPlayer {
|
||||
optional uint64 distance = 4;
|
||||
optional uint64 time = 5;
|
||||
optional uint64 country_code = 6;
|
||||
optional int64 player_type = 7; // PlayerType, stored as int32
|
||||
optional uint64 sport = 8; //stored as int32
|
||||
optional PlayerType player_type = 7;
|
||||
optional Sport sport = 8;
|
||||
optional bool f9 = 9;
|
||||
optional bool f10 = 10;
|
||||
optional uint64 f11 = 11;
|
||||
|
||||
@@ -12,9 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
import profile_pb2 as profile__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bworld.proto\"\x9d\x02\n\x0b\x44ropInWorld\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tcourse_id\x18\x03 \x01(\x04\x12\n\n\x02\x66\x34\x18\x04 \x01(\x08\x12\x10\n\x08zwifters\x18\x05 \x01(\x04\x12\x12\n\nworld_time\x18\x06 \x01(\x04\x12\x11\n\treal_time\x18\x07 \x01(\x04\x12\"\n\x0bpro_players\x18\x08 \x03(\x0b\x32\r.DropInPlayer\x12 \n\tfollowees\x18\t \x03(\x0b\x32\r.DropInPlayer\x12\x1d\n\x06others\x18\n \x03(\x0b\x32\r.DropInPlayer\x12\x14\n\x0cmax_zwifters\x18\x0b \x01(\x04\x12!\n\npacer_bots\x18\x0c \x03(\x0b\x32\r.DropInPlayer\"/\n\x0f\x44ropInWorldList\x12\x1c\n\x06worlds\x18\x01 \x03(\x0b\x32\x0c.DropInWorld\"\xb5\x02\n\x0c\x44ropInPlayer\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x11\n\tfirstName\x18\x02 \x02(\t\x12\x10\n\x08lastName\x18\x03 \x02(\t\x12\x10\n\x08\x64istance\x18\x04 \x01(\x04\x12\x0c\n\x04time\x18\x05 \x01(\x04\x12\x14\n\x0c\x63ountry_code\x18\x06 \x01(\x04\x12\x13\n\x0bplayer_type\x18\x07 \x01(\x03\x12\r\n\x05sport\x18\x08 \x01(\x04\x12\n\n\x02\x66\x39\x18\t \x01(\x08\x12\x0b\n\x03\x66\x31\x30\x18\n \x01(\x08\x12\x0b\n\x03\x66\x31\x31\x18\x0b \x01(\x04\x12\r\n\x05power\x18\x0c \x01(\x04\x12\x0b\n\x03\x66\x31\x33\x18\r \x01(\x04\x12\t\n\x01x\x18\x0e \x01(\x02\x12\x10\n\x08\x61ltitude\x18\x0f \x01(\x02\x12\t\n\x01y\x18\x10 \x01(\x02\x12\r\n\x05route\x18\x11 \x01(\x05\x12\x12\n\nride_power\x18\x12 \x01(\r\x12\r\n\x05speed\x18\x13 \x01(\r')
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bworld.proto\x1a\rprofile.proto\"\x9d\x02\n\x0b\x44ropInWorld\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tcourse_id\x18\x03 \x01(\x04\x12\n\n\x02\x66\x34\x18\x04 \x01(\x08\x12\x10\n\x08zwifters\x18\x05 \x01(\x04\x12\x12\n\nworld_time\x18\x06 \x01(\x04\x12\x11\n\treal_time\x18\x07 \x01(\x04\x12\"\n\x0bpro_players\x18\x08 \x03(\x0b\x32\r.DropInPlayer\x12 \n\tfollowees\x18\t \x03(\x0b\x32\r.DropInPlayer\x12\x1d\n\x06others\x18\n \x03(\x0b\x32\r.DropInPlayer\x12\x14\n\x0cmax_zwifters\x18\x0b \x01(\x04\x12!\n\npacer_bots\x18\x0c \x03(\x0b\x32\r.DropInPlayer\"/\n\x0f\x44ropInWorldList\x12\x1c\n\x06worlds\x18\x01 \x03(\x0b\x32\x0c.DropInWorld\"\xca\x02\n\x0c\x44ropInPlayer\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x11\n\tfirstName\x18\x02 \x02(\t\x12\x10\n\x08lastName\x18\x03 \x02(\t\x12\x10\n\x08\x64istance\x18\x04 \x01(\x04\x12\x0c\n\x04time\x18\x05 \x01(\x04\x12\x14\n\x0c\x63ountry_code\x18\x06 \x01(\x04\x12 \n\x0bplayer_type\x18\x07 \x01(\x0e\x32\x0b.PlayerType\x12\x15\n\x05sport\x18\x08 \x01(\x0e\x32\x06.Sport\x12\n\n\x02\x66\x39\x18\t \x01(\x08\x12\x0b\n\x03\x66\x31\x30\x18\n \x01(\x08\x12\x0b\n\x03\x66\x31\x31\x18\x0b \x01(\x04\x12\r\n\x05power\x18\x0c \x01(\x04\x12\x0b\n\x03\x66\x31\x33\x18\r \x01(\x04\x12\t\n\x01x\x18\x0e \x01(\x02\x12\x10\n\x08\x61ltitude\x18\x0f \x01(\x02\x12\t\n\x01y\x18\x10 \x01(\x02\x12\r\n\x05route\x18\x11 \x01(\x05\x12\x12\n\nride_power\x18\x12 \x01(\r\x12\r\n\x05speed\x18\x13 \x01(\r')
|
||||
|
||||
|
||||
|
||||
@@ -45,10 +46,10 @@ _sym_db.RegisterMessage(DropInPlayer)
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
_DROPINWORLD._serialized_start=16
|
||||
_DROPINWORLD._serialized_end=301
|
||||
_DROPINWORLDLIST._serialized_start=303
|
||||
_DROPINWORLDLIST._serialized_end=350
|
||||
_DROPINPLAYER._serialized_start=353
|
||||
_DROPINPLAYER._serialized_end=662
|
||||
_DROPINWORLD._serialized_start=31
|
||||
_DROPINWORLD._serialized_end=316
|
||||
_DROPINWORLDLIST._serialized_start=318
|
||||
_DROPINWORLDLIST._serialized_end=365
|
||||
_DROPINPLAYER._serialized_start=368
|
||||
_DROPINPLAYER._serialized_end=698
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
syntax = "proto2";
|
||||
//All decompiled. TODO: check
|
||||
message ZFileProto {
|
||||
required uint64 id = 1;
|
||||
required string folder = 2;
|
||||
|
||||
Reference in New Issue
Block a user