fix(game): restore the original plunger launch

Start each ball at the recovered right-lane coordinates and charge the
plunger while Down is held, firing only on release. Render all eleven frames
of resource 901, preserve object 25 as the returning-ball catch, and use the
object table's center-contact extents without adding the art radius twice.

Test Plan:
- cargo fmt --all -- --check
- cargo test
- cargo clippy --all-targets --all-features -- -D warnings
- runtime smoke: start, hold Down, release, and inspect the right shooter lane
This commit is contained in:
2026-08-22 17:37:28 +02:00
parent f904977ae4
commit 91ae8cdfd8
6 changed files with 169 additions and 51 deletions
+3 -3
View File
@@ -12,7 +12,7 @@ pub struct Assets {
pub diamond: [Texture2D; 9],
pub wheel: Texture2D,
pub robot: Texture2D,
pub magnet: Texture2D,
pub plunger: Texture2D,
pub ball: Texture2D,
pub digits: Texture2D,
sounds: Vec<(u16, Sound)>,
@@ -50,7 +50,7 @@ impl Assets {
];
let wheel = texture(include_bytes!("../assets/original/images/dat_00600.png"));
let robot = texture(include_bytes!("../assets/original/images/dat_00900.png"));
let magnet = texture(include_bytes!("../assets/original/images/dat_00901.png"));
let plunger = texture(include_bytes!("../assets/original/images/dat_00901.png"));
let ball = masked_texture(
include_bytes!("../assets/original/images/bitmap_00101.png"),
include_bytes!("../assets/original/images/bitmap_00102.png"),
@@ -140,7 +140,7 @@ impl Assets {
diamond,
wheel,
robot,
magnet,
plunger,
ball,
digits,
sounds,