Issue
Airborne ducking doesn't work in AC: the current detector (all four
wheelLoad[] below 1.0 N, checked per frame, AcSharedMemoryTelemetrySource.cs)
rarely sets the airborne flag and doesn't hold it through a flight.
Test
In AC, set airborne ducking to duck ALL effects at full reduction, so there
should be no haptics at all while airborne. Jump, and also watch the
airborne/grounded edge lines in the SimHub log.
- Before fix: haptics continue or flicker back mid-air; the log shows no
airborne window or millisecond blips per jump.
- After fix: all haptics cut from takeoff to touchdown and return on landing;
the log shows one airborne window covering the whole flight. Normal driving
(kerbs, bumps, standing start) shows no airborne windows.
Fix
Replace the wheelLoad threshold with frozen-value detection: AC stops
updating a wheel's wheelSlip[] entry while that wheel is off the ground, so
all four entries bit-identical to the previous physics frame = airborne.
Proven in Content Manager (gro-ove/actools SessionStats.cs), which also
distinguishes wheelies/two-wheel states from partial freezes. Gate on speed:
a parked car's slip values are also frozen.
Keep the airborne/grounded edge logging so window lengths are verifiable.
Related: #30, #32.
Issue
Airborne ducking doesn't work in AC: the current detector (all four
wheelLoad[] below 1.0 N, checked per frame, AcSharedMemoryTelemetrySource.cs)
rarely sets the airborne flag and doesn't hold it through a flight.
Test
In AC, set airborne ducking to duck ALL effects at full reduction, so there
should be no haptics at all while airborne. Jump, and also watch the
airborne/grounded edge lines in the SimHub log.
airborne window or millisecond blips per jump.
the log shows one airborne window covering the whole flight. Normal driving
(kerbs, bumps, standing start) shows no airborne windows.
Fix
Replace the wheelLoad threshold with frozen-value detection: AC stops
updating a wheel's wheelSlip[] entry while that wheel is off the ground, so
all four entries bit-identical to the previous physics frame = airborne.
Proven in Content Manager (gro-ove/actools SessionStats.cs), which also
distinguishes wheelies/two-wheel states from partial freezes. Gate on speed:
a parked car's slip values are also frozen.
Keep the airborne/grounded edge logging so window lengths are verifiable.
Related: #30, #32.