Fix fighter visuals after landing snap (#67)
## Summary - Mark landing position corrections as presentation discontinuities. - Render and frame fighters from the current position for the snap frame. - Keep previous translation history unchanged for gameplay collision and attack logic. Reviewed-on: #67 Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #67.
This commit is contained in:
+9
-1
@@ -29,7 +29,8 @@ pub use attributes::FighterAttributes;
|
||||
pub use ecb::FighterECB;
|
||||
pub use manifest::FighterId;
|
||||
pub use motion::{
|
||||
FighterPreviousFacingDirection, FighterPreviousTranslation, FighterTranslation, FighterVelocity,
|
||||
FighterPresentationSnap, FighterPreviousFacingDirection, FighterPreviousTranslation,
|
||||
FighterTranslation, FighterVelocity,
|
||||
};
|
||||
pub use surface::FighterSurfaceState;
|
||||
|
||||
@@ -147,6 +148,10 @@ impl Plugin for FighterPlugin {
|
||||
fn build(&self, app: &mut App) {
|
||||
app.add_plugins(FighterAttackPlugin)
|
||||
// Every state gets a chance to interrupt itself, in priority order.
|
||||
.add_systems(
|
||||
GgrsSchedule,
|
||||
motion::clear_fighter_presentation_snaps.in_set(GameplaySet::Input),
|
||||
)
|
||||
.add_systems(
|
||||
GgrsSchedule,
|
||||
(
|
||||
@@ -202,6 +207,8 @@ impl Plugin for FighterPlugin {
|
||||
.checksum_component_with_hash::<FighterTranslation>()
|
||||
.rollback_component_with_copy::<FighterPreviousTranslation>()
|
||||
.checksum_component_with_hash::<FighterPreviousTranslation>()
|
||||
.rollback_component_with_copy::<FighterPresentationSnap>()
|
||||
.checksum_component_with_hash::<FighterPresentationSnap>()
|
||||
.rollback_component_with_copy::<FighterPreviousFacingDirection>()
|
||||
.checksum_component_with_hash::<FighterPreviousFacingDirection>()
|
||||
.rollback_component_with_copy::<animation::FighterAnimationFrame>()
|
||||
@@ -304,6 +311,7 @@ pub fn spawn_fighter(
|
||||
FighterVelocity::default(),
|
||||
FighterTranslation(spawn_position),
|
||||
FighterPreviousTranslation(spawn_position),
|
||||
FighterPresentationSnap::default(),
|
||||
),
|
||||
visual_root,
|
||||
animations,
|
||||
|
||||
Reference in New Issue
Block a user