Rework input buffer to match HDR closer (#79)
CI / build-and-test (push) Successful in 1m24s
CI / production-build (push) Successful in 11m47s

## Summary

- Preserve distinct same-action bindings in rollback input frames.
- Add independent command lifetimes with tap and state-scoped hold buffering.
- Detect second shield bindings and consume shield commands for air dodge.
- Fix duplicate keyboard mappings being overwritten.

Reviewed-on: #79
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #79.
This commit is contained in:
2026-10-03 09:20:56 +00:00
committed by EIREXE
parent 47f7ae1e69
commit aca3886113
11 changed files with 711 additions and 165 deletions
+3
View File
@@ -45,6 +45,9 @@ impl FighterStateImpl for AirAttackState {
}
fn on_enter(&mut self, state_context: &mut EnterContext) {
state_context
.input
.consume_command(crate::input::FighterCommands::Attack);
state_context.play_animation(self.attack_kind.get_animation(), false);
let script = state_context.attack_script_assets.scripts[&self.attack_kind].clone();
state_context.hitboxes.0 = Some(crate::fighter::FighterActiveAttack {