optional strafing + optional rocket force
This commit is contained in:
parent
9f62f5f2fd
commit
1e6c489750
@ -291,7 +291,7 @@ enum JumpImpulse{
|
|||||||
struct StyleModifiers{
|
struct StyleModifiers{
|
||||||
controls_mask:u32,//controls which are unable to be activated
|
controls_mask:u32,//controls which are unable to be activated
|
||||||
controls_held:u32,//controls which must be active to be able to strafe
|
controls_held:u32,//controls which must be active to be able to strafe
|
||||||
strafe_tick_rate:Ratio64,
|
strafe_tick_rate:Option<Ratio64>,
|
||||||
jump_impulse:JumpImpulse,
|
jump_impulse:JumpImpulse,
|
||||||
jump_calculation:JumpCalculation,
|
jump_calculation:JumpCalculation,
|
||||||
static_friction:Planar64,
|
static_friction:Planar64,
|
||||||
@ -305,6 +305,7 @@ struct StyleModifiers{
|
|||||||
mass:Planar64,
|
mass:Planar64,
|
||||||
mv:Planar64,
|
mv:Planar64,
|
||||||
air_accel_limit:Option<Planar64>,
|
air_accel_limit:Option<Planar64>,
|
||||||
|
rocket_force:Option<Planar64>,
|
||||||
gravity:Planar64Vec3,
|
gravity:Planar64Vec3,
|
||||||
hitbox_halfsize:Planar64Vec3,
|
hitbox_halfsize:Planar64Vec3,
|
||||||
}
|
}
|
||||||
@ -331,7 +332,7 @@ impl StyleModifiers{
|
|||||||
Self{
|
Self{
|
||||||
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
||||||
controls_held:0,
|
controls_held:0,
|
||||||
strafe_tick_rate:Ratio64::new(128,Time::ONE_SECOND.nanos() as u64).unwrap(),
|
strafe_tick_rate:Some(Ratio64::new(128,Time::ONE_SECOND.nanos() as u64).unwrap()),
|
||||||
jump_impulse:JumpImpulse::FromEnergy(Planar64::int(512)),
|
jump_impulse:JumpImpulse::FromEnergy(Planar64::int(512)),
|
||||||
jump_calculation:JumpCalculation::Energy,
|
jump_calculation:JumpCalculation::Energy,
|
||||||
gravity:Planar64Vec3::int(0,-80,0),
|
gravity:Planar64Vec3::int(0,-80,0),
|
||||||
@ -340,6 +341,7 @@ impl StyleModifiers{
|
|||||||
mass:Planar64::int(1),
|
mass:Planar64::int(1),
|
||||||
mv:Planar64::int(2),
|
mv:Planar64::int(2),
|
||||||
air_accel_limit:None,
|
air_accel_limit:None,
|
||||||
|
rocket_force:None,
|
||||||
walk_speed:Planar64::int(16),
|
walk_speed:Planar64::int(16),
|
||||||
walk_accel:Planar64::int(80),
|
walk_accel:Planar64::int(80),
|
||||||
ladder_speed:Planar64::int(16),
|
ladder_speed:Planar64::int(16),
|
||||||
@ -354,7 +356,7 @@ impl StyleModifiers{
|
|||||||
Self{
|
Self{
|
||||||
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
||||||
controls_held:0,
|
controls_held:0,
|
||||||
strafe_tick_rate:Ratio64::new(100,Time::ONE_SECOND.nanos() as u64).unwrap(),
|
strafe_tick_rate:Some(Ratio64::new(100,Time::ONE_SECOND.nanos() as u64).unwrap()),
|
||||||
jump_impulse:JumpImpulse::FromTime(Time::from_micros(715_588)),
|
jump_impulse:JumpImpulse::FromTime(Time::from_micros(715_588)),
|
||||||
jump_calculation:JumpCalculation::Capped,
|
jump_calculation:JumpCalculation::Capped,
|
||||||
gravity:Planar64Vec3::int(0,-100,0),
|
gravity:Planar64Vec3::int(0,-100,0),
|
||||||
@ -363,6 +365,7 @@ impl StyleModifiers{
|
|||||||
mass:Planar64::int(1),
|
mass:Planar64::int(1),
|
||||||
mv:Planar64::int(27)/10,
|
mv:Planar64::int(27)/10,
|
||||||
air_accel_limit:None,
|
air_accel_limit:None,
|
||||||
|
rocket_force:None,
|
||||||
walk_speed:Planar64::int(18),
|
walk_speed:Planar64::int(18),
|
||||||
walk_accel:Planar64::int(90),
|
walk_accel:Planar64::int(90),
|
||||||
ladder_speed:Planar64::int(18),
|
ladder_speed:Planar64::int(18),
|
||||||
@ -376,7 +379,7 @@ impl StyleModifiers{
|
|||||||
Self{
|
Self{
|
||||||
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
||||||
controls_held:0,
|
controls_held:0,
|
||||||
strafe_tick_rate:Ratio64::new(100,Time::ONE_SECOND.nanos() as u64).unwrap(),
|
strafe_tick_rate:Some(Ratio64::new(100,Time::ONE_SECOND.nanos() as u64).unwrap()),
|
||||||
jump_impulse:JumpImpulse::FromTime(Time::from_micros(715_588)),
|
jump_impulse:JumpImpulse::FromTime(Time::from_micros(715_588)),
|
||||||
jump_calculation:JumpCalculation::Capped,
|
jump_calculation:JumpCalculation::Capped,
|
||||||
gravity:Planar64Vec3::int(0,-50,0),
|
gravity:Planar64Vec3::int(0,-50,0),
|
||||||
@ -385,6 +388,7 @@ impl StyleModifiers{
|
|||||||
mass:Planar64::int(1),
|
mass:Planar64::int(1),
|
||||||
mv:Planar64::int(27)/10,
|
mv:Planar64::int(27)/10,
|
||||||
air_accel_limit:None,
|
air_accel_limit:None,
|
||||||
|
rocket_force:None,
|
||||||
walk_speed:Planar64::int(18),
|
walk_speed:Planar64::int(18),
|
||||||
walk_accel:Planar64::int(90),
|
walk_accel:Planar64::int(90),
|
||||||
ladder_speed:Planar64::int(18),
|
ladder_speed:Planar64::int(18),
|
||||||
@ -400,7 +404,7 @@ impl StyleModifiers{
|
|||||||
Self{
|
Self{
|
||||||
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
||||||
controls_held:0,
|
controls_held:0,
|
||||||
strafe_tick_rate:Ratio64::new(100,Time::ONE_SECOND.nanos() as u64).unwrap(),
|
strafe_tick_rate:Some(Ratio64::new(100,Time::ONE_SECOND.nanos() as u64).unwrap()),
|
||||||
jump_impulse:JumpImpulse::FromHeight(Planar64::raw(52<<28)),
|
jump_impulse:JumpImpulse::FromHeight(Planar64::raw(52<<28)),
|
||||||
jump_calculation:JumpCalculation::Linear,
|
jump_calculation:JumpCalculation::Linear,
|
||||||
gravity:Planar64Vec3::raw(0,-800<<28,0),
|
gravity:Planar64Vec3::raw(0,-800<<28,0),
|
||||||
@ -409,6 +413,7 @@ impl StyleModifiers{
|
|||||||
mass:Planar64::int(1),
|
mass:Planar64::int(1),
|
||||||
mv:Planar64::raw(30<<28),
|
mv:Planar64::raw(30<<28),
|
||||||
air_accel_limit:Some(Planar64::raw(150<<28)*66),
|
air_accel_limit:Some(Planar64::raw(150<<28)*66),
|
||||||
|
rocket_force:None,
|
||||||
walk_speed:Planar64::int(18),//?
|
walk_speed:Planar64::int(18),//?
|
||||||
walk_accel:Planar64::int(90),//?
|
walk_accel:Planar64::int(90),//?
|
||||||
ladder_speed:Planar64::int(18),//?
|
ladder_speed:Planar64::int(18),//?
|
||||||
@ -423,7 +428,7 @@ impl StyleModifiers{
|
|||||||
Self{
|
Self{
|
||||||
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
controls_mask:!0,//&!(Self::CONTROL_MOVEUP|Self::CONTROL_MOVEDOWN),
|
||||||
controls_held:0,
|
controls_held:0,
|
||||||
strafe_tick_rate:Ratio64::new(66,Time::ONE_SECOND.nanos() as u64).unwrap(),
|
strafe_tick_rate:Some(Ratio64::new(66,Time::ONE_SECOND.nanos() as u64).unwrap()),
|
||||||
jump_impulse:JumpImpulse::FromHeight(Planar64::raw(52<<28)),
|
jump_impulse:JumpImpulse::FromHeight(Planar64::raw(52<<28)),
|
||||||
jump_calculation:JumpCalculation::Linear,
|
jump_calculation:JumpCalculation::Linear,
|
||||||
gravity:Planar64Vec3::raw(0,-800<<28,0),
|
gravity:Planar64Vec3::raw(0,-800<<28,0),
|
||||||
@ -432,6 +437,7 @@ impl StyleModifiers{
|
|||||||
mass:Planar64::int(1),
|
mass:Planar64::int(1),
|
||||||
mv:Planar64::raw(30<<28),
|
mv:Planar64::raw(30<<28),
|
||||||
air_accel_limit:Some(Planar64::raw(150<<28)*66),
|
air_accel_limit:Some(Planar64::raw(150<<28)*66),
|
||||||
|
rocket_force:None,
|
||||||
walk_speed:Planar64::int(18),//?
|
walk_speed:Planar64::int(18),//?
|
||||||
walk_accel:Planar64::int(90),//?
|
walk_accel:Planar64::int(90),//?
|
||||||
ladder_speed:Planar64::int(18),//?
|
ladder_speed:Planar64::int(18),//?
|
||||||
@ -856,11 +862,13 @@ impl PhysicsState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn next_strafe_instruction(&self) -> Option<TimedInstruction<PhysicsInstruction>> {
|
fn next_strafe_instruction(&self) -> Option<TimedInstruction<PhysicsInstruction>> {
|
||||||
return Some(TimedInstruction{
|
self.style.strafe_tick_rate.as_ref().map(|strafe_tick_rate|{
|
||||||
time:Time::from_nanos(self.style.strafe_tick_rate.rhs_div_int(self.style.strafe_tick_rate.mul_int(self.time.nanos())+1)),
|
TimedInstruction{
|
||||||
|
time:Time::from_nanos(strafe_tick_rate.rhs_div_int(strafe_tick_rate.mul_int(self.time.nanos())+1)),
|
||||||
//only poll the physics if there is a before and after mouse event
|
//only poll the physics if there is a before and after mouse event
|
||||||
instruction:PhysicsInstruction::StrafeTick
|
instruction:PhysicsInstruction::StrafeTick
|
||||||
});
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//state mutated on collision:
|
//state mutated on collision:
|
||||||
|
Loading…
Reference in New Issue
Block a user