home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vbpong1a / guiddefs.bas < prev    next >
Encoding:
BASIC Source File  |  1999-08-07  |  13.3 KB  |  458 lines

  1. Attribute VB_Name = "GUIDDEFS"
  2. ' Game controls objects
  3. Public GUID_XAxis As Win32.GUID
  4. Public GUID_YAxis As Win32.GUID
  5. Public GUID_ZAxis As Win32.GUID
  6. Public GUID_RxAxis As Win32.GUID
  7. Public GUID_RyAxis As Win32.GUID
  8. Public GUID_RzAxis As Win32.GUID
  9. Public GUID_Slider As Win32.GUID
  10. Public GUID_Button As Win32.GUID
  11. Public GUID_Key As Win32.GUID
  12. Public GUID_POV As Win32.GUID
  13. Public GUID_Unknown As Win32.GUID
  14.  
  15. ' Input devices
  16. Public GUID_SysMouse As Win32.GUID
  17. Public GUID_SysKeyboard As Win32.GUID
  18. Public GUID_Joystick As Win32.GUID
  19.  
  20. ' Data formats
  21. Public c_dfDIMouse As DIDATAFORMAT
  22. Public c_dfDIKeyboard As DIDATAFORMAT
  23. Public c_dfDIJoystick As DIDATAFORMAT
  24. Public c_dfDIJoystick2 As DIDATAFORMAT
  25.  
  26. ' Private
  27. Private odfMouse(0 To 6) As DIOBJECTDATAFORMAT
  28. Private odfKeyBoard(0 To 255) As DIOBJECTDATAFORMAT
  29. Private odfJoystick(0 To 43) As DIOBJECTDATAFORMAT
  30. Private odfJoystick2(0 To 163) As DIOBJECTDATAFORMAT
  31.  
  32. ' These are needed by CDXVBInput... Look into these structures for info!
  33. Public MouseState As DIMOUSESTATE
  34. Public JoystickState As DIJOYSTATE
  35. Public Keys(0 To 255) As Byte
  36.  
  37. ' Fills a GUID
  38. Private Sub DefineGUID(GUID As Win32.GUID, ByVal Data1 As Long, ByVal Data2 As Integer, ByVal Data3 As Integer, ByVal Data40 As Byte, ByVal Data41 As Byte, ByVal Data42 As Byte, ByVal Data43 As Byte, ByVal Data44 As Byte, ByVal Data45 As Byte, ByVal Data46, ByVal Data47 As Byte)
  39.     With GUID
  40.         .Data1 = Data1
  41.         .Data2 = Data2
  42.         .Data3 = Data3
  43.         .Data4(0) = Data40
  44.         .Data4(1) = Data41
  45.         .Data4(2) = Data42
  46.         .Data4(3) = Data43
  47.         .Data4(4) = Data44
  48.         .Data4(5) = Data45
  49.         .Data4(6) = Data46
  50.         .Data4(7) = Data47
  51.     End With
  52. End Sub
  53.  
  54. Public Sub GUID_Initialize()
  55.     Dim i As Long
  56.     ' Game controls
  57.     DefineGUID GUID_XAxis, &HA36D02E0, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  58.     DefineGUID GUID_YAxis, &HA36D02E1, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  59.     DefineGUID GUID_ZAxis, &HA36D02E2, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  60.     DefineGUID GUID_RxAxis, &HA36D02F4, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  61.     DefineGUID GUID_RyAxis, &HA36D02F5, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  62.     DefineGUID GUID_RzAxis, &HA36D02E3, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  63.     DefineGUID GUID_Slider, &HA36D02E4, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  64.     DefineGUID GUID_Button, &HA36D02F0, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  65.     DefineGUID GUID_Key, &H55728220, &HD33C, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  66.     DefineGUID GUID_POV, &HA36D02F2, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  67.     DefineGUID GUID_Unknown, &HA36D02F3, &HC9F3, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  68.     
  69.     ' Input devices
  70.     DefineGUID GUID_SysMouse, &H6F1D2B60, &HD5A0, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  71.     DefineGUID GUID_SysKeyboard, &H6F1D2B61, &HD5A0, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  72.     DefineGUID GUID_Joystick, &H6F1D2B70, &HD5A0, &H11CF, &HBF, &HC7, &H44, &H45, &H53, &H54, 0, 0
  73.     
  74.     ' Mouse objects array
  75.     With odfMouse(0)
  76.         .dwOfs = 0
  77.         .dwType = &HFFFF00 + DIDFT_AXIS
  78.         .dwflags = 0
  79.         .pGUID = VarPtr(GUID_XAxis)
  80.     End With
  81.     With odfMouse(1)
  82.         .dwOfs = 4
  83.         .dwType = &HFFFF00 + DIDFT_AXIS
  84.         .dwflags = 0
  85.         .pGUID = VarPtr(GUID_YAxis)
  86.     End With
  87.     With odfMouse(2)
  88.         .dwOfs = 8
  89.         .dwType = &H80FFFF00 + DIDFT_AXIS
  90.         .dwflags = 0
  91.         .pGUID = VarPtr(GUID_ZAxis)
  92.     End With
  93.     For i = 0 To 3
  94.         With odfMouse(3 + i)
  95.             .dwOfs = 12 + i
  96.             .dwType = &HFFFF00 + DIDFT_BUTTON
  97.             If i = 2 Or i = 3 Then .dwType = &H80000000 Or .dwType
  98.             .dwflags = 0
  99.             .pGUID = VarPtr(GUID_Button)
  100.         End With
  101.     Next
  102.     
  103.     ' Mouse data format
  104.     With c_dfDIMouse
  105.         .dwSize = &H18
  106.         .dwObjSize = &H10
  107.         .dwflags = 2
  108.         .dwDataSize = &H10
  109.         .dwNumObjs = 7
  110.         .rgodf = VarPtr(odfMouse(0))
  111.     End With
  112.     
  113.     ' Keyboard objects array
  114.     For i = 0 To 255
  115.         With odfKeyBoard(i)
  116.             .dwOfs = i
  117.             .dwType = &H80000000 + DIDFT_BUTTON + i * 256&
  118.             .dwflags = &H0
  119.             .pGUID = VarPtr(GUID_Key)
  120.         End With
  121.     Next
  122.     
  123.     ' Keyboard data format
  124.     With c_dfDIKeyboard
  125.         .dwSize = &H18
  126.         .dwObjSize = &H10
  127.         .dwflags = 2
  128.         .dwDataSize = &H100
  129.         .dwNumObjs = &H100
  130.         .rgodf = VarPtr(odfKeyBoard(0))
  131.     End With
  132.     
  133.     ' Joystick objects array
  134.     With odfJoystick(0)
  135.         .dwOfs = 0
  136.         .dwType = &H80FFFF00 + DIDFT_AXIS
  137.         .dwflags = 1
  138.         .pGUID = VarPtr(GUID_XAxis)
  139.     End With
  140.     With odfJoystick(1)
  141.         .dwOfs = 4
  142.         .dwType = &H80FFFF00 + DIDFT_AXIS
  143.         .dwflags = 1
  144.         .pGUID = VarPtr(GUID_YAxis)
  145.     End With
  146.     With odfJoystick(2)
  147.         .dwOfs = 8
  148.         .dwType = &H80FFFF00 + DIDFT_AXIS
  149.         .dwflags = 1
  150.         .pGUID = VarPtr(GUID_ZAxis)
  151.     End With
  152.     With odfJoystick(3)
  153.         .dwOfs = &HC
  154.         .dwType = &H80FFFF00 + DIDFT_AXIS
  155.         .dwflags = 1
  156.         .pGUID = VarPtr(GUID_RxAxis)
  157.     End With
  158.     With odfJoystick(4)
  159.         .dwOfs = &H10
  160.         .dwType = &H80FFFF00 + DIDFT_AXIS
  161.         .dwflags = 1
  162.         .pGUID = VarPtr(GUID_RyAxis)
  163.     End With
  164.     With odfJoystick(5)
  165.         .dwOfs = &H14
  166.         .dwType = &H80FFFF00 + DIDFT_AXIS
  167.         .dwflags = 1
  168.         .pGUID = VarPtr(GUID_RzAxis)
  169.     End With
  170.     With odfJoystick(6)
  171.         .dwOfs = &H18
  172.         .dwType = &H80FFFF00 + DIDFT_AXIS
  173.         .dwflags = 1
  174.         .pGUID = VarPtr(GUID_Slider)
  175.     End With
  176.     With odfJoystick(7)
  177.         .dwOfs = &H1C
  178.         .dwType = &H80FFFF00 + DIDFT_AXIS
  179.         .dwflags = 1
  180.         .pGUID = VarPtr(GUID_Slider)
  181.     End With
  182.     With odfJoystick(8)
  183.         .dwOfs = &H20
  184.         .dwType = &H80FFFF00 + DIDFT_POV
  185.         .dwflags = 0
  186.         .pGUID = VarPtr(GUID_POV)
  187.     End With
  188.     With odfJoystick(9)
  189.         .dwOfs = &H24
  190.         .dwType = &H80FFFF00 + DIDFT_POV
  191.         .dwflags = 0
  192.         .pGUID = VarPtr(GUID_POV)
  193.     End With
  194.     With odfJoystick(10)
  195.         .dwOfs = &H28
  196.         .dwType = &H80FFFF00 + DIDFT_POV
  197.         .dwflags = 0
  198.         .pGUID = VarPtr(GUID_POV)
  199.     End With
  200.     With odfJoystick(11)
  201.         .dwOfs = &H2C
  202.         .dwType = &H80FFFF00 + DIDFT_POV
  203.         .dwflags = 0
  204.         .pGUID = VarPtr(GUID_POV)
  205.     End With
  206.     For i = 0 To 31
  207.     With odfJoystick(12 + i)
  208.         .dwOfs = &H30 + i
  209.         .dwType = &H80FFFF00 + DIDFT_BUTTON
  210.         .dwflags = 0
  211.         .pGUID = VarPtr(GUID_Button)
  212.     End With
  213.     Next
  214.     ' Joystick data format
  215.     With c_dfDIJoystick
  216.         .dwSize = &H18
  217.         .dwObjSize = &H10
  218.         .dwflags = 1
  219.         .dwDataSize = &H50
  220.         .dwNumObjs = &H2C
  221.         .rgodf = VarPtr(odfJoystick(0))
  222.     End With
  223.     
  224.     ' Joystick2
  225.     With odfJoystick2(0)
  226.         .dwOfs = 0
  227.         .dwType = &H80FFFF00 + DIDFT_AXIS
  228.         .dwflags = 1
  229.         .pGUID = VarPtr(GUID_XAxis)
  230.     End With
  231.     With odfJoystick2(1)
  232.         .dwOfs = 4
  233.         .dwType = &H80FFFF00 + DIDFT_AXIS
  234.         .dwflags = 1
  235.         .pGUID = VarPtr(GUID_YAxis)
  236.     End With
  237.     With odfJoystick2(2)
  238.         .dwOfs = 8
  239.         .dwType = &H80FFFF00 + DIDFT_AXIS
  240.         .dwflags = 1
  241.         .pGUID = VarPtr(GUID_YAxis)
  242.     End With
  243.     With odfJoystick2(3)
  244.         .dwOfs = 12
  245.         .dwType = &H80FFFF00 + DIDFT_AXIS
  246.         .dwflags = 1
  247.         .pGUID = VarPtr(GUID_YAxis)
  248.     End With
  249.     With odfJoystick2(4)
  250.         .dwOfs = 16
  251.         .dwType = &H80FFFF00 + DIDFT_AXIS
  252.         .dwflags = 1
  253.         .pGUID = VarPtr(GUID_YAxis)
  254.     End With
  255.     With odfJoystick2(5)
  256.         .dwOfs = 20
  257.         .dwType = &H80FFFF00 + DIDFT_AXIS
  258.         .dwflags = 1
  259.         .pGUID = VarPtr(GUID_YAxis)
  260.     End With
  261.     With odfJoystick2(6)
  262.         .dwOfs = 24
  263.         .dwType = &H80FFFF00 + DIDFT_AXIS
  264.         .dwflags = 1
  265.         .pGUID = VarPtr(GUID_YAxis)
  266.     End With
  267.     With odfJoystick2(7)
  268.         .dwOfs = 28
  269.         .dwType = &H80FFFF00 + DIDFT_AXIS
  270.         .dwflags = 1
  271.         .pGUID = VarPtr(GUID_YAxis)
  272.     End With
  273.     With odfJoystick2(8)
  274.         .dwOfs = 32
  275.         .dwType = &H80FFFF00 + DIDFT_POV
  276.         .dwflags = 0
  277.         .pGUID = VarPtr(GUID_POV)
  278.     End With
  279.     With odfJoystick2(9)
  280.         .dwOfs = 36
  281.         .dwType = &H80FFFF00 + DIDFT_POV
  282.         .dwflags = 0
  283.         .pGUID = VarPtr(GUID_POV)
  284.     End With
  285.     With odfJoystick2(10)
  286.         .dwOfs = 40
  287.         .dwType = &H80FFFF00 + DIDFT_POV
  288.         .dwflags = 0
  289.         .pGUID = VarPtr(GUID_POV)
  290.     End With
  291.     With odfJoystick2(11)
  292.         .dwOfs = 44
  293.         .dwType = &H80FFFF00 + DIDFT_POV
  294.         .dwflags = 0
  295.         .pGUID = VarPtr(GUID_POV)
  296.     End With
  297.     For i = 0 To 127
  298.         With odfJoystick2(12 + i)
  299.             .dwOfs = &H30 + i
  300.             .dwType = &H80FFFF00 + DIDFT_BUTTON
  301.             .dwflags = 0
  302.             .pGUID = VarPtr(GUID_Key)
  303.         End With
  304.     Next
  305.     With odfJoystick2(140)
  306.         .dwOfs = &HB0
  307.         .dwType = &H80FFFF00 + DIDFT_AXIS
  308.         .dwflags = 2
  309.         .pGUID = VarPtr(GUID_XAxis)
  310.     End With
  311.     With odfJoystick2(141)
  312.         .dwOfs = &HB4
  313.         .dwType = &H80FFFF00 + DIDFT_AXIS
  314.         .dwflags = 2
  315.         .pGUID = VarPtr(GUID_YAxis)
  316.     End With
  317.     With odfJoystick2(142)
  318.         .dwOfs = &HB8
  319.         .dwType = &H80FFFF00 + DIDFT_AXIS
  320.         .dwflags = 2
  321.         .pGUID = VarPtr(GUID_ZAxis)
  322.     End With
  323.     With odfJoystick2(143)
  324.         .dwOfs = &HBC
  325.         .dwType = &H80FFFF00 + DIDFT_AXIS
  326.         .dwflags = 2
  327.         .pGUID = VarPtr(GUID_RxAxis)
  328.     End With
  329.     With odfJoystick2(144)
  330.         .dwOfs = &HC0
  331.         .dwType = &H80FFFF00 + DIDFT_AXIS
  332.         .dwflags = 2
  333.         .pGUID = VarPtr(GUID_RyAxis)
  334.     End With
  335.     With odfJoystick2(145)
  336.         .dwOfs = &HC4
  337.         .dwType = &H80FFFF00 + DIDFT_AXIS
  338.         .dwflags = 2
  339.         .pGUID = VarPtr(GUID_RzAxis)
  340.     End With
  341.     With odfJoystick2(146)
  342.         .dwOfs = &H18
  343.         .dwType = &H80FFFF00 + DIDFT_AXIS
  344.         .dwflags = 2
  345.         .pGUID = VarPtr(GUID_Slider)
  346.     End With
  347.     With odfJoystick2(147)
  348.         .dwOfs = &H1C
  349.         .dwType = &H80FFFF00 + DIDFT_AXIS
  350.         .dwflags = 2
  351.         .pGUID = VarPtr(GUID_Slider)
  352.     End With
  353.     With odfJoystick2(148)
  354.         .dwOfs = &HD0
  355.         .dwType = &H80FFFF00 + DIDFT_AXIS
  356.         .dwflags = 3
  357.         .pGUID = VarPtr(GUID_XAxis)
  358.     End With
  359.     With odfJoystick2(149)
  360.         .dwOfs = &HD4
  361.         .dwType = &H80FFFF00 + DIDFT_AXIS
  362.         .dwflags = 3
  363.         .pGUID = VarPtr(GUID_YAxis)
  364.     End With
  365.     With odfJoystick2(150)
  366.         .dwOfs = &HD8
  367.         .dwType = &H80FFFF00 + DIDFT_AXIS
  368.         .dwflags = 3
  369.         .pGUID = VarPtr(GUID_ZAxis)
  370.     End With
  371.     With odfJoystick2(151)
  372.         .dwOfs = &HDC
  373.         .dwType = &H80FFFF00 + DIDFT_AXIS
  374.         .dwflags = 3
  375.         .pGUID = VarPtr(GUID_RxAxis)
  376.     End With
  377.     With odfJoystick2(152)
  378.         .dwOfs = &HE0
  379.         .dwType = &H80FFFF00 + DIDFT_AXIS
  380.         .dwflags = 3
  381.         .pGUID = VarPtr(GUID_RyAxis)
  382.     End With
  383.     With odfJoystick2(153)
  384.         .dwOfs = &HE4
  385.         .dwType = &H80FFFF00 + DIDFT_AXIS
  386.         .dwflags = 3
  387.         .pGUID = VarPtr(GUID_RzAxis)
  388.     End With
  389.     With odfJoystick2(154)
  390.         .dwOfs = &H18
  391.         .dwType = &H80FFFF00 + DIDFT_AXIS
  392.         .dwflags = 3
  393.         .pGUID = VarPtr(GUID_Slider)
  394.     End With
  395.     With odfJoystick2(155)
  396.         .dwOfs = &H1C
  397.         .dwType = &H80FFFF00 + DIDFT_AXIS
  398.         .dwflags = 3
  399.         .pGUID = VarPtr(GUID_Slider)
  400.     End With
  401.     With odfJoystick2(156)
  402.         .dwOfs = &HF0
  403.         .dwType = &H80FFFF00 + DIDFT_AXIS
  404.         .dwflags = 4
  405.         .pGUID = VarPtr(GUID_XAxis)
  406.     End With
  407.     With odfJoystick2(157)
  408.         .dwOfs = &HF4
  409.         .dwType = &H80FFFF00 + DIDFT_AXIS
  410.         .dwflags = 4
  411.         .pGUID = VarPtr(GUID_YAxis)
  412.     End With
  413.     With odfJoystick2(158)
  414.         .dwOfs = &HF8
  415.         .dwType = &H80FFFF00 + DIDFT_AXIS
  416.         .dwflags = 4
  417.         .pGUID = VarPtr(GUID_ZAxis)
  418.     End With
  419.     With odfJoystick2(159)
  420.         .dwOfs = &HFC
  421.         .dwType = &H80FFFF00 + DIDFT_AXIS
  422.         .dwflags = 4
  423.         .pGUID = VarPtr(GUID_RxAxis)
  424.     End With
  425.     With odfJoystick2(160)
  426.         .dwOfs = &H0
  427.         .dwType = &H80FFFF00 + DIDFT_AXIS
  428.         .dwflags = 4
  429.         .pGUID = VarPtr(GUID_RyAxis)
  430.     End With
  431.     With odfJoystick2(161)
  432.         .dwOfs = &H4
  433.         .dwType = &H80FFFF00 + DIDFT_AXIS
  434.         .dwflags = 4
  435.         .pGUID = VarPtr(GUID_RzAxis)
  436.     End With
  437.     With odfJoystick2(162)
  438.         .dwOfs = &H18
  439.         .dwType = &H80FFFF00 + DIDFT_AXIS
  440.         .dwflags = 4
  441.         .pGUID = VarPtr(GUID_Slider)
  442.     End With
  443.     With odfJoystick2(163)
  444.         .dwOfs = &H1C
  445.         .dwType = &H80FFFF00 + DIDFT_AXIS
  446.         .dwflags = 4
  447.         .pGUID = VarPtr(GUID_Slider)
  448.     End With
  449.     With c_dfDIJoystick2
  450.         .dwSize = &H18
  451.         .dwObjSize = &H10
  452.         .dwflags = 1
  453.         .dwDataSize = &H110
  454.         .dwNumObjs = &HA4
  455.         .rgodf = VarPtr(odfJoystick2(0))
  456.     End With
  457. End Sub
  458.