KB gotcha: dropped mid-sequence call passes first-use tests (issue #42 lesson)
This commit is contained in:
@@ -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.)
|
||||
|
||||
Reference in New Issue
Block a user