Add and use SDL_HapticEffectID typedef
This commit is contained in:
parent
fb940fff80
commit
d50520462a
9 changed files with 70 additions and 60 deletions
|
@ -70,7 +70,7 @@
|
||||||
* {
|
* {
|
||||||
* SDL_Haptic *haptic;
|
* SDL_Haptic *haptic;
|
||||||
* SDL_HapticEffect effect;
|
* SDL_HapticEffect effect;
|
||||||
* int effect_id;
|
* SDL_HapticEffectID effect_id;
|
||||||
*
|
*
|
||||||
* // Open the device
|
* // Open the device
|
||||||
* haptic = SDL_OpenHapticFromJoystick(joystick);
|
* haptic = SDL_OpenHapticFromJoystick(joystick);
|
||||||
|
@ -450,6 +450,16 @@ typedef Uint8 SDL_HapticDirectionType;
|
||||||
/* @} *//* Haptic features */
|
/* @} *//* Haptic features */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ID for haptic effects.
|
||||||
|
*
|
||||||
|
* This is -1 if the ID is invalid.
|
||||||
|
*
|
||||||
|
* \sa SDL_CreateHapticEffect
|
||||||
|
*/
|
||||||
|
typedef int SDL_HapticEffectID;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Structure that represents a haptic direction.
|
* Structure that represents a haptic direction.
|
||||||
*
|
*
|
||||||
|
@ -1203,7 +1213,7 @@ extern SDL_DECLSPEC bool SDLCALL SDL_HapticEffectSupported(SDL_Haptic *haptic, c
|
||||||
* \sa SDL_RunHapticEffect
|
* \sa SDL_RunHapticEffect
|
||||||
* \sa SDL_UpdateHapticEffect
|
* \sa SDL_UpdateHapticEffect
|
||||||
*/
|
*/
|
||||||
extern SDL_DECLSPEC int SDLCALL SDL_CreateHapticEffect(SDL_Haptic *haptic, const SDL_HapticEffect *effect);
|
extern SDL_DECLSPEC SDL_HapticEffectID SDLCALL SDL_CreateHapticEffect(SDL_Haptic *haptic, const SDL_HapticEffect *effect);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the properties of an effect.
|
* Update the properties of an effect.
|
||||||
|
@ -1225,7 +1235,7 @@ extern SDL_DECLSPEC int SDLCALL SDL_CreateHapticEffect(SDL_Haptic *haptic, const
|
||||||
* \sa SDL_CreateHapticEffect
|
* \sa SDL_CreateHapticEffect
|
||||||
* \sa SDL_RunHapticEffect
|
* \sa SDL_RunHapticEffect
|
||||||
*/
|
*/
|
||||||
extern SDL_DECLSPEC bool SDLCALL SDL_UpdateHapticEffect(SDL_Haptic *haptic, int effect, const SDL_HapticEffect *data);
|
extern SDL_DECLSPEC bool SDLCALL SDL_UpdateHapticEffect(SDL_Haptic *haptic, SDL_HapticEffectID effect, const SDL_HapticEffect *data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Run the haptic effect on its associated haptic device.
|
* Run the haptic effect on its associated haptic device.
|
||||||
|
@ -1249,7 +1259,7 @@ extern SDL_DECLSPEC bool SDLCALL SDL_UpdateHapticEffect(SDL_Haptic *haptic, int
|
||||||
* \sa SDL_StopHapticEffect
|
* \sa SDL_StopHapticEffect
|
||||||
* \sa SDL_StopHapticEffects
|
* \sa SDL_StopHapticEffects
|
||||||
*/
|
*/
|
||||||
extern SDL_DECLSPEC bool SDLCALL SDL_RunHapticEffect(SDL_Haptic *haptic, int effect, Uint32 iterations);
|
extern SDL_DECLSPEC bool SDLCALL SDL_RunHapticEffect(SDL_Haptic *haptic, SDL_HapticEffectID effect, Uint32 iterations);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stop the haptic effect on its associated haptic device.
|
* Stop the haptic effect on its associated haptic device.
|
||||||
|
@ -1264,7 +1274,7 @@ extern SDL_DECLSPEC bool SDLCALL SDL_RunHapticEffect(SDL_Haptic *haptic, int eff
|
||||||
* \sa SDL_RunHapticEffect
|
* \sa SDL_RunHapticEffect
|
||||||
* \sa SDL_StopHapticEffects
|
* \sa SDL_StopHapticEffects
|
||||||
*/
|
*/
|
||||||
extern SDL_DECLSPEC bool SDLCALL SDL_StopHapticEffect(SDL_Haptic *haptic, int effect);
|
extern SDL_DECLSPEC bool SDLCALL SDL_StopHapticEffect(SDL_Haptic *haptic, SDL_HapticEffectID effect);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a haptic effect on the device.
|
* Destroy a haptic effect on the device.
|
||||||
|
@ -1279,7 +1289,7 @@ extern SDL_DECLSPEC bool SDLCALL SDL_StopHapticEffect(SDL_Haptic *haptic, int ef
|
||||||
*
|
*
|
||||||
* \sa SDL_CreateHapticEffect
|
* \sa SDL_CreateHapticEffect
|
||||||
*/
|
*/
|
||||||
extern SDL_DECLSPEC void SDLCALL SDL_DestroyHapticEffect(SDL_Haptic *haptic, int effect);
|
extern SDL_DECLSPEC void SDLCALL SDL_DestroyHapticEffect(SDL_Haptic *haptic, SDL_HapticEffectID effect);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the status of the current effect on the specified haptic device.
|
* Get the status of the current effect on the specified haptic device.
|
||||||
|
@ -1295,7 +1305,7 @@ extern SDL_DECLSPEC void SDLCALL SDL_DestroyHapticEffect(SDL_Haptic *haptic, int
|
||||||
*
|
*
|
||||||
* \sa SDL_GetHapticFeatures
|
* \sa SDL_GetHapticFeatures
|
||||||
*/
|
*/
|
||||||
extern SDL_DECLSPEC bool SDLCALL SDL_GetHapticEffectStatus(SDL_Haptic *haptic, int effect);
|
extern SDL_DECLSPEC bool SDLCALL SDL_GetHapticEffectStatus(SDL_Haptic *haptic, SDL_HapticEffectID effect);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the global gain of the specified haptic device.
|
* Set the global gain of the specified haptic device.
|
||||||
|
|
|
@ -137,7 +137,7 @@ SDL_DYNAPI_PROC(SDL_GPUSampler*,SDL_CreateGPUSampler,(SDL_GPUDevice *a, const SD
|
||||||
SDL_DYNAPI_PROC(SDL_GPUShader*,SDL_CreateGPUShader,(SDL_GPUDevice *a, const SDL_GPUShaderCreateInfo *b),(a,b),return)
|
SDL_DYNAPI_PROC(SDL_GPUShader*,SDL_CreateGPUShader,(SDL_GPUDevice *a, const SDL_GPUShaderCreateInfo *b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(SDL_GPUTexture*,SDL_CreateGPUTexture,(SDL_GPUDevice *a, const SDL_GPUTextureCreateInfo *b),(a,b),return)
|
SDL_DYNAPI_PROC(SDL_GPUTexture*,SDL_CreateGPUTexture,(SDL_GPUDevice *a, const SDL_GPUTextureCreateInfo *b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(SDL_GPUTransferBuffer*,SDL_CreateGPUTransferBuffer,(SDL_GPUDevice *a, const SDL_GPUTransferBufferCreateInfo *b),(a,b),return)
|
SDL_DYNAPI_PROC(SDL_GPUTransferBuffer*,SDL_CreateGPUTransferBuffer,(SDL_GPUDevice *a, const SDL_GPUTransferBufferCreateInfo *b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(int,SDL_CreateHapticEffect,(SDL_Haptic *a, const SDL_HapticEffect *b),(a,b),return)
|
SDL_DYNAPI_PROC(SDL_HapticEffectID,SDL_CreateHapticEffect,(SDL_Haptic *a, const SDL_HapticEffect *b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(SDL_Mutex*,SDL_CreateMutex,(void),(),return)
|
SDL_DYNAPI_PROC(SDL_Mutex*,SDL_CreateMutex,(void),(),return)
|
||||||
SDL_DYNAPI_PROC(SDL_Palette*,SDL_CreatePalette,(int a),(a),return)
|
SDL_DYNAPI_PROC(SDL_Palette*,SDL_CreatePalette,(int a),(a),return)
|
||||||
SDL_DYNAPI_PROC(SDL_Window*,SDL_CreatePopupWindow,(SDL_Window *a, int b, int c, int d, int e, SDL_WindowFlags f),(a,b,c,d,e,f),return)
|
SDL_DYNAPI_PROC(SDL_Window*,SDL_CreatePopupWindow,(SDL_Window *a, int b, int c, int d, int e, SDL_WindowFlags f),(a,b,c,d,e,f),return)
|
||||||
|
@ -171,7 +171,7 @@ SDL_DYNAPI_PROC(void,SDL_DestroyCondition,(SDL_Condition *a),(a),)
|
||||||
SDL_DYNAPI_PROC(void,SDL_DestroyCursor,(SDL_Cursor *a),(a),)
|
SDL_DYNAPI_PROC(void,SDL_DestroyCursor,(SDL_Cursor *a),(a),)
|
||||||
SDL_DYNAPI_PROC(void,SDL_DestroyEnvironment,(SDL_Environment *a),(a),)
|
SDL_DYNAPI_PROC(void,SDL_DestroyEnvironment,(SDL_Environment *a),(a),)
|
||||||
SDL_DYNAPI_PROC(void,SDL_DestroyGPUDevice,(SDL_GPUDevice *a),(a),)
|
SDL_DYNAPI_PROC(void,SDL_DestroyGPUDevice,(SDL_GPUDevice *a),(a),)
|
||||||
SDL_DYNAPI_PROC(void,SDL_DestroyHapticEffect,(SDL_Haptic *a, int b),(a,b),)
|
SDL_DYNAPI_PROC(void,SDL_DestroyHapticEffect,(SDL_Haptic *a, SDL_HapticEffectID b),(a,b),)
|
||||||
SDL_DYNAPI_PROC(void,SDL_DestroyMutex,(SDL_Mutex *a),(a),)
|
SDL_DYNAPI_PROC(void,SDL_DestroyMutex,(SDL_Mutex *a),(a),)
|
||||||
SDL_DYNAPI_PROC(void,SDL_DestroyPalette,(SDL_Palette *a),(a),)
|
SDL_DYNAPI_PROC(void,SDL_DestroyPalette,(SDL_Palette *a),(a),)
|
||||||
SDL_DYNAPI_PROC(void,SDL_DestroyProcess,(SDL_Process *a),(a),)
|
SDL_DYNAPI_PROC(void,SDL_DestroyProcess,(SDL_Process *a),(a),)
|
||||||
|
@ -386,7 +386,7 @@ SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetGamepads,(int *a),(a),return)
|
||||||
SDL_DYNAPI_PROC(SDL_MouseButtonFlags,SDL_GetGlobalMouseState,(float *a, float *b),(a,b),return)
|
SDL_DYNAPI_PROC(SDL_MouseButtonFlags,SDL_GetGlobalMouseState,(float *a, float *b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetGlobalProperties,(void),(),return)
|
SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetGlobalProperties,(void),(),return)
|
||||||
SDL_DYNAPI_PROC(SDL_Window*,SDL_GetGrabbedWindow,(void),(),return)
|
SDL_DYNAPI_PROC(SDL_Window*,SDL_GetGrabbedWindow,(void),(),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_GetHapticEffectStatus,(SDL_Haptic *a, int b),(a,b),return)
|
SDL_DYNAPI_PROC(bool,SDL_GetHapticEffectStatus,(SDL_Haptic *a, SDL_HapticEffectID b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(Uint32,SDL_GetHapticFeatures,(SDL_Haptic *a),(a),return)
|
SDL_DYNAPI_PROC(Uint32,SDL_GetHapticFeatures,(SDL_Haptic *a),(a),return)
|
||||||
SDL_DYNAPI_PROC(SDL_Haptic*,SDL_GetHapticFromID,(SDL_HapticID a),(a),return)
|
SDL_DYNAPI_PROC(SDL_Haptic*,SDL_GetHapticFromID,(SDL_HapticID a),(a),return)
|
||||||
SDL_DYNAPI_PROC(SDL_HapticID,SDL_GetHapticID,(SDL_Haptic *a),(a),return)
|
SDL_DYNAPI_PROC(SDL_HapticID,SDL_GetHapticID,(SDL_Haptic *a),(a),return)
|
||||||
|
@ -802,7 +802,7 @@ SDL_DYNAPI_PROC(bool,SDL_RumbleGamepadTriggers,(SDL_Gamepad *a, Uint16 b, Uint16
|
||||||
SDL_DYNAPI_PROC(bool,SDL_RumbleJoystick,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
|
SDL_DYNAPI_PROC(bool,SDL_RumbleJoystick,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_RumbleJoystickTriggers,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
|
SDL_DYNAPI_PROC(bool,SDL_RumbleJoystickTriggers,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
|
||||||
SDL_DYNAPI_PROC(int,SDL_RunApp,(int a, char *b[], SDL_main_func c, void *d),(a,b,c,d),return)
|
SDL_DYNAPI_PROC(int,SDL_RunApp,(int a, char *b[], SDL_main_func c, void *d),(a,b,c,d),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_RunHapticEffect,(SDL_Haptic *a, int b, Uint32 c),(a,b,c),return)
|
SDL_DYNAPI_PROC(bool,SDL_RunHapticEffect,(SDL_Haptic *a, SDL_HapticEffectID b, Uint32 c),(a,b,c),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_SaveBMP,(SDL_Surface *a, const char *b),(a,b),return)
|
SDL_DYNAPI_PROC(bool,SDL_SaveBMP,(SDL_Surface *a, const char *b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_SaveBMP_IO,(SDL_Surface *a, SDL_IOStream *b, bool c),(a,b,c),return)
|
SDL_DYNAPI_PROC(bool,SDL_SaveBMP_IO,(SDL_Surface *a, SDL_IOStream *b, bool c),(a,b,c),return)
|
||||||
SDL_DYNAPI_PROC(SDL_Surface*,SDL_ScaleSurface,(SDL_Surface *a, int b, int c, SDL_ScaleMode d),(a,b,c,d),return)
|
SDL_DYNAPI_PROC(SDL_Surface*,SDL_ScaleSurface,(SDL_Surface *a, int b, int c, SDL_ScaleMode d),(a,b,c,d),return)
|
||||||
|
@ -948,7 +948,7 @@ SDL_DYNAPI_PROC(void,SDL_SignalSemaphore,(SDL_Semaphore *a),(a),)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_StartTextInput,(SDL_Window *a),(a),return)
|
SDL_DYNAPI_PROC(bool,SDL_StartTextInput,(SDL_Window *a),(a),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_StartTextInputWithProperties,(SDL_Window *a, SDL_PropertiesID b),(a,b),return)
|
SDL_DYNAPI_PROC(bool,SDL_StartTextInputWithProperties,(SDL_Window *a, SDL_PropertiesID b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(Uint32,SDL_StepUTF8,(const char **a, size_t *b),(a,b),return)
|
SDL_DYNAPI_PROC(Uint32,SDL_StepUTF8,(const char **a, size_t *b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_StopHapticEffect,(SDL_Haptic *a, int b),(a,b),return)
|
SDL_DYNAPI_PROC(bool,SDL_StopHapticEffect,(SDL_Haptic *a, SDL_HapticEffectID b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_StopHapticEffects,(SDL_Haptic *a),(a),return)
|
SDL_DYNAPI_PROC(bool,SDL_StopHapticEffects,(SDL_Haptic *a),(a),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_StopHapticRumble,(SDL_Haptic *a),(a),return)
|
SDL_DYNAPI_PROC(bool,SDL_StopHapticRumble,(SDL_Haptic *a),(a),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_StopTextInput,(SDL_Window *a),(a),return)
|
SDL_DYNAPI_PROC(bool,SDL_StopTextInput,(SDL_Window *a),(a),return)
|
||||||
|
@ -986,7 +986,7 @@ SDL_DYNAPI_PROC(void,SDL_UnmapGPUTransferBuffer,(SDL_GPUDevice *a, SDL_GPUTransf
|
||||||
SDL_DYNAPI_PROC(void,SDL_UnregisterApp,(void),(),)
|
SDL_DYNAPI_PROC(void,SDL_UnregisterApp,(void),(),)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_UnsetEnvironmentVariable,(SDL_Environment *a, const char *b),(a,b),return)
|
SDL_DYNAPI_PROC(bool,SDL_UnsetEnvironmentVariable,(SDL_Environment *a, const char *b),(a,b),return)
|
||||||
SDL_DYNAPI_PROC(void,SDL_UpdateGamepads,(void),(),)
|
SDL_DYNAPI_PROC(void,SDL_UpdateGamepads,(void),(),)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_UpdateHapticEffect,(SDL_Haptic *a, int b, const SDL_HapticEffect *c),(a,b,c),return)
|
SDL_DYNAPI_PROC(bool,SDL_UpdateHapticEffect,(SDL_Haptic *a, SDL_HapticEffectID b, const SDL_HapticEffect *c),(a,b,c),return)
|
||||||
SDL_DYNAPI_PROC(void,SDL_UpdateJoysticks,(void),(),)
|
SDL_DYNAPI_PROC(void,SDL_UpdateJoysticks,(void),(),)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_UpdateNVTexture,(SDL_Texture *a, const SDL_Rect *b, const Uint8 *c, int d, const Uint8 *e, int f),(a,b,c,d,e,f),return)
|
SDL_DYNAPI_PROC(bool,SDL_UpdateNVTexture,(SDL_Texture *a, const SDL_Rect *b, const Uint8 *c, int d, const Uint8 *e, int f),(a,b,c,d,e,f),return)
|
||||||
SDL_DYNAPI_PROC(void,SDL_UpdateSensors,(void),(),)
|
SDL_DYNAPI_PROC(void,SDL_UpdateSensors,(void),(),)
|
||||||
|
|
|
@ -418,7 +418,7 @@ SDL_Haptic *SDL_OpenHapticFromJoystick(SDL_Joystick *joystick)
|
||||||
|
|
||||||
void SDL_CloseHaptic(SDL_Haptic *haptic)
|
void SDL_CloseHaptic(SDL_Haptic *haptic)
|
||||||
{
|
{
|
||||||
int i;
|
SDL_HapticEffectID i;
|
||||||
SDL_Haptic *hapticlist;
|
SDL_Haptic *hapticlist;
|
||||||
SDL_Haptic *hapticlistprev;
|
SDL_Haptic *hapticlistprev;
|
||||||
|
|
||||||
|
@ -522,9 +522,9 @@ bool SDL_HapticEffectSupported(SDL_Haptic *haptic, const SDL_HapticEffect *effec
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SDL_CreateHapticEffect(SDL_Haptic *haptic, const SDL_HapticEffect *effect)
|
SDL_HapticEffectID SDL_CreateHapticEffect(SDL_Haptic *haptic, const SDL_HapticEffect *effect)
|
||||||
{
|
{
|
||||||
int i;
|
SDL_HapticEffectID i;
|
||||||
|
|
||||||
CHECK_HAPTIC_MAGIC(haptic, -1);
|
CHECK_HAPTIC_MAGIC(haptic, -1);
|
||||||
|
|
||||||
|
@ -564,7 +564,7 @@ int SDL_CreateHapticEffect(SDL_Haptic *haptic, const SDL_HapticEffect *effect)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool ValidEffect(SDL_Haptic *haptic, int effect)
|
static bool ValidEffect(SDL_Haptic *haptic, SDL_HapticEffectID effect)
|
||||||
{
|
{
|
||||||
if ((effect < 0) || (effect >= haptic->neffects)) {
|
if ((effect < 0) || (effect >= haptic->neffects)) {
|
||||||
SDL_SetError("Haptic: Invalid effect identifier.");
|
SDL_SetError("Haptic: Invalid effect identifier.");
|
||||||
|
@ -573,7 +573,7 @@ static bool ValidEffect(SDL_Haptic *haptic, int effect)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_UpdateHapticEffect(SDL_Haptic *haptic, int effect, const SDL_HapticEffect *data)
|
bool SDL_UpdateHapticEffect(SDL_Haptic *haptic, SDL_HapticEffectID effect, const SDL_HapticEffect *data)
|
||||||
{
|
{
|
||||||
CHECK_HAPTIC_MAGIC(haptic, false);
|
CHECK_HAPTIC_MAGIC(haptic, false);
|
||||||
|
|
||||||
|
@ -606,7 +606,7 @@ bool SDL_UpdateHapticEffect(SDL_Haptic *haptic, int effect, const SDL_HapticEffe
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_RunHapticEffect(SDL_Haptic *haptic, int effect, Uint32 iterations)
|
bool SDL_RunHapticEffect(SDL_Haptic *haptic, SDL_HapticEffectID effect, Uint32 iterations)
|
||||||
{
|
{
|
||||||
CHECK_HAPTIC_MAGIC(haptic, false);
|
CHECK_HAPTIC_MAGIC(haptic, false);
|
||||||
|
|
||||||
|
@ -628,7 +628,7 @@ bool SDL_RunHapticEffect(SDL_Haptic *haptic, int effect, Uint32 iterations)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_StopHapticEffect(SDL_Haptic *haptic, int effect)
|
bool SDL_StopHapticEffect(SDL_Haptic *haptic, SDL_HapticEffectID effect)
|
||||||
{
|
{
|
||||||
CHECK_HAPTIC_MAGIC(haptic, false);
|
CHECK_HAPTIC_MAGIC(haptic, false);
|
||||||
|
|
||||||
|
@ -650,7 +650,7 @@ bool SDL_StopHapticEffect(SDL_Haptic *haptic, int effect)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SDL_DestroyHapticEffect(SDL_Haptic *haptic, int effect)
|
void SDL_DestroyHapticEffect(SDL_Haptic *haptic, SDL_HapticEffectID effect)
|
||||||
{
|
{
|
||||||
CHECK_HAPTIC_MAGIC(haptic,);
|
CHECK_HAPTIC_MAGIC(haptic,);
|
||||||
|
|
||||||
|
@ -673,7 +673,7 @@ void SDL_DestroyHapticEffect(SDL_Haptic *haptic, int effect)
|
||||||
SDL_SYS_HapticDestroyEffect(haptic, &haptic->effects[effect]);
|
SDL_SYS_HapticDestroyEffect(haptic, &haptic->effects[effect]);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_GetHapticEffectStatus(SDL_Haptic *haptic, int effect)
|
bool SDL_GetHapticEffectStatus(SDL_Haptic *haptic, SDL_HapticEffectID effect)
|
||||||
{
|
{
|
||||||
CHECK_HAPTIC_MAGIC(haptic, false);
|
CHECK_HAPTIC_MAGIC(haptic, false);
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ struct SDL_Haptic
|
||||||
struct haptic_hwdata *hwdata; // Driver dependent
|
struct haptic_hwdata *hwdata; // Driver dependent
|
||||||
int ref_count; // Count for multiple opens
|
int ref_count; // Count for multiple opens
|
||||||
|
|
||||||
int rumble_id; // ID of rumble effect for simple rumble API.
|
SDL_HapticEffectID rumble_id; // ID of rumble effect for simple rumble API.
|
||||||
SDL_HapticEffect rumble_effect; // Rumble effect.
|
SDL_HapticEffect rumble_effect; // Rumble effect.
|
||||||
struct SDL_Haptic *next; // pointer to next haptic we have allocated
|
struct SDL_Haptic *next; // pointer to next haptic we have allocated
|
||||||
};
|
};
|
||||||
|
|
|
@ -237,37 +237,37 @@ void SDL_HIDAPI_HapticQuit(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int SDL_HIDAPI_HapticNewEffect(SDL_Haptic *haptic, const SDL_HapticEffect *base)
|
SDL_HapticEffectID SDL_HIDAPI_HapticNewEffect(SDL_Haptic *haptic, const SDL_HapticEffect *base)
|
||||||
{
|
{
|
||||||
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
||||||
return device->driver->CreateEffect(device, base);
|
return device->driver->CreateEffect(device, base);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_HIDAPI_HapticUpdateEffect(SDL_Haptic *haptic, int id, const SDL_HapticEffect *data)
|
bool SDL_HIDAPI_HapticUpdateEffect(SDL_Haptic *haptic, SDL_HapticEffectID id, const SDL_HapticEffect *data)
|
||||||
{
|
{
|
||||||
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
||||||
return device->driver->UpdateEffect(device, id, data);
|
return device->driver->UpdateEffect(device, id, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_HIDAPI_HapticRunEffect(SDL_Haptic *haptic, int id, Uint32 iterations)
|
bool SDL_HIDAPI_HapticRunEffect(SDL_Haptic *haptic, SDL_HapticEffectID id, Uint32 iterations)
|
||||||
{
|
{
|
||||||
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
||||||
return device->driver->RunEffect(device, id, iterations);
|
return device->driver->RunEffect(device, id, iterations);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_HIDAPI_HapticStopEffect(SDL_Haptic *haptic, int id)
|
bool SDL_HIDAPI_HapticStopEffect(SDL_Haptic *haptic, SDL_HapticEffectID id)
|
||||||
{
|
{
|
||||||
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
||||||
return device->driver->StopEffect(device, id);
|
return device->driver->StopEffect(device, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SDL_HIDAPI_HapticDestroyEffect(SDL_Haptic *haptic, int id)
|
void SDL_HIDAPI_HapticDestroyEffect(SDL_Haptic *haptic, SDL_HapticEffectID id)
|
||||||
{
|
{
|
||||||
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
||||||
device->driver->DestroyEffect(device, id);
|
device->driver->DestroyEffect(device, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_HIDAPI_HapticGetEffectStatus(SDL_Haptic *haptic, int id)
|
bool SDL_HIDAPI_HapticGetEffectStatus(SDL_Haptic *haptic, SDL_HapticEffectID id)
|
||||||
{
|
{
|
||||||
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
SDL_HIDAPI_HapticDevice *device = (SDL_HIDAPI_HapticDevice *)haptic->hwdata;
|
||||||
return device->driver->GetEffectStatus(device, id);
|
return device->driver->GetEffectStatus(device, id);
|
||||||
|
|
|
@ -33,12 +33,12 @@ bool SDL_HIDAPI_HapticOpenFromJoystick(SDL_Haptic *haptic, SDL_Joystick *joystic
|
||||||
bool SDL_HIDAPI_JoystickSameHaptic(SDL_Haptic *haptic, SDL_Joystick *joystick);
|
bool SDL_HIDAPI_JoystickSameHaptic(SDL_Haptic *haptic, SDL_Joystick *joystick);
|
||||||
void SDL_HIDAPI_HapticClose(SDL_Haptic *haptic);
|
void SDL_HIDAPI_HapticClose(SDL_Haptic *haptic);
|
||||||
void SDL_HIDAPI_HapticQuit(void);
|
void SDL_HIDAPI_HapticQuit(void);
|
||||||
int SDL_HIDAPI_HapticNewEffect(SDL_Haptic *haptic, const SDL_HapticEffect *base);
|
SDL_HapticEffectID SDL_HIDAPI_HapticNewEffect(SDL_Haptic *haptic, const SDL_HapticEffect *base);
|
||||||
bool SDL_HIDAPI_HapticUpdateEffect(SDL_Haptic *haptic, int id, const SDL_HapticEffect *data);
|
bool SDL_HIDAPI_HapticUpdateEffect(SDL_Haptic *haptic, SDL_HapticEffectID id, const SDL_HapticEffect *data);
|
||||||
bool SDL_HIDAPI_HapticRunEffect(SDL_Haptic *haptic, int id, Uint32 iterations);
|
bool SDL_HIDAPI_HapticRunEffect(SDL_Haptic *haptic, SDL_HapticEffectID id, Uint32 iterations);
|
||||||
bool SDL_HIDAPI_HapticStopEffect(SDL_Haptic *haptic, int id);
|
bool SDL_HIDAPI_HapticStopEffect(SDL_Haptic *haptic, SDL_HapticEffectID id);
|
||||||
void SDL_HIDAPI_HapticDestroyEffect(SDL_Haptic *haptic, int id);
|
void SDL_HIDAPI_HapticDestroyEffect(SDL_Haptic *haptic, SDL_HapticEffectID id);
|
||||||
bool SDL_HIDAPI_HapticGetEffectStatus(SDL_Haptic *haptic, int id);
|
bool SDL_HIDAPI_HapticGetEffectStatus(SDL_Haptic *haptic, SDL_HapticEffectID id);
|
||||||
bool SDL_HIDAPI_HapticSetGain(SDL_Haptic *haptic, int gain);
|
bool SDL_HIDAPI_HapticSetGain(SDL_Haptic *haptic, int gain);
|
||||||
bool SDL_HIDAPI_HapticSetAutocenter(SDL_Haptic *haptic, int autocenter);
|
bool SDL_HIDAPI_HapticSetAutocenter(SDL_Haptic *haptic, int autocenter);
|
||||||
bool SDL_HIDAPI_HapticPause(SDL_Haptic *haptic);
|
bool SDL_HIDAPI_HapticPause(SDL_Haptic *haptic);
|
||||||
|
|
|
@ -41,7 +41,7 @@ typedef struct SDL_HIDAPI_HapticDevice
|
||||||
|
|
||||||
struct SDL_HIDAPI_HapticDriver
|
struct SDL_HIDAPI_HapticDriver
|
||||||
{
|
{
|
||||||
bool (*JoystickSupported)(SDL_Joystick *joystick); /* return SDL_TRUE if haptic can be opened from the joystick */
|
bool (*JoystickSupported)(SDL_Joystick *joystick); /* return true if haptic can be opened from the joystick */
|
||||||
void *(*Open)(SDL_Joystick *joystick); /* returns a driver context allocated with SDL_malloc, or null if it cannot be allocated */
|
void *(*Open)(SDL_Joystick *joystick); /* returns a driver context allocated with SDL_malloc, or null if it cannot be allocated */
|
||||||
|
|
||||||
/* functions below need to handle the possibility of a null joystick instance, indicating the absence of the joystick */
|
/* functions below need to handle the possibility of a null joystick instance, indicating the absence of the joystick */
|
||||||
|
@ -52,19 +52,19 @@ struct SDL_HIDAPI_HapticDriver
|
||||||
int (*NumEffectsPlaying)(SDL_HIDAPI_HapticDevice *device); /* returns supported number of effects the device can play concurrently */
|
int (*NumEffectsPlaying)(SDL_HIDAPI_HapticDevice *device); /* returns supported number of effects the device can play concurrently */
|
||||||
Uint32 (*GetFeatures)(SDL_HIDAPI_HapticDevice *device); /* returns supported effects in a bitmask */
|
Uint32 (*GetFeatures)(SDL_HIDAPI_HapticDevice *device); /* returns supported effects in a bitmask */
|
||||||
int (*NumAxes)(SDL_HIDAPI_HapticDevice *device); /* returns the number of haptic axes */
|
int (*NumAxes)(SDL_HIDAPI_HapticDevice *device); /* returns the number of haptic axes */
|
||||||
int (*CreateEffect)(SDL_HIDAPI_HapticDevice *device, const SDL_HapticEffect *data); /* returns effect id if created correctly, negative number on error */
|
SDL_HapticEffectID (*CreateEffect)(SDL_HIDAPI_HapticDevice *device, const SDL_HapticEffect *data); /* returns effect id if created correctly, negative number on error */
|
||||||
bool (*UpdateEffect)(SDL_HIDAPI_HapticDevice *device, int id, const SDL_HapticEffect *data); /* returns 0 on success, negative number on error */
|
bool (*UpdateEffect)(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id, const SDL_HapticEffect *data); /* returns true on success, false on error */
|
||||||
bool (*RunEffect)(SDL_HIDAPI_HapticDevice *device, int id, Uint32 iterations); /* returns 0 on success, negative number on error */
|
bool (*RunEffect)(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id, Uint32 iterations); /* returns true on success, false on error */
|
||||||
bool (*StopEffect)(SDL_HIDAPI_HapticDevice *device, int id); /* returns 0 on success, negative number on error */
|
bool (*StopEffect)(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id); /* returns true on success, false on error */
|
||||||
void (*DestroyEffect)(SDL_HIDAPI_HapticDevice *device, int id); /* returns 0 on success, negative number on error */
|
void (*DestroyEffect)(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id);
|
||||||
bool (*GetEffectStatus)(SDL_HIDAPI_HapticDevice *device, int id); /* returns 0 if not playing, 1 if playing, negative number on error */
|
bool (*GetEffectStatus)(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id); /* returns true if playing, false if not playing or on error */
|
||||||
bool (*SetGain)(SDL_HIDAPI_HapticDevice *device, int gain); /* gain 0 - 100, returns 0 on success, negative number on error */
|
bool (*SetGain)(SDL_HIDAPI_HapticDevice *device, int gain); /* gain 0 - 100, returns true on success, false on error */
|
||||||
bool (*SetAutocenter)(SDL_HIDAPI_HapticDevice *device, int autocenter); /* gain 0 - 100, returns 0 on success, negative number on error */
|
bool (*SetAutocenter)(SDL_HIDAPI_HapticDevice *device, int autocenter); /* autocenter 0 - 100, returns true on success, false on error */
|
||||||
bool (*Pause)(SDL_HIDAPI_HapticDevice *device); /* returns 0 on success, negative number on error */
|
bool (*Pause)(SDL_HIDAPI_HapticDevice *device); /* returns true on success, false on error */
|
||||||
bool (*Resume)(SDL_HIDAPI_HapticDevice *device); /* returns 0 on success, negative number on error */
|
bool (*Resume)(SDL_HIDAPI_HapticDevice *device); /* returns true on success, false on error */
|
||||||
bool (*StopEffects)(SDL_HIDAPI_HapticDevice *device); /* returns 0 on success, negative number on error */
|
bool (*StopEffects)(SDL_HIDAPI_HapticDevice *device); /* returns true on success, false on error */
|
||||||
};
|
};
|
||||||
|
|
||||||
extern SDL_HIDAPI_HapticDriver SDL_HIDAPI_HapticDriverLg4ff;
|
extern SDL_HIDAPI_HapticDriver SDL_HIDAPI_HapticDriverLg4ff;
|
||||||
|
|
||||||
#endif //SDL_joystick_c_h_
|
#endif //SDL_joystick_c_h_
|
||||||
|
|
|
@ -302,7 +302,7 @@ static Uint16 get_effect_replay_delay(SDL_HapticEffect *effect)
|
||||||
Bernat Arlandis <berarma@hotmail.com>
|
Bernat Arlandis <berarma@hotmail.com>
|
||||||
`git blame 1a2d5727876dd7befce23d9695924e9446b31c4b hid-lg4ff.c`, https://github.com/berarma/new-lg4ff.git
|
`git blame 1a2d5727876dd7befce23d9695924e9446b31c4b hid-lg4ff.c`, https://github.com/berarma/new-lg4ff.git
|
||||||
*/
|
*/
|
||||||
static int lg4ff_play_effect(struct lg4ff_device *device, int effect_id, int value)
|
static int lg4ff_play_effect(struct lg4ff_device *device, SDL_HapticEffectID effect_id, int value)
|
||||||
{
|
{
|
||||||
struct lg4ff_effect_state *state;
|
struct lg4ff_effect_state *state;
|
||||||
Uint64 now = get_time_ms();
|
Uint64 now = get_time_ms();
|
||||||
|
@ -334,7 +334,7 @@ static int lg4ff_play_effect(struct lg4ff_device *device, int effect_id, int val
|
||||||
Bernat Arlandis <berarma@hotmail.com>
|
Bernat Arlandis <berarma@hotmail.com>
|
||||||
`git blame 1a2d5727876dd7befce23d9695924e9446b31c4b hid-lg4ff.c`, https://github.com/berarma/new-lg4ff.git
|
`git blame 1a2d5727876dd7befce23d9695924e9446b31c4b hid-lg4ff.c`, https://github.com/berarma/new-lg4ff.git
|
||||||
*/
|
*/
|
||||||
static int lg4ff_upload_effect(struct lg4ff_device *device, const SDL_HapticEffect *effect, int id)
|
static int lg4ff_upload_effect(struct lg4ff_device *device, const SDL_HapticEffect *effect, SDL_HapticEffectID id)
|
||||||
{
|
{
|
||||||
struct lg4ff_effect_state *state;
|
struct lg4ff_effect_state *state;
|
||||||
Uint64 now = get_time_ms();
|
Uint64 now = get_time_ms();
|
||||||
|
@ -995,11 +995,11 @@ static int SDL_HIDAPI_HapticDriverLg4ff_NumAxes(SDL_HIDAPI_HapticDevice *device)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int SDL_HIDAPI_HapticDriverLg4ff_CreateEffect(SDL_HIDAPI_HapticDevice *device, const SDL_HapticEffect *data)
|
static SDL_HapticEffectID SDL_HIDAPI_HapticDriverLg4ff_CreateEffect(SDL_HIDAPI_HapticDevice *device, const SDL_HapticEffect *data)
|
||||||
{
|
{
|
||||||
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
||||||
int i;
|
SDL_HapticEffectID i;
|
||||||
int state_slot = -1;
|
SDL_HapticEffectID state_slot = -1;
|
||||||
int ret;
|
int ret;
|
||||||
if (!SDL_HIDAPI_HapticDriverLg4ff_EffectSupported(device, data)) {
|
if (!SDL_HIDAPI_HapticDriverLg4ff_EffectSupported(device, data)) {
|
||||||
SDL_SetError("Unsupported effect");
|
SDL_SetError("Unsupported effect");
|
||||||
|
@ -1031,7 +1031,7 @@ static int SDL_HIDAPI_HapticDriverLg4ff_CreateEffect(SDL_HIDAPI_HapticDevice *de
|
||||||
}
|
}
|
||||||
|
|
||||||
// assumes ctx->mutex locked
|
// assumes ctx->mutex locked
|
||||||
static bool lg4ff_effect_slot_valid_active(lg4ff_device *ctx, int id)
|
static bool lg4ff_effect_slot_valid_active(lg4ff_device *ctx, SDL_HapticEffectID id)
|
||||||
{
|
{
|
||||||
if (id >= LG4FF_MAX_EFFECTS || id < 0) {
|
if (id >= LG4FF_MAX_EFFECTS || id < 0) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -1042,7 +1042,7 @@ static bool lg4ff_effect_slot_valid_active(lg4ff_device *ctx, int id)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool SDL_HIDAPI_HapticDriverLg4ff_UpdateEffect(SDL_HIDAPI_HapticDevice *device, int id, const SDL_HapticEffect *data)
|
static bool SDL_HIDAPI_HapticDriverLg4ff_UpdateEffect(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id, const SDL_HapticEffect *data)
|
||||||
{
|
{
|
||||||
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -1060,7 +1060,7 @@ static bool SDL_HIDAPI_HapticDriverLg4ff_UpdateEffect(SDL_HIDAPI_HapticDevice *d
|
||||||
return ret == 0;
|
return ret == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool SDL_HIDAPI_HapticDriverLg4ff_RunEffect(SDL_HIDAPI_HapticDevice *device, int id, Uint32 iterations)
|
static bool SDL_HIDAPI_HapticDriverLg4ff_RunEffect(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id, Uint32 iterations)
|
||||||
{
|
{
|
||||||
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -1078,12 +1078,12 @@ static bool SDL_HIDAPI_HapticDriverLg4ff_RunEffect(SDL_HIDAPI_HapticDevice *devi
|
||||||
return ret == 0;
|
return ret == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool SDL_HIDAPI_HapticDriverLg4ff_StopEffect(SDL_HIDAPI_HapticDevice *device, int id)
|
static bool SDL_HIDAPI_HapticDriverLg4ff_StopEffect(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id)
|
||||||
{
|
{
|
||||||
return SDL_HIDAPI_HapticDriverLg4ff_RunEffect(device, id, 0);
|
return SDL_HIDAPI_HapticDriverLg4ff_RunEffect(device, id, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void SDL_HIDAPI_HapticDriverLg4ff_DestroyEffect(SDL_HIDAPI_HapticDevice *device, int id)
|
static void SDL_HIDAPI_HapticDriverLg4ff_DestroyEffect(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id)
|
||||||
{
|
{
|
||||||
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
||||||
struct lg4ff_effect_state *state;
|
struct lg4ff_effect_state *state;
|
||||||
|
@ -1101,7 +1101,7 @@ static void SDL_HIDAPI_HapticDriverLg4ff_DestroyEffect(SDL_HIDAPI_HapticDevice *
|
||||||
SDL_UnlockMutex(ctx->mutex);
|
SDL_UnlockMutex(ctx->mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool SDL_HIDAPI_HapticDriverLg4ff_GetEffectStatus(SDL_HIDAPI_HapticDevice *device, int id)
|
static bool SDL_HIDAPI_HapticDriverLg4ff_GetEffectStatus(SDL_HIDAPI_HapticDevice *device, SDL_HapticEffectID id)
|
||||||
{
|
{
|
||||||
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
lg4ff_device *ctx = (lg4ff_device *)device->ctx;
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
|
|
|
@ -37,7 +37,7 @@ int main(int argc, char **argv)
|
||||||
char *name = NULL;
|
char *name = NULL;
|
||||||
int index = -1;
|
int index = -1;
|
||||||
SDL_HapticEffect efx[9];
|
SDL_HapticEffect efx[9];
|
||||||
int id[9];
|
SDL_HapticEffectID id[9];
|
||||||
int nefx;
|
int nefx;
|
||||||
unsigned int supported;
|
unsigned int supported;
|
||||||
SDL_HapticID *haptics;
|
SDL_HapticID *haptics;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue