Gauges: convert generator-voltage bar to named-member bridge
The eng-page generator-voltage bar (evolt.pcc, ScalarBarGauge @004c721c) and the MyomerCluster seek-voltage graph were fed by GeneratorVoltageConnection, which walked the same dead path as the generator-letter lamp: ResolveLink(AttributePointerOf(subsystem,"InputVoltage")) -> read resolved +0x1DC == Generator::outputVoltage. The BT_DEV_GAUGES audio attribute rows shifted the chained attribute ids so AttributePointerOf no longer lands on voltageSource@0x1D0 -> the bar always read 0. New BTGeneratorVoltage(subsystem) bridge (powersub.cpp) reads the NAMED member via PoweredSubsystem::ResolveVoltageSource()->Generator::MeasuredVoltage() (outputVoltage@0x1DC), bypassing the attribute table -- same pattern as BTPowerSourceFrame/BTCoolingLoopFrame. Both GeneratorVoltageConnection callers (the ScalarBarGauge param + the MyomerCluster seekValue) now pass subsystem_in. [voltfeed]-verified: Myomers -> 10000V from GeneratorD (was 0 on the dead path). Both pod + glass builds clean. Eng-page render awaiting live playtest. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
8c7ff639de
commit
f2eaf3d0ac
@@ -162,10 +162,15 @@ independent bugs stacked (all fixed, commit e634709):
|
||||
now passes `subsystem_in` (not the `InputVoltage` attribute slot). **Lesson: gauge value feeds
|
||||
must read named members through a complete-type bridge, NOT `AttributePointerOf`+`ResolveLink`
|
||||
— the attribute table's chained ids are unstable under the audio rows.** The eng-page
|
||||
`GeneratorVoltageConnection` (evolt voltage bar, btl4gau2.cpp:1737) still uses the same
|
||||
`AttributePointerOf("InputVoltage")` path and is the remaining sibling to convert.
|
||||
generator-voltage bar + MyomerCluster seek-voltage graph (`GeneratorVoltageConnection`,
|
||||
evolt.pcc, btl4gau2.cpp:806/1750) were on the same dead path and are now converted the same
|
||||
way -> `BTGeneratorVoltage(subsystem)` reads `Generator::MeasuredVoltage()`
|
||||
(outputVoltage@0x1DC); `[voltfeed]`-verified (Myomers -> 10000V from GeneratorD). Still on the
|
||||
OLD path but NOT yet converted (different attribute, direct read, not confirmed broken): the
|
||||
GeneratorCluster + EnergyWeaponCluster bars that read `AttributePointerOf(subsystem,
|
||||
"OutputVoltage")` directly (btl4gau2.cpp:968, ~1920).
|
||||
Diagnostics retained (env `BT_LOOP_LOG`): `[loopfeed]` (BTCoolingLoopFrame) + `[busfeed]`
|
||||
(BTPowerSourceFrame) print each lamp's resolved frame + source.
|
||||
(BTPowerSourceFrame) + `[voltfeed]` (BTGeneratorVoltage) print each widget's resolved value + source.
|
||||
**HUMAN-VERIFIED live 2026-07-21** (pod build, solo ARENA1 cockpit): the loop number + generator
|
||||
letter boxes render correctly on the weapon panels.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user