fix(input): restore original nudge and tilt behavior
Replace the float nudge direction, cooldown, and decaying meter with the scan-code-specific Win16 behavior. Left Shift and keypad 3 now use the original random directional impulse, while Space uses the reconstructed random horizontal and vertical formulas with scalar 15 and wrapping millipixel velocities. Track the original 16-bit tilt counter: each nudge adds 25, compares against 30 + Random(10), and the selected detail timer decrements a nonzero counter once per callback. Allow the same input while a ball waits in the launcher, retain bonus state when tilt latches, clear flippers immediately, and keep Right Shift only as a documented modern alias for keypad 3. Test Plan: - `cargo test --all-targets` -- passed, 57 tests - `cargo clippy --all-targets -- -D warnings` -- passed - `rumdl check tdkpin-rs/CHANGELOG.md tdkpin-rs/README.md tdkpin-rs/RECONSTRUCTION.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -10,6 +10,10 @@ and this project adheres to
|
||||
|
||||
### Fixed
|
||||
|
||||
- Replace the cooldown/float-meter nudge approximation with the original
|
||||
Left-Shift, keypad-3, and Space formulas using scalar 15, the shared Borland
|
||||
random stream, 32-bit velocity wrapping, and the decaying 16-bit `+25` tilt
|
||||
counter with its randomized `30..39` threshold.
|
||||
- Replace the Xorshift gameplay RNG with the original Borland linear stream and
|
||||
unbiased `Random(n)` high-word mapping. Launcher variation, effect selection,
|
||||
claw terminals, and magnetic-field impulses now share the recovered sequence.
|
||||
|
||||
Reference in New Issue
Block a user