19 VibrationSamplesPerSecond = 16,
20 VibrationTrackSeconds = 2,
21 MaxVibrationSamples = VibrationSamplesPerSecond * VibrationTrackSeconds,
39 void EnableVibration(plUInt8 uiVirtual,
bool bEnable);
42 bool IsVibrationEnabled(plUInt8 uiVirtual)
const;
50 void SetVibrationStrength(plUInt8 uiVirtual, Motor::Enum motor,
float fValue);
53 float GetVibrationStrength(plUInt8 uiVirtual, Motor::Enum motor);
67 void SetControllerMapping(plUInt8 uiVirtualController, plInt8 iTakeInputFromPhysical);
71 plInt8 GetControllerMapping(plUInt8 uiVirtual)
const;
91 void AddVibrationTrack(plUInt8 uiVirtual, Motor::Enum motor,
float* pVibrationTrackValue, plUInt32 uiSamples,
float fScalingFactor = 1.0f);
99 void UpdateVibration(
plTime tTimeDifference);
106 virtual void ApplyVibration(plUInt8 uiPhysicalController, Motor::Enum eMotor,
float fStrength) = 0;
108 plUInt32 m_uiVibrationTrackPos;
109 float m_fVibrationTracks[MaxControllers][Motor::ENUM_COUNT][MaxVibrationSamples];
110 bool m_bVibrationEnabled[MaxControllers];
111 plInt8 m_iControllerMapping[MaxControllers];
112 float m_fVibrationStrength[MaxControllers][Motor::ENUM_COUNT];