1 // Copyright 2014 Dolphin Emulator Project
2 // Licensed under GPLv2+
3 // Refer to the license.txt file included.
4 
5 #pragma once
6 
7 /*
8  * Define all constants from ForceFeedbackConstants.h with DirectInput prefixes.
9  *
10  * No effort was made to confirm if all definitions are actually supported by
11  * DirectInput, so some of these definitions may actually only exist on Mac OS X.
12  */
13 
14 // UUIDs
15 #define GUID_ConstantForce kFFEffectType_ConstantForce_ID
16 #define GUID_CustomForce kFFEffectType_CustomForce_ID
17 #define GUID_Damper kFFEffectType_Damper_ID
18 #define GUID_Friction kFFEffectType_Friction_ID
19 #define GUID_Inertia kFFEffectType_Inertia_ID
20 #define GUID_RampForce kFFEffectType_RampForce_ID
21 #define GUID_SawtoothDown kFFEffectType_SawtoothDown_ID
22 #define GUID_SawtoothUp kFFEffectType_SawtoothUp_ID
23 #define GUID_Sine kFFEffectType_Sine_ID
24 #define GUID_Spring kFFEffectType_Spring_ID
25 #define GUID_Square kFFEffectType_Square_ID
26 #define GUID_Triangle kFFEffectType_Triangle_ID
27 
28 // Miscellaneous
29 #define DI_DEGREES FF_DEGREES
30 #define DI_DOWNLOADSKIPPED FF_DOWNLOADSKIPPED
31 #define DI_EFFECTRESTARTED FF_EFFECTRESTARTED
32 #define DI_FALSE FF_FALSE
33 #define DI_FFNOMINALMAX FF_FFNOMINALMAX
34 #define DI_INFINITE FF_INFINITE
35 #define DI_OK FF_OK
36 #define DI_SECONDS FF_SECONDS
37 #define DI_TRUNCATED FF_TRUNCATED
38 #define DI_TRUNCATEDANDRESTARTED FF_TRUNCATEDANDRESTARTED
39 #define DIEFF_OBJECTOFFSETS FFEFF_OBJECTOFFSETS
40 #define DIERR_DEVICEFULL FFERR_DEVICEFULL
41 #define DIERR_DEVICENOTREG FFERR_DEVICENOTREG
42 #define DIERR_DEVICEPAUSED FFERR_DEVICEPAUSED
43 #define DIERR_DEVICERELEASED FFERR_DEVICERELEASED
44 #define DIERR_EFFECTPLAYING FFERR_EFFECTPLAYING
45 #define DIERR_EFFECTTYPEMISMATCH FFERR_EFFECTTYPEMISMATCH
46 #define DIERR_EFFECTTYPENOTSUPPORTED FFERR_EFFECTTYPENOTSUPPORTED
47 #define DIERR_GENERIC FFERR_GENERIC
48 #define DIERR_HASEFFECTS FFERR_HASEFFECTS
49 #define DIERR_INCOMPLETEEFFECT FFERR_INCOMPLETEEFFECT
50 #define DIERR_INTERNAL FFERR_INTERNAL
51 #define DIERR_INVALIDDOWNLOADID FFERR_INVALIDDOWNLOADID
52 #define DIERR_INVALIDPARAM FFERR_INVALIDPARAM
53 #define DIERR_MOREDATA FFERR_MOREDATA
54 #define DIERR_NOINTERFACE FFERR_NOINTERFACE
55 #define DIERR_NOTDOWNLOADED FFERR_NOTDOWNLOADED
56 #define DIERR_NOTINITIALIZED FFERR_NOTINITIALIZED
57 #define DIERR_OUTOFMEMORY FFERR_OUTOFMEMORY
58 #define DIERR_UNPLUGGED FFERR_UNPLUGGED
59 #define DIERR_UNSUPPORTED FFERR_UNSUPPORTED
60 #define DIERR_UNSUPPORTEDAXIS FFERR_UNSUPPORTEDAXIS
61 #define DIJOFS_X FFJOFS_X
62 #define DIJOFS_Y FFJOFS_Y
63 #define DIJOFS_Z FFJOFS_Z
64 
65 // FFCapabilitiesEffectSubType
66 #define DICAP_ST_KINESTHETIC FFCAP_ST_KINESTHETIC
67 #define DICAP_ST_VIBRATION FFCAP_ST_VIBRATION
68 
69 // FFCapabilitiesEffectType
70 #define DICAP_ET_CONSTANTFORCE FFCAP_ET_CONSTANTFORCE
71 #define DICAP_ET_RAMPFORCE FFCAP_ET_RAMPFORCE
72 #define DICAP_ET_SQUARE FFCAP_ET_SQUARE
73 #define DICAP_ET_SINE FFCAP_ET_SINE
74 #define DICAP_ET_TRIANGLE FFCAP_ET_TRIANGLE
75 #define DICAP_ET_SAWTOOTHUP FFCAP_ET_SAWTOOTHUP
76 #define DICAP_ET_SAWTOOTHDOWN FFCAP_ET_SAWTOOTHDOWN
77 #define DICAP_ET_SPRING FFCAP_ET_SPRING
78 #define DICAP_ET_DAMPER FFCAP_ET_DAMPER
79 #define DICAP_ET_INERTIA FFCAP_ET_INERTIA
80 #define DICAP_ET_FRICTION FFCAP_ET_FRICTION
81 #define DICAP_ET_CUSTOMFORCE FFCAP_ET_CUSTOMFORCE
82 
83 // FFCommandFlag
84 #define DISFFC_RESET FFSFFC_RESET
85 #define DISFFC_STOPALL FFSFFC_STOPALL
86 #define DISFFC_PAUSE FFSFFC_PAUSE
87 #define DISFFC_CONTINUE FFSFFC_CONTINUE
88 #define DISFFC_SETACTUATORSON FFSFFC_SETACTUATORSON
89 #define DISFFC_SETACTUATORSOFF FFSFFC_SETACTUATORSOFF
90 
91 // FFCooperativeLevelFlag
92 #define DISCL_EXCLUSIVE FFSCL_EXCLUSIVE
93 #define DISCL_NONEXCLUSIVE FFSCL_NONEXCLUSIVE
94 #define DISCL_FOREGROUND FFSCL_FOREGROUND
95 #define DISCL_BACKGROUND FFSCL_BACKGROUND
96 
97 // FFCoordinateSystemFlag
98 #define DIEFF_CARTESIAN FFEFF_CARTESIAN
99 #define DIEFF_POLAR FFEFF_POLAR
100 #define DIEFF_SPHERICAL FFEFF_SPHERICAL
101 
102 // FFEffectParameterFlag
103 #define DIEP_DURATION FFEP_DURATION
104 #define DIEP_SAMPLEPERIOD FFEP_SAMPLEPERIOD
105 #define DIEP_GAIN FFEP_GAIN
106 #define DIEP_TRIGGERBUTTON FFEP_TRIGGERBUTTON
107 #define DIEP_TRIGGERREPEATINTERVAL FFEP_TRIGGERREPEATINTERVAL
108 #define DIEP_AXES FFEP_AXES
109 #define DIEP_DIRECTION FFEP_DIRECTION
110 #define DIEP_ENVELOPE FFEP_ENVELOPE
111 #define DIEP_TYPESPECIFICPARAMS FFEP_TYPESPECIFICPARAMS
112 #define DIEP_STARTDELAY FFEP_STARTDELAY
113 #define DIEP_ALLPARAMS FFEP_ALLPARAMS
114 #define DIEP_START FFEP_START
115 #define DIEP_NORESTART FFEP_NORESTART
116 #define DIEP_NODOWNLOAD FFEP_NODOWNLOAD
117 #define DIEB_NOTRIGGER FFEB_NOTRIGGER
118 
119 // FFEffectStartFlag
120 #define DIES_SOLO FFES_SOLO
121 #define DIES_NODOWNLOAD FFES_NODOWNLOAD
122 
123 // FFEffectStatusFlag
124 #define DIEGES_NOTPLAYING FFEGES_NOTPLAYING
125 #define DIEGES_PLAYING FFEGES_PLAYING
126 #define DIEGES_EMULATED FFEGES_EMULATED
127 
128 // FFProperty
129 #define DIPROP_FFGAIN FFPROP_FFGAIN
130 #define DIPROP_AUTOCENTER FFPROP_AUTOCENTER
131 // not defined in ForceFeedbackConstants.h
132 #define DIPROPAUTOCENTER_OFF 0
133 #define DIPROPAUTOCENTER_ON 1
134 
135 // FFState
136 #define DIGFFS_EMPTY FFGFFS_EMPTY
137 #define DIGFFS_STOPPED FFGFFS_STOPPED
138 #define DIGFFS_PAUSED FFGFFS_PAUSED
139 #define DIGFFS_ACTUATORSON FFGFFS_ACTUATORSON
140 #define DIGFFS_ACTUATORSOFF FFGFFS_ACTUATORSOFF
141 #define DIGFFS_POWERON FFGFFS_POWERON
142 #define DIGFFS_POWEROFF FFGFFS_POWEROFF
143 #define DIGFFS_SAFETYSWITCHON FFGFFS_SAFETYSWITCHON
144 #define DIGFFS_SAFETYSWITCHOFF FFGFFS_SAFETYSWITCHOFF
145 #define DIGFFS_USERFFSWITCHON FFGFFS_USERFFSWITCHON
146 #define DIGFFS_USERFFSWITCHOFF FFGFFS_USERFFSWITCHOFF
147 #define DIGFFS_DEVICELOST FFGFFS_DEVICELOST
148