1
0
Fork 0
forked from aly/qstbak

muffin v7.5.11

This commit is contained in:
alydev 2026-08-17 20:29:32 +10:00
parent addf2d530f
commit 3102923ce2
522 changed files with 41082 additions and 211592 deletions

View file

@ -25,58 +25,22 @@ public sealed class StallDetector(StallDetectorOptions options)
public StallVerdict? Observe(in StallSample sample)
{
int num = (sample.Driving ? 860999294 : 860999280);
bool flag = default(bool);
while (true)
if (!sample.Driving)
{
int num2 = num;
int num3 = 860999289;
int num4 = num2;
int num5;
switch ((num4 | num3) - (num4 & num3))
{
case 8:
num5 = (sample.DistanceToTarget.HasValue ? 1 : 0);
goto IL_0163;
case 4:
num = ((sample.TimestampMs - _lastDrivenMs > options.ContinuityGapMs) ? 860999295 : 860999282);
break;
case 1:
return ObserveProgress(in sample);
case 11:
num = ((sample.Mode != _anchorMode) ? 860999295 : 860999289);
break;
case 10:
return ObserveDisplacement(in sample);
case 7:
num = ((sample.Mode == DriveMode.Ground) ? 860999292 : 860999281);
break;
case 2:
num = 860999280;
break;
case 6:
Anchor(in sample, flag);
return null;
case 9:
return null;
case 0:
num = ((flag == _anchorUsesProgress) ? 860999290 : 860999295);
break;
case 5:
num5 = 0;
goto IL_0163;
case 3:
{
_lastDrivenMs = sample.TimestampMs;
num = (flag ? 860999288 : 860999283);
break;
}
IL_0163:
flag = (byte)num5 != 0;
num = ((!_hasAnchor) ? 860999295 : 860999293);
break;
}
return null;
}
bool flag = sample.Mode != DriveMode.Ground && sample.DistanceToTarget.HasValue;
if (!_hasAnchor || sample.TimestampMs - _lastDrivenMs > options.ContinuityGapMs || sample.Mode != _anchorMode || flag != _anchorUsesProgress)
{
Anchor(in sample, flag);
return null;
}
_lastDrivenMs = sample.TimestampMs;
if (!flag)
{
return ObserveDisplacement(in sample);
}
return ObserveProgress(in sample);
}
public void Reset()
@ -88,118 +52,53 @@ public sealed class StallDetector(StallDetectorOptions options)
private StallVerdict? ObserveProgress(in StallSample sample)
{
float value = sample.DistanceToTarget.Value;
int num = ((!(value < _bestDistance)) ? 755996687 : 755996681);
long num7 = default(long);
float num8 = default(float);
while (true)
if (value < _bestDistance)
{
int num2 = num;
int num3 = 755996685;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 755996681;
break;
case 3:
return null;
case 6:
return Trip(in sample, num7, num8);
case 2:
num8 = _referenceBestDistance - _bestDistance;
num = ((!(num8 >= options.ProgressImprovementThreshold)) ? 755996684 : 755996680);
break;
case 5:
_referenceBestDistance = _bestDistance;
_anchorMs = sample.TimestampMs;
_anchorPosition = sample.Position;
return null;
case 1:
num7 = sample.TimestampMs - _anchorMs;
num = ((num7 < options.ProgressWindowMs) ? 755996686 : 755996683);
break;
case 4:
_bestDistance = value;
num = 755996687;
break;
}
_bestDistance = value;
}
float num = _referenceBestDistance - _bestDistance;
if (num >= options.ProgressImprovementThreshold)
{
_referenceBestDistance = _bestDistance;
_anchorMs = sample.TimestampMs;
_anchorPosition = sample.Position;
return null;
}
long num2 = sample.TimestampMs - _anchorMs;
if (num2 >= options.ProgressWindowMs)
{
return Trip(in sample, num2, num);
}
return null;
}
private StallVerdict? ObserveDisplacement(in StallSample sample)
{
int num = ((sample.Mode == DriveMode.Ground) ? 508532326 : 508532323);
long num9 = default(long);
float num8 = default(float);
while (true)
float num = ((sample.Mode == DriveMode.Ground) ? DistanceXZ(_anchorPosition, sample.Position) : Vector3.Distance(_anchorPosition, sample.Position));
if (num >= options.GroundDistanceThreshold)
{
int num2 = num;
int num3 = 508532327;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
float num7;
switch (num5 - (num6 + num6))
{
case 2:
num9 = sample.TimestampMs - _anchorMs;
num = ((num9 < options.GroundWindowMs) ? 508532324 : 508532322);
break;
case 5:
return Trip(in sample, num9, num8);
case 1:
num7 = DistanceXZ(_anchorPosition, sample.Position);
goto IL_00ae;
case 3:
return null;
case 0:
num = 508532323;
break;
case 4:
num7 = Vector3.Distance(_anchorPosition, sample.Position);
goto IL_00ae;
case 6:
{
_anchorMs = sample.TimestampMs;
_anchorPosition = sample.Position;
return null;
}
IL_00ae:
num8 = num7;
num = ((!(num8 >= options.GroundDistanceThreshold)) ? 508532325 : 508532321);
break;
}
_anchorMs = sample.TimestampMs;
_anchorPosition = sample.Position;
return null;
}
long num2 = sample.TimestampMs - _anchorMs;
if (num2 >= options.GroundWindowMs)
{
return Trip(in sample, num2, num);
}
return null;
}
private StallVerdict? Trip(in StallSample sample, long elapsedMs, float measured)
{
bool num = sample.TimestampMs < _cooldownUntilMs;
Anchor(in sample, _anchorUsesProgress);
int num2 = ((!num) ? (-1156731677) : (-1156731680));
while (true)
if (num)
{
int num3 = num2;
int num4 = -1156731679;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 2:
_cooldownUntilMs = sample.TimestampMs + options.CooldownMs;
return new StallVerdict(elapsedMs, measured, sample.Mode);
case 1:
return null;
case 0:
goto IL_0092;
}
continue;
IL_0092:
num2 = -1156731680;
return null;
}
_cooldownUntilMs = sample.TimestampMs + options.CooldownMs;
return new StallVerdict(elapsedMs, measured, sample.Mode);
}
private void Anchor(in StallSample sample, bool usesProgress)
@ -217,11 +116,6 @@ public sealed class StallDetector(StallDetectorOptions options)
{
float num = a.X - b.X;
float num2 = a.Z - b.Z;
return _206A_202D_200C_206C_206C_206B_202D_202E_206B_200B_200B_206F_206F_202B_200D_200F_206A_202C_200C_202A_202D_202C_200B_206F_206F_200F_206F_206B_206E_200D_202C_200C_200D_206F_202A_202D_202D_200B_200D_202C_202E(num * num + num2 * num2);
}
static float _206A_202D_200C_206C_206C_206B_202D_202E_206B_200B_200B_206F_206F_202B_200D_200F_206A_202C_200C_202A_202D_202C_200B_206F_206F_200F_206F_206B_206E_200D_202C_200C_200D_206F_202A_202D_202D_200B_200D_202C_202E(float P_0)
{
return MathF.Sqrt(P_0);
return MathF.Sqrt(num * num + num2 * num2);
}
}