From 2f34cf12a7cb096c94d948dc14341375b0a52bc3 Mon Sep 17 00:00:00 2001 From: oldnapalm <38410858+oldnapalm@users.noreply.github.com> Date: Sun, 3 Mar 2024 20:40:00 -0300 Subject: [PATCH] Update events --- data/events.txt | 140 ++++++++++++++++++------------------ data/variants.txt | 16 ++++- scripts/get_events.py | 8 ++- scripts/variants_to_json.py | 2 +- zwift_offline.py | 10 ++- 5 files changed, 98 insertions(+), 78 deletions(-) diff --git a/data/events.txt b/data/events.txt index 6d1118c..a8b8c02 100644 --- a/data/events.txt +++ b/data/events.txt @@ -1,6 +1,6 @@ [ { - "name": "Bologna - Bologna Time Trial", + "name": "Bologna Time Trial", "route": 2843604888, "distance": 8050.0, "course": 10, @@ -9,434 +9,434 @@ { "name": "Crit City - Downtown Dolphin", "route": 947394567, - "distance": 1961.8, + "distance": 2032.6, "course": 12, "sport": 0 }, { "name": "Crit City - The Bell Lap", "route": 2875658892, - "distance": 1961.7, + "distance": 2060.4, "course": 12, "sport": 0 }, { - "name": "France - France Classic Fondo", + "name": "France Classic Fondo", "route": 2136907048, - "distance": 145443.5, + "distance": 146423.6, "course": 14, "sport": 0 }, { - "name": "Gravel Mountain - Gravel Mountain", + "name": "Gravel Mountain", "route": 3687150686, "distance": 5180.9, "course": 16, "sport": 0 }, { - "name": "Gravel Mountain - Gravel Mountain Reverse", + "name": "Gravel Mountain Reverse", "route": 2956533021, "distance": 5180.9, "course": 16, "sport": 0 }, { - "name": "Innsbruck - Innsbruck KOM After Party", + "name": "Innsbruck KOM After Party", "route": 3649347250, - "distance": 36972.6, + "distance": 37196.9, "course": 9, "sport": 0 }, { - "name": "Innsbruck - InnsbruckConti", + "name": "InnsbruckConti", "route": 3101693166, - "distance": 12477.9, + "distance": 12941.6, "course": 9, "sport": 0 }, { "name": "London - Classique Reverse", "route": 3599973269, - "distance": 5457.0, + "distance": 12919.8, "course": 7, "sport": 0 }, { "name": "London - Greater London Loop Reverse", "route": 474781994, - "distance": 20977.7, + "distance": 21153.9, "course": 7, "sport": 0 }, { "name": "London - Greatest London Loop Reverse", "route": 3976402826, - "distance": 25671.2, + "distance": 25845.7, "course": 7, "sport": 0 }, { "name": "London - Keith Hill After Party", "route": 3569674525, - "distance": 36188.4, + "distance": 36652.6, "course": 7, "sport": 0 }, { "name": "London - Leith Hill After Party", "route": 1230300449, - "distance": 41542.7, + "distance": 42007.5, "course": 7, "sport": 0 }, { - "name": "London - London 8 Reverse", + "name": "London 8 Reverse", "route": 2165880404, - "distance": 20291.4, + "distance": 20465.9, "course": 7, "sport": 0 }, { - "name": "London - London Loop Reverse", + "name": "London Loop Reverse", "route": 1788889233, - "distance": 14834.2, + "distance": 15008.7, "course": 7, "sport": 0 }, { "name": "Makuri Islands - Castle Crit", "route": 3706527503, - "distance": 3470.0, + "distance": 4970.5, "course": 13, "sport": 0 }, { "name": "Makuri Islands - Castle Crit Run", "route": 1033940053, - "distance": 3470.0, + "distance": 4970.5, "course": 13, - "sport": 0 + "sport": 1 }, { "name": "Makuri Islands - Neokyo Crit Course", "route": 1127056801, - "distance": 3882.0, + "distance": 4660.0, "course": 13, "sport": 0 }, { "name": "New York - 2022 Cycling Esports World Championships Route", "route": 2436095601, - "distance": 54743.4, + "distance": 54963.3, "course": 8, "sport": 0 }, { "name": "New York - Gotham Grind Reverse", "route": 352245150, - "distance": 9259.2, + "distance": 9649.7, "course": 8, "sport": 0 }, { "name": "New York - Grand Central Circuit Reverse", "route": 3687251774, - "distance": 6856.9, + "distance": 9267.6, "course": 8, "sport": 0 }, { "name": "New York - LaGuardia Loop", "route": 2422779354, - "distance": 2789.7, + "distance": 4268.7, "course": 8, "sport": 0 }, { "name": "New York - LaGuardia Loop Reverse", "route": 3774003351, - "distance": 2791.3, + "distance": 5236.9, "course": 8, "sport": 0 }, { "name": "New York - NYC KOM After Party", "route": 2372883204, - "distance": 36626.3, + "distance": 37003.6, "course": 8, "sport": 0 }, { "name": "New York - Park Perimeter Reverse", "route": 2202609830, - "distance": 9762.1, + "distance": 9915.9, "course": 8, "sport": 0 }, { "name": "New York - Shuman Trail Reverse", "route": 274775181, - "distance": 2534.8, + "distance": 2644.6, "course": 8, "sport": 1 }, { "name": "New York - The 6 Train Reverse", "route": 274639515, - "distance": 6468.7, + "distance": 6843.0, "course": 8, "sport": 0 }, { "name": "New York - The Highline Reverse", "route": 1763213625, - "distance": 10528.8, + "distance": 21010.9, "course": 8, "sport": 0 }, { "name": "Richmond - Cobbled Climbs Reverse", "route": 4194352271, - "distance": 9177.4, + "distance": 9277.1, "course": 2, "sport": 0 }, { "name": "Richmond - Libby Hill After Party", "route": 54700404, - "distance": 32856.4, + "distance": 33171.6, "course": 2, "sport": 0 }, { - "name": "Richmond - Richmond Rollercoaster", + "name": "Richmond Rollercoaster", "route": 948831673, - "distance": 5057.2, + "distance": 17203.8, "course": 2, "sport": 0 }, { "name": "Watopia - Big Flat 8", "route": 1917017591, - "distance": 29211.1, + "distance": 31491.1, "course": 6, "sport": 0 }, { "name": "Watopia - Big Loop Reverse", "route": 4107844490, - "distance": 42601.6, + "distance": 42819.2, "course": 6, "sport": 0 }, { "name": "Watopia - Chili Pepper Reverse", "route": 3694952104, - "distance": 7346.9, + "distance": 7501.8, "course": 6, "sport": 1 }, { "name": "Watopia - Flat Route Reverse", "route": 3811569265, - "distance": 10269.1, + "distance": 10469.6, "course": 6, "sport": 0 }, { "name": "Watopia - Handful Of Gravel", "route": 1993374659, - "distance": 6130.4, + "distance": 10384.1, "course": 6, "sport": 0 }, { "name": "Watopia - Handful of Gravel Run", "route": 2708527018, - "distance": 6130.4, + "distance": 10384.1, "course": 6, "sport": 1 }, { "name": "Watopia - Hilly Route Reverse", "route": 107363867, - "distance": 9192.8, + "distance": 9423.0, "course": 6, "sport": 0 }, { "name": "Watopia - Italian Villas Circuit", "route": 3573087582, - "distance": 1937.2, + "distance": 2714.5, "course": 6, "sport": 1 }, { "name": "Watopia - Jungle Circuit Reverse", "route": 2839057126, - "distance": 7861.9, + "distance": 14150.6, "course": 6, "sport": 0 }, { "name": "Watopia - Jurassic Coast", "route": 4009130866, - "distance": 19315.2, + "distance": 19539.8, "course": 6, "sport": 0 }, { "name": "Watopia - Loop de Loop", "route": 243949867, - "distance": 12416.17, + "distance": 12610.1, "course": 6, "sport": 0 }, { "name": "Watopia - Mountain Mash", "route": 2953010285, - "distance": 5789.7, + "distance": 5999.5, "course": 6, "sport": 0 }, { "name": "Watopia - Road To Ruins Reverse", "route": 2967612381, - "distance": 29645.6, + "distance": 29846.1, "course": 6, "sport": 0 }, { "name": "Watopia - Run Path Reverse", "route": 772562418, - "distance": 4999.0, + "distance": 5168.0, "course": 6, "sport": 1 }, { "name": "Watopia - Seaside Sprint", "route": 3454338139, - "distance": 6291.2, + "distance": 9253.1, "course": 6, "sport": 0 }, { "name": "Watopia - Spiral into the Volcano", "route": 3261167746, - "distance": 55634.3, + "distance": 55828.2, "course": 6, "sport": 0 }, { "name": "Watopia - Splash and Dash", "route": 1988847319, - "distance": 6029.6, + "distance": 6246.7, "course": 6, "sport": 1 }, { "name": "Watopia - That's Amore Reverse", "route": 1586193601, - "distance": 5829.5, + "distance": 5954.1, "course": 6, "sport": 1 }, { "name": "Watopia - The Magnificent 8", "route": 2207442179, - "distance": 28932.1, + "distance": 29137.0, "course": 6, "sport": 0 }, { "name": "Watopia - Three Sisters Reverse", "route": 4263172118, - "distance": 45693.6, + "distance": 45893.7, "course": 6, "sport": 0 }, { "name": "Watopia - Volcano Climb After Party", "route": 387309391, - "distance": 39853.9, + "distance": 40319.8, "course": 6, "sport": 0 }, { "name": "Watopia - Volcano Flat Reverse", "route": 1397026382, - "distance": 12349.2, + "distance": 12586.2, "course": 6, "sport": 0 }, { "name": "Watopia - WBR Climbing Series", "route": 2218409282, - "distance": 43208.5, + "distance": 43674.4, "course": 6, "sport": 0 }, { "name": "Watopia - Zwift Bambino Fondo", "route": 3621162212, - "distance": 51885.0, + "distance": 52377.4, "course": 6, "sport": 0 }, { "name": "Watopia - Zwift Bambino Fondo 2022", "route": 3368626651, - "distance": 52955.6, + "distance": 53250.2, "course": 6, "sport": 0 }, { "name": "Watopia - Zwift Games 2024 Epic", "route": 762151244, - "distance": 79744.9, + "distance": 81779.9, "course": 6, "sport": 0 }, { "name": "Watopia - Zwift Gran Fondo", "route": 242381847, - "distance": 97506.4, + "distance": 97962.9, "course": 6, "sport": 0 }, { "name": "Watopia - Zwift Gran Fondo 2022", "route": 1327147942, - "distance": 92467.2, + "distance": 92761.8, "course": 6, "sport": 0 }, { "name": "Watopia - Zwift Medio Fondo", "route": 3748780161, - "distance": 72506.4, + "distance": 72998.8, "course": 6, "sport": 0 }, { "name": "Watopia - Zwift Medio Fondo 2022", "route": 2900074211, - "distance": 79023.4, + "distance": 79318.4, "course": 6, "sport": 0 }, { "name": "Yorkshire - Harrogate Circuit Reverse", "route": 620436060, - "distance": 13832.9, + "distance": 13855.2, "course": 11, "sport": 0 }, { "name": "Yorkshire - Queens Highway After Party", "route": 87631443, - "distance": 17148.8, + "distance": 19912.8, "course": 11, "sport": 0 } diff --git a/data/variants.txt b/data/variants.txt index 33f1637..69c9b7b 100644 --- a/data/variants.txt +++ b/data/variants.txt @@ -73,6 +73,10 @@ } } }, + { + "name": "game_1_26_event_survey", + "values": {} + }, { "name": "game_1_27_atv_remote_gestures", "value": true, @@ -156,6 +160,7 @@ }, { "name": "game_1_29_player_highlight", + "value": true, "values": { "fields": { "HighlightWorkoutFX": { @@ -390,8 +395,11 @@ "assistDelaySecs": { "numberValue": 4.0 }, - "heavyPress": { - "numberValue": 400.0 + "heavyPressAnalog": { + "numberValue": 450.0 + }, + "heavyPressDigital": { + "numberValue": 650.0 }, "lightPress": { "numberValue": 10.0 @@ -698,6 +706,7 @@ }, { "name": "game_1_47_onboarding_quest_rpc", + "value": true, "values": {} }, { @@ -884,7 +893,7 @@ "values": { "fields": { "activity_count": { - "varintValue": "15" + "varintValue": "7" } } } @@ -1053,6 +1062,7 @@ }, { "name": "game_1_58_fit_record_utc_timestamp", + "value": true, "values": {} }, { diff --git a/scripts/get_events.py b/scripts/get_events.py index 704e5c0..7649563 100644 --- a/scripts/get_events.py +++ b/scripts/get_events.py @@ -35,10 +35,14 @@ for directory in os.listdir(worlds): tree = ET.fromstring(re.sub(r"(<\?xml[^>]+\?>)", r"\1", xml) + "") route = tree.find('route') if route.get('eventOnly') == '1': + wname = world_to_course[world][1] + name = route.get('name').strip() + if not name.startswith(wname): + name = '%s - %s' % (wname, name) event = { - 'name': '%s - %s' % (world_to_course[world][1], route.get('name').strip()), + 'name': name, 'route': int(route.get('nameHash')), - 'distance': float(route.get('distanceInMeters')), + 'distance': round(float(route.get('distanceInMeters')) + float(route.get('leadinDistanceInMeters')), 1), 'course': world_to_course[world][0], 'sport': 1 if route.get('sportType') == '2' else 0 } diff --git a/scripts/variants_to_json.py b/scripts/variants_to_json.py index 4002177..42bbbac 100644 --- a/scripts/variants_to_json.py +++ b/scripts/variants_to_json.py @@ -8,7 +8,7 @@ with open("variant", "rb") as f: variants = variants_pb2.FeatureResponse() variants.ParseFromString(f.read()) -keep = ['zwift_launcher_'] +keep = ['zwift_launcher_', 'game_1_26_event_survey'] with open("../data/variants.txt") as f: vs = [d for d in json.load(f)['variants'] if any(d['name'].startswith(s) for s in keep)] diff --git a/zwift_offline.py b/zwift_offline.py index 5ccfc60..f7cbbeb 100644 --- a/zwift_offline.py +++ b/zwift_offline.py @@ -1045,11 +1045,16 @@ def api_eventfeed(): json_data.append({"event": e}) return jsonify({"data":json_data,"cursor":None}) +@app.route('/api/recommendations/recommendation', methods=['GET']) +def api_recommendations_recommendation(): + return jsonify([{"type": "EVENT"}]) + @app.route('/api/campaign/profile/campaigns', methods=['GET']) @app.route('/api/announcements/active', methods=['GET']) @app.route('/api/recommendation/profile', methods=['GET']) -@app.route('/api/recommendations/recommendation', methods=['GET']) @app.route('/api/subscription/plan', methods=['GET']) +@app.route('/api/quest/quests/all-quests', methods=['GET']) +@app.route('/api/quest/quests/my-quests', methods=['GET']) def api_empty_arrays(): return jsonify([]) @@ -1211,6 +1216,7 @@ def api_clubs_club_my_clubs_summary(): @app.route('/api/player-playbacks/player/settings', methods=['GET', 'POST']) # TODO: private = \x08\x01 (1: 1) @app.route('/api/scoring/current', methods=['GET']) @app.route('/api/game-asset-patching-service/manifest', methods=['GET']) +@app.route('/api/race-results', methods=['POST']) def api_proto_empty(): return '', 200 @@ -1450,7 +1456,7 @@ def api_events_subgroups_register_id(ev_sg_id): @app.route('/api/events/subgroups/entrants/', methods=['GET']) def api_events_subgroups_entrants_id(ev_sg_id): - return '[]', 200 + return '', 200 @app.route('/api/events/subgroups/invited_ride_sweepers/', methods=['GET']) def api_events_subgroups_invited_ride_sweepers_id(ev_sg_id):