fix(rules): scope double scoring to the active ball
The binary stores the diamond-bank double flag at receiver +0x0bdc and clears it in normal_ball_end. Rust stored that flag on Player, so it incorrectly survived every normal drain and player turn. The special effect-seven respawn is intentionally different because it bypasses normal_ball_end. Represent the flag as an explicit ball-double state on Game. Clear it only on the normal ball-end path, preserve it through the special respawn, and make the first completed diamond bank after a normal drain re-enable double scoring without adding 100,000 secondary points. Keep the independent multiball factor, so both active factors still stack to 4x. Test Plan: - `cargo test --workspace --all-targets --all-features` -- 117 passed - `cargo clippy --workspace --all-targets --all-features -- -D warnings` -- passed - `rumdl check --flavor commonmark RECONSTRUCTION.md CHANGELOG.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -158,10 +158,12 @@ and this project adheres to
|
||||
monophonic original.
|
||||
- Advance media/extra-ball thresholds only from score additions, preserve
|
||||
32-bit score wrapping, and restore the ninth-diamond ordering: its 24,464
|
||||
award remains single, then permanent double scoring and all three magnetic
|
||||
fields activate before the collision's static score. Every later completed
|
||||
bank adds 100,000 to the secondary score. Marker comparisons retain the
|
||||
binary's signed-high/unsigned-low 32-bit ordering after score wrap.
|
||||
award remains single, then ball-scoped double scoring and all three magnetic
|
||||
fields activate before the collision's static score. Further completed banks
|
||||
during that ball add 100,000 to the secondary score; a normal ball end clears
|
||||
the multiplier, while effect seven's special respawn preserves it. Marker
|
||||
comparisons retain the binary's signed-high/unsigned-low 32-bit ordering
|
||||
after score wrap.
|
||||
- Match the original 640x460 window, native 16x28 score glyphs, and
|
||||
`TDK Pinball Machine 1.00` title so the recovered artwork is presented
|
||||
one-for-one instead of enlarged or resampled.
|
||||
|
||||
Reference in New Issue
Block a user