diff --git a/cdn/gameassets/ZwiftAndroid_ver_cur.xml b/cdn/gameassets/ZwiftAndroid_ver_cur.xml index e64899c..6be67ce 100644 --- a/cdn/gameassets/ZwiftAndroid_ver_cur.xml +++ b/cdn/gameassets/ZwiftAndroid_ver_cur.xml @@ -1 +1 @@ - + diff --git a/cdn/gameassets/Zwift_Updates_Root/ZwiftMac_ver_cur.xml b/cdn/gameassets/Zwift_Updates_Root/ZwiftMac_ver_cur.xml index 7db0661..53dc7d7 100644 --- a/cdn/gameassets/Zwift_Updates_Root/ZwiftMac_ver_cur.xml +++ b/cdn/gameassets/Zwift_Updates_Root/ZwiftMac_ver_cur.xml @@ -1 +1 @@ - + diff --git a/cdn/gameassets/Zwift_Updates_Root/Zwift_ver_cur.xml b/cdn/gameassets/Zwift_Updates_Root/Zwift_ver_cur.xml index 72a607b..8015a7d 100644 --- a/cdn/gameassets/Zwift_Updates_Root/Zwift_ver_cur.xml +++ b/cdn/gameassets/Zwift_Updates_Root/Zwift_ver_cur.xml @@ -1 +1 @@ - + diff --git a/data/entitlements.txt b/data/entitlements.txt index 15d9213..8f8be4e 100644 --- a/data/entitlements.txt +++ b/data/entitlements.txt @@ -1 +1 @@ -{"first": 1687, "last": 2104} \ No newline at end of file +{"first": 1687, "last": 2123} \ No newline at end of file diff --git a/data/events.txt b/data/events.txt index 294aaa5..095ddfd 100644 --- a/data/events.txt +++ b/data/events.txt @@ -27,13 +27,6 @@ "course": 14, "sport": 0 }, - { - "name": "France - Peaky Pav\u00c3\u00a9", - "route": 941280950, - "distance": 30809.2, - "course": 14, - "sport": 0 - }, { "name": "France Classic Fondo", "route": 2136907048, @@ -55,12 +48,19 @@ "course": 16, "sport": 0 }, + { + "name": "Gravel Mountain - Red Rock Loop Reverse", + "route": 1437969615, + "distance": 5281.2, + "course": 16, + "sport": 0 + }, { "name": "Gravel Mountain - Red Rock Run", "route": 967374265, "distance": 5398.0, "course": 16, - "sport": 0 + "sport": 1 }, { "name": "InnsbruckConti", @@ -125,13 +125,6 @@ "course": 7, "sport": 0 }, - { - "name": "Makuri Islands - Kaze Kicker", - "route": 2833089100, - "distance": 17279.4, - "course": 13, - "sport": 0 - }, { "name": "Makuri Islands - Liminal Loop", "route": 334944296, @@ -167,13 +160,6 @@ "course": 8, "sport": 0 }, - { - "name": "New York - Hudson Hustle", - "route": 750613981, - "distance": 20374.8, - "course": 8, - "sport": 0 - }, { "name": "New York - LaGuardia Loop", "route": 2422779354, @@ -223,13 +209,6 @@ "course": 2, "sport": 0 }, - { - "name": "Richmond - Cobbled Crown", - "route": 2244765560, - "distance": 24305.3, - "course": 2, - "sport": 0 - }, { "name": "Scotland - Glasgow Crit Six", "route": 79243399, @@ -244,13 +223,6 @@ "course": 17, "sport": 0 }, - { - "name": "Scotland - The Epiloch", - "route": 3486338362, - "distance": 11104.8, - "course": 17, - "sport": 0 - }, { "name": "Watopia - Big Loop Reverse", "route": 4107844490, @@ -356,13 +328,6 @@ "course": 6, "sport": 0 }, - { - "name": "Watopia - Three Step Sisters", - "route": 3536020075, - "distance": 38053.1, - "course": 6, - "sport": 0 - }, { "name": "Watopia - Volcano Climb After Party", "route": 387309391, diff --git a/data/start_lines.txt b/data/start_lines.txt index ae4f2da..27e51eb 100644 --- a/data/start_lines.txt +++ b/data/start_lines.txt @@ -139,6 +139,11 @@ "road": 0, "time": 655000 }, + "1437969615": { + "name": "Gravel Mountain - Red Rock Loop Reverse", + "road": 0, + "time": 535000 + }, "967374265": { "name": "Gravel Mountain - Red Rock Run", "road": 0, diff --git a/data/variants.txt b/data/variants.txt index a091ff2..d3d8f5b 100644 --- a/data/variants.txt +++ b/data/variants.txt @@ -223,10 +223,6 @@ "name": "game_1_101_zp_request_full_response", "values": {} }, - { - "name": "game_1_102_draft_slope_fix", - "value": true - }, { "name": "game_1_102_split_zp_set_messages", "value": true @@ -277,8 +273,7 @@ "value": true }, { - "name": "game_1_105_zui_logout_earlier", - "values": {} + "name": "game_1_105_zui_logout_earlier" }, { "name": "game_1_106_zml_rnl", @@ -298,7 +293,8 @@ "name": "game_1_108_challenge_poster_cards" }, { - "name": "game_1_108_data_collection_consent" + "name": "game_1_108_data_collection_consent", + "value": true }, { "name": "game_1_108_known_devices_v2", @@ -347,6 +343,9 @@ { "name": "game_1_110_auto_pairing_fixes" }, + { + "name": "game_1_110_customizable_workout_hud" + }, { "name": "game_1_110_disable_sensor_relay_on_ble" }, @@ -363,6 +362,14 @@ { "name": "game_1_110_square_integration" }, + { + "name": "game_1_110_trial_banner", + "values": {} + }, + { + "name": "game_1_111_personalize_experience", + "values": {} + }, { "name": "game_1_15_assert_disable_abort", "value": true, @@ -380,8 +387,7 @@ } }, { - "name": "game_1_18_holiday_mode", - "value": true + "name": "game_1_18_holiday_mode" }, { "name": "game_1_20_home_screen", @@ -850,7 +856,18 @@ } }, { - "name": "game_1_53_zui_tp" + "name": "game_1_53_zui_tp", + "value": true, + "values": { + "fields": { + "disk_cache_max_size_bytes": { + "varintValue": "104857600" + }, + "memory_cache_max_size_bytes": { + "varintValue": "104857600" + } + } + } }, { "name": "game_1_54_m0b1", @@ -1131,7 +1148,7 @@ "values": { "fields": { "challenge_carousel_id": { - "stringValue": "prod_1_108_minimum" + "stringValue": "prod_home_challenge_carousel" } } } @@ -1159,11 +1176,6 @@ "value": true, "values": {} }, - { - "name": "game_1_74_sku_enhance", - "value": true, - "values": {} - }, { "name": "game_1_74_zp_manual_calibration", "values": {} @@ -1522,10 +1534,6 @@ "name": "game_1_91_center_hud_onroute_update", "value": true }, - { - "name": "game_1_91_nav_bar_social_tab", - "value": true - }, { "name": "game_1_91_publish_climb_portal_complete", "value": true @@ -1899,10 +1907,6 @@ { "name": "game_default_deco" }, - { - "name": "game_disable_ant_plus_msg_queue", - "values": {} - }, { "name": "game_disable_cached_subgroup_protobuf", "value": true, @@ -2254,7 +2258,7 @@ "values": { "fields": { "version": { - "stringValue": "1.110.0" + "stringValue": "1.111.0" } } } @@ -2281,11 +2285,6 @@ } } }, - { - "name": "game_settings_service", - "value": true, - "values": {} - }, { "name": "game_show_about_menu", "value": true, @@ -2519,6 +2518,23 @@ "name": "noesis_dlc", "value": true }, + { + "name": "outdoor_accumulator_quest_widget_settings", + "value": true, + "values": { + "fields": { + "hide_secondary_widget_when_not_setup": { + "boolValue": false + }, + "qr_code_data_id": { + "stringValue": "zc_connections" + }, + "qr_code_state_enabled": { + "boolValue": true + } + } + } + }, { "name": "progress_report", "value": true diff --git a/protobuf/user_storage.proto b/protobuf/user_storage.proto index 124e4eb..97bb017 100644 --- a/protobuf/user_storage.proto +++ b/protobuf/user_storage.proto @@ -9,6 +9,7 @@ message Attributes { optional GarageItemLastSelected garage_last_selected = 23; optional BikeProgress bike_progress = 24; optional SpecialEventSeen special_event_seen = 25; + optional DataCollectionConsent data_collection_consent = 29; } message GameSettings { @@ -57,3 +58,9 @@ message BikeUpgrade { optional uint32 level = 2; optional uint32 price = 3; } + +message DataCollectionConsent { + optional string device = 1; + optional int32 consent = 2; + optional uint64 time = 3; +} diff --git a/protobuf/user_storage_pb2.py b/protobuf/user_storage_pb2.py index 3c40e97..f0337e6 100644 --- a/protobuf/user_storage_pb2.py +++ b/protobuf/user_storage_pb2.py @@ -13,7 +13,7 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12user_storage.proto\".\n\x0bUserStorage\x12\x1f\n\nattributes\x18\x02 \x03(\x0b\x32\x0b.Attributes\"\xbe\x01\n\nAttributes\x12$\n\rgame_settings\x18\x16 \x01(\x0b\x32\r.GameSettings\x12\x35\n\x14garage_last_selected\x18\x17 \x01(\x0b\x32\x17.GarageItemLastSelected\x12$\n\rbike_progress\x18\x18 \x01(\x0b\x32\r.BikeProgress\x12-\n\x12special_event_seen\x18\x19 \x01(\x0b\x32\x11.SpecialEventSeen\"\xb4\x02\n\x0cGameSettings\x12\n\n\x02\x66\x32\x18\x02 \x01(\x02\x12\x1c\n\x14minimal_leaderboards\x18\x03 \x01(\x05\x12\x19\n\x11power_meter_slot0\x18\x04 \x01(\x05\x12\x19\n\x11power_meter_slot1\x18\x05 \x01(\x05\x12\x19\n\x11power_meter_slot2\x18\x06 \x01(\x05\x12\x19\n\x11power_meter_slot3\x18\x07 \x01(\x05\x12\x1f\n\x17\x63limb_graph_sensitivity\x18\t \x01(\x05\x12\x1a\n\x12screen_shake_scale\x18\n \x01(\x02\x12\x1d\n\x15streaks_flair_visuals\x18\x0b \x01(\x05\x12\x18\n\x10ride_stats_slot0\x18\r \x01(\x05\x12\x18\n\x10ride_stats_slot1\x18\x0e \x01(\x05\"9\n\x16GarageItemLastSelected\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x04\"3\n\x10SpecialEventSeen\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x04\"\xbf\x02\n\x0c\x42ikeProgress\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\r\x12\x16\n\x0elevel_distance\x18\x03 \x01(\x02\x12\x16\n\x0etotal_distance\x18\x04 \x01(\x02\x12\x17\n\x0flevel_elevation\x18\x05 \x01(\x02\x12\x17\n\x0ftotal_elevation\x18\x06 \x01(\x02\x12\x19\n\x11level_moving_time\x18\x07 \x01(\x02\x12\x19\n\x11total_moving_time\x18\x08 \x01(\x02\x12\x14\n\x0clast_upgrade\x18\n \x01(\x04\x12\x0c\n\x04time\x18\x0b \x01(\x04\x12#\n\rbike_upgrades\x18\x0c \x03(\x0b\x32\x0c.BikeUpgrade\x12\x0b\n\x03\x66\x31\x34\x18\x0e \x01(\r\x12\x12\n\npercentage\x18\x0f \x01(\x02\x12\x0b\n\x03\x66\x31\x36\x18\x10 \x01(\r\"9\n\x0b\x42ikeUpgrade\x12\x0c\n\x04time\x18\x01 \x01(\x04\x12\r\n\x05level\x18\x02 \x01(\r\x12\r\n\x05price\x18\x03 \x01(\r') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12user_storage.proto\".\n\x0bUserStorage\x12\x1f\n\nattributes\x18\x02 \x03(\x0b\x32\x0b.Attributes\"\xf7\x01\n\nAttributes\x12$\n\rgame_settings\x18\x16 \x01(\x0b\x32\r.GameSettings\x12\x35\n\x14garage_last_selected\x18\x17 \x01(\x0b\x32\x17.GarageItemLastSelected\x12$\n\rbike_progress\x18\x18 \x01(\x0b\x32\r.BikeProgress\x12-\n\x12special_event_seen\x18\x19 \x01(\x0b\x32\x11.SpecialEventSeen\x12\x37\n\x17\x64\x61ta_collection_consent\x18\x1d \x01(\x0b\x32\x16.DataCollectionConsent\"\xb4\x02\n\x0cGameSettings\x12\n\n\x02\x66\x32\x18\x02 \x01(\x02\x12\x1c\n\x14minimal_leaderboards\x18\x03 \x01(\x05\x12\x19\n\x11power_meter_slot0\x18\x04 \x01(\x05\x12\x19\n\x11power_meter_slot1\x18\x05 \x01(\x05\x12\x19\n\x11power_meter_slot2\x18\x06 \x01(\x05\x12\x19\n\x11power_meter_slot3\x18\x07 \x01(\x05\x12\x1f\n\x17\x63limb_graph_sensitivity\x18\t \x01(\x05\x12\x1a\n\x12screen_shake_scale\x18\n \x01(\x02\x12\x1d\n\x15streaks_flair_visuals\x18\x0b \x01(\x05\x12\x18\n\x10ride_stats_slot0\x18\r \x01(\x05\x12\x18\n\x10ride_stats_slot1\x18\x0e \x01(\x05\"9\n\x16GarageItemLastSelected\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x04\"3\n\x10SpecialEventSeen\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x04\"\xbf\x02\n\x0c\x42ikeProgress\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\r\x12\x16\n\x0elevel_distance\x18\x03 \x01(\x02\x12\x16\n\x0etotal_distance\x18\x04 \x01(\x02\x12\x17\n\x0flevel_elevation\x18\x05 \x01(\x02\x12\x17\n\x0ftotal_elevation\x18\x06 \x01(\x02\x12\x19\n\x11level_moving_time\x18\x07 \x01(\x02\x12\x19\n\x11total_moving_time\x18\x08 \x01(\x02\x12\x14\n\x0clast_upgrade\x18\n \x01(\x04\x12\x0c\n\x04time\x18\x0b \x01(\x04\x12#\n\rbike_upgrades\x18\x0c \x03(\x0b\x32\x0c.BikeUpgrade\x12\x0b\n\x03\x66\x31\x34\x18\x0e \x01(\r\x12\x12\n\npercentage\x18\x0f \x01(\x02\x12\x0b\n\x03\x66\x31\x36\x18\x10 \x01(\r\"9\n\x0b\x42ikeUpgrade\x12\x0c\n\x04time\x18\x01 \x01(\x04\x12\r\n\x05level\x18\x02 \x01(\r\x12\r\n\x05price\x18\x03 \x01(\r\"F\n\x15\x44\x61taCollectionConsent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0f\n\x07\x63onsent\x18\x02 \x01(\x05\x12\x0c\n\x04time\x18\x03 \x01(\x04') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'user_storage_pb2', globals()) @@ -23,15 +23,17 @@ if _descriptor._USE_C_DESCRIPTORS == False: _USERSTORAGE._serialized_start=22 _USERSTORAGE._serialized_end=68 _ATTRIBUTES._serialized_start=71 - _ATTRIBUTES._serialized_end=261 - _GAMESETTINGS._serialized_start=264 - _GAMESETTINGS._serialized_end=572 - _GARAGEITEMLASTSELECTED._serialized_start=574 - _GARAGEITEMLASTSELECTED._serialized_end=631 - _SPECIALEVENTSEEN._serialized_start=633 - _SPECIALEVENTSEEN._serialized_end=684 - _BIKEPROGRESS._serialized_start=687 - _BIKEPROGRESS._serialized_end=1006 - _BIKEUPGRADE._serialized_start=1008 - _BIKEUPGRADE._serialized_end=1065 + _ATTRIBUTES._serialized_end=318 + _GAMESETTINGS._serialized_start=321 + _GAMESETTINGS._serialized_end=629 + _GARAGEITEMLASTSELECTED._serialized_start=631 + _GARAGEITEMLASTSELECTED._serialized_end=688 + _SPECIALEVENTSEEN._serialized_start=690 + _SPECIALEVENTSEEN._serialized_end=741 + _BIKEPROGRESS._serialized_start=744 + _BIKEPROGRESS._serialized_end=1063 + _BIKEUPGRADE._serialized_start=1065 + _BIKEUPGRADE._serialized_end=1122 + _DATACOLLECTIONCONSENT._serialized_start=1124 + _DATACOLLECTIONCONSENT._serialized_end=1194 # @@protoc_insertion_point(module_scope)