P10.10: play one ascending combo cue per cascade round
For combos, play a sound for each match ascending (Candy-Crush cascade run): as a chain resolves, EACH successive round plays the next higher cue (combo1, combo2, … clamped at combo5) instead of a single combo cue keyed to the final cascade depth at commit. - board_anim.sx: add `BoardAnim.cascade_fired` (edge-trigger high-water mark, reset on init/begin) and the pure `cascade_rounds_started(elapsed, n)` helper — how many rounds have begun clearing on the swap→(clear,fall)* timeline. - main.sx: in the frame loop, diff `cascade_rounds_started` against `cascade_fired` and play one ascending cue per newly-cleared round, once each, gated on a real multi-round chain (rounds >= 2). Additive; never touches board/score/move state. - board_view.sx: drop the single `sfx_cascade(final depth)` at commit; keep `sfx_swap` / `sfx_match` (and win/lose) exactly as before. - tests/cascade_rounds.sx: headless snapshot of the per-round timing + the ascending combo1..combo5 run with the combo5 clamp. Sim (M3TE_FX=11, depth-5): log show shows combo1→combo2→combo3→combo4→combo5 at successive timestamps ~0.36s apart (= CLEAR+FALL per-round spacing).
This commit is contained in:
1
tests/expected/cascade_rounds.exit
Normal file
1
tests/expected/cascade_rounds.exit
Normal file
@@ -0,0 +1 @@
|
||||
0
|
||||
29
tests/expected/cascade_rounds.stdout
Normal file
29
tests/expected/cascade_rounds.stdout
Normal file
@@ -0,0 +1,29 @@
|
||||
== per-round cascade cue timing ==
|
||||
-- started-count across a 5-round chain --
|
||||
e=0.00 -> 0
|
||||
e=0.10 -> 0
|
||||
e=0.20 -> 1
|
||||
e=0.50 -> 1
|
||||
e=0.55 -> 2
|
||||
e=0.90 -> 3
|
||||
e=1.30 -> 4
|
||||
e=1.70 -> 5
|
||||
e=5.00 -> 5
|
||||
-- ascending per-round run --
|
||||
round 1 -> [sx] audio: cue combo1
|
||||
round 2 -> [sx] audio: cue combo2
|
||||
round 3 -> [sx] audio: cue combo3
|
||||
round 4 -> [sx] audio: cue combo4
|
||||
round 5 -> [sx] audio: cue combo5
|
||||
-- non-cascade --
|
||||
1-round@end 1
|
||||
0-round@end 0
|
||||
-- deep-chain cue clamp --
|
||||
round 1 -> [sx] audio: cue combo1
|
||||
round 2 -> [sx] audio: cue combo2
|
||||
round 3 -> [sx] audio: cue combo3
|
||||
round 4 -> [sx] audio: cue combo4
|
||||
round 5 -> [sx] audio: cue combo5
|
||||
round 6 -> [sx] audio: cue combo5
|
||||
round 7 -> [sx] audio: cue combo5
|
||||
ok: one ascending combo cue per cascade round, clamped at combo5
|
||||
Reference in New Issue
Block a user