home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / LordLucifer / win32asm / files / TasmD3DRMdemo.ZIP / tdx61inc.ZIP / tdinput.inc < prev    next >
Encoding:
Text File  |  1999-08-10  |  29.2 KB  |  829 lines

  1. ; tdinput.inc  (c) Minde  06/08/99 montana@is.lt
  2. ; Content:  TASM DirectSetup include file ver. 1.2
  3. ; converted from dinput.h, DX ver. 6.1
  4. ;
  5. ;  Feel free to use or distribute the package, part or whole, for any
  6. ; non-commercial use preferably crediting me.
  7. ;  Also feel free to contact me at the above address if you experience any
  8. ; problems or notice any omissions.
  9.  
  10. DIRECTX_VERSION = 0600h
  11. DirectInputCreate = DirectInputCreateA
  12. DirectInputCreateA  PROCDESC STDCALL :DWORD, :DWORD, :DWORD, :DWORD
  13.  
  14. CLSID_DirectInput           GUID <025E609E0h,0B259h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  15. CLSID_DirectInputDevice     GUID <025E609E1h,0B259h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  16. IID_IDirectInputA           GUID <089521360h,0AA8Ah,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  17. IID_IDirectInputW           GUID <089521361h,0AA8Ah,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  18. IID_IDirectInput2A          GUID <05944E662h,0AA8Ah,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  19. IID_IDirectInput2W          GUID <05944E663h,0AA8Ah,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  20. IID_IDirectInputDeviceA     GUID <05944E680h,0C92Eh,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  21. IID_IDirectInputDeviceW     GUID <05944E681h,0C92Eh,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  22. IID_IDirectInputDevice2A    GUID <05944E682h,0C92Eh,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  23. IID_IDirectInputDevice2W    GUID <05944E683h,0C92Eh,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  24. IID_IDirectInputEffect      GUID <0E7E1F7C0h,088D2h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  25.  
  26. GUID_XAxis              GUID <0A36D02E0h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  27. GUID_YAxis              GUID <0A36D02E1h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  28. GUID_ZAxis              GUID <0A36D02E2h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  29. ;GUID_RAxis              GUID <0A36D02E3h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  30. ;GUID_UAxis              GUID <0A36D02E4h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  31. ;GUID_VAxis              GUID <0A36D02E5h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  32. GUID_RxAxis             GUID <0A36D02F4h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  33. GUID_RyAxis             GUID <0A36D02F5h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  34. GUID_RzAxis             GUID <0A36D02E3h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  35. GUID_Slider             GUID <0A36D02E4h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  36. GUID_Button             GUID <0A36D02F0h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  37. GUID_Key                GUID <055728220h,0D33Ch,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  38. GUID_POV                GUID <0A36D02F2h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  39. GUID_Unknown            GUID <0A36D02F3h,0C9F3h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  40. GUID_SysMouse           GUID <06F1D2B60h,0D5A0h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  41. GUID_SysKeyboard        GUID <06F1D2B61h,0D5A0h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  42. GUID_Joystick           GUID <06F1D2B70h,0D5A0h,011CFh,0BFh,0C7h,044h,045h,053h,054h,000h,000h>
  43.  
  44. GUID_ConstantForce      GUID <013541C20h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  45. GUID_RampForce          GUID <013541C21h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  46. GUID_Square             GUID <013541C22h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  47. GUID_Sine               GUID <013541C23h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  48. GUID_Triangle           GUID <013541C24h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  49. GUID_SawtoothUp         GUID <013541C25h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  50. GUID_SawtoothDown       GUID <013541C26h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  51. GUID_Spring             GUID <013541C27h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  52. GUID_Damper             GUID <013541C28h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  53. GUID_Inertia            GUID <013541C29h,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  54. GUID_Friction           GUID <013541C2Ah,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  55. GUID_CustomForce        GUID <013541C2Bh,08E33h,011D0h,09Ah,0D0h,000h,0A0h,0C9h,0A0h,06Eh,035h>
  56.  
  57.  
  58. DIEFT_ALL                   = 00000000h;
  59. DIEFT_CONSTANTFORCE         = 00000001h;
  60. DIEFT_RAMPFORCE             = 00000002h;
  61. DIEFT_PERIODIC              = 00000003h;
  62. DIEFT_CONDITION             = 00000004h;
  63. DIEFT_CUSTOMFORCE           = 00000005h;
  64. DIEFT_HARDWARE              = 000000FFh;
  65. DIEFT_FFATTACK              = 00000200h;
  66. DIEFT_FFFADE                = 00000400h;
  67. DIEFT_SATURATION            = 00000800h;
  68. DIEFT_POSNEGCOEFFICIENTS    = 00001000h;
  69. DIEFT_POSNEGSATURATION      = 00002000h;
  70. DIEFT_DEADBAND              = 00004000h;
  71.  
  72. DI_DEGREES                  =     100;
  73. DI_FFNOMINALMAX             =   10000;
  74. DI_SECONDS                  = 1000000;
  75.  
  76.  
  77. DICONSTANTFORCE struct
  78. diconstantforce_lMagnitude      DD ?
  79. DICONSTANTFORCE
  80.  
  81. DIRAMPFORCE struct
  82. dirampforce_lStart          DD ?
  83. dirampforce_lEnd            DD ?
  84. DIRAMPFORCE ends
  85.  
  86. DIPERIODIC struct
  87. diperiodic_dwMagnitude     DD ?
  88. diperiodic_lOffset         DD ?
  89. diperiodic_dwPhase         DD ?
  90. diperiodic_dwPeriod        DD ?
  91. DIPERIODIC ends
  92.  
  93.  
  94. DICONDITION struct
  95. dicondition_lOffset              DD ? 
  96. dicondition_lPositiveCoefficient DD ?
  97. dicondition_lNegativeCoefficient DD ?
  98. dicondition_dwPositiveSaturation DD ?
  99. dicondition_dwNegativeSaturation DD ?
  100. dicondition_lDeadBand            DD ?
  101. DICONDITION ends
  102.  
  103. DICUSTOMFORCE struct
  104. dicustomforce_cChannels           DD ?
  105. dicustomforce_dwSamplePeriod      DD ?
  106. dicustomforce_cSamples            DD ?
  107. dicustomforce_rglForceData        DD ?
  108. DICUSTOMFORCE ends
  109.  
  110.  
  111. DIENVELOPE struct
  112. dienvelope_dwSize              DD ?
  113. dienvelope_dwAttackLevel       DD ?
  114. dienvelope_dwAttackTime        DD ?
  115. dienvelope_dwFadeLevel         DD ?
  116. dienvelope_dwFadeTime          DD ?
  117. DIENVELOPE ends
  118.  
  119. DIEFFECT struct
  120. dieffect_dwSize                  DD ?
  121. dieffect_dwFlags                 DD ?
  122. dieffect_dwDuration              DD ?
  123. dieffect_dwSamplePeriod          DD ?
  124. dieffect_dwGain                  DD ?
  125. dieffect_dwTriggerButton         DD ?
  126. dieffect_dwTriggerRepeatInterval DD ?
  127. dieffect_cAxes                   DD ?
  128. dieffect_rgdwAxes                DD ?
  129. dieffect_rglDirection            DD ?
  130. dieffect_lpEnvelope              DD ?
  131. dieffect_cbTypeSpecificParams    DD ?
  132. dieffect_lpvTypeSpecificParams   DD ?
  133. DIEFFECT ends
  134.  
  135.  
  136. DIEFF_OBJECTIDS             = 000000001h;
  137. DIEFF_OBJECTOFFSETS         = 000000002h;
  138. DIEFF_CARTESIAN             = 000000010h;
  139. DIEFF_POLAR                 = 000000020h;
  140. DIEFF_SPHERICAL             = 000000040h;
  141.  
  142. DIEP_DURATION               = 000000001h;
  143. DIEP_SAMPLEPERIOD           = 000000002h;
  144. DIEP_GAIN                   = 000000004h;
  145. DIEP_TRIGGERBUTTON          = 000000008h;
  146. DIEP_TRIGGERREPEATINTERVAL  = 000000010h;
  147. DIEP_AXES                   = 000000020h;
  148. DIEP_DIRECTION              = 000000040h;
  149. DIEP_ENVELOPE               = 000000080h;
  150. DIEP_TYPESPECIFICPARAMS     = 000000100h;
  151. DIEP_ALLPARAMS              = 0000001FFh;
  152. DIEP_START                  = 020000000h;
  153. DIEP_NORESTART              = 040000000h;
  154. DIEP_NODOWNLOAD             = 080000000h;
  155. DIEB_NOTRIGGER              = 0FFFFFFFFh;
  156.  
  157. DIES_SOLO                   = 000000001h;
  158. DIES_NODOWNLOAD             = 080000000h;
  159.  
  160. DIEGES_PLAYING              = 000000001h;
  161. DIEGES_EMULATED             = 000000002h;
  162.  
  163.  
  164. DIEFFESCAPE struct
  165. dieffescape_dwSize          DD ?
  166. dieffescape_dwCommand       DD ?
  167. dieffescape_lpvInBuffer     DD ?
  168. dieffescape_cbInBuffer      DD ?
  169. dieffescape_lpvOutBuffer    DD ?
  170. dieffescape_cbOutBuffer     DD ?
  171. DIEFFESCAPE ends
  172.  
  173.  
  174. ; IDirectInputEffect
  175. ; IUnknown methods
  176. DIEQueryInterface        = 0
  177. DIEAddRef                = 4
  178. DIERelease               = 8
  179. ; IDirectInputEffect methods
  180. DIEInitialize           = 12
  181. DIEGetEffectGuid        = 16
  182. DIEGetParameters        = 20
  183. DIESetParameters        = 24
  184. DIEStart                = 28
  185. DIEStop                 = 32
  186. DIEGetEffectStatus      = 36
  187. DIEDownload             = 40
  188. DIEUnload               = 44
  189. DIEEscape               = 48
  190.  
  191.  
  192. ; *
  193. ; *      IDirectInputDevice
  194. ; *
  195.  
  196. DIDEVTYPE_DEVICE   = 1
  197. DIDEVTYPE_MOUSE    = 2
  198. DIDEVTYPE_KEYBOARD = 3
  199. DIDEVTYPE_JOYSTICK = 4
  200. DIDEVTYPE_HID = 00010000h
  201.  
  202. DIDEVTYPEMOUSE_UNKNOWN         = 1
  203. DIDEVTYPEMOUSE_TRADITIONAL     = 2
  204. DIDEVTYPEMOUSE_FINGERSTICK     = 3
  205. DIDEVTYPEMOUSE_TOUCHPAD        = 4
  206. DIDEVTYPEMOUSE_TRACKBALL       = 5
  207.  
  208. DIDEVTYPEKEYBOARD_UNKNOWN      = 0
  209. DIDEVTYPEKEYBOARD_PCXT         = 1
  210. DIDEVTYPEKEYBOARD_OLIVETTI     = 2
  211. DIDEVTYPEKEYBOARD_PCAT         = 3
  212. DIDEVTYPEKEYBOARD_PCENH        = 4
  213. DIDEVTYPEKEYBOARD_NOKIA1050    = 5
  214. DIDEVTYPEKEYBOARD_NOKIA9140    = 6
  215. DIDEVTYPEKEYBOARD_NEC98        = 7
  216. DIDEVTYPEKEYBOARD_NEC98LAPTOP  = 8
  217. DIDEVTYPEKEYBOARD_NEC98106     = 9
  218. DIDEVTYPEKEYBOARD_JAPAN106     = 10
  219. DIDEVTYPEKEYBOARD_JAPANAX      = 11
  220. DIDEVTYPEKEYBOARD_J3100        = 12
  221.  
  222. DIDEVTYPEJOYSTICK_UNKNOWN       = 1;
  223. DIDEVTYPEJOYSTICK_TRADITIONAL   = 2;
  224. DIDEVTYPEJOYSTICK_FLIGHTSTICK   = 3;
  225. DIDEVTYPEJOYSTICK_GAMEPAD       = 4;
  226. DIDEVTYPEJOYSTICK_RUDDER        = 5;
  227. DIDEVTYPEJOYSTICK_WHEEL         = 6;
  228. DIDEVTYPEJOYSTICK_HEADTRACKER   = 7;
  229.  
  230.  
  231.  
  232. DIDEVCAPS STRUCT
  233. didevcaps_dwSize                  DD ? ;
  234. didevcaps_dwFlags                 DD ? ;
  235. didevcaps_dwDevType               DD ? ;
  236. didevcaps_dwAxes                  DD ? ;
  237. didevcaps_dwButtons               DD ? ;
  238. didevcaps_dwPOVs                  DD ? ;
  239. IF DIRECTX_VERSION GE 0500h
  240. didevcaps_dwFFSamplePeriod        DD ? ;
  241. didevcaps_dwFFMinTimeResolution   DD ? ;
  242. didevcaps_dwFirmwareRevision      DD ? ;
  243. didevcaps_dwHardwareRevision      DD ? ;
  244. didevcaps_dwFFDriverVersion       DD ? ;
  245. ENDIF
  246. DIDEVCAPS ENDS
  247.  
  248.  
  249. DIDC_ATTACHED           = 000000001h
  250. DIDC_POLLEDDEVICE       = 000000002h
  251. DIDC_EMULATED           = 000000004h;
  252. DIDC_POLLEDDATAFORMAT   = 000000008h;
  253. DIDC_FORCEFEEDBACK      = 000000100h;
  254. DIDC_FFATTACK           = 000000200h;
  255. DIDC_FFFADE             = 000000400h;
  256. DIDC_SATURATION         = 000000800h;
  257. DIDC_POSNEGCOEFFICIENTS = 000001000h;
  258. DIDC_POSNEGSATURATION   = 000002000h;
  259. DIDC_DEADBAND           = 000004000h;
  260.  
  261. DIDFT_ALL          = 000000000h
  262. DIDFT_RELAXIS      = 000000001h
  263. DIDFT_ABSAXIS      = 000000002h
  264. DIDFT_AXIS         = 000000003h
  265. DIDFT_PSHBUTTON    = 000000004h
  266. DIDFT_TGLBUTTON    = 000000008h
  267. DIDFT_BUTTON       = 00000000Ch
  268. DIDFT_POV          = 000000010h
  269. DIDFT_COLLECTION   = 000000040h;
  270. DIDFT_NODATA       = 000000080h;
  271.  
  272. DIDFT_ANYINSTANCE  = 00000FF00h
  273. DIDFT_INSTANCEMASK = DIDFT_ANYINSTANCE;
  274. DIDFT_FFACTUATOR        = 01000000h;
  275. DIDFT_FFEFFECTTRIGGER   = 02000000h;
  276. DIDFT_NOCOLLECTION      = 00FFFF00h;
  277.  
  278.  
  279. DIOBJECTDATAFORMAT STRUCT
  280. diobjectdataformat_pguid       DD ? ;
  281. diobjectdataformat_dwOfs       DD ? ;
  282. diobjectdataformat_dwType      DD ? ;
  283. diobjectdataformat_dwFlags     DD ? ;
  284. DIOBJECTDATAFORMAT ENDS
  285.  
  286. DIDATAFORMAT STRUCT
  287. didataformat_dwSize      DD ? ;
  288. didataformat_dwObjSize   DD ? ;
  289. didataformat_dwFlags     DD ? ;
  290. didataformat_dwDataSize  DD ? ;
  291. didataformat_dwNumObjs   DD ? ;
  292. didataformat_rgodf       DD ? ;
  293. DIDATAFORMAT ENDS
  294.  
  295. DIDF_ABSAXIS       = 000000001h
  296. DIDF_RELAXIS       = 000000002h
  297.  
  298.  
  299. DIDEVICEOBJECTINSTANCEA STRUCT
  300. dideviceobjectinstancea_dwSize                  DD ? ;                      
  301. dideviceobjectinstancea_guidType                GUID ? ;                    
  302. dideviceobjectinstancea_dwOfs                   DD ? ;                      
  303. dideviceobjectinstancea_dwType                  DD ? ;                      
  304. dideviceobjectinstancea_dwFlags                 DD ? ;                      
  305. dideviceobjectinstancea_tszName                 DB MAX_PATH DUP (?) ;       
  306. IF DIRECTX_VERSION GE 0500h
  307. dideviceobjectinstancea_dwFFMaxForce            DD ?
  308. dideviceobjectinstancea_dwFFForceResolution     DD ?
  309. dideviceobjectinstancea_wCollectionNumber       DW ?
  310. dideviceobjectinstancea_wDesignatorIndex        DW ?
  311. dideviceobjectinstancea_wUsagePage              DW ?
  312. dideviceobjectinstancea_wUsage                  DW ?
  313. dideviceobjectinstancea_dwDimension             DD ?
  314. dideviceobjectinstancea_wExponent               DW ?
  315. dideviceobjectinstancea_wReserved               DW ?
  316. ENDIF
  317. DIDEVICEOBJECTINSTANCEA ENDS            
  318.                                         
  319. DIDOI_FFACTUATOR        = 00000001h;
  320. DIDOI_FFEFFECTTRIGGER   = 00000002h;
  321. DIDOI_POLLED            = 00008000h;
  322. DIDOI_ASPECTPOSITION    = 00000100h;
  323. DIDOI_ASPECTVELOCITY    = 00000200h;
  324. DIDOI_ASPECTACCEL       = 00000300h;
  325. DIDOI_ASPECTFORCE       = 00000400h;
  326. DIDOI_ASPECTMASK        = 00000F00h;
  327.  
  328.  
  329. DIPROPHEADER STRUCT
  330. dipropheader_dwSize              DD ? ;
  331. dipropheader_dwHeaderSize        DD ? ;
  332. dipropheader_dwObj               DD ? ;
  333. dipropheader_dwHow               DD ? ;
  334. DIPROPHEADER ENDS
  335.  
  336. DIPH_DEVICE = 0;
  337. DIPH_BYOFFSET = 1;
  338. DIPH_BYID = 2;
  339.  
  340. DIPROPDWORD STRUCT
  341. dipropdword_diph                DIPROPHEADER ? ;
  342. dipropdword_dwData              DD ? ;
  343. DIPROPDWORD ENDS
  344.  
  345. DIPROPRANGE STRUCT
  346. diproprange_diph                DIPROPHEADER ? ;
  347. diproprange_lMin                DD ? ;
  348. diproprange_lMax                DD ? ;
  349. DIPROPRANGE ENDS
  350.  
  351. DIPROPRANGE_NOMIN = 080000000h;
  352. DIPROPRANGE_NOMAX = 07FFFFFFFh;
  353.  
  354. ; Below some flags not defined in this release
  355. ;type  MAKEDIPROP = PGUID;
  356. ;DIPROP_BUFFERSIZE = MAKEDIPROP(1);
  357. ;DIPROP_AXISMODE = MAKEDIPROP(2);
  358. DIPROPAXISMODE_ABS = 0;
  359. DIPROPAXISMODE_REL = 1;
  360. ;DIPROP_GRANULARITY = MAKEDIPROP(3);
  361. ;DIPROP_RANGE = MAKEDIPROP(4);
  362. ;DIPROP_DEADZONE = MAKEDIPROP(5);
  363. ;DIPROP_SATURATION = MAKEDIPROP(6);
  364. ;DIPROP_FFGAIN = MAKEDIPROP(7);
  365. ;DIPROP_FFLOAD = MAKEDIPROP(8);
  366. ;DIPROP_AUTOCENTER = MAKEDIPROP(9);
  367. DIPROPAUTOCENTER_OFF = 0;
  368. DIPROPAUTOCENTER_ON = 1;
  369. ;DIPROP_CALIBRATIONMODE = MAKEDIPROP(10);
  370. DIPROPCALIBRATIONMODE_COOKED = 0;
  371. DIPROPCALIBRATIONMODE_RAW = 1;
  372.  
  373.  
  374.  
  375. DIDEVICEOBJECTDATA STRUCT
  376. dideviceobjectdata_dwOfs               DD ? ;
  377. dideviceobjectdata_dwData              DD ? ;
  378. dideviceobjectdata_dwTimeStamp         DD ? ;
  379. dideviceobjectdata_dwSequence          DD ? ;
  380. DIDEVICEOBJECTDATA ENDS
  381.  
  382. DIGDD_PEEK          = 00000001h;
  383.  
  384. DISCL_EXCLUSIVE     = 00000001h;
  385. DISCL_NONEXCLUSIVE  = 00000002h;
  386. DISCL_FOREGROUND    = 00000004h;
  387. DISCL_BACKGROUND    = 00000008h;
  388.  
  389.  
  390. DIDEVICEINSTANCEA STRUCT
  391. dideviceinstancea_dwSize              DD ? ;
  392. dideviceinstancea_guidInstance        GUID ? ;
  393. dideviceinstancea_guidProduct         GUID ? ;
  394. dideviceinstancea_dwDevType           DD ? ;
  395. dideviceinstancea_tszInstanceName     DB MAX_PATH DUP (?) ;
  396. dideviceinstancea_tszProductName      DB MAX_PATH DUP (?) ;
  397. IF DIRECTX_VERSION GE 0500h
  398. dideviceinstancea_guidFFDriver        GUID ?
  399. dideviceinstancea_wUsagePage          DW ?
  400. dideviceinstancea_wUsage              DW ?
  401. ENDIF
  402. DIDEVICEINSTANCEA ENDS
  403.  
  404.  
  405. ; IDirectInputDeviceA
  406. ; IUnknown methods
  407. DIDQueryInterface       = 0
  408. DIDAddRef               = 4
  409. DIDRelease              = 8
  410. ; IDirectInputDeviceA methods
  411. DIDGetCapabilities      = 12
  412. DIDEnumObjects          = 16
  413. DIDGetProperty          = 20
  414. DIDSetProperty          = 24
  415. DIDAcquire              = 28
  416. DIDUnacquire            = 32
  417. DIDGetDeviceState       = 36
  418. DIDGetDeviceData        = 40
  419. DIDSetDataFormat        = 44
  420. DIDSetEventNotification = 48
  421. DIDSetCooperativeLevel  = 52
  422. DIDGetObjectInfo        = 56
  423. DIDGetDeviceInfo        = 60
  424. DIDRunControlPanel      = 64
  425. DIDInitialize           = 68
  426. ; IDirectInputDevice2A
  427. DID2CreateEffect                = 72
  428. DID2EnumEffects                 = 76
  429. DID2GetEffectInfo               = 80
  430. DID2GetForceFeedbackState       = 84
  431. DID2SendForceFeedbackCommand    = 88
  432. DID2EnumCreatedEffectObjects    = 92
  433. DID2Escape                      = 96
  434. DID2Poll                        = 100
  435. DID2SendDeviceData              = 104
  436.  
  437.  
  438. DISFFC_RESET            = 00000001h;
  439. DISFFC_STOPALL          = 00000002h;
  440. DISFFC_PAUSE            = 00000004h;
  441. DISFFC_CONTINUE         = 00000008h;
  442. DISFFC_SETACTUATORSON   = 00000010h;
  443. DISFFC_SETACTUATORSOFF  = 00000020h;
  444.  
  445. DIGFFS_EMPTY            = 00000001h;
  446. DIGFFS_STOPPED          = 00000002h;
  447. DIGFFS_PAUSED           = 00000004h;
  448. DIGFFS_ACTUATORSON      = 00000010h;
  449. DIGFFS_ACTUATORSOFF     = 00000020h;
  450. DIGFFS_POWERON          = 00000040h;
  451. DIGFFS_POWEROFF         = 00000080h;
  452. DIGFFS_SAFETYSWITCHON   = 00000100h;
  453. DIGFFS_SAFETYSWITCHOFF  = 00000200h;
  454. DIGFFS_USERFFSWITCHON   = 00000400h;
  455. DIGFFS_USERFFSWITCHOFF  = 00000800h;
  456. DIGFFS_DEVICELOST       = 80000000h;
  457.  
  458.  
  459. DIEFFECTINFOA struct
  460. dieffectinfoa_dwSize              DD ?
  461. dieffectinfoa_guid                GUID ?
  462. dieffectinfoa_dwEffType           DD ?
  463. dieffectinfoa_dwStaticParams      DD ?
  464. dieffectinfoa_dwDynamicParams     DD ?
  465. dieffectinfoa_tszName             DB MAX_PATH DUP (?)
  466. DIEFFECTINFOA ends
  467.  
  468.  
  469. ; *
  470. ; *      Mouse
  471. ; *
  472.  
  473.  
  474. DIMOUSESTATE STRUCT
  475. dimousestate_lX          DD ? ;
  476. dimousestate_lY          DD ? ;
  477. dimousestate_lZ          DD ? ;
  478. dimousestate_rgbButtons  DB 4 DUP (?) ;
  479. DIMOUSESTATE ENDS
  480.  
  481. DIMOFS_X       = 0;
  482. DIMOFS_Y       = 4;
  483. DIMOFS_Z       = 8;
  484. DIMOFS_BUTTON0 = 12;
  485. DIMOFS_BUTTON1 = 13;
  486. DIMOFS_BUTTON2 = 14;
  487. DIMOFS_BUTTON3 = 15;
  488.  
  489.  
  490. ; *
  491. ; *      DirectInput keyboard scan codes
  492. ; *
  493.  
  494. DIK_ESCAPE         = 001h
  495. DIK_1              = 002h
  496. DIK_2              = 003h
  497. DIK_3              = 004h
  498. DIK_4              = 005h
  499. DIK_5              = 006h
  500. DIK_6              = 007h
  501. DIK_7              = 008h
  502. DIK_8              = 009h
  503. DIK_9              = 00Ah
  504. DIK_0              = 00Bh
  505. DIK_MINUS          = 00Ch ; - on main keyboard
  506. DIK_EQUALS         = 00Dh
  507. DIK_BACK           = 00Eh ; backspace
  508. DIK_TAB            = 00Fh
  509. DIK_Q              = 010h
  510. DIK_W              = 011h
  511. DIK_E              = 012h
  512. DIK_R              = 013h
  513. DIK_T              = 014h
  514. DIK_Y              = 015h
  515. DIK_U              = 016h
  516. DIK_I              = 017h
  517. DIK_O              = 018h
  518. DIK_P              = 019h
  519. DIK_LBRACKET       = 01Ah
  520. DIK_RBRACKET       = 01Bh
  521. DIK_RETURN         = 01Ch  ; Enter on main keyboard
  522. DIK_LCONTROL       = 01Dh
  523. DIK_A              = 01Eh
  524. DIK_S              = 01Fh
  525. DIK_D              = 020h
  526. DIK_F              = 021h
  527. DIK_G              = 022h
  528. DIK_H              = 023h
  529. DIK_J              = 024h
  530. DIK_K              = 025h
  531. DIK_L              = 026h
  532. DIK_SEMICOLON      = 027h
  533. DIK_APOSTROPHE     = 028h
  534. DIK_GRAVE          = 029h ; accent grave
  535. DIK_LSHIFT         = 02Ah
  536. DIK_BACKSLASH      = 02Bh
  537. DIK_Z              = 02Ch
  538. DIK_X              = 02Dh
  539. DIK_C              = 02Eh
  540. DIK_V              = 02Fh
  541. DIK_B              = 030h
  542. DIK_N              = 031h
  543. DIK_M              = 032h
  544. DIK_COMMA          = 033h
  545. DIK_PERIOD         = 034h ; on main keyboard
  546. DIK_SLASH          = 035h ; on main keyboard
  547. DIK_RSHIFT         = 036h
  548. DIK_MULTIPLY       = 037h ; on numeric keypad
  549. DIK_LMENU          = 038h ; left Alt
  550. DIK_SPACE          = 039h
  551. DIK_CAPITAL        = 03Ah
  552. DIK_F1             = 03Bh
  553. DIK_F2             = 03Ch
  554. DIK_F3             = 03Dh
  555. DIK_F4             = 03Eh
  556. DIK_F5             = 03Fh
  557. DIK_F6             = 040h
  558. DIK_F7             = 041h
  559. DIK_F8             = 042h
  560. DIK_F9             = 043h
  561. DIK_F10            = 044h
  562. DIK_NUMLOCK        = 045h
  563. DIK_SCROLL         = 046h ; Scroll Lock
  564. DIK_NUMPAD7        = 047h
  565. DIK_NUMPAD8        = 048h
  566. DIK_NUMPAD9        = 049h
  567. DIK_SUBTRACT       = 04Ah ; - on numeric keypad
  568. DIK_NUMPAD4        = 04Bh
  569. DIK_NUMPAD5        = 04Ch
  570. DIK_NUMPAD6        = 04Dh
  571. DIK_ADD            = 04Eh ; + on numeric keypad
  572. DIK_NUMPAD1        = 04Fh
  573. DIK_NUMPAD2        = 050h
  574. DIK_NUMPAD3        = 051h
  575. DIK_NUMPAD0        = 052h
  576. DIK_DECIMAL        = 053h ; . on numeric keypad
  577. DIK_F11            = 057h
  578. DIK_F12            = 058h
  579. DIK_F13            = 064h ;                     (NEC PC98)
  580. DIK_F14            = 065h ;                     (NEC PC98)
  581. DIK_F15            = 066h ;                     (NEC PC98)
  582. DIK_KANA           = 070h ; (Japanese keyboard)           
  583. DIK_CONVERT        = 079h ; (Japanese keyboard)           
  584. DIK_NOCONVERT      = 07Bh ; (Japanese keyboard)           
  585. DIK_YEN            = 07Dh ; (Japanese keyboard)           
  586. DIK_NUMPADEQUALS   = 08Dh ; = on numeric keypad (NEC PC98)
  587. DIK_CIRCUMFLEX     = 090h ; (Japanese keyboard)           
  588. DIK_AT             = 091h ;                     (NEC PC98)
  589. DIK_COLON          = 092h ;                     (NEC PC98)
  590. DIK_UNDERLINE      = 093h ;                     (NEC PC98)
  591. DIK_KANJI          = 094h ; (Japanese keyboard)           
  592. DIK_STOP           = 095h ;                     (NEC PC98)
  593. DIK_AX             = 096h ;                     (Japan AX)
  594. DIK_UNLABELED      = 097h ;                        (J3100)
  595. DIK_NUMPADENTER    = 09Ch ; Enter on numeric keypad
  596. DIK_RCONTROL       = 09Dh
  597. DIK_NUMPADCOMMA    = 0B3h ; , on numeric keypad (NEC PC98)
  598. DIK_DIVIDE         = 0B5h ; / on numeric keypad
  599. DIK_SYSRQ          = 0B7h
  600. DIK_RMENU          = 0B8h ; right Alt
  601. DIK_HOME           = 0C7h ; Home on arrow keypad
  602. DIK_UP             = 0C8h ; UpArrow on arrow keypad
  603. DIK_PRIOR          = 0C9h ; PgUp on arrow keypad
  604. DIK_LEFT           = 0CBh ; LeftArrow on arrow keypad
  605. DIK_RIGHT          = 0CDh ; RightArrow on arrow keypad
  606. DIK_END            = 0CFh ; End on arrow keypad
  607. DIK_DOWN           = 0D0h ; DownArrow on arrow keypad
  608. DIK_NEXT           = 0D1h ; PgDn on arrow keypad
  609. DIK_INSERT         = 0D2h ; Insert on arrow keypad
  610. DIK_DELETE         = 0D3h ; Delete on arrow keypad
  611. DIK_LWIN           = 0DBh ; Left Windows key
  612. DIK_RWIN           = 0DCh ; Right Windows key
  613. DIK_APPS           = 0DDh ; AppMenu key
  614. ; New with DX 6.1 & Win98
  615. DIK_POWER           = 0DEh;
  616. DIK_SLEEP           = 0DFh;
  617.  
  618. ; Alternate names for keys, to facilitate transition from DOS.
  619. DIK_BACKSPACE      = DIK_BACK       ; backspace
  620. DIK_NUMPADSTAR     = DIK_MULTIPLY   ; * on numeric keypad
  621. DIK_LALT           = DIK_LMENU      ; left Alt
  622. DIK_CAPSLOCK       = DIK_CAPITAL    ; CapsLock
  623. DIK_NUMPADMINUS    = DIK_SUBTRACT   ; - on numeric keypad 
  624. DIK_NUMPADPLUS     = DIK_ADD        ; + on numeric keypad
  625. DIK_NUMPADPERIOD   = DIK_DECIMAL    ; . on numeric keypad
  626. DIK_NUMPADSLASH    = DIK_DIVIDE     ; / on numeric keypad
  627. DIK_RALT           = DIK_RMENU      ; right Alt
  628. DIK_UPARROW        = DIK_UP         ; UpArrow on arrow keypad
  629. DIK_PGUP           = DIK_PRIOR      ; PgUp on arrow keypad
  630. DIK_LEFTARROW      = DIK_LEFT       ; LeftArrow on arrow keypad
  631. DIK_RIGHTARROW     = DIK_RIGHT      ; RightArrow on arrow keypad
  632. DIK_DOWNARROW      = DIK_DOWN       ; DownArrow on arrow keypad
  633. DIK_PGDN           = DIK_NEXT       ; PgDn on arrow keypad
  634.  
  635.  
  636. DIKEYBOARDSTATE typedef BYTE 255 DUP (?)
  637.  
  638.  
  639. ; *
  640. ; *      Joystick
  641. ; *
  642.  
  643.  
  644. DIJOYSTATE struct
  645. dijoystate_lX                  DD ?
  646. dijoystate_lY                  DD ?
  647. dijoystate_lZ                  DD ?
  648. dijoystate_lRx                 DD ?
  649. dijoystate_lRy                 DD ?
  650. dijoystate_lRz                 DD ?
  651. dijoystate_rglSlider           DD 2 DUP (?)
  652. dijoystate_rgdwPOV             DD 4 DUP (?)
  653. dijoystate_rgbButtons          DB 32 DUP (?)
  654. DIJOYSTATE ends
  655.  
  656. DIJOYSTATE2 struct
  657. dijoystate2_lX                  DD ?
  658. dijoystate2_lY                  DD ?
  659. dijoystate2_lZ                  DD ?
  660. dijoystate2_lRx                 DD ?
  661. dijoystate2_lRy                 DD ?
  662. dijoystate2_lRz                 DD ?
  663. dijoystate2_rglSlider           DD 2 DUP (?)
  664. dijoystate2_rgdwPOV             DD 4 DUP (?)
  665. dijoystate2_rgbButtons          DB 128 DUP (?)
  666. dijoystate2_lVX                 DD ?
  667. dijoystate2_lVY                 DD ?
  668. dijoystate2_lVZ                 DD ?
  669. dijoystate2_lVRx                DD ?
  670. dijoystate2_lVRy                DD ?
  671. dijoystate2_lVRz                DD ?
  672. dijoystate2_rglVSlider          DD 2 DUP (?)
  673. dijoystate2_lAX                 DD ?
  674. dijoystate2_lAY                 DD ?
  675. dijoystate2_lAZ                 DD ?
  676. dijoystate2_lARx                DD ?
  677. dijoystate2_lARy                DD ?
  678. dijoystate2_lARz                DD ?
  679. dijoystate2_rglASlider          DD 2 DUP (?)
  680. dijoystate2_lFX                 DD ?
  681. dijoystate2_lFY                 DD ?
  682. dijoystate2_lFZ                 DD ?
  683. dijoystate2_lFRx                DD ?
  684. dijoystate2_lFRy                DD ?
  685. dijoystate2_lFRz                DD ?
  686. dijoystate2_rglFSlider          DD 2 DUP (?)
  687. DIJOYSTATE2 ends
  688.  
  689.  
  690.   DIJOFS_BUTTON_ = 48;
  691.   DIJOFS_BUTTON0 = DIJOFS_BUTTON_ + 0;
  692.   DIJOFS_BUTTON1 = DIJOFS_BUTTON_ + 1;
  693.   DIJOFS_BUTTON2 = DIJOFS_BUTTON_ + 2;
  694.   DIJOFS_BUTTON3 = DIJOFS_BUTTON_ + 3;
  695.   DIJOFS_BUTTON4 = DIJOFS_BUTTON_ + 4;
  696.   DIJOFS_BUTTON5 = DIJOFS_BUTTON_ + 5;
  697.   DIJOFS_BUTTON6 = DIJOFS_BUTTON_ + 6;
  698.   DIJOFS_BUTTON7 = DIJOFS_BUTTON_ + 7;
  699.   DIJOFS_BUTTON8 = DIJOFS_BUTTON_ + 8;
  700.   DIJOFS_BUTTON9 = DIJOFS_BUTTON_ + 9;
  701.   DIJOFS_BUTTON10 = DIJOFS_BUTTON_ + 10;
  702.   DIJOFS_BUTTON11 = DIJOFS_BUTTON_ + 11;
  703.   DIJOFS_BUTTON12 = DIJOFS_BUTTON_ + 12;
  704.   DIJOFS_BUTTON13 = DIJOFS_BUTTON_ + 13;
  705.   DIJOFS_BUTTON14 = DIJOFS_BUTTON_ + 14;
  706.   DIJOFS_BUTTON15 = DIJOFS_BUTTON_ + 15;
  707.   DIJOFS_BUTTON16 = DIJOFS_BUTTON_ + 16;
  708.   DIJOFS_BUTTON17 = DIJOFS_BUTTON_ + 17;
  709.   DIJOFS_BUTTON18 = DIJOFS_BUTTON_ + 18;
  710.   DIJOFS_BUTTON19 = DIJOFS_BUTTON_ + 19;
  711.   DIJOFS_BUTTON20 = DIJOFS_BUTTON_ + 20;
  712.   DIJOFS_BUTTON21 = DIJOFS_BUTTON_ + 21;
  713.   DIJOFS_BUTTON22 = DIJOFS_BUTTON_ + 22;
  714.   DIJOFS_BUTTON23 = DIJOFS_BUTTON_ + 23;
  715.   DIJOFS_BUTTON24 = DIJOFS_BUTTON_ + 24;
  716.   DIJOFS_BUTTON25 = DIJOFS_BUTTON_ + 25;
  717.   DIJOFS_BUTTON26 = DIJOFS_BUTTON_ + 26;
  718.   DIJOFS_BUTTON27 = DIJOFS_BUTTON_ + 27;
  719.   DIJOFS_BUTTON28 = DIJOFS_BUTTON_ + 28;
  720.   DIJOFS_BUTTON29 = DIJOFS_BUTTON_ + 29;
  721.   DIJOFS_BUTTON30 = DIJOFS_BUTTON_ + 30;
  722.   DIJOFS_BUTTON31 = DIJOFS_BUTTON_ + 31;
  723.  
  724.   DIJOFS_X  =0;
  725.   DIJOFS_Y  =4;
  726.   DIJOFS_Z  =8;
  727.   DIJOFS_RX =12;
  728.   DIJOFS_RY =16;
  729.   DIJOFS_RZ =20;
  730.  
  731.  
  732. ; *
  733. ; *  IDirectInput
  734. ; *
  735.  
  736.   DIENUM_STOP = 0;
  737.   DIENUM_CONTINUE = 1;
  738.  
  739. DIEDFL_ALLDEVICES       = 000000000h
  740. DIEDFL_ATTACHEDONLY     = 000000001h
  741. DIEDFL_FORCEFEEDBACK    = 000000100h
  742.  
  743.  
  744. ; IDirectInputA
  745. ; IUnknown methods
  746. DIQueryInterface        = 0
  747. DIAddRef                = 4
  748. DIRelease               = 8
  749. ; IDirectInputA methods
  750. DICreateDevice          = 12
  751. DIEnumDevices           = 16
  752. DIGetDeviceStatus       = 20
  753. DIRunControlPanel       = 24
  754. DIInitialize            = 28
  755. ; IDirectInput2A methods
  756. DI2FindDevice           = 32
  757.  
  758.  
  759.  
  760. ; *
  761. ; *  Return Codes
  762. ; *
  763.  
  764. DI_OK                           = S_OK
  765. DI_NOTATTACHED                  = S_FALSE
  766. DI_BUFFEROVERFLOW               = S_FALSE
  767. DI_PROPNOEFFECT                 = S_FALSE
  768. DI_NOEFFECT                     = S_FALSE
  769. DI_POLLEDDEVICE                 = 000000002h
  770. DI_DOWNLOADSKIPPED              = 000000003h;
  771. DI_EFFECTRESTARTED              = 000000004h;
  772. DI_TRUNCATED                    = 000000008h;
  773. DI_TRUNCATEDANDRESTARTED        = 00000000Ch;
  774.  
  775. DIERR_OLDDIRECTINPUTVERSION     = (70000h + 1150) ; SEVERITY_ERROR_FACILITY_WIN32 or ERROR_OLD_WIN_VERSION; 
  776. DIERR_BETADIRECTINPUTVERSION    = (70000h +  1153); SEVERITY_ERROR_FACILITY_WIN32 or ERROR_RMODE_APP;       
  777. DIERR_BADDRIVERVER              = (70000h +  119) ; SEVERITY_ERROR_FACILITY_WIN32 or ERROR_BAD_DRIVER_LEVEL;
  778. DIERR_DEVICENOTREG              = REGDB_E_CLASSNOTREG
  779. DIERR_NOTFOUND                  = (70000h +  2) ; SEVERITY_ERROR_FACILITY_WIN32 or ERROR_FILE_NOT_FOUND;
  780. DIERR_OBJECTNOTFOUND            = (70000h +  2) ; SEVERITY_ERROR_FACILITY_WIN32 or ERROR_FILE_NOT_FOUND;
  781. DIERR_INVALIDPARAM              = E_INVALIDARG
  782. DIERR_NOINTERFACE               = E_NOINTERFACE
  783. DIERR_GENERIC                   = E_FAIL
  784. DIERR_OUTOFMEMORY               = E_OUTOFMEMORY
  785. DIERR_UNSUPPORTED               = E_NOTIMPL
  786. DIERR_NOTINITIALIZED            = (70000h + 21)  ; SEVERITY_ERROR_FACILITY_WIN32 or ERROR_NOT_READY;          
  787. DIERR_ALREADYINITIALIZED        = (70000h + 1247); SEVERITY_ERROR_FACILITY_WIN32 or ERROR_ALREADY_INITIALIZED;
  788. DIERR_NOAGGREGATION             = CLASS_E_NOAGGREGATION
  789. DIERR_OTHERAPPHASPRIO           = E_ACCESSDENIED
  790. DIERR_INPUTLOST                 = (70000h + 30) ; SEVERITY_ERROR_FACILITY_WIN32 or ERROR_READ_FAULT;    
  791. DIERR_ACQUIRED                  = (70000h + 170); SEVERITY_ERROR_FACILITY_WIN32 or ERROR_BUSY;          
  792. DIERR_NOTACQUIRED               = (70000h + 12) ; SEVERITY_ERROR_FACILITY_WIN32 or ERROR_INVALID_ACCESS;
  793. DIERR_READONLY                  = E_ACCESSDENIED
  794. DIERR_HANDLEEXISTS              = E_ACCESSDENIED
  795. E_PENDING                       = 080070007h
  796. DIERR_INSUFFICIENTPRIVS         = 080040200h;
  797. DIERR_DEVICEFULL                = 080040201h;
  798. DIERR_MOREDATA                  = 080040202h;
  799. DIERR_NOTDOWNLOADED             = 080040203h;
  800. DIERR_HASEFFECTS                = 080040204h;
  801. DIERR_NOTEXCLUSIVEACQUIRED      = 080040205h;
  802. DIERR_INCOMPLETEEFFECT          = 080040206h;
  803. DIERR_NOTBUFFERED               = 080040207h;
  804. DIERR_EFFECTPLAYING             = 080040208h;
  805.  
  806.  
  807. ; *
  808. ; *  Definitions for non-IDirectInput (VJoyD) features defined more recently
  809. ; *  than the current sdk files
  810. ; *
  811.  
  812. JOY_PASSDRIVERDATA          = 010000000h;
  813. JOY_HWS_ISHEADTRACKER       = 002000000h;
  814. JOY_HWS_ISGAMEPORTDRIVER    = 004000000h;
  815. JOY_HWS_ISANALOGPORTDRIVER  = 008000000h;
  816. JOY_HWS_AUTOLOAD            = 010000000h;
  817. JOY_HWS_NODEVNODE           = 020000000h;
  818. JOY_HWS_ISGAMEPORTEMULATOR  = 040000000h;
  819. JOY_US_VOLATILE             = 000000008h;
  820.  
  821. ; *
  822. ; *  Definitions for non-IDirectInput (VJoyD) features defined more recently
  823. ; *  than the current ddk files
  824. ; *
  825.  
  826. JOY_OEMPOLL_PASSDRIVERDATA  = 7;
  827.  
  828. ;end of file
  829.