Skip to content

Commit 2ace920

Browse files
committed
Ignore telemetry data in menu state
1 parent 93140da commit 2ace920

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

DoTelemetry.cpp

+8-3
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ void DoTelemetry(STelemetryData* pTelemetry)
9999
pTelemetry->Previous.Game.State = pTelemetry->Current.Game.State;
100100
}
101101

102+
// Trackmania 2020 updates the telemetry data at least once while we are in the menu.
103+
// Let's ignore them.
104+
if (pTelemetry->Current.Game.State == STelemetry::EState_Menus)
105+
return;
106+
102107
// Race state
103108
if (pTelemetry->Current.Race.State != pTelemetry->Previous.Race.State)
104109
{
@@ -268,7 +273,7 @@ void DoTelemetry(STelemetryData* pTelemetry)
268273
{
269274
if (pTelemetry->Current.Header.Version >= 3)
270275
{
271-
uCheckpointsPerLap++; // In Trackmania 2020, the finish is not a checkpoint
276+
uCheckpointsPerLap++; // In Trackmania 2020, the finish is not a checkpoint (bug?)
272277

273278
if (uNumberOfLaps == 0) // Since Trackmania 2020 supports this data field,
274279
uNumberOfLaps = 1; // we can set it to 1 if the value is 0 (no lap race)
@@ -575,9 +580,9 @@ void InitTelemetryData(STelemetryData* pTelemetry)
575580
memset(&pTelemetry->Previous, 0, sizeof(pTelemetry->Previous));
576581

577582
// Set all variables that can be zero at startup to a different value
578-
pTelemetry->Previous.Game.State = (STelemetry::EGameState)-1;
583+
pTelemetry->Previous.Game.State = (STelemetry::EGameState)-16;
579584

580-
pTelemetry->Previous.Race.State = (STelemetry::ERaceState)-1;
585+
pTelemetry->Previous.Race.State = (STelemetry::ERaceState)-16;
581586
pTelemetry->Previous.Race.Time = (Nat32)-2; // -1 is a regular value
582587
pTelemetry->Previous.Race.NbRespawns = (Nat32)-2; // -1 is a regular value
583588
pTelemetry->Previous.Race.NbCheckpoints = (Nat32)-1;

0 commit comments

Comments
 (0)