|
|
|
|
@@ -105,52 +105,52 @@ impl From<strafesnet_common::gameplay_style::StyleModifiers> for StyleModifiers{
|
|
|
|
|
#[binrw::binrw]
|
|
|
|
|
#[brw(little,repr=u8)]
|
|
|
|
|
pub enum JumpCalculation{
|
|
|
|
|
Capped,
|
|
|
|
|
Energy,
|
|
|
|
|
Linear,
|
|
|
|
|
Max,
|
|
|
|
|
BoostThenJump,
|
|
|
|
|
JumpThenBoost,
|
|
|
|
|
}
|
|
|
|
|
impl Into<strafesnet_common::gameplay_style::JumpCalculation> for JumpCalculation{
|
|
|
|
|
fn into(self)->strafesnet_common::gameplay_style::JumpCalculation{
|
|
|
|
|
match self{
|
|
|
|
|
JumpCalculation::Capped=>strafesnet_common::gameplay_style::JumpCalculation::Capped,
|
|
|
|
|
JumpCalculation::Energy=>strafesnet_common::gameplay_style::JumpCalculation::Energy,
|
|
|
|
|
JumpCalculation::Linear=>strafesnet_common::gameplay_style::JumpCalculation::Linear,
|
|
|
|
|
JumpCalculation::Max=>strafesnet_common::gameplay_style::JumpCalculation::Max,
|
|
|
|
|
JumpCalculation::BoostThenJump=>strafesnet_common::gameplay_style::JumpCalculation::BoostThenJump,
|
|
|
|
|
JumpCalculation::JumpThenBoost=>strafesnet_common::gameplay_style::JumpCalculation::JumpThenBoost,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl From<strafesnet_common::gameplay_style::JumpCalculation> for JumpCalculation{
|
|
|
|
|
fn from(value:strafesnet_common::gameplay_style::JumpCalculation)->Self{
|
|
|
|
|
match value{
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::Capped=>JumpCalculation::Capped,
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::Energy=>JumpCalculation::Energy,
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::Linear=>JumpCalculation::Linear,
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::Max=>JumpCalculation::Max,
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::BoostThenJump=>JumpCalculation::BoostThenJump,
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::JumpThenBoost=>JumpCalculation::JumpThenBoost,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub enum JumpImpulse{
|
|
|
|
|
FromTime(Time),
|
|
|
|
|
FromHeight(Planar64),
|
|
|
|
|
FromDeltaV(Planar64),
|
|
|
|
|
FromEnergy(Planar64),
|
|
|
|
|
Time(Time),
|
|
|
|
|
Height(Planar64),
|
|
|
|
|
Linear(Planar64),
|
|
|
|
|
Energy(Planar64),
|
|
|
|
|
}
|
|
|
|
|
impl Into<strafesnet_common::gameplay_style::JumpImpulse> for JumpImpulse{
|
|
|
|
|
fn into(self)->strafesnet_common::gameplay_style::JumpImpulse{
|
|
|
|
|
match self{
|
|
|
|
|
JumpImpulse::FromTime(time)=>strafesnet_common::gameplay_style::JumpImpulse::FromTime(strafesnet_common::integer::Time::raw(time)),
|
|
|
|
|
JumpImpulse::FromHeight(height)=>strafesnet_common::gameplay_style::JumpImpulse::FromHeight(strafesnet_common::integer::Planar64::raw(height)),
|
|
|
|
|
JumpImpulse::FromDeltaV(deltav)=>strafesnet_common::gameplay_style::JumpImpulse::FromDeltaV(strafesnet_common::integer::Planar64::raw(deltav)),
|
|
|
|
|
JumpImpulse::FromEnergy(energy)=>strafesnet_common::gameplay_style::JumpImpulse::FromEnergy(strafesnet_common::integer::Planar64::raw(energy)),
|
|
|
|
|
JumpImpulse::Time(time)=>strafesnet_common::gameplay_style::JumpImpulse::Time(strafesnet_common::integer::Time::raw(time)),
|
|
|
|
|
JumpImpulse::Height(height)=>strafesnet_common::gameplay_style::JumpImpulse::Height(strafesnet_common::integer::Planar64::raw(height)),
|
|
|
|
|
JumpImpulse::Linear(deltav)=>strafesnet_common::gameplay_style::JumpImpulse::Linear(strafesnet_common::integer::Planar64::raw(deltav)),
|
|
|
|
|
JumpImpulse::Energy(energy)=>strafesnet_common::gameplay_style::JumpImpulse::Energy(strafesnet_common::integer::Planar64::raw(energy)),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl From<strafesnet_common::gameplay_style::JumpImpulse> for JumpImpulse{
|
|
|
|
|
fn from(value:strafesnet_common::gameplay_style::JumpImpulse)->Self{
|
|
|
|
|
match value{
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::FromTime(time)=>JumpImpulse::FromTime(time.get()),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::FromHeight(height)=>JumpImpulse::FromHeight(height.get()),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::FromDeltaV(deltav)=>JumpImpulse::FromDeltaV(deltav.get()),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::FromEnergy(energy)=>JumpImpulse::FromEnergy(energy.get()),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::Time(time)=>JumpImpulse::Time(time.get()),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::Height(height)=>JumpImpulse::Height(height.get()),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::Linear(deltav)=>JumpImpulse::Linear(deltav.get()),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::Energy(energy)=>JumpImpulse::Energy(energy.get()),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -165,19 +165,19 @@ pub struct ControlsActivation{
|
|
|
|
|
impl TryInto<strafesnet_common::gameplay_style::ControlsActivation> for ControlsActivation{
|
|
|
|
|
type Error=ControlsError;
|
|
|
|
|
fn try_into(self)->Result<strafesnet_common::gameplay_style::ControlsActivation,Self::Error>{
|
|
|
|
|
Ok(strafesnet_common::gameplay_style::ControlsActivation::new(
|
|
|
|
|
strafesnet_common::controls_bitflag::Controls::from_bits(self.controls_mask).ok_or(ControlsError::UnknownBits)?,
|
|
|
|
|
strafesnet_common::controls_bitflag::Controls::from_bits(self.controls_intersects).ok_or(ControlsError::UnknownBits)?,
|
|
|
|
|
strafesnet_common::controls_bitflag::Controls::from_bits(self.controls_contains).ok_or(ControlsError::UnknownBits)?,
|
|
|
|
|
))
|
|
|
|
|
Ok(strafesnet_common::gameplay_style::ControlsActivation{
|
|
|
|
|
controls_mask:strafesnet_common::controls_bitflag::Controls::from_bits(self.controls_mask).ok_or(ControlsError::UnknownBits)?,
|
|
|
|
|
controls_intersects:strafesnet_common::controls_bitflag::Controls::from_bits(self.controls_intersects).ok_or(ControlsError::UnknownBits)?,
|
|
|
|
|
controls_contains:strafesnet_common::controls_bitflag::Controls::from_bits(self.controls_contains).ok_or(ControlsError::UnknownBits)?,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl From<strafesnet_common::gameplay_style::ControlsActivation> for ControlsActivation{
|
|
|
|
|
fn from(value:strafesnet_common::gameplay_style::ControlsActivation)->Self{
|
|
|
|
|
Self{
|
|
|
|
|
controls_mask:value.controls_mask().bits(),
|
|
|
|
|
controls_intersects:value.controls_intersects().bits(),
|
|
|
|
|
controls_contains:value.controls_contains().bits(),
|
|
|
|
|
controls_mask:value.controls_mask.bits(),
|
|
|
|
|
controls_intersects:value.controls_intersects.bits(),
|
|
|
|
|
controls_contains:value.controls_contains.bits(),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -209,24 +209,23 @@ impl std::error::Error for StrafeSettingsError{}
|
|
|
|
|
impl TryInto<strafesnet_common::gameplay_style::StrafeSettings> for StrafeSettings{
|
|
|
|
|
type Error=StrafeSettingsError;
|
|
|
|
|
fn try_into(self)->Result<strafesnet_common::gameplay_style::StrafeSettings,Self::Error>{
|
|
|
|
|
Ok(strafesnet_common::gameplay_style::StrafeSettings::new(
|
|
|
|
|
self.enable.try_into().map_err(StrafeSettingsError::Controls)?,
|
|
|
|
|
strafesnet_common::integer::Planar64::raw(self.mv),
|
|
|
|
|
self.air_accel_limit.map(strafesnet_common::integer::Planar64::raw),
|
|
|
|
|
self.tick_rate.try_into().map_err(StrafeSettingsError::Ratio)?,
|
|
|
|
|
))
|
|
|
|
|
Ok(strafesnet_common::gameplay_style::StrafeSettings{
|
|
|
|
|
enable:self.enable.try_into().map_err(StrafeSettingsError::Controls)?,
|
|
|
|
|
mv:strafesnet_common::integer::Planar64::raw(self.mv),
|
|
|
|
|
air_accel_limit:self.air_accel_limit.map(strafesnet_common::integer::Planar64::raw),
|
|
|
|
|
tick_rate:self.tick_rate.try_into().map_err(StrafeSettingsError::Ratio)?,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl From<strafesnet_common::gameplay_style::StrafeSettings> for StrafeSettings{
|
|
|
|
|
fn from(value:strafesnet_common::gameplay_style::StrafeSettings)->Self{
|
|
|
|
|
let (enable,mv,air_accel_limit,tick_rate)=value.into_inner();
|
|
|
|
|
let header=flag(air_accel_limit.is_some(),StrafeSettings::AIR_ACCEL_LIMIT);
|
|
|
|
|
let header=flag(value.air_accel_limit.is_some(),StrafeSettings::AIR_ACCEL_LIMIT);
|
|
|
|
|
Self{
|
|
|
|
|
header,
|
|
|
|
|
enable:enable.into(),
|
|
|
|
|
mv:mv.get(),
|
|
|
|
|
air_accel_limit:air_accel_limit.map(|a|a.get()),
|
|
|
|
|
tick_rate:tick_rate.into(),
|
|
|
|
|
enable:value.enable.into(),
|
|
|
|
|
mv:value.mv.get(),
|
|
|
|
|
air_accel_limit:value.air_accel_limit.map(|a|a.get()),
|
|
|
|
|
tick_rate:value.tick_rate.into(),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -238,15 +237,15 @@ pub struct PropulsionSettings{
|
|
|
|
|
}
|
|
|
|
|
impl Into<strafesnet_common::gameplay_style::PropulsionSettings> for PropulsionSettings{
|
|
|
|
|
fn into(self)->strafesnet_common::gameplay_style::PropulsionSettings{
|
|
|
|
|
strafesnet_common::gameplay_style::PropulsionSettings::new(
|
|
|
|
|
strafesnet_common::integer::Planar64::raw(self.magnitude)
|
|
|
|
|
)
|
|
|
|
|
strafesnet_common::gameplay_style::PropulsionSettings{
|
|
|
|
|
magnitude:strafesnet_common::integer::Planar64::raw(self.magnitude)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl From<strafesnet_common::gameplay_style::PropulsionSettings> for PropulsionSettings{
|
|
|
|
|
fn from(value:strafesnet_common::gameplay_style::PropulsionSettings)->Self{
|
|
|
|
|
Self{
|
|
|
|
|
magnitude:value.magnitude().get(),
|
|
|
|
|
magnitude:value.magnitude.get(),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -258,25 +257,29 @@ pub struct JumpSettings{
|
|
|
|
|
impulse:i64,
|
|
|
|
|
}
|
|
|
|
|
impl JumpSettings{
|
|
|
|
|
const IMPULSE:u8=0b0011;
|
|
|
|
|
const CALCULATION:u8=0b1100;
|
|
|
|
|
const IMPULSE:u8=0b00011;
|
|
|
|
|
const CALCULATION:u8=0b01100;
|
|
|
|
|
const LIMIT_MINIMUM:u8=0b10000;
|
|
|
|
|
const fn impulse(&self)->Option<strafesnet_common::gameplay_style::JumpImpulse>{
|
|
|
|
|
match self.header&Self::IMPULSE{
|
|
|
|
|
0=>Some(strafesnet_common::gameplay_style::JumpImpulse::FromTime(strafesnet_common::integer::Time::raw(self.impulse))),
|
|
|
|
|
1=>Some(strafesnet_common::gameplay_style::JumpImpulse::FromHeight(strafesnet_common::integer::Planar64::raw(self.impulse))),
|
|
|
|
|
2=>Some(strafesnet_common::gameplay_style::JumpImpulse::FromDeltaV(strafesnet_common::integer::Planar64::raw(self.impulse))),
|
|
|
|
|
3=>Some(strafesnet_common::gameplay_style::JumpImpulse::FromEnergy(strafesnet_common::integer::Planar64::raw(self.impulse))),
|
|
|
|
|
0=>Some(strafesnet_common::gameplay_style::JumpImpulse::Time(strafesnet_common::integer::Time::raw(self.impulse))),
|
|
|
|
|
1=>Some(strafesnet_common::gameplay_style::JumpImpulse::Height(strafesnet_common::integer::Planar64::raw(self.impulse))),
|
|
|
|
|
2=>Some(strafesnet_common::gameplay_style::JumpImpulse::Linear(strafesnet_common::integer::Planar64::raw(self.impulse))),
|
|
|
|
|
3=>Some(strafesnet_common::gameplay_style::JumpImpulse::Energy(strafesnet_common::integer::Planar64::raw(self.impulse))),
|
|
|
|
|
_=>None,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
const fn calculation(&self)->Option<strafesnet_common::gameplay_style::JumpCalculation>{
|
|
|
|
|
match (self.header&Self::CALCULATION)>>2{
|
|
|
|
|
0=>Some(strafesnet_common::gameplay_style::JumpCalculation::Capped),
|
|
|
|
|
1=>Some(strafesnet_common::gameplay_style::JumpCalculation::Energy),
|
|
|
|
|
2=>Some(strafesnet_common::gameplay_style::JumpCalculation::Linear),
|
|
|
|
|
0=>Some(strafesnet_common::gameplay_style::JumpCalculation::Max),
|
|
|
|
|
1=>Some(strafesnet_common::gameplay_style::JumpCalculation::JumpThenBoost),
|
|
|
|
|
2=>Some(strafesnet_common::gameplay_style::JumpCalculation::BoostThenJump),
|
|
|
|
|
_=>None,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
const fn limit_minimum(&self)->bool{
|
|
|
|
|
self.header&Self::LIMIT_MINIMUM!=0
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#[derive(Debug)]
|
|
|
|
|
pub enum JumpSettingsError{
|
|
|
|
|
@@ -286,29 +289,30 @@ pub enum JumpSettingsError{
|
|
|
|
|
impl TryInto<strafesnet_common::gameplay_style::JumpSettings> for JumpSettings{
|
|
|
|
|
type Error=JumpSettingsError;
|
|
|
|
|
fn try_into(self)->Result<strafesnet_common::gameplay_style::JumpSettings,Self::Error>{
|
|
|
|
|
Ok(strafesnet_common::gameplay_style::JumpSettings::new(
|
|
|
|
|
self.impulse().ok_or(JumpSettingsError::InvalidImpulseDiscriminant)?,
|
|
|
|
|
self.calculation().ok_or(JumpSettingsError::InvalidCalculationDiscriminant)?,
|
|
|
|
|
))
|
|
|
|
|
Ok(strafesnet_common::gameplay_style::JumpSettings{
|
|
|
|
|
impulse:self.impulse().ok_or(JumpSettingsError::InvalidImpulseDiscriminant)?,
|
|
|
|
|
calculation:self.calculation().ok_or(JumpSettingsError::InvalidCalculationDiscriminant)?,
|
|
|
|
|
limit_minimum:self.limit_minimum(),
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl From<strafesnet_common::gameplay_style::JumpSettings> for JumpSettings{
|
|
|
|
|
fn from(value:strafesnet_common::gameplay_style::JumpSettings)->Self{
|
|
|
|
|
let (impulse_enum,calculation)=value.into_inner();
|
|
|
|
|
let (impulse,impulse_header)=match impulse_enum{
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::FromTime(impulse)=>(impulse.get(),0),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::FromHeight(impulse)=>(impulse.get(),1),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::FromDeltaV(impulse)=>(impulse.get(),2),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::FromEnergy(impulse)=>(impulse.get(),3),
|
|
|
|
|
let (impulse,impulse_header)=match value.impulse{
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::Time(impulse)=>(impulse.get(),0),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::Height(impulse)=>(impulse.get(),1),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::Linear(impulse)=>(impulse.get(),2),
|
|
|
|
|
strafesnet_common::gameplay_style::JumpImpulse::Energy(impulse)=>(impulse.get(),3),
|
|
|
|
|
};
|
|
|
|
|
let calculation_header=match calculation{
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::Capped=>0,
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::Energy=>1,
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::Linear=>2,
|
|
|
|
|
let calculation_header=match value.calculation{
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::Max=>0,
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::JumpThenBoost=>1,
|
|
|
|
|
strafesnet_common::gameplay_style::JumpCalculation::BoostThenJump=>2,
|
|
|
|
|
};
|
|
|
|
|
let header=
|
|
|
|
|
impulse_header
|
|
|
|
|
|(calculation_header<<2);
|
|
|
|
|
|(calculation_header<<2)
|
|
|
|
|
|((value.limit_minimum as u8)<<4);
|
|
|
|
|
Self{
|
|
|
|
|
header,
|
|
|
|
|
impulse,
|
|
|
|
|
@@ -324,17 +328,17 @@ pub struct AccelerateSettings{
|
|
|
|
|
}
|
|
|
|
|
impl Into<strafesnet_common::gameplay_style::AccelerateSettings> for AccelerateSettings{
|
|
|
|
|
fn into(self)->strafesnet_common::gameplay_style::AccelerateSettings{
|
|
|
|
|
strafesnet_common::gameplay_style::AccelerateSettings::new(
|
|
|
|
|
strafesnet_common::integer::Planar64::raw(self.accel),
|
|
|
|
|
strafesnet_common::integer::Planar64::raw(self.topspeed),
|
|
|
|
|
)
|
|
|
|
|
strafesnet_common::gameplay_style::AccelerateSettings{
|
|
|
|
|
accel:strafesnet_common::integer::Planar64::raw(self.accel),
|
|
|
|
|
topspeed:strafesnet_common::integer::Planar64::raw(self.topspeed),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl From<strafesnet_common::gameplay_style::AccelerateSettings> for AccelerateSettings{
|
|
|
|
|
fn from(value:strafesnet_common::gameplay_style::AccelerateSettings)->Self{
|
|
|
|
|
Self{
|
|
|
|
|
accel:value.accel().get(),
|
|
|
|
|
topspeed:value.topspeed().get(),
|
|
|
|
|
accel:value.accel.get(),
|
|
|
|
|
topspeed:value.topspeed.get(),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -349,22 +353,21 @@ pub struct WalkSettings{
|
|
|
|
|
}
|
|
|
|
|
impl Into<strafesnet_common::gameplay_style::WalkSettings> for WalkSettings{
|
|
|
|
|
fn into(self)->strafesnet_common::gameplay_style::WalkSettings{
|
|
|
|
|
strafesnet_common::gameplay_style::WalkSettings::new(
|
|
|
|
|
self.accelerate.into(),
|
|
|
|
|
strafesnet_common::integer::Planar64::raw(self.static_friction),
|
|
|
|
|
strafesnet_common::integer::Planar64::raw(self.kinetic_friction),
|
|
|
|
|
strafesnet_common::integer::Planar64::raw(self.surf_dot),
|
|
|
|
|
)
|
|
|
|
|
strafesnet_common::gameplay_style::WalkSettings{
|
|
|
|
|
accelerate:self.accelerate.into(),
|
|
|
|
|
static_friction:strafesnet_common::integer::Planar64::raw(self.static_friction),
|
|
|
|
|
kinetic_friction:strafesnet_common::integer::Planar64::raw(self.kinetic_friction),
|
|
|
|
|
surf_dot:strafesnet_common::integer::Planar64::raw(self.surf_dot),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl From<strafesnet_common::gameplay_style::WalkSettings> for WalkSettings{
|
|
|
|
|
fn from(value:strafesnet_common::gameplay_style::WalkSettings)->Self{
|
|
|
|
|
let (accelerate,static_friction,kinetic_friction,surf_dot)=value.into_inner();
|
|
|
|
|
Self{
|
|
|
|
|
accelerate:accelerate.into(),
|
|
|
|
|
static_friction:static_friction.get(),
|
|
|
|
|
kinetic_friction:kinetic_friction.get(),
|
|
|
|
|
surf_dot:surf_dot.get(),
|
|
|
|
|
accelerate:value.accelerate.into(),
|
|
|
|
|
static_friction:value.static_friction.get(),
|
|
|
|
|
kinetic_friction:value.kinetic_friction.get(),
|
|
|
|
|
surf_dot:value.surf_dot.get(),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -377,18 +380,17 @@ pub struct LadderSettings{
|
|
|
|
|
}
|
|
|
|
|
impl Into<strafesnet_common::gameplay_style::LadderSettings> for LadderSettings{
|
|
|
|
|
fn into(self)->strafesnet_common::gameplay_style::LadderSettings{
|
|
|
|
|
strafesnet_common::gameplay_style::LadderSettings::new(
|
|
|
|
|
self.accelerate.into(),
|
|
|
|
|
strafesnet_common::integer::Planar64::raw(self.dot),
|
|
|
|
|
)
|
|
|
|
|
strafesnet_common::gameplay_style::LadderSettings{
|
|
|
|
|
accelerate:self.accelerate.into(),
|
|
|
|
|
dot:strafesnet_common::integer::Planar64::raw(self.dot),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl From<strafesnet_common::gameplay_style::LadderSettings> for LadderSettings{
|
|
|
|
|
fn from(value:strafesnet_common::gameplay_style::LadderSettings)->Self{
|
|
|
|
|
let (accelerate,dot)=value.into_inner();
|
|
|
|
|
Self{
|
|
|
|
|
accelerate:accelerate.into(),
|
|
|
|
|
dot:dot.get(),
|
|
|
|
|
accelerate:value.accelerate.into(),
|
|
|
|
|
dot:value.dot.get(),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|