fix(game): restore the 281-frame panel sequence
Replace the immediate five-hole cleanup with the original 281-callback panel state machine. Suspend physics, clear contact/item state at the recovered boundaries, and emit WAVE 2013, WAVE 2012, and stop events at frames 1/45/58/66/129/159/222/230/238 before resuming after cleanup. Decode DAT600's four AND/OR mask-image pairs into transparent native textures and render all nine phase formulas with the original source rectangles, destination offsets, variable heights, and opaque wheel copies. Add a `panel` simulation scenario for deterministic trace and framebuffer validation. Test Plan: - `cargo test --all-targets` -- passed, 72 tests - `cargo clippy --all-targets -- -D warnings` -- passed - `rumdl check CHANGELOG.md README.md RECONSTRUCTION.md` -- passed - rendered panel frames 1, 66, 159, 238, and completion -- visually verified - `git diff --cached --check` -- passed
This commit is contained in:
@@ -10,6 +10,9 @@ and this project adheres to
|
||||
|
||||
### Fixed
|
||||
|
||||
- Restore the complete 281-callback DAT600 panel sequence after the fifth lock
|
||||
hole, including physics suspension, contact/item cleanup, all nine image
|
||||
phases, and the original WAVE 2013/2012/stop boundaries.
|
||||
- Remove the invented attract-screen instruction panel and stop assigning the
|
||||
original F2/F3 keys to modern overlays. The idle view is the original table;
|
||||
optional settings/high-score viewers move to F10/F9.
|
||||
|
||||
Reference in New Issue
Block a user