#118: the eject slot graphic lands -- BitMapInverseWipeScalar reconstructed
The operator's field report ("eject slot flashing but no graphic in it") was
the tracked-NULL bring-up stub in BallisticWeaponCluster. Reconstructed the
missing gauge class from the binary:
- BitMapInverseWipeScalar @004c61c8 (vtable 0x518a14; base @004c5e84,
Execute @004c5fb8, BecameActive @004c5fa4): a bitmap COLUMN SWEEP whose
level tracks a live Scalar -- two spans with INVERTED colour pairs,
[0..level] fg colorA / bg colorB, remainder the inverse.
- Wired per the binary call site (part_014.c:2312): bteejtm.pcc at (0xF,0)
on the weapon's eng port, colours 0/0xFF, watching the weapon's
PercentOfEject (@0x3F8, the round-eject 0..1 progress) via a new
complete-type bridge BTWeaponPercentOfEjectPtr (databinding rule).
At idle (level 0) the EJECT graphic now renders in the slot; during a
round-eject cycle it sweeps with the countdown. BTEEJTM.PCC ships in
content/GAUGE (the loose gauge bitmap set). Smoke-tested: constructs clean.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
611b1a8bbd
commit
751b1159b5
@@ -268,6 +268,17 @@ void *
|
||||
? (void *)((ProjectileWeapon *)weapon)->ammoBinLink.Resolve() : 0;
|
||||
}
|
||||
|
||||
// Eject-wipe gauge bridge (#118): the BallisticWeaponCluster's
|
||||
// BitMapInverseWipeScalar watches the weapon's PercentOfEject (@0x3F8, the
|
||||
// binary passes param_8+0x3f8 straight into the @004c61c8 ctor). Complete-
|
||||
// type TU per the databinding rule -- never raw-offset a compiled object.
|
||||
Scalar *
|
||||
BTWeaponPercentOfEjectPtr(void *weapon)
|
||||
{
|
||||
return (weapon != 0)
|
||||
? &((ProjectileWeapon *)weapon)->percentOfEject : 0;
|
||||
}
|
||||
|
||||
|
||||
//#############################################################################
|
||||
// Construction / Destruction
|
||||
|
||||
Reference in New Issue
Block a user