diff --git a/Engine/source/T3D/vehicles/vehicle.cpp b/Engine/source/T3D/vehicles/vehicle.cpp index 9496a8148..803ffaf37 100644 --- a/Engine/source/T3D/vehicles/vehicle.cpp +++ b/Engine/source/T3D/vehicles/vehicle.cpp @@ -172,6 +172,10 @@ VehicleData::VehicleData() jetEnergyDrain = 0.8f; minJetEnergy = 1; + steeringReturn = 0.0f; + steeringReturnSpeedScale = 0.01f; + powerSteering = false; + for (S32 i = 0; i < Body::MaxSounds; i++) body.sound[i] = 0; @@ -292,6 +296,10 @@ void VehicleData::packData(BitStream* stream) stream->write(jetEnergyDrain); stream->write(minJetEnergy); + stream->write(steeringReturn); + stream->write(steeringReturnSpeedScale); + stream->write(powerSteering); + stream->writeFlag(cameraRoll); stream->write(cameraLag); stream->write(cameraDecay); @@ -384,6 +392,10 @@ void VehicleData::unpackData(BitStream* stream) stream->read(&jetEnergyDrain); stream->read(&minJetEnergy); + stream->read(&steeringReturn); + stream->read(&steeringReturnSpeedScale); + powerSteering = stream->readFlag(); + cameraRoll = stream->readFlag(); stream->read(&cameraLag); stream->read(&cameraDecay); @@ -462,6 +474,13 @@ void VehicleData::initPersistFields() addField( "minJetEnergy", TypeF32, Offset(minJetEnergy, VehicleData), "Minimum vehicle energy level to begin jetting." ); + addField( "steeringReturn", TypeF32, Offset(steeringReturn, VehicleData), + "Rate at which the vehicle's steering returns to forwards when it is moving." ); + addField( "steeringReturnSpeedScale", TypeF32, Offset(steeringReturnSpeedScale, VehicleData), + "Amount of effect the vehicle's speed has on its rate of steering return." ); + addField( "powerSteering", TypeBool, Offset(powerSteering, VehicleData), + "If true, steering does not auto-centre while the vehicle is being steered by its driver." ); + addField( "massCenter", TypePoint3F, Offset(massCenter, VehicleData), "Defines the vehicle's center of mass (offset from the origin of the model)." ); addField( "massBox", TypePoint3F, Offset(massBox, VehicleData), diff --git a/Engine/source/T3D/vehicles/vehicle.h b/Engine/source/T3D/vehicles/vehicle.h index e8f42acd9..da3b62eeb 100644 --- a/Engine/source/T3D/vehicles/vehicle.h +++ b/Engine/source/T3D/vehicles/vehicle.h @@ -107,6 +107,10 @@ struct VehicleData: public ShapeBaseData F32 jetEnergyDrain; ///< Energy drain/tick F32 minJetEnergy; + F32 steeringReturn; + F32 steeringReturnSpeedScale; + bool powerSteering; + ParticleEmitterData * dustEmitter; S32 dustID; F32 triggerDustHeight; ///< height vehicle has to be under to kick up dust