fix(game): restore physical target-bank rules

Attach recovered score and rule flags to type-2 collision records. Deactivate
complete three-line groups through their contact owner, rearm all five
bumper-value groups after completion, and rearm all four central groups after
advancing the TDK diamond.

Remove the broad side and colored-target coordinate checks those physical
records replace. Preserve exact 5,000, 100,000, bank, and wheel-trigger scores
from the initialized object ledger.

Test Plan:
- `cargo test --all-targets` -- 46 passed
- `cargo clippy --all-targets -- -D warnings` -- passed
- `cargo build --profile production` -- passed
- target-bank deactivation, completion, and rearm test -- passed
- `git diff --cached --check` -- passed
This commit is contained in:
2026-08-22 21:20:15 +02:00
parent 20e751de80
commit 1ca8597080
4 changed files with 129 additions and 34 deletions
+7
View File
@@ -155,3 +155,10 @@ The collision scan at `1000:c79c` does not resolve the first matching object id.
It retains the smallest path-progress value while traversing all 175 records,
then applies that response from the previous position. The Rust fixed-point
solver now follows that ordering for recovered type-1 and type-2 objects.
`1000:b476` decodes the physical bank flags in `OBJECTS.tsv`. Flags `0x208a`
on records 90-104 deactivate five complete three-line groups; clearing all five
raises the bumper value and rearms them. Flags `0x2092` on records 109, 112,
115, and 118 deactivate four three-line groups; clearing all four advances one
of the nine TDK diamond segments, awards the recovered segment value, and
rearms records 109-120.