Instead of panicing on unset updaters, set them as unused
This might have impact on different types of data other than a window set for STRING, but I will worry about that later on
This commit is contained in:
@@ -67,47 +67,12 @@ func NewBeamNGProvider(ip string, port int) (*BeamNG, error) {
|
|||||||
telemetry.ParkingBrakeLight: provider.handbrakeLight,
|
telemetry.ParkingBrakeLight: provider.handbrakeLight,
|
||||||
telemetry.TCLight: provider.tcLight,
|
telemetry.TCLight: provider.tcLight,
|
||||||
telemetry.BatteryLight: provider.batteryLight,
|
telemetry.BatteryLight: provider.batteryLight,
|
||||||
// Adjustements
|
|
||||||
telemetry.BrakeBias: provider.unused,
|
|
||||||
telemetry.ABSSetting: provider.unused,
|
|
||||||
telemetry.TCSetting: provider.unused,
|
|
||||||
telemetry.ThrottleSetting: provider.unused,
|
|
||||||
// Lap Data
|
|
||||||
telemetry.LapLastLapTime: provider.unused,
|
|
||||||
telemetry.LapNumber: provider.unused,
|
|
||||||
// Tire Data
|
|
||||||
telemetry.LFtempL: provider.unused,
|
|
||||||
telemetry.LFtempM: provider.unused,
|
|
||||||
telemetry.LFtempR: provider.unused,
|
|
||||||
telemetry.RFtempL: provider.unused,
|
|
||||||
telemetry.RFtempM: provider.unused,
|
|
||||||
telemetry.RFtempR: provider.unused,
|
|
||||||
telemetry.LRtempL: provider.unused,
|
|
||||||
telemetry.LRtempM: provider.unused,
|
|
||||||
telemetry.LRtempR: provider.unused,
|
|
||||||
telemetry.RRtempL: provider.unused,
|
|
||||||
telemetry.RRtempM: provider.unused,
|
|
||||||
telemetry.RRtempR: provider.unused,
|
|
||||||
// Session Data
|
|
||||||
telemetry.SessionTime: provider.unused,
|
|
||||||
telemetry.ReplaySessionTime: provider.unused,
|
|
||||||
telemetry.Empty: provider.unused,
|
|
||||||
// Virtual Fields -- fields derived from primitive fields
|
|
||||||
// RPM Dash Lights
|
|
||||||
telemetry.RPMStateColour: provider.unused,
|
|
||||||
// Fuel Calculator
|
|
||||||
telemetry.FCCurrentLap: provider.unused,
|
|
||||||
telemetry.FCLastLap: provider.unused,
|
|
||||||
telemetry.FCAverage: provider.unused,
|
|
||||||
telemetry.FCExpectedLaps: provider.unused,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set the unset telemetry fields on the updaters as unused fields
|
||||||
for k := range int(telemetry.MaxFields) {
|
for k := range int(telemetry.MaxFields) {
|
||||||
// One by one so you won't forget it next time
|
|
||||||
if provider.updaters[k] == nil {
|
if provider.updaters[k] == nil {
|
||||||
msg := fmt.Sprintf("BeamNG updaters aren't all assigned. Currently unassgined: %s",
|
provider.updaters[k] = provider.unused
|
||||||
telemetry.FieldNames[k])
|
|
||||||
panic(msg)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-5
@@ -29,13 +29,11 @@ type VirtualField interface {
|
|||||||
|
|
||||||
// BoundField is the data structure we use to bind the telemetry provider's data
|
// BoundField is the data structure we use to bind the telemetry provider's data
|
||||||
// to our internal telemetry fields
|
// to our internal telemetry fields
|
||||||
// NOTE: we must deprecate the `Key` member. We used it to map the internal
|
|
||||||
// telemetry fields to the providers name. But we shouldn't be using `string` keys.
|
|
||||||
type BoundField struct {
|
type BoundField struct {
|
||||||
Key string // to be deprecated
|
Key string // NOTE: to be deprecated
|
||||||
ID FieldID
|
ID FieldID
|
||||||
Fetch func() any // to be deprecated
|
Fetch func() any // NOTE: to be deprecated
|
||||||
Transform func(any, *TelemetryField) // to be deprecated
|
Transform func(any, *TelemetryField) // NOTE: to be deprecated
|
||||||
Update func(out *TelemetryField)
|
Update func(out *TelemetryField)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user