Skip to content

AC airborne detection rarely triggers and doesn't hold #31

Description

@Mhytee

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomershelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions