diff --git a/src/physics.rs b/src/physics.rs index ed0b337..6fc515a 100644 --- a/src/physics.rs +++ b/src/physics.rs @@ -47,7 +47,7 @@ pub enum PhysicsInputInstruction { //to be 1 instruction ahead to generate the next state for interpolation. } -#[derive(Clone,Copy,Hash,Default)] +#[derive(Clone,Copy,Debug,Default,Hash)] pub struct Body{ pub position:Planar64Vec3,//I64 where 2^32 = 1 u pub velocity:Planar64Vec3,//I64 where 2^32 = 1 u/s @@ -125,7 +125,7 @@ impl InputState{ ((dm*t)/dt).as_ivec2() } } - +#[derive(Clone,Debug)] enum JumpDirection{ Exactly(Planar64Vec3), FromContactNormal, @@ -138,6 +138,7 @@ impl JumpDirection{ } } } +#[derive(Clone,Debug)] enum TransientAcceleration{ Reached, Reachable{ @@ -149,6 +150,7 @@ enum TransientAcceleration{ acceleration:Planar64Vec3, } } +#[derive(Clone,Debug)] struct ContactMoveState{ jump_direction:JumpDirection, contact:ContactCollision, @@ -251,7 +253,7 @@ impl PhysicsModels{ } } -#[derive(Clone,Copy)] +#[derive(Clone,Copy,Debug)] pub struct PhysicsCamera{ //punch: Planar64Vec3, //punch_velocity: Planar64Vec3, @@ -322,6 +324,7 @@ impl std::default::Default for PhysicsCamera{ } mod gameplay{ use super::{gameplay_modes,HashSet,HashMap,ModelId}; + #[derive(Clone,Debug)] pub struct ModeState{ mode_id:gameplay_modes::ModeId, stage_id:gameplay_modes::StageId, @@ -390,7 +393,7 @@ mod gameplay{ } } } - +#[derive(Clone,Debug)] struct WorldState{} struct HitboxMesh{ @@ -474,7 +477,7 @@ impl StyleHelper for StyleModifiers{ HitboxMesh::new(mesh,transform) } } - +#[derive(Clone,Debug)] enum MoveState{ Air, Walk(ContactMoveState), @@ -684,7 +687,7 @@ impl Collision{ } } } -#[derive(Default)] +#[derive(Clone,Debug,Default)] struct TouchingState{ contacts:HashSet::, intersects:HashSet::, @@ -880,6 +883,7 @@ impl VirtualBody<'_>{ } } +#[derive(Clone,Debug)] pub struct PhysicsState{ time:Time, body:Body,