FS2_Open
Open source remastering of the Freespace 2 engine
sw_force.h
Go to the documentation of this file.
1 /****************************************************************************
2 
3  MODULE: SW_Force.H
4  Tab settings: 5 9
5 
6  Copyright 1995, 1996, Microsoft Corporation, All Rights Reserved.
7 
8  You have a royalty-free right to use, modify, reproduce and
9  distribute this header Files (and/or any modified version) in
10  any way you find useful, provided that you agree that
11  Microsoft has no warranty obligations or liability for any
12  Application Files which are created using the header Files.
13 
14  PURPOSE: Header for SideWinder Force Feedback Joystick
15  and interface to DirectInput Force Feedback API
16 
17 
18  Author(s): Name:
19  ---------- ----------------
20 
21 
22  Revision History:
23  -----------------
24  Version Date Author Comments
25  1.0 24-Mar-97 MEA original
26 
27 ****************************************************************************/
28 
29 #ifndef _SW_Force_SEEN
30 #define _SW_Force_SEEN
31 #include <winerror.h>
32 #include <windows.h>
33 #include <mmsystem.h>
34 #include <objbase.h>
35 #define INC_OLE2
36 #include <windows.h>
37 #include <ole2.h>
38 #include <ole2ver.h>
39 #undef INITGUIDS
40 
41 #include "sw_guid.hpp"
42 #include "directx/vdinput.h"
43 #include "sw_error.hpp"
44 
45 /*
46 #include "sw_guid.h"
47 #include "directx/vdinput.h"
48 #include "sw_error.h"
49 */
50 
51 
52 //
53 // --- Defines and macros for making DirectInput FF a little easier to work
54 // with.
55 //
56 #define SINE 1
57 #define COSINE 2
58 #define SQUARE_HIGH 3
59 #define SQUARE_LOW 4
60 #define TRIANGLE_UP 5
61 #define TRIANGLE_DOWN 6
62 #define SAWTOOTH_UP 7
63 #define SAWTOOTH_DOWN 8
64 #define RAMP_UP 9
65 #define RAMP_DOWN 10
66 #define SPRING 11
67 #define INERTIA 12
68 #define DAMPER 13
69 #define FRICTION 14
70 #define WALL 15
71 
72 #define HZ_TO_uS(HZ) ((int)(1000000.0/(double)(HZ) + 0.5))
73 #define uS_TO_HZ(uS) (max(1,(int)((double)(uS)/1000000.0 + 0.5)))
74 
75 #ifndef X_AXIS
76 #define X_AXIS 1
77 #endif
78 
79 #ifndef Y_AXIS
80 #define Y_AXIS 2
81 #endif
82 
83 //---------------------------------------------------------------------------
84 // Function prototype declarations C-callable
85 //---------------------------------------------------------------------------
86 #ifdef __cplusplus
87 extern "C" {
88 #endif
89 
91  IN HWND hWnd,
92  OUT LPDIRECTINPUT* ppDI,
93  OUT LPDIRECTINPUTDEVICE2* ppDIDevice2);
94 
96  IN HWND hWnd,
97  IN HINSTANCE hInstance,
98  OUT LPDIRECTINPUT* ppDI,
99  OUT LPDIRECTINPUTDEVICE2* ppDIDevice,
100  DWORD dwFlags);
101 
103  IN LPDIRECTINPUTDEVICE2 pDIDevice,
104  IN LPDIRECTINPUTEFFECT pDIEffect);
105 
107  IN LPDIRECTINPUTDEVICE2 pDIDevice);
108 
110  IN LPDIRECTINPUTEFFECT pDIEffect,
111  IN DWORD dwGain);
112 
114  IN LPDIRECTINPUTEFFECT pDIEffect,
115  IN DWORD dwAngle);
116 
118  IN LPDIRECTINPUTEFFECT pDIEffect,
119  IN DWORD dwDuration);
120 
122  IN LPDIRECTINPUTEFFECT pDIEffect,
123  IN DWORD dwAngle,
124  IN DWORD dwMag);
125 
127  IN LPDIRECTINPUTEFFECT pDIEffect,
128  IN LONG lMagnitude,
129  IN DWORD dwDirection);
130 
132  IN LPDIRECTINPUTEFFECT pDIEffect,
133  IN LONG lMagnitude);
134 
136  IN LPDIRECTINPUTDEVICE2 pDIDevice,
137  IN OUT LPDIRECTINPUTEFFECT * ppDIEffect,
138  IN LONG lMagnitude,
139  IN DWORD dwDirection);
140 
142  IN LPDIRECTINPUTDEVICE2 pDIDevice,
143  IN OUT LPDIRECTINPUTEFFECT * ppDIEffect,
144  IN LONG lMagnitude,
145  IN DWORD dwAxis);
146 
148  IN LPDIRECTINPUTDEVICE2 pDIDevice,
149  IN OUT LPDIRECTINPUTEFFECT * ppDIEffect,
150  IN REFGUID refGUID,
151  IN DWORD dwDuration,
152  IN DWORD dwGain,
153  IN DWORD dwDirection,
154  IN LONG lButton);
155 
157  IN LPDIRECTINPUTDEVICE2 pDIDevice,
158  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
159  IN DWORD dwType,
160  IN DWORD dwDuration,
161  IN DWORD dwPeriod,
162  IN DWORD dwDirection,
163  IN DWORD dwMagnitude,
164  IN LONG lOffset,
165  IN DWORD dwAttackTime,
166  IN DWORD dwAttackLevel,
167  IN DWORD dwFadeTime,
168  IN DWORD dwFadeLevel,
169  IN LONG lButton);
170 
172  IN LPDIRECTINPUTDEVICE2 pDIDevice,
173  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
174  IN DWORD dwDuration,
175  IN LONG lKx,
176  IN LONG lCenterX,
177  IN LONG lKy,
178  IN LONG lCenterY,
179  IN LONG lButton);
180 
182  IN LPDIRECTINPUTDEVICE2 pDIDevice,
183  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
184  IN DWORD dwDuration,
185  IN LONG lBx,
186  IN LONG lV0x,
187  IN LONG lBy,
188  IN LONG lV0y,
189  IN LONG lButton);
190 
192  IN LPDIRECTINPUTDEVICE2 pDIDevice,
193  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
194  IN DWORD dwDuration,
195  IN LONG lMx,
196  IN LONG lA0x,
197  IN LONG lMy,
198  IN LONG lA0y,
199  IN LONG lButton);
200 
202  IN LPDIRECTINPUTDEVICE2 pDIDevice,
203  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
204  IN DWORD dwDuration,
205  IN LONG lFx,
206  IN LONG lFy,
207  IN LONG lButton);
208 
210  IN LPDIRECTINPUTDEVICE2 pDIDevice,
211  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
212  IN DWORD dwType,
213  IN DWORD dwDuration,
214  IN LONG lXCoefficient,
215  IN LONG lXOffset,
216  IN LONG lYCoefficient,
217  IN LONG lYOffset,
218  IN LONG lButton);
219 
221  IN LPDIRECTINPUTDEVICE2 pDIDevice,
222  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
223  IN DWORD dwDuration,
224  IN DWORD dwDirection,
225  IN LONG lStart,
226  IN LONG lEnd,
227  IN DWORD dwAttackTime,
228  IN DWORD dwAttackLevel,
229  IN DWORD dwFadeTime,
230  IN DWORD dwFadeLevel,
231  IN LONG lButtonMask);
232 
234  IN LPDIRECTINPUTDEVICE2 pDIDevice,
235  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
236  IN DWORD dwDuration,
237  IN DWORD dwDirection,
238  IN LONG lMagnitude,
239  IN DWORD dwAttackTime,
240  IN DWORD dwAttackLevel,
241  IN DWORD dwFadeTime,
242  IN DWORD dwFadeLevel,
243  IN LONG lButton);
244 
246  IN LPDIRECTINPUTDEVICE2 pDIDevice,
247  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
248  IN DWORD dwDuration,
249  IN DWORD dwDirection,
250  IN DWORD dwDistance,
251  IN BOOL bInner,
252  IN LONG lWallCoefficient,
253  IN LONG lButton);
254 
256  IN LPDIRECTINPUTDEVICE2 pDIDevice,
257  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
258  IN const TCHAR *pszFileName);
259 
261  IN LPDIRECTINPUTDEVICE2 pDIDevice,
262  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
263  IN const TCHAR *pszFileName,
264  IN DWORD dwDuration,
265  IN DWORD dwGain,
266  IN DWORD dwDirection);
267 
269  IN LPDIRECTINPUTDEVICE2 pDIDevice,
270  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
271  IN const LPVOID pBuffer,
272  IN DWORD dwBufferSize);
273 
275  IN LPDIRECTINPUTDEVICE2 pDIDevice,
276  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
277  IN const LPVOID pBuffer,
278  IN DWORD dwBufferSize,
279  IN DWORD dwDuration,
280  IN DWORD dwGain,
281  IN DWORD dwDirection);
282 
284  IN LPDIRECTINPUTDEVICE2 pDIDevice,
285  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
286  IN const TCHAR *pszFileName);
287 
289  IN LPDIRECTINPUTDEVICE2 pDIDevice,
290  IN OUT LPDIRECTINPUTEFFECT** pppDIEffect,
291  IN OUT PDWORD pdwEffectCount,
292  IN const TCHAR *pszFileName,
293  IN OUT void** ppUDBuffer,
294  IN OUT PDWORD pdwOutFlags);
295 
297  IN LPDIRECTINPUTDEVICE2 pDIDevice,
298  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
299  IN const LPVOID pBuffer,
300  IN DWORD dwBufferSize);
301 
303  IN LPDIRECTINPUTDEVICE2 pDIDevice,
304  IN OUT LPDIRECTINPUTEFFECT** pppDIEffect,
305  IN OUT PDWORD pdwEffectCount,
306  IN const LPVOID pBuffer,
307  IN DWORD dwBufferSize,
308  IN OUT void** ppUDBuffer,
309  IN OUT PDWORD pdwOutFlags);
310 
311 BOOL SWFF_RegisterVFXObject(LPCTSTR pszVFXPath);
312 
314  IN int nJoyID,
315  IN OUT JOYINFOEX * pjix,
316  OUT char *pszErr);
317 /*
318 HRESULT SWFF_GetJoyData2(
319  IN LPDIRECTINPUTDEVICE2 pDIDevice,
320  IN OUT LPDIJOYSTATE pjs);
321 */
323  IN HRESULT hResult,
324  OUT TCHAR * pszCodeString);
325 
326 
327 #ifdef __cplusplus
328 }
329 #endif
330 
331 //
332 // --- IVFX Interface prototypes
333 //
334 #ifndef PPVOID
335 typedef LPVOID * PPVOID;
336 #endif //PPVOID
337 
338 typedef struct IVFX *PVFX;
339 typedef struct IVFX **PPVFX;
340 
341 #define VFXCE_CREATE_SINGLE 0x00001
342 #define VFXCE_CREATE_MULTIPLE 0x00002
343 #define VFXCE_CALC_BUFFER_SIZE 0x00004
344 #define VFXCE_CALC_EFFECT_COUNT 0x00008
345 #define VFXCE_CONCATENATE 0x00010
346 #define VFXCE_SUPERIMPOSE 0x00020
347 
348 
349 #undef INTERFACE
350 #define INTERFACE IVFX
352 {
353  //IUnknown members
354  STDMETHOD(QueryInterface) (THIS_ REFIID, PPVOID) PURE;
355  STDMETHOD_(ULONG,AddRef) (THIS) PURE;
356  STDMETHOD_(ULONG,Release) (THIS) PURE;
357 
358  //IVFX Interface members
359  // General Methods
360  STDMETHOD_(HRESULT, CreateEffectFromFile) (
361  THIS_
364  LPDWORD,
365  const TCHAR*,
366  LPVOID,
367  LPDWORD,
368  DWORD,
369  LPDWORD) PURE;
370 
371  STDMETHOD_(HRESULT, CreateEffectFromBuffer) (
372  THIS_
374  LPDIRECTINPUTEFFECT*,
375  LPDWORD,
376  PVOID,
377  DWORD,
378  LPVOID,
379  LPDWORD,
380  DWORD,
381  LPDWORD) PURE;
382 };
383 
384 //
385 // --- SideWinder specific
386 //
387 #define DEFAULT_ROM_EFFECT_GAIN 100 // Set dwGain to this for Default
388  // ROM Effect gain
389 #define DEFAULT_ROM_EFFECT_DURATION 1000 // Set dwDuration to this for Default
390  // ROM Effect Duration
391 #define DEFAULT_ROM_EFFECT_OUTPUTRATE 1000 // Set dwSampleRate to this for
392  // Default ROM Effect output rate
393 
394 #define MIN_ANGLE 0
395 #define MAX_ANGLE 36000
396 #define MIN_FORCEOUTPUTRATE 1
397 #define MIN_GAIN 1
398 #define MAX_GAIN 10000
399 #define MAX_FORCE 10000
400 #define MIN_FORCE -10000
401 #define MIN_TIME_PERIOD 1
402 #define MAX_TIME_PERIOD 4294967296L // 4096 * 10^^6 usecs
403 
404 #define SCALE_GAIN 100 // DX is +/- 10000
405 #define SCALE_TIME 1000 // DX is in microseconds
406 #define SCALE_POSITION 100 // DX is +/- 10000
407 #define SCALE_CONSTANTS 100 // DX is +/- 10000
408 #define SCALE_DIRECTION 100 // DX is 0 to 35900
409 
410 //
411 // --- Default Values
412 //
413 #define DEFAULT_OFFSET 0
414 #define DEFAULT_ATTACK_LEVEL 0
415 #define DEFAULT_ATTACK_TIME 0
416 #define DEFAULT_SUSTAIN_LEVEL 10000
417 #define DEFAULT_FADE_LEVEL 0
418 #define DEFAULT_FADE_TIME 0
419 
420 
421 //
422 // The following are Type Specific parameters structures for SideWinder
423 //
424 
425 //
426 // --- WALL Effect
427 //
428 #define WALL_INNER 0 // Wall material:from center to Wall Distance
429 #define WALL_OUTER 1 // Wall material:greater than Wall Distance
430 
431 typedef struct _BE_WALL_PARAM {
432  ULONG m_Bytes; // Size of this structure
433  ULONG m_WallType; // WALL_INNER or WALL_OUTER
434  LONG m_WallConstant; // in +/- 10000%
435  ULONG m_WallAngle; // 0, 9000, 18000, 27000
436  ULONG m_WallDistance; // Distance from Wall face normal to center. 0 to 10000
438 
439 //
440 // --- EF_VFX_EFFECT = { FRC file effects }
441 //
442 // Subtypes: none
443 
444 #define VFX_FILENAME 0L
445 #define VFX_BUFFER 1L
446 
447 #define DEFAULT_VFX_EFFECT_GAIN 10000 // set dwGain to this for default gain
448 #define DEFAULT_VFX_EFFECT_DIRECTION 0 // set polar direction to this for default direction
449 #define DEFAULT_VFX_EFFECT_DURATION 1000 // set dwDuration to this for default duration
450 
451 typedef struct _VFX_PARAM
452 {
453  ULONG m_Bytes; // Size of this structure
454  ULONG m_PointerType; // VFX_FILENAME or VFX_BUFFER
455  ULONG m_BufferSize; // number of bytes in buffer (if VFX_BUFFER)
456  PVOID m_pFileNameOrBuffer; // file name to open
458 
459 typedef struct {
461  DICONDITION DIConditionStruct[2];
462  LONG rglDirection[2];
464 
467  IN LPDIRECTINPUTDEVICE2 pDIDevice,
468  IN OUT LPDIRECTINPUTEFFECT* ppDIEffect,
469  IN DWORD dwType,
470  IN DWORD dwDuration,
471  IN LONG lXCoefficient,
472  IN LONG lXOffset,
473  IN LONG lYCoefficient,
474  IN LONG lYOffset,
475  IN LONG lButton);
476 
477 #endif // of ifdef _SW_Force_SEEN
ULONG m_PointerType
Definition: sw_force.h:454
BOOL SWFF_RegisterVFXObject(LPCTSTR pszVFXPath)
HRESULT SWFF_CreateVFXEffectFromFile(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN const TCHAR *pszFileName)
void * HWND
Definition: config.h:104
HRESULT SWFF_PutRawAxisForce(IN LPDIRECTINPUTEFFECT pDIEffect, IN LONG lMagnitude)
Definition: swff_lib.cpp:527
LPVOID * PPVOID
Definition: sw_force.h:335
HRESULT SWFF_DestroyAllEffects(IN LPDIRECTINPUTDEVICE2 pDIDevice)
Definition: swff_lib.cpp:357
HRESULT SWFF_CreateDIEffectFromBuffer(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN const LPVOID pBuffer, IN DWORD dwBufferSize)
HRESULT SWFF_OpenDefaultFFJoystick(IN HWND hWnd, OUT LPDIRECTINPUT *ppDI, OUT LPDIRECTINPUTDEVICE2 *ppDIDevice2)
HRESULT SWFF_SetGain(IN LPDIRECTINPUTEFFECT pDIEffect, IN DWORD dwGain)
Definition: swff_lib.cpp:389
DECLARE_INTERFACE_(IVFX, IUnknown)
Definition: sw_force.h:351
void * HINSTANCE
Definition: config.h:105
struct IVFX * PVFX
Definition: sw_force.h:338
void SWFF_ErrorCodeToString(IN HRESULT hResult, OUT TCHAR *pszCodeString)
ULONG m_Bytes
Definition: sw_force.h:432
HRESULT SWFF_CreateConstantForceEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwDuration, IN DWORD dwDirection, IN LONG lMagnitude, IN DWORD dwAttackTime, IN DWORD dwAttackLevel, IN DWORD dwFadeTime, IN DWORD dwFadeLevel, IN LONG lButton)
Definition: swff_lib.cpp:2147
unsigned long * LPDWORD
Definition: config.h:90
struct _BE_WALL_PARAM BE_WALL_PARAM
struct _BE_WALL_PARAM * PBE_WALL_PARAM
HRESULT SWFF_DestroyEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN LPDIRECTINPUTEFFECT pDIEffect)
Definition: swff_lib.cpp:333
ULONG m_WallType
Definition: sw_force.h:433
ULONG m_Bytes
Definition: sw_force.h:453
HRESULT SWFF_CreatePeriodicEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwType, IN DWORD dwDuration, IN DWORD dwPeriod, IN DWORD dwDirection, IN DWORD dwMagnitude, IN LONG lOffset, IN DWORD dwAttackTime, IN DWORD dwAttackLevel, IN DWORD dwFadeTime, IN DWORD dwFadeLevel, IN LONG lButton)
Definition: swff_lib.cpp:1533
HRESULT SWFF_PutRawForce(IN LPDIRECTINPUTEFFECT pDIEffect, IN LONG lMagnitude, IN DWORD dwDirection)
Definition: swff_lib.cpp:486
ULONG m_BufferSize
Definition: sw_force.h:455
struct IDirectInputDevice2 * LPDIRECTINPUTDEVICE2
Definition: vdinput.h:960
LPDWORD DWORD dwFlags
Definition: vdplay.h:427
HRESULT SWFF_CreateDamperEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwDuration, IN LONG lBx, IN LONG lV0x, IN LONG lBy, IN LONG lV0y, IN LONG lButton)
Definition: swff_lib.cpp:1696
HRESULT SWFF_CreateRawForceEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN LONG lMagnitude, IN DWORD dwDirection)
HRESULT SWFF_CreateVFXEffectFromFileEx(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN const TCHAR *pszFileName, IN DWORD dwDuration, IN DWORD dwGain, IN DWORD dwDirection)
PVOID m_pFileNameOrBuffer
Definition: sw_force.h:456
HRESULT SWFF_CreateConditionEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwType, IN DWORD dwDuration, IN LONG lXCoefficient, IN LONG lXOffset, IN LONG lYCoefficient, IN LONG lYOffset, IN LONG lButton)
Definition: swff_lib.cpp:1941
HRESULT SWFF_CreateSpringEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwDuration, IN LONG lKx, IN LONG lCenterX, IN LONG lKy, IN LONG lCenterY, IN LONG lButton)
Definition: swff_lib.cpp:1651
HRESULT SWFF_CreateVFXEffectFromBufferEx(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN const LPVOID pBuffer, IN DWORD dwBufferSize, IN DWORD dwDuration, IN DWORD dwGain, IN DWORD dwDirection)
HRESULT SWFF_SetDuration(IN LPDIRECTINPUTEFFECT pDIEffect, IN DWORD dwDuration)
Definition: swff_lib.cpp:461
unsigned long * PDWORD
Definition: config.h:90
struct IDirectInput * LPDIRECTINPUT
Definition: vdinput.h:1381
struct IDirectInputEffect * LPDIRECTINPUTEFFECT
Definition: vdinput.h:271
ULONG m_WallAngle
Definition: sw_force.h:435
HRESULT SWFF_CreateVFXEffectFromBuffer(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN const LPVOID pBuffer, IN DWORD dwBufferSize)
unsigned long DWORD
Definition: config.h:90
HRESULT SWFF_SetDirectionGain(IN LPDIRECTINPUTEFFECT pDIEffect, IN DWORD dwAngle, IN DWORD dwMag)
Definition: swff_lib.cpp:430
long HRESULT
Definition: vddraw.h:115
HRESULT SWFF_CreateConditionEffectStruct(di_condition_effect_struct *ptr, IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwType, IN DWORD dwDuration, IN LONG lXCoefficient, IN LONG lXOffset, IN LONG lYCoefficient, IN LONG lYOffset, IN LONG lButton)
Definition: swff_lib.cpp:1812
long LONG
Definition: config.h:95
HRESULT SWFF_SetDirection(IN LPDIRECTINPUTEFFECT pDIEffect, IN DWORD dwAngle)
Definition: swff_lib.cpp:412
#define IUnknown
Definition: vddraw.h:28
int BOOL
Definition: config.h:80
HWND hWnd
Definition: vddraw.h:425
struct _VFX_PARAM * PVFX_PARAM
ULONG m_WallDistance
Definition: sw_force.h:436
HRESULT SWFF_CreateInertiaEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwDuration, IN LONG lMx, IN LONG lA0x, IN LONG lMy, IN LONG lA0y, IN LONG lButton)
Definition: swff_lib.cpp:1743
HRESULT SWFF_CreateDIEffectFromBufferEx(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT **pppDIEffect, IN OUT PDWORD pdwEffectCount, IN const LPVOID pBuffer, IN DWORD dwBufferSize, IN OUT void **ppUDBuffer, IN OUT PDWORD pdwOutFlags)
HRESULT SWFF_CreateWallEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwDuration, IN DWORD dwDirection, IN DWORD dwDistance, IN BOOL bInner, IN LONG lWallCoefficient, IN LONG lButton)
HRESULT SWFF_CreateDIEffectFromFileEx(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT **pppDIEffect, IN OUT PDWORD pdwEffectCount, IN const TCHAR *pszFileName, IN OUT void **ppUDBuffer, IN OUT PDWORD pdwOutFlags)
struct _VFX_PARAM VFX_PARAM
typedef LPVOID
Definition: vddraw.h:119
HRESULT SWFF_CreateDIEffectFromFile(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN const TCHAR *pszFileName)
HRESULT SWFF_CreateRampEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwDuration, IN DWORD dwDirection, IN LONG lStart, IN LONG lEnd, IN DWORD dwAttackTime, IN DWORD dwAttackLevel, IN DWORD dwFadeTime, IN DWORD dwFadeLevel, IN LONG lButtonMask)
Definition: swff_lib.cpp:2070
LONG m_WallConstant
Definition: sw_force.h:434
HRESULT SWFF_CreateRawAxisForceEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN LONG lMagnitude, IN DWORD dwAxis)
HRESULT SWFF_OpenDefaultFFJoystickEx(IN HWND hWnd, IN HINSTANCE hInstance, OUT LPDIRECTINPUT *ppDI, OUT LPDIRECTINPUTDEVICE2 *ppDIDevice, DWORD dwFlags)
struct IVFX ** PPVFX
Definition: sw_force.h:339
HRESULT SWFF_CreateROMEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN REFGUID refGUID, IN DWORD dwDuration, IN DWORD dwGain, IN DWORD dwDirection, IN LONG lButton)
Definition: swff_lib.cpp:691
HRESULT SWFF_CreateFrictionEffect(IN LPDIRECTINPUTDEVICE2 pDIDevice, IN OUT LPDIRECTINPUTEFFECT *ppDIEffect, IN DWORD dwDuration, IN LONG lFx, IN LONG lFy, IN LONG lButton)
Definition: swff_lib.cpp:1787
BOOL SWFF_GetJoyData(IN int nJoyID, IN OUT JOYINFOEX *pjix, OUT char *pszErr)