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):