Files
tdkpin/tdkpin-rs/CHANGELOG.md
T
ddidderr aae4671586 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
2026-08-23 16:55:02 +02:00

1.5 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

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.
  • Restore the magnetic-field response as vx * 0.9 and a randomized -3800 * (1 - Random * 0.3) vertical impulse instead of a fixed upward speed.
  • Dispatch the original per-call-site sound sequences instead of assigning one guessed WAV to each logical event. This removes the nonexistent WAV 2022 playback and restores bank, trigger, capture, nudge, tilt, and drain cues.
  • Advance media/extra-ball thresholds only from score additions, preserve 32-bit score wrapping, and restore the ninth-diamond 24,464-point award plus the later double-score and secondary-score bank states.
  • 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.