#36 ported the original's brake step (0x43D38E–0x43D47D) as applyBrakeRateNoseReaim. It applies it in computeNewAirUnitVelocity only, which covers the flying state and take-off. RWE's other air states steer with their own functions, and those are untouched (UnitBehaviorService_util.h):
computeNewAttackRunVelocity (bomber run)
computeNewHoverAttackVelocity (gunship ring)
computeNewDogfightVelocity (fighter)
First, from the listing: do the original's attack missions go through the same per-tick air movement routine that contains 0x43D38E, or through their own? docs/TOTALA-EXE-MISSIONS.md has the mission table (0x4FCA18) and the handlers. If they share the routine, the brake applies to every one of them, after drag and before the steering, as #36 found for flying.
Then port it wherever the original applies it. Add a test per state with real FBI values from rev31.gp3 (ARMFIG, CORVAMP, ARMTHUND, ARMBRAWL), in the style of brakerate.test.cpp. The existing bomber, gunship and fighter tests pin decoded geometry, so any that move need a reason rather than a new number.
🤖 Generated with Claude Code
https://claude.ai/code/session_018moxVoyHDBoHqkw8uqS3HX
#36 ported the original's brake step (
0x43D38E–0x43D47D) asapplyBrakeRateNoseReaim. It applies it incomputeNewAirUnitVelocityonly, which covers the flying state and take-off. RWE's other air states steer with their own functions, and those are untouched (UnitBehaviorService_util.h):computeNewAttackRunVelocity(bomber run)computeNewHoverAttackVelocity(gunship ring)computeNewDogfightVelocity(fighter)First, from the listing: do the original's attack missions go through the same per-tick air movement routine that contains
0x43D38E, or through their own?docs/TOTALA-EXE-MISSIONS.mdhas the mission table (0x4FCA18) and the handlers. If they share the routine, the brake applies to every one of them, after drag and before the steering, as #36 found for flying.Then port it wherever the original applies it. Add a test per state with real FBI values from
rev31.gp3(ARMFIG, CORVAMP, ARMTHUND, ARMBRAWL), in the style ofbrakerate.test.cpp. The existing bomber, gunship and fighter tests pin decoded geometry, so any that move need a reason rather than a new number.🤖 Generated with Claude Code
https://claude.ai/code/session_018moxVoyHDBoHqkw8uqS3HX