Skip to content

Commit 4826be2

Browse files
committed
Bestest SBT default settings ever!
1 parent 8183919 commit 4826be2

4 files changed

Lines changed: 51 additions & 62 deletions

File tree

MarvinsAIRARefactored/Components/SeatBeltTensioner.cs

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -454,11 +454,11 @@ private void Update( App app )
454454
MainWindow._seatBeltTensionerPage.HeaveMinGString = _heaveMinG < float.MaxValue ? $"{_heaveMinG:F2} G" : "---";
455455
MainWindow._seatBeltTensionerPage.HeaveMaxGString = _heaveMaxG > float.MinValue ? $"{_heaveMaxG:F2} G" : "---";
456456

457-
// Surge normalized [-1..1]: braking tightens both belts, acceleration loosens both belts
458-
var surgeNormalized = Math.Clamp( -longAccel / MathZ.OneG / settings.SeatBeltTensionerSurgeMaxG, -1f, 1f );
457+
// Surge normalized [-1..1]: acceleration tightens both belts, braking loosens both belts
458+
var surgeNormalized = Math.Clamp( longAccel / MathZ.OneG / settings.SeatBeltTensionerSurgeMaxG, -1f, 1f );
459459

460460
// Sway normalized [-1..1]: positive biases right belt tighter, left belt looser
461-
var swayNormalized = Math.Clamp( latAccel / MathZ.OneG / settings.SeatBeltTensionerSwayMaxG, -1f, 1f );
461+
var swayNormalized = Math.Clamp( -latAccel / MathZ.OneG / settings.SeatBeltTensionerSwayMaxG, -1f, 1f );
462462

463463
// Heave normalized [-1..1]
464464
var heaveNormalized = Math.Clamp( vertAccel / MathZ.OneG / settings.SeatBeltTensionerHeaveMaxG, -1f, 1f );
@@ -538,18 +538,8 @@ private void Update( App app )
538538

539539
var amplitudeTenths = settings.SeatBeltTensionerSeatOfPantsAmplitude * 10f;
540540

541-
// Positive SoP = right lateral force → tighten right belt, negative SoP → tighten left belt
542-
// No loosening: only add, never subtract below base position
543-
if ( sop < 0f )
544-
{
545-
// Tighten left
546-
leftTargetPositionTenths = Math.Clamp( leftTargetPositionTenths + (int) MathF.Round( -sop * amplitudeTenths ), minimumTenths, maximumTenths );
547-
}
548-
else if ( sop > 0f )
549-
{
550-
// Tighten right
551-
rightTargetPositionTenths = Math.Clamp( rightTargetPositionTenths + (int) MathF.Round( sop * amplitudeTenths ), minimumTenths, maximumTenths );
552-
}
541+
leftTargetPositionTenths = Math.Clamp( leftTargetPositionTenths + (int) MathF.Round( -sop * amplitudeTenths ), minimumTenths, maximumTenths );
542+
rightTargetPositionTenths = Math.Clamp( rightTargetPositionTenths + (int) MathF.Round( sop * amplitudeTenths ), minimumTenths, maximumTenths );
553543
}
554544

555545
// Update shoulder graphs if on the SBT page

MarvinsAIRARefactored/DataContext/ContextSettings.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,12 @@ public class ContextSettings
171171
public float PedalsABSEngagedFrequency { get; set; } = 0.5f;
172172
public float PedalsABSEngagedAmplitude { get; set; } = 1f;
173173
public bool PedalsABSEngagedFadeWithBrakeEnabled { get; set; } = true;
174-
public float PedalsStartingRPM { get; set; } = 1f;
174+
public float PedalsStartingRPM { get; set; } = 0.25f;
175175
public bool PedalsVibrateInTopGearEnabled { get; set; } = false;
176176
public bool PedalsFadeWithThrottleEnabled { get; set; } = true;
177177
public float PedalsShiftRPMFrequency { get; set; } = 1f;
178178
public float PedalsShiftRPMAmplitude { get; set; } = 1f;
179-
public bool PedalsShiftRPMPulsateEnabled { get; set; } = false;
179+
public bool PedalsShiftRPMPulsateEnabled { get; set; } = true;
180180
public float PedalsWheelLockFrequency { get; set; } = 0.2f;
181181
public float PedalsWheelLockSensitivity { get; set; } = 0.95f;
182182
public bool PedalsWheelLockFadeWithBrakeEnabled { get; set; } = true;
@@ -200,26 +200,26 @@ public class ContextSettings
200200

201201
#region Seat Belt Tensioner
202202

203-
public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerSurgeMode { get; set; } = Components.SeatBeltTensioner.AxisMode.Normal;
204-
public bool SeatBeltTensionerSurgeSubtractGravity { get; set; } = false;
205-
public float SeatBeltTensionerSurgeMaxG { get; set; } = 10f;
203+
public SeatBeltTensioner.AxisMode SeatBeltTensionerSurgeMode { get; set; } = SeatBeltTensioner.AxisMode.Normal;
204+
public bool SeatBeltTensionerSurgeSubtractGravity { get; set; } = true;
205+
public float SeatBeltTensionerSurgeMaxG { get; set; } = 4f;
206206
public float SeatBeltTensionerSurgeDeadZone { get; set; } = 0f;
207207
public float SeatBeltTensionerSurgeSmoothing { get; set; } = 0f;
208208
public float SeatBeltTensionerSurgeCurve { get; set; } = 0f;
209-
public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerSwayMode { get; set; } = Components.SeatBeltTensioner.AxisMode.Normal;
210-
public bool SeatBeltTensionerSwaySubtractGravity { get; set; } = false;
211-
public float SeatBeltTensionerSwayMaxG { get; set; } = 10f;
212-
public float SeatBeltTensionerSwayDeadZone { get; set; } = 0f;
209+
public SeatBeltTensioner.AxisMode SeatBeltTensionerSwayMode { get; set; } = SeatBeltTensioner.AxisMode.Normal;
210+
public bool SeatBeltTensionerSwaySubtractGravity { get; set; } = true;
211+
public float SeatBeltTensionerSwayMaxG { get; set; } = 2f;
212+
public float SeatBeltTensionerSwayDeadZone { get; set; } = 0.05f;
213213
public float SeatBeltTensionerSwaySmoothing { get; set; } = 0f;
214-
public float SeatBeltTensionerSwayCurve { get; set; } = 0f;
215-
public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerHeaveMode { get; set; } = Components.SeatBeltTensioner.AxisMode.Inverted;
214+
public float SeatBeltTensionerSwayCurve { get; set; } = 0.15f;
215+
public SeatBeltTensioner.AxisMode SeatBeltTensionerHeaveMode { get; set; } = SeatBeltTensioner.AxisMode.Normal;
216216
public bool SeatBeltTensionerHeaveSubtractGravity { get; set; } = true;
217-
public float SeatBeltTensionerHeaveMaxG { get; set; } = 10f;
218-
public float SeatBeltTensionerHeaveDeadZone { get; set; } = 0f;
219-
public float SeatBeltTensionerHeaveSmoothing { get; set; } = 0f;
220-
public float SeatBeltTensionerHeaveCurve { get; set; } = 0f;
221-
public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerSeatOfPantsMode { get; set; } = Components.SeatBeltTensioner.AxisMode.Disabled;
222-
public float SeatBeltTensionerSeatOfPantsCurve { get; set; } = 0f;
217+
public float SeatBeltTensionerHeaveMaxG { get; set; } = 1.5f;
218+
public float SeatBeltTensionerHeaveDeadZone { get; set; } = 0.05f;
219+
public float SeatBeltTensionerHeaveSmoothing { get; set; } = 0.1f;
220+
public float SeatBeltTensionerHeaveCurve { get; set; } = 0.15f;
221+
public SeatBeltTensioner.AxisMode SeatBeltTensionerSeatOfPantsMode { get; set; } = SeatBeltTensioner.AxisMode.Normal;
222+
public float SeatBeltTensionerSeatOfPantsCurve { get; set; } = 0.25f;
223223

224224
#endregion
225225
}

MarvinsAIRARefactored/DataContext/Settings.cs

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6431,7 +6431,7 @@ public bool PedalsABSEngagedFadeWithBrakeEnabled
64316431

64326432
#region Pedals - Starting RPM
64336433

6434-
private float _pedalsStartingRPM = 1f;
6434+
private float _pedalsStartingRPM = 0.25f;
64356435

64366436
public float PedalsStartingRPM
64376437
{
@@ -6625,7 +6625,7 @@ public string PedalsShiftRPMAmplitudeString
66256625

66266626
#region Pedals - Shift RPM pulsate enabled
66276627

6628-
private bool _pedalsShiftRPMPulsateEnabled = false;
6628+
private bool _pedalsShiftRPMPulsateEnabled = true;
66296629

66306630
public bool PedalsShiftRPMPulsateEnabled
66316631
{
@@ -8523,7 +8523,7 @@ public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerSurgeMode
85238523

85248524
#region Seat Belt Tensioner - Surge Subtract Gravity
85258525

8526-
private bool _seatBeltTensionerSurgeSubtractGravity = false;
8526+
private bool _seatBeltTensionerSurgeSubtractGravity = true;
85278527

85288528
public bool SeatBeltTensionerSurgeSubtractGravity
85298529
{
@@ -8546,7 +8546,7 @@ public bool SeatBeltTensionerSurgeSubtractGravity
85468546

85478547
#region Seat Belt Tensioner - Surge Max G
85488548

8549-
private float _seatBeltTensionerSurgeMaxG = 10f;
8549+
private float _seatBeltTensionerSurgeMaxG = 4f;
85508550

85518551
public float SeatBeltTensionerSurgeMaxG
85528552
{
@@ -8733,7 +8733,7 @@ public string SeatBeltTensionerSurgeCurveString
87338733

87348734
#region Seat Belt Tensioner - Sway Mode
87358735

8736-
private Components.SeatBeltTensioner.AxisMode _seatBeltTensionerSwayMode = Components.SeatBeltTensioner.AxisMode.Disabled;
8736+
private Components.SeatBeltTensioner.AxisMode _seatBeltTensionerSwayMode = Components.SeatBeltTensioner.AxisMode.Normal;
87378737

87388738
public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerSwayMode
87398739
{
@@ -8756,7 +8756,7 @@ public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerSwayMode
87568756

87578757
#region Seat Belt Tensioner - Sway Subtract Gravity
87588758

8759-
private bool _seatBeltTensionerSwaySubtractGravity = false;
8759+
private bool _seatBeltTensionerSwaySubtractGravity = true;
87608760

87618761
public bool SeatBeltTensionerSwaySubtractGravity
87628762
{
@@ -8779,7 +8779,7 @@ public bool SeatBeltTensionerSwaySubtractGravity
87798779

87808780
#region Seat Belt Tensioner - Sway Max G
87818781

8782-
private float _seatBeltTensionerSwayMaxG = 10f;
8782+
private float _seatBeltTensionerSwayMaxG = 2f;
87838783

87848784
public float SeatBeltTensionerSwayMaxG
87858785
{
@@ -8824,7 +8824,7 @@ public string SeatBeltTensionerSwayMaxGString
88248824

88258825
#region Seat Belt Tensioner - Sway Dead Zone
88268826

8827-
private float _seatBeltTensionerSwayDeadZone = 0f;
8827+
private float _seatBeltTensionerSwayDeadZone = 0.05f;
88288828

88298829
public float SeatBeltTensionerSwayDeadZone
88308830
{
@@ -8914,7 +8914,7 @@ public string SeatBeltTensionerSwaySmoothingString
89148914

89158915
#region Seat Belt Tensioner - Sway Curve
89168916

8917-
private float _seatBeltTensionerSwayCurve = 0f;
8917+
private float _seatBeltTensionerSwayCurve = 0.15f;
89188918

89198919
public float SeatBeltTensionerSwayCurve
89208920
{
@@ -8966,9 +8966,9 @@ public string SeatBeltTensionerSwayCurveString
89668966

89678967
#region Seat Belt Tensioner - Heave Mode
89688968

8969-
private Components.SeatBeltTensioner.AxisMode _seatBeltTensionerHeaveMode = Components.SeatBeltTensioner.AxisMode.Inverted;
8969+
private SeatBeltTensioner.AxisMode _seatBeltTensionerHeaveMode = SeatBeltTensioner.AxisMode.Normal;
89708970

8971-
public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerHeaveMode
8971+
public SeatBeltTensioner.AxisMode SeatBeltTensionerHeaveMode
89728972
{
89738973
get => _seatBeltTensionerHeaveMode;
89748974

@@ -9012,7 +9012,7 @@ public bool SeatBeltTensionerHeaveSubtractGravity
90129012

90139013
#region Seat Belt Tensioner - Heave Max G
90149014

9015-
private float _seatBeltTensionerHeaveMaxG = 10f;
9015+
private float _seatBeltTensionerHeaveMaxG = 1.5f;
90169016

90179017
public float SeatBeltTensionerHeaveMaxG
90189018
{
@@ -9057,7 +9057,7 @@ public string SeatBeltTensionerHeaveMaxGString
90579057

90589058
#region Seat Belt Tensioner - Heave Dead Zone
90599059

9060-
private float _seatBeltTensionerHeaveDeadZone = 0f;
9060+
private float _seatBeltTensionerHeaveDeadZone = 0.05f;
90619061

90629062
public float SeatBeltTensionerHeaveDeadZone
90639063
{
@@ -9102,7 +9102,7 @@ public string SeatBeltTensionerHeaveDeadZoneString
91029102

91039103
#region Seat Belt Tensioner - Heave Smoothing
91049104

9105-
private float _seatBeltTensionerHeaveSmoothing = 0f;
9105+
private float _seatBeltTensionerHeaveSmoothing = 0.1f;
91069106

91079107
public float SeatBeltTensionerHeaveSmoothing
91089108
{
@@ -9147,7 +9147,7 @@ public string SeatBeltTensionerHeaveSmoothingString
91479147

91489148
#region Seat Belt Tensioner - Heave Curve
91499149

9150-
private float _seatBeltTensionerHeaveCurve = 0f;
9150+
private float _seatBeltTensionerHeaveCurve = 0.15f;
91519151

91529152
public float SeatBeltTensionerHeaveCurve
91539153
{
@@ -9199,9 +9199,9 @@ public string SeatBeltTensionerHeaveCurveString
91999199

92009200
#region Seat Belt Tensioner - Seat of Pants Effect
92019201

9202-
private Components.SeatBeltTensioner.AxisMode _seatBeltTensionerSeatOfPantsMode = Components.SeatBeltTensioner.AxisMode.Normal;
9202+
private SeatBeltTensioner.AxisMode _seatBeltTensionerSeatOfPantsMode = SeatBeltTensioner.AxisMode.Normal;
92039203

9204-
public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerSeatOfPantsMode
9204+
public SeatBeltTensioner.AxisMode SeatBeltTensionerSeatOfPantsMode
92059205
{
92069206
get => _seatBeltTensionerSeatOfPantsMode;
92079207

@@ -9218,7 +9218,7 @@ public Components.SeatBeltTensioner.AxisMode SeatBeltTensionerSeatOfPantsMode
92189218

92199219
public ContextSwitches SeatBeltTensionerSeatOfPantsModeContextSwitches { get; set; } = new( false, false, false, false, false );
92209220

9221-
private float _seatBeltTensionerSeatOfPantsAmplitude = 30f;
9221+
private float _seatBeltTensionerSeatOfPantsAmplitude = 120f;
92229222

92239223
public float SeatBeltTensionerSeatOfPantsAmplitude
92249224
{
@@ -9257,7 +9257,7 @@ public string SeatBeltTensionerSeatOfPantsAmplitudeString
92579257
}
92589258
}
92599259

9260-
private float _seatBeltTensionerSeatOfPantsCurve = 0f;
9260+
private float _seatBeltTensionerSeatOfPantsCurve = 0.25f;
92619261

92629262
public float SeatBeltTensionerSeatOfPantsCurve
92639263
{
@@ -12990,7 +12990,6 @@ public string SpeechToTextElevenLabsApiKey
1299012990

1299112991
#endregion
1299212992

12993-
1299412993
#region Commentary — ElevenLabs Model
1299512994

1299612995
private string _commentaryElevenLabsModelId = "";

MarvinsAIRARefactored/Pages/SeatBeltTensionerPage.xaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
Value="{Binding Settings.SeatBeltTensionerSurgeMaxG, Mode=TwoWay}"
158158
ValueString="{Binding Settings.SeatBeltTensionerSurgeMaxGString}"
159159
StepSize="0.1"
160-
DefaultValue="10"
160+
DefaultValue="4"
161161
ContextSwitches="{Binding Settings.SeatBeltTensionerSurgeMaxGContextSwitches}" />
162162

163163
<controls:MairaKnob Margin="0,10,0,0"
@@ -282,15 +282,15 @@
282282
Value="{Binding Settings.SeatBeltTensionerSwayMaxG, Mode=TwoWay}"
283283
ValueString="{Binding Settings.SeatBeltTensionerSwayMaxGString}"
284284
StepSize="0.1"
285-
DefaultValue="10"
285+
DefaultValue="2"
286286
ContextSwitches="{Binding Settings.SeatBeltTensionerSwayMaxGContextSwitches}" />
287287

288288
<controls:MairaKnob Margin="0,10,0,0"
289289
Label="{Binding Localization[DeadZone]}"
290290
Value="{Binding Settings.SeatBeltTensionerSwayDeadZone, Mode=TwoWay}"
291291
ValueString="{Binding Settings.SeatBeltTensionerSwayDeadZoneString}"
292292
StepSize="0.01"
293-
DefaultValue="0"
293+
DefaultValue="0.05"
294294
ContextSwitches="{Binding Settings.SeatBeltTensionerSwayDeadZoneContextSwitches}" />
295295

296296
<controls:MairaKnob Margin="0,10,0,0"
@@ -306,7 +306,7 @@
306306
Value="{Binding Settings.SeatBeltTensionerSwayCurve, Mode=TwoWay}"
307307
ValueString="{Binding Settings.SeatBeltTensionerSwayCurveString}"
308308
StepSize="0.01"
309-
DefaultValue="0"
309+
DefaultValue="0.15"
310310
ShowCurve="True"
311311
ContextSwitches="{Binding Settings.SeatBeltTensionerSwayCurveContextSwitches}" />
312312

@@ -407,31 +407,31 @@
407407
Value="{Binding Settings.SeatBeltTensionerHeaveMaxG, Mode=TwoWay}"
408408
ValueString="{Binding Settings.SeatBeltTensionerHeaveMaxGString}"
409409
StepSize="0.1"
410-
DefaultValue="10"
410+
DefaultValue="1.5"
411411
ContextSwitches="{Binding Settings.SeatBeltTensionerHeaveMaxGContextSwitches}" />
412412

413413
<controls:MairaKnob Margin="0,10,0,0"
414414
Label="{Binding Localization[DeadZone]}"
415415
Value="{Binding Settings.SeatBeltTensionerHeaveDeadZone, Mode=TwoWay}"
416416
ValueString="{Binding Settings.SeatBeltTensionerHeaveDeadZoneString}"
417417
StepSize="0.01"
418-
DefaultValue="0"
418+
DefaultValue="0.05"
419419
ContextSwitches="{Binding Settings.SeatBeltTensionerHeaveDeadZoneContextSwitches}" />
420420

421421
<controls:MairaKnob Margin="0,10,0,0"
422422
Label="{Binding Localization[Smoothing]}"
423423
Value="{Binding Settings.SeatBeltTensionerHeaveSmoothing, Mode=TwoWay}"
424424
ValueString="{Binding Settings.SeatBeltTensionerHeaveSmoothingString}"
425425
StepSize="0.01"
426-
DefaultValue="0"
426+
DefaultValue="0.1"
427427
ContextSwitches="{Binding Settings.SeatBeltTensionerHeaveSmoothingContextSwitches}" />
428428

429429
<controls:MairaKnob Margin="0,10,0,0"
430430
Label="{Binding Localization[Curve]}"
431431
Value="{Binding Settings.SeatBeltTensionerHeaveCurve, Mode=TwoWay}"
432432
ValueString="{Binding Settings.SeatBeltTensionerHeaveCurveString}"
433433
StepSize="0.01"
434-
DefaultValue="0"
434+
DefaultValue="0.15"
435435
ShowCurve="True"
436436
ContextSwitches="{Binding Settings.SeatBeltTensionerHeaveCurveContextSwitches}" />
437437

@@ -546,14 +546,14 @@
546546
Value="{Binding Settings.SeatBeltTensionerSeatOfPantsAmplitude, Mode=TwoWay}"
547547
ValueString="{Binding Settings.SeatBeltTensionerSeatOfPantsAmplitudeString}"
548548
StepSize="1"
549-
DefaultValue="30" />
549+
DefaultValue="120" />
550550

551551
<controls:MairaKnob Margin="0,10,0,0"
552552
Label="{Binding Localization[Curve]}"
553553
Value="{Binding Settings.SeatBeltTensionerSeatOfPantsCurve, Mode=TwoWay}"
554554
ValueString="{Binding Settings.SeatBeltTensionerSeatOfPantsCurveString}"
555555
StepSize="0.01"
556-
DefaultValue="0"
556+
DefaultValue="0.25"
557557
ShowCurve="True"
558558
ContextSwitches="{Binding Settings.SeatBeltTensionerSeatOfPantsCurveContextSwitches}" />
559559

0 commit comments

Comments
 (0)