home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer 3.3 / 1997-06_Disc_3.3.iso / patches / glq3_28.zip / JOYSTICK.TXT < prev    next >
Text File  |  1997-03-12  |  10KB  |  167 lines

  1.  
  2. NEW NOTE FOR 1.08:
  3. Joysticks are disabled by defualt now, due to problems on some systems without joysticks installed.  Type "joystick 1" at the console, and everything will behave as documented here.  This will be saved in your config file, so you will only have to do it once.
  4.  
  5. Description of Windows 95 Quake DirectInput support
  6. By:  FPgaming, Inc. (www.fpgaming.com) -- Creators of the Assassin 3D
  7. File:  JOYSTICK.TXT
  8. Created:  02/21/97
  9. (This may be more information than you ever wanted to know.)
  10.  
  11. The joystick support with Windows 95 Quake has been significantly enhanced.  Standard joysticks, digital joysticks and new advanced controllers like the FPgaming Assassin 3D, the Logitech WingMan Warrior and the SpaceTec IMC SpaceOrb are all supported.
  12.  
  13. To make it work, just verify that your joystick or game controller is selected in the Joystick control panel applet and has been calibrated and tested, then launch Windows 95 Quake (WinQuake.exe or glquake.exe).  For standard and new digital joysticks, WinQuake will detect the joystick and automatically configure it.  For advanced controllers, you will additionally need to run a config file (or run it from your autoexec.cfg) prior to the device operating.  This will set the advanced features for your particular device.  This config file should be obtained from your game controller company.  The config files for the comman game controllers are included below.  If you don't want your joystick or game controller enabled, add '-nojoy' to your command-line.
  14.  
  15.  
  16. Standard Joystick Support
  17. The standard joystick support has been enhanced to provide the following:
  18. 1. proportional movement (the farther you move the stick, the faster you move) 
  19. 2. support for up to 32 buttons (JOY1-JOY4 and AUX5-AUX32)
  20. 3. sensitivity setting for each control (allows tuning and inverting the control direction)
  21. 4. dead-zone setting for each control
  22.  
  23. The default joystick setting is for joystick left/right movement to control turning and for joystick forward/backward movement to control moving forward/backward.  For optional strafing, add the 'sidestep' feature to one of your buttons (via the Customize menu).  For optional looking, add the  'mouse look' feature to one of your buttons (also via the Customize menu).  
  24.  
  25. Additionally, there are several features that you can set from the Options menu.  'Always Run' allows you change your maximum speed from walking to running.  'Invert Mouse' allows you to change the direction the joystick has to move to when looking up and down.  'Lookspring' enables automatic look-forward-when-moving.  And, 'Lookstrafe' automatically enables strafing when the 'mouse look' button is pressed.
  26.  
  27. The following variables control your sensititivity settings:
  28.     joyforwardsensitivity - controls the ramp-up speed for moving forward and backward
  29.     joysidesensitivity - controls the ramp-up speed for moving side to side
  30.     joypitchsensitivity - controls the speed that you look up and down
  31.     joyyawsensitivity - controls the speed that you look left to right
  32. You can set the sensitivity settings to negative numbers.  This inverts the direction of movement for the control.  The default sensitivity settings are 1 (or -1).  There is no limit on the range; whatever feels good.
  33.  
  34. The following variables control your threshold settings:
  35.     joyforwardthreshold - controls the dead-zone for moving forward and backward
  36.     joysidethreshold - controls the dead-zone for moving side to side
  37.     joypitchthreshold - controls the dead-zone for looking up and down
  38.     joyyawthreshold - controls the dead-zone for looking left and right
  39. The threshold settings allow you to control your dead-zone (or no-movement zone).  The default threshold settings are .15 (meaning 15% of the full-range).  The range of the threshold settings is from 0 to 1.  Troublesome analog joysticks may need a larger number (like .2).  Premium joysticks can use a smaller number (like .1).
  40.  
  41. The joystick sensitivity settings and the threshold settings are not saved after you quit your game as inadvertant settings can really hose your control.  If you want to keep any changes, add them into your autoexec.cfg file.
  42.  
  43. If your joystick has a POV hat, the buttons are mapped to AUX29-AUX32.  So, you get 8 buttons with the Logitech WingMan Extreme and 12 buttons with the Microsoft SideWinder 3D Pro, etc.
  44.  
  45.  
  46. Advanced Controller Support
  47. The following features have been added:
  48. 1. support for all 6 axes (X, Y, Z, R, U, V)
  49. 2. mapping of any axis to any control (Forward, Look, Side, Turn)
  50. 3. proportional movement for all controls
  51. 4. sensitivity setting for any control (allows tuning and inverting the control direction)
  52. 5. threshold setting for any control (allows dead-zone setting)
  53. 6. support for absolute controls (like joysticks) and relative controls (like trackballs and spinners)
  54. 7. support for up to 32 buttons (JOY1-JOY4 and AUX5-AUX32)
  55.  
  56. To make an advanced controller operate, you will need to get a config file from your game controller company.  This file is typically placed in your quake\id1 directory and then it is called within your autoexec.cfg file.  For example, if your config file is named gamectrl.cfg, place that file within your quake\id1 directory and add 'exec gamectrl.cfg' in your autoexec.cfg file.  If you don't have an autoexec.cfg file, you can create one and just place this one line in it.
  57.  
  58. ******************************************************************************
  59. NOTE:  The information below is for game controller companies to integrate their device and for anyone wanting to create a custom setup.
  60.  
  61. In addition to the above new variables, there are six more for axis mapping.  These are:
  62.     joyadvaxisx - controls mapping of DirectInput axis X (typically joystick left and right)
  63.     joyadvaxisy - controls mapping of DirectInput axis Y (typically joystick forward and backward)
  64.     joyadvaxisz - controls mapping of DirectInput axis Z (typically joystick throttle)
  65.     joyadvaxisr - controls mapping of DirectInput axis R (typically joystick rudder)
  66.     joyadvaxisu - controls mapping of DirectInput axis U (custom axis - Assassin 3D trackball left and right, WingMan Warrior SpinControl and SpaceOrb roll)
  67.     joyadvaxisv - controls mapping of DirectInput axis V (custom axis - Assassin 3D trackball forward and backward and SpaceOrb yaw)
  68. Each joyadvaxis variable can be set to the following controls:
  69.     0 = Axis not used
  70.     1 = Axis is for forward and backward movement
  71.     2 = Axis is for looking up and down (pitch)
  72.     3 = Axis is for side to side movement
  73.     4 = Axis is for turning left and right (yaw)
  74. Additionally, each axis can be designated as an absolute axis (like a joystick) or a relative axis (like the FPgaming trackball or the WingMan Warrior SpinControl).  Absolute axes are defined as having a stopping position whereas relative axes don't have a stopping position and just go around and around.  To designate an axis as a relative axis, add 16 to the above control number.  For example, to set the Assassin 3D's axis U to be looking left and right, type 'joyadvaxisu 20'.  As another example, to make your rudder pedals contol turning left and right, type 'joyadvaxisr 4'.  It's a bit complicated, but only needs to be done once.
  75.  
  76. The advanced axes variables will not have any effect until joyadvanced is set to 1.0.  Additionally, any changes to the to the axes will not take effect until the joyadvancedupdate command is executed.  So, the procedure for creating an advanced mapping is:
  77. 1.  set 'joyadvanced 1'
  78. 2.  make any desired mapping changes
  79. 3.  make any desired sensitivity changes
  80. 4.  make any desired threshold changes
  81. 3.  call 'joyadvancedupdate'
  82.  
  83. Here is the config file for the FPgaming Assassin 3D:
  84. // ADVA3D.CFG
  85. // Revision 1.0 -- refer to www.fpgaming.com for updates
  86. joyname "FPgaming Assassin 3D"
  87. joyadvanced 1
  88. joyadvaxisx 3
  89. joyadvaxisy 1
  90. joyadvaxisz 0
  91. joyadvaxisr 0
  92. joyadvaxisu 20
  93. joyadvaxisv 18
  94. joyforwardsensitivity -1.0
  95. joysidesensitivity 1.0
  96. joypitchsensitivity -0.25
  97. joyyawsensitivity -0.5
  98. joyforwardthreshold 0.15
  99. joysidethreshold 0.15
  100. joyyawthreshold 0.0
  101. joypitchthreshold 0.0
  102. +mlook
  103. joyadvancedupdate
  104.  
  105. Here is a config file for the Logitech WingMan Warrior:
  106. // ADVWW.CFG
  107. // Revision 0.1 -- refer to www.logitech.com for updates
  108. joyname "Logitech WingMan Warrior"
  109. joyadvanced 1.0
  110. joywwhack1 1.0
  111. joywwhack2 1.0
  112. joyadvaxisx 3
  113. joyadvaxisy 1
  114. joyadvaxisz 0
  115. joyadvaxisr 0
  116. joyadvaxisu 20
  117. joyadvaxisv 0
  118. joyforwardsensitivity -1.0
  119. joysidesensitivity 1.0
  120. joypitchsensitivity 0.0
  121. joyyawsensitivity -0.6
  122. joyforwardthreshold 0.15
  123. joysidethreshold 0.15
  124. joypitchthreshold 0.0
  125. joyyawthreshold 0.0
  126. joyadvancedupdate
  127.  
  128. Here is a config file for the SpaceTec IMC SpaceOrb:
  129. // ADVSPORB.CFG
  130. // Revision 0.1 -- refer to www.spacetec.com for updates
  131. joyname "SpaceTec IMC SpaceOrb"
  132. joyadvanced 1.0
  133. joyadvaxisx 3
  134. joyadvaxisy 1
  135. joyadvaxisz 0
  136. joyadvaxisr 2
  137. joyadvaxisu 0
  138. joyadvaxisv 4
  139. joyforwardsensitivity -1.0
  140. joysidesensitivity 1.0
  141. joypitchsensitivity -0.5
  142. joyyawsensitivity 1
  143. joyforwardthreshold 0.1
  144. joysidethreshold 0.1
  145. joypitchthreshold 0.1
  146. joyyawthreshold 0.1
  147. +mlook
  148. joyadvancedupdate
  149.  
  150. Here is a config file for making your joystick operate looking around and strafing, your rudder pedals control turning left and right and throttle control moving forward and backward:
  151. joyname "Joystick, Rudder & Throttle"
  152. joyadvanced 1.0
  153. joyadvaxisx 3
  154. joyadvaxisy 2
  155. joyadvaxisz 1
  156. joyadvaxisr 4
  157. joyadvaxisu 0
  158. joyadvaxisv 0
  159. joyforwardsensitivity -1.0
  160. joysidesensitivity -1.0
  161. joypitchsensitivity 1.0
  162. joyyawsensitivity -1.0
  163. joyforwardthreshold 0.15
  164. joysidethreshold 0.15
  165. joyyawthreshold 0.15
  166. joypitchthreshold 0.15
  167. joyadvancedupdate