Files
zwift-offline/protobuf/user_storage.proto
2025-07-15 14:14:35 -03:00

60 lines
1.6 KiB
Protocol Buffer

syntax = "proto2";
message UserStorage {
repeated Attributes attributes = 2;
}
message Attributes {
optional GameSettings game_settings = 22;
optional GarageItemLastSelected garage_last_selected = 23;
optional BikeProgress bike_progress = 24;
optional SpecialEventSeen special_event_seen = 25;
}
message GameSettings {
optional float f2 = 2;
optional int32 minimal_leaderboards = 3;
optional int32 power_meter_slot0 = 4;
optional int32 power_meter_slot1 = 5;
optional int32 power_meter_slot2 = 6;
optional int32 power_meter_slot3 = 7;
optional int32 climb_graph_sensitivity = 9;
optional float screen_shake_scale = 10;
optional int32 streaks_flair_visuals = 11;
optional int32 ride_stats_slot0 = 13;
optional int32 ride_stats_slot1 = 14;
}
message GarageItemLastSelected {
optional string signature = 1;
optional uint64 time = 2;
}
message SpecialEventSeen {
optional string signature = 1;
optional uint64 time = 2;
}
message BikeProgress {
optional string signature = 1;
optional uint32 level = 2;
optional float level_distance = 3;
optional float total_distance = 4;
optional float level_elevation = 5;
optional float total_elevation = 6;
optional float level_moving_time = 7;
optional float total_moving_time = 8;
optional uint64 last_upgrade = 10;
optional uint64 time = 11;
repeated BikeUpgrade bike_upgrades = 12;
optional uint32 f14 = 14;
optional float percentage = 15;
optional uint32 f16 = 16;
}
message BikeUpgrade {
optional uint64 time = 1;
optional uint32 level = 2;
optional uint32 price = 3;
}