mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
Added steering centre members to VehicleData.
steeringReturn is the main control for the amount of return in the steering. Setting it to 0 (the default) disables steering return completely. steeringReturnSpeedScale is a multiplier on the amount of effect that the vehicle's velocity has on its steering return. powerSteering can be set to eliminate the effect of steering return on user input. Without this flag set, the user will have a harder time steering, because the wheels try to return as they steer. If this flag is set, steering return will not be applied while the user is actually steering, only when they release.
This commit is contained in:
parent
d38eb17056
commit
eae9fc36e5
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue