diff --git a/restoration/source410/BT_L4/GAUGE-BLOCK.NOTES.md b/restoration/source410/BT_L4/GAUGE-BLOCK.NOTES.md index 80abd11a..59a2713a 100644 --- a/restoration/source410/BT_L4/GAUGE-BLOCK.NOTES.md +++ b/restoration/source410/BT_L4/GAUGE-BLOCK.NOTES.md @@ -860,3 +860,65 @@ WHAT IS LEFT, LARGEST FIRST: we never build at all. Zero extra means nothing we draw there is wrong, so this is a build-it wave, not a fix-it one. * Heat (483 / 80) and the MFD remainders (~270 / ~34) -- fine detail. + +-------------------------------------------------------------------------------- +5.3.39 -- THE COMM PAGE GOES EXACT, and what the session leaves open +-------------------------------------------------------------------------------- +Final state of the cockpit against the shipped 4.10 binary: + + head shipped ours missing extra + Eng1 17981 17981 0 0 EXACT + Eng2 17981 17981 0 0 EXACT + Eng3 17981 17981 0 0 EXACT + Comm 15656 15656 0 0 EXACT + Mfd3 32146 32128 31 13 + Mfd2 40799 40716 97 14 + Mfd1 41784 41651 140 7 + overlay 3283 3310 55 82 + Heat 21374 20971 483 80 + sec 35423 35676 417 670 (the 3-D scene) + +Whole frame: 98.9% pixel-identical / 99% coverage, from 89.7% / 92%. + +THE COMM FIX closed the last artifact this session opened with. Slot 0 of +PilotList is the OWN ROW, not a roster slot -- its layout entry is the odd +one out ({180,225} at layout mode 0, KILLS/DEATHS at +0x95/+0xe8 against the +strip boxes' +0x48) and the shipped page fills it with the local pilot while +the seven strip boxes stay empty in a solo mission. The original ungated +walk was feeding the mission player into the STRIP slots, which is exactly +why gating the roster removed wrong pixels yet left the centre row missing: +both halves of that puzzle were true at once. The own row also takes +Mission's LARGE name raster, not the small one -- with the small one +"Aeolus" drew visibly undersized and low in its box. + +BINDING AUDIT (BT_GAUGE_ATTR_LOG, this build): 31 CFG bindings resolve, ZERO +NULL. Every attribute the cockpit config asks for is live. Note the audit +only covers the CFG parse path (GAUGREND ParseAttribute) -- the clusters' +own ScalarAttributeOf calls do not appear there, though all four heat names +they ask for (CurrentTemperature / DegradationTemperature / +FailureTemperature / CoolantMassLeakRate) are published in HEAT.CPP. + +WHAT IS STILL OPEN, IN THE ORDER I WOULD TAKE THEM: + + 1. sec (417 missing / 670 extra) -- the 3-D scene head. This is btl4vid, + the world renderer, and no amount of gauge work moves it. The next big + climb, and the last one. + + 2. The leak-gauge hatch (~480px, and the bulk of what is left on Heat and + the MFDs). Shipped paints a small hatched block at the foot of every + LEAK column; ours paints nothing. At zero leak BitMapInverseWipe takes + its level<1 branch and draws frame 0 in colorA -- and colorA is 0 at + every call site, cluster and CFG alike. Worth checking the CFG + parameter order before touching the widget: the config passes + LeakGauge(port, mode, eleak.pcc, 0, 255, 3, .15, @6), i.e. TWO values + between the colours and the attribute, while our ctor takes + (color_a, color_b, third_in, frames_in, value) with the cluster sites + passing third=0, frames=3. If Make maps those positionally the .15 and + the 3 may be landing in the wrong parameters, which would also explain + fullWidth clamping every level to 0. + + 3. The COOLANT A / S numerals on the Heat head (shipped reads 300 and 33x; + ours differ) -- a heat-model value question, not a rendering one. + + 4. MFD remainders: ~270 missing / ~34 extra across the three heads, mostly + the same leak hatch as (2).