59 m_hydro_effect =
new OIS::Effect(OIS::Effect::ConstantForce, OIS::Effect::Constant);
66 OIS::ConstantEffect* hydroConstForce =
dynamic_cast<OIS::ConstantEffect*
>(
m_hydro_effect->getForceEffect());
67 if (hydroConstForce !=
nullptr)
69 hydroConstForce->level = 0;
70 hydroConstForce->envelope.attackLength = 0;
71 hydroConstForce->envelope.attackLevel = (
unsigned short)hydroConstForce->level;
72 hydroConstForce->envelope.fadeLength = 0;
73 hydroConstForce->envelope.fadeLevel = (
unsigned short)hydroConstForce->level;
78 OIS::ConstantEffect* hydroConstForce =
dynamic_cast<OIS::ConstantEffect*
>(
m_hydro_effect->getForceEffect());
79 if (hydroConstForce !=
nullptr)
83 float ff = -stress * stress_gain + dircommand * 100.0 * centering_gain * wspeed * wspeed;
88 hydroConstForce->level = ff;
110 _L(
"Disabling force feedback - no controller found"));
116 if (player_actor && player_actor->ar_driveable ==
TRUCK)
118 Ogre::Vector3 ff_vehicle = player_actor->GetFFbBodyForces();
120 -ff_vehicle.dotProduct(player_actor->GetCameraRoll()) / 10000.0,
121 ff_vehicle.dotProduct(player_actor->GetCameraDir()) / 10000.0,
122 player_actor->ar_wheel_speed,
123 player_actor->ar_hydro_dir_command,
124 player_actor->GetFFbHydroForces());
Game state manager and message-queue provider.
void SetForces(float roll, float pitch, float wspeed, float dircommand, float stress)
Called by Update(); we take here : -roll and pitch inertial forces at the camera: this is not used cu...
const ActorPtr & GetPlayerActor()