From 4e91edc03637b858ccc76302373c50fe5ae5d9f1 Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Mon, 6 Jul 2026 14:43:45 +0100 Subject: [PATCH] small change to the gear transform for BeamNG --- providers/beamng/transforms.go | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/providers/beamng/transforms.go b/providers/beamng/transforms.go index edcc285..66f690e 100644 --- a/providers/beamng/transforms.go +++ b/providers/beamng/transforms.go @@ -1,6 +1,7 @@ package beamng import ( + "strconv" "time" "esdi/telemetry" @@ -37,8 +38,9 @@ func PitSpeedLimiterTransform(v any, out *telemetry.TelemetryField) { } func GearTransform(v any, out *telemetry.TelemetryField) { - out.Type = telemetry.DataTypeCHAR + out.Type = telemetry.DataTypeSTRING + // NOTE: relook at this. Just copied it here but smells bad gear := 0 if val, ok := v.(int32); ok { gear = int(val) @@ -46,16 +48,6 @@ func GearTransform(v any, out *telemetry.TelemetryField) { gear = val } - switch { - case gear == 0: - out.Raw = uint64('N') // ASCII 78 - case gear < 0: - out.Raw = uint64('R') // ASCII 82 - case gear > 0 && gear < 10: - // Quickest way to turn 1 into '1', 2 into '2', etc. - // ASCII '0' is 48, so 48 + 1 = 49 ('1') - out.Raw = uint64('0' + gear) - default: - out.Raw = uint64('?') // Fallback - } + // NOTE: stupid idea but we can cache these values + out.Str = strconv.Itoa(gear) }