fix(ui): restore original high-score windows

Replace modern overlays with the reconstructed HighScore child and DIALOG 32514 topology, exact DAT993 background, row coordinates, original strings, unpadded scores, and 21-character edit behavior. Restore OK/Cancel semantics, including Escape preserving the prefilled name and allowing an accepted empty name, with deterministic screenshot scenarios.

Test Plan:
- cargo test --all-targets
- cargo clippy --all-targets --all-features -- -D warnings
- rumdl check CHANGELOG.md RECONSTRUCTION.md README.md
- cargo run --quiet -- --simulate highscores --step 0 --screenshot /tmp/tdkpin-highscores.png
- cargo run --quiet -- --simulate name-entry --step 0 --screenshot /tmp/tdkpin-name-entry.png
- git diff --check
This commit is contained in:
2026-08-23 19:09:28 +02:00
parent c80f5e2136
commit fae322bb91
8 changed files with 148 additions and 54 deletions
+4
View File
@@ -10,6 +10,10 @@ and this project adheres to
### Fixed
- Replace modern high-score/name overlays with the reconstructed `HighScore`
child: exact DAT993 360x300 background, heading/row coordinates, unpadded
scores, and DIALOG 32514 caption, prompt, 21-character edit, OK, and Cancel.
Escape now follows original Cancel semantics and empty names are accepted.
- Restore the staged loading presentation by blitting original DAT994 over
DAT995 at `(202,328)`, height 13 and clipped width `(stage-1)*7`; correct the
previously impossible Pascal-order C interpretation of a 328x202 blit.