Add Ultimate-style input binding buffers

This commit is contained in:
2026-10-03 10:42:30 +02:00
parent 47f7ae1e69
commit 32428982ad
9 changed files with 549 additions and 166 deletions
+9 -4
View File
@@ -18,7 +18,10 @@ use crate::fighter::state::hitstun::HitstunState;
use crate::fighter::surface::EcbLockPolicy;
use crate::fighter::visual::FighterAnimations;
use crate::fighter::{
Fighter, FighterDamage, FighterECB, FighterFacingDirection, FighterHitboxes, FighterHitstop, FighterHitstopShake, FighterHitstopShakeKind, FighterHitstopShakeRole, FighterInvulnerabilityState, FighterPendingRespawn, FighterPresentationSnap, FighterPreviousTranslation, FighterSurfaceState, FighterTranslation, FighterVelocity,
Fighter, FighterDamage, FighterECB, FighterFacingDirection, FighterHitboxes, FighterHitstop,
FighterHitstopShake, FighterHitstopShakeKind, FighterHitstopShakeRole,
FighterInvulnerabilityState, FighterPendingRespawn, FighterPresentationSnap,
FighterPreviousTranslation, FighterSurfaceState, FighterTranslation, FighterVelocity,
};
use crate::game_settings::GameSettings;
use crate::input::FighterInput;
@@ -32,6 +35,7 @@ use crate::stage::line::StageCollision;
use crate::stage::manifest::{StageManifest, StageManifestRegistry};
pub mod air;
pub mod air_attack;
pub mod air_dodge;
pub mod angel;
pub mod crouch;
@@ -47,7 +51,6 @@ pub mod run;
pub mod turn;
pub mod wait;
pub mod walk;
pub mod air_attack;
#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)]
pub enum SurfacePolicy {
@@ -170,6 +173,7 @@ impl EnterContext<'_> {
}
pub struct ExitContext<'a> {
pub input: &'a mut FighterInput,
pub hitboxes: &'a mut FighterHitboxes,
pub surface: &'a mut FighterSurfaceState,
pub vulnerability: &'a mut FighterInvulnerabilityState,
@@ -306,7 +310,7 @@ impl<'w, 's> FighterFrameQueryItem<'w, 's> {
animation,
surface: &self.surface,
stage_collision,
attack_script_assets: attack_script_assets
attack_script_assets: attack_script_assets,
}
}
@@ -333,6 +337,7 @@ impl<'w, 's> FighterFrameQueryItem<'w, 's> {
fn exit_context(&mut self) -> ExitContext<'_> {
ExitContext {
input: &mut self.input,
hitboxes: &mut self.hitboxes,
surface: &mut self.surface,
vulnerability: &mut self.vulnerability,
@@ -540,7 +545,7 @@ pub fn state_interrupt_system(
&baked_animations,
&manifest.attributes,
&stage_collision,
attack_script_assets
attack_script_assets,
))
};