KB gotcha: dropped mid-sequence call passes first-use tests (issue #42 lesson)

This commit is contained in:
arcattack
2026-07-24 09:25:49 -05:00
parent a35cef4c01
commit 85ac54fcee
+11
View File
@@ -534,3 +534,14 @@ segment tables) — the same class of latent overflow.
## Key Relationships
- Applies to: every topic that reconstructs a class ([[subsystems]], [[combat-damage]], [[gauges-hud]], [[locomotion]]).
- Uses: [[decomp-reference]] (offsets/ClassIDs), [[reconstruction-method]] (the loop).
## Dropped mid-sequence call = first-use-works-by-accident (issue #42, 2026-07-24)
A transcription that drops ONE call from a decomp sequence can pass every first-look test:
ConfigMapGauge's redraw dropped the binary's `MoveToAbsolute(0,0)` (@004c6f1c, vtbl+0x24
between SetColor and the blit) -- the FIRST draw landed correctly because the fresh view
cursor happened to sit at the origin; only a FORCED REDRAW (the DISPLAY page round-trip)
exposed the stale-cursor blit as an offset ghost. LESSON: when transcribing a draw/IO
sequence, verify EVERY vtbl call in the decomp is present -- and test the REDRAW/second-use
path, not just first render. (Live-pinned by the operator's exact repro; bisect showed it
was never a regression -- it shipped with the feature.)