fix(game): restore original scoring and sound dispatch
The rewrite assigned one WAV resource to each logical event, which could not represent the original call-site behavior. It played reserved WAV 2022 for media awards, omitted multi-sound bank sequences, and used the wrong cues for captures, bumpers, targets, nudges, and tilt. Emit explicit sound-resource events at the reconstructed C control-flow sites so logical rendering events no longer imply audio. Move media threshold advancement into score addition, retain one threshold transition per call, and use wrapping 32-bit score arithmetic. Restore the ninth-diamond 24,464-point completion, the subsequent double-score activation, and later 100,000-point secondary-score awards. Test Plan: - `cargo test --all-targets` -- passed, 53 tests - `cargo clippy --all-targets -- -D warnings` -- passed - `rumdl check CHANGELOG.md RECONSTRUCTION.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -209,8 +209,9 @@ impl App {
|
||||
}
|
||||
|
||||
fn play_event(&self, event: Event) {
|
||||
self.assets
|
||||
.play(event.sound_resource(), self.saved.settings.sounds);
|
||||
if let Some(resource) = event.sound_resource() {
|
||||
self.assets.play(resource, self.saved.settings.sounds);
|
||||
}
|
||||
}
|
||||
|
||||
fn finish_game(&mut self) {
|
||||
|
||||
Reference in New Issue
Block a user