Torso-elevation aim LIVE: R/F now pitches the view + aim ray (pitch was inert)
User + tester reports: pitch does not work. Root cause: the Torso sim integrated the R/F / stick-Y axis into currentElevation (authored limits and rates all correct) but NOTHING consumed it -- eyepointRotation's only writer was the look-state switch, so neither the cockpit view nor the aim ray (camera basis) ever pitched. Shots always flew level; low targets (trucks) were unhittable. Fix (faithful: the pod's stick-Y pitches the EYE; the torso geometry does not tilt): per-frame compose in the HUD tick -- eyepointRotation = EulerAngles(lookPitch + torsoElevation, lookYaw, 0); BTCommitLookState now stores its look component in gBTLookPitch/Yaw; new complete-type bridge BTGetTorsoElevation (torso.cpp, mirrors BTGetTorsoTwist). DPLEyeRenderable consumes it every frame, so the view and the boresight aim pitch together (crosshair stays screen-centred). Sign PIXEL-CALIBRATED via new diag BT_FORCE_ELEV=<-1..1> (pins the axis headless): screenshots confirm axis +1 (key R) = aim UP, -1 (F) = down. X still recenters. Awaiting human verification. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
6f6a39b8c9
commit
b85afed925
@@ -1040,6 +1040,18 @@ Scalar BTGetTorsoTwist(Subsystem *torso)
|
||||
return torso ? ((Torso *)torso)->CurrentTwist() : 0.0f;
|
||||
}
|
||||
|
||||
//
|
||||
// Live torso ELEVATION (pitch aim, rad) -- Torso::currentElevation == the
|
||||
// binary torso+0x1E4. Same complete-type-TU bridge pattern as
|
||||
// BTGetTorsoTwist above. Consumed by the per-frame eyepoint compose
|
||||
// (mech4.cpp): the R/F / stick-Y aim pitches the EYE only -- the torso
|
||||
// geometry does not tilt, exactly like the pod.
|
||||
//
|
||||
Scalar BTGetTorsoElevation(Subsystem *torso)
|
||||
{
|
||||
return torso ? ((Torso *)torso)->CurrentElevation() : 0.0f;
|
||||
}
|
||||
|
||||
//
|
||||
// Task #56 bridge -- ADDRESS of the live torso twist for the gyro's external-
|
||||
// pitch pointer (binary bt_mech stream tail: gyro+0x258 = torso+0x1D8; the gyro
|
||||
|
||||
Reference in New Issue
Block a user