Skip to content
Newer
Older
100644 227 lines (204 sloc) 10.5 KB
372afde @tbradshaw The original Quake 2 sources as originally released under the GPL lic…
tbradshaw authored Jan 31, 2012
1 Title: Description of Windows 95 Quake 2 support for DirectInput devices such as:
2 standard joysticks
3 FPgaming Assassin 3D www.fpgaming.com
4 Logitech WingMan Warrior www.logitech.com
5 Mad Catz Panther www.madcatz.com
6 Mad Catz Panther XL www.madcatz.com
7 SpaceTec IMC SpaceOrb 360 www.spacetec.com
8 File: JOYSTICK.TXT
9 Revision History:
10 02/21/97 JCB Quake 1: Created by FPgaming, Inc. (www.fpgaming.com) -- Creators of the Assassin 3D.
11 03/12/97 id Quake 1: Joysticks are disabled by default now.
12 10/28/97 JCB Quake 2: Added up/down axis control for SpaceOrb 360 users, changed names to joy_* and changed 'joystick to 'in_joystick'.
13 Overview:
14 The input device support in Quake 2 is designed to take full advantage of your DirectInput device. Standard joysticks, digital joysticks and new advanced controllers are all supported.
15
16
17 Standard Joystick Directions:
18 1. Verify your joystick or game controller is selected in the Joystick (or Game Controllers) control panel applet.
19 2. Verify your device has been calibrated and tested.
20 3. Launch Quake 2 (quake2.exe).
21 4. Type 'in_joystick 1' at the console to enable your joystick (only needs to by typed in one time).
22 From then on, just launch Quake 2.
23
24
25 Advanced Controller Directions:
26 1. Verify your joystick or game controller is selected in the Joystick (or Game Controllers) control panel applet.
27 2. Verify your device has been calibrated and tested.
28 3. Get the configuration file for your controller from your manufacturer's website or copy from the selections below.
29 4. Place the configuration file in your quake2\baseq2 directory.
30 6. Launch Quake 2 (quake2.exe).
31 7. Type 'exec <configuration file name here>' at the console to enable your advanced controller each time you launch Quake 2.
32 Optionally you can:
33 Create or modify quake2\baseq2\autoexec.cfg to include an exec to your configuration file (i.e. 'exec adva3d.cfg'). This will automatically load your configuration file each time you launch Quake 2.
34 From then on, just launch Quake 2.
35
36
37 Details:
38 (This may be more information than you ever wanted to know.)
39 Standard Joystick Support
40 The standard joystick support has been enhanced to provide the following:
41 1. proportional movement (the farther you move the stick, the faster you move)
42 2. support for up to 32 buttons (JOY1-JOY4 and AUX5-AUX32)
43 3. sensitivity setting for each control (allows tuning and inverting the control direction)
44 4. dead-zone setting for each control
45
46 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).
47
48 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.
49
50 The following variables control your sensititivity settings:
51 joy_forwardsensitivity - controls the ramp-up speed for moving forward and backward
52 joy_sidesensitivity - controls the ramp-up speed for moving side to side
53 joy_upsensitivity - controls the ramp-up speed for moving up and down
54 joy_pitchsensitivity - controls the speed that you look up and down
55 joy_yawsensitivity - controls the speed that you look left to right
56 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.
57
58 The following variables control your threshold settings:
59 joy_forwardthreshold - controls the dead-zone for moving forward and backward
60 joy_sidethreshold - controls the dead-zone for moving side to side
61 joy_upthreshold - controls the dead-zone for moving up and down
62 joy_pitchthreshold - controls the dead-zone for looking up and down
63 joy_yawthreshold - controls the dead-zone for looking left and right
64 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).
65
66 The joystick sensitivity settings and the threshold settings are not saved after you quit your game as inadvertent settings can really hose your control. If you want to keep any changes, add them into your autoexec.cfg file or add an 'exec' call to your configuration file.
67
68 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.
69
70
71 Advanced Controller Support
72 The following features have been added:
73 1. support for all 6 axes (X, Y, Z, R, U, V)
74 2. mapping of any axis to any control (Forward, Look, Side, Turn, Up)
75 3. proportional movement for all controls
76 4. sensitivity setting for any control (allows tuning and inverting the control direction)
77 5. threshold setting for any control (allows dead-zone setting)
78 6. support for absolute controls (like joysticks) and relative controls (like trackballs)
79 7. support for up to 32 buttons (JOY1-JOY4 and AUX5-AUX32)
80
81 ******************************************************************************
82 NOTE: The information below is for game controller companies to integrate their device and for anyone wanting to create a custom setup.
83
84 In addition to the above new variables, there are six more for axis mapping. These are:
85 joy_advaxisx - controls mapping of DirectInput axis X (typically joystick left and right)
86 joy_advaxisy - controls mapping of DirectInput axis Y (typically joystick forward and backward)
87 joy_advaxisz - controls mapping of DirectInput axis Z (typically joystick throttle)
88 joy_advaxisr - controls mapping of DirectInput axis R (typically joystick rudder)
89 joy_advaxisu - controls mapping of DirectInput axis U (custom axis - Assassin 3D trackball left and right and SpaceOrb roll)
90 joy_advaxisv - controls mapping of DirectInput axis V (custom axis - Assassin 3D trackball forward and backward and SpaceOrb yaw)
91 Each joy_advaxis variable can be set to the following controls:
92 0 = Axis not used
93 1 = Axis is for forward and backward movement
94 2 = Axis is for looking up and down (pitch)
95 3 = Axis is for side to side movement
96 4 = Axis is for turning left and right (yaw)
97 5 = Axis is for up and down movement
98 Additionally, each axis can be designated as an absolute axis (like a joystick) or a relative axis (like the FPgaming trackball). 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.
99
100 The advanced axes variables will not have any effect until joyadvanced is set to 1. 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:
101 1. set 'joy_advanced 1'
102 2. make any desired mapping changes
103 3. make any desired sensitivity changes
104 4. make any desired threshold changes
105 3. call 'joy_advancedupdate'
106
107 Here is the config file for the FPgaming Assassin 3D:
108 // ADVA3D.CFG
109 // Revision 2.0 -- refer to www.fpgaming.com for updates
110 joy_name "FPgaming Assassin 3D"
111 +mlook
112 in_joystick 1
113 joy_advanced 1
114 joy_advaxisx 3
115 joy_advaxisy 1
116 joy_advaxisz 0
117 joy_advaxisr 0
118 joy_advaxisu 20
119 joy_advaxisv 18
120 joy_forwardsensitivity -1.0
121 joy_sidesensitivity 1.0
122 joy_upsensitivity 1.0
123 joy_pitchsensitivity -0.25
124 joy_yawsensitivity -0.5
125 joy_forwardthreshold 0.15
126 joy_sidethreshold 0.15
127 joy_upthreshold 0.15
128 joy_yawthreshold 0.0
129 joy_pitchthreshold 0.0
130 joy_advancedupdate
131
132 Here is a config file for the Mad Catz Panther and Mad Catz Panther XL:
133 // ADVPNTHR.CFG
134 // Revision 2.0 -- refer to www.madcatz.com for updates
135 joy_name "Mad Catz Panther/Panther XL"
136 +mlook
137 in_joystick 1
138 joy_advanced 1
139 joy_advaxisx 3
140 joy_advaxisy 1
141 joy_advaxisz 0
142 joy_advaxisr 0
143 joy_advaxisu 20
144 joy_advaxisv 18
145 joy_forwardsensitivity -1.0
146 joy_sidesensitivity 1.0
147 joy_upsensitivity 1.0
148 joy_pitchsensitivity -0.25
149 joy_yawsensitivity -0.5
150 joy_forwardthreshold 0.15
151 joy_sidethreshold 0.15
152 joy_upthreshold 0.15
153 joy_yawthreshold 0.0
154 joy_pitchthreshold 0.0
155 joy_advancedupdate
156
157 Here is a config file for the Logitech WingMan Warrior:
158 // ADVWW.CFG
159 // Revision 0.2 -- refer to www.logitech.com for updates
160 joy_name "Logitech WingMan Warrior"
161 in_joystick 1
162 joy_advanced 1
163 joy_advaxisx 3
164 joy_advaxisy 1
165 joy_advaxisz 0
166 joy_advaxisr 4
167 joy_advaxisu 0
168 joy_advaxisv 0
169 joy_forwardsensitivity -1.0
170 joy_sidesensitivity 1.0
171 joy_upsensitivity 1.0
172 joy_pitchsensitivity 0.0
173 joy_yawsensitivity -3.0
174 joy_forwardthreshold 0.15
175 joy_sidethreshold 0.15
176 joy_upthreshold 0.15
177 joy_pitchthreshold 0.0
178 joy_yawthreshold 0.0
179 joy_advancedupdate
180
181 Here is a config file for the SpaceTec IMC SpaceOrb 360:
182 // ADVSPORB.CFG
183 // Revision 0.2 -- refer to www.spacetec.com for updates
184 joy_name "SpaceTec IMC SpaceOrb 360"
185 +mlook
186 in_joystick 1
187 joy_advanced 1
188 joy_advaxisx 3
189 joy_advaxisy 0
190 joy_advaxisz 1
191 joy_advaxisr 2
192 joy_advaxisu 4
193 joy_advaxisv 5
194 joy_forwardsensitivity 2.5
195 joy_sidesensitivity 2.0
196 joy_upsensitivity -2.0
197 joy_pitchsensitivity 2.0
198 joy_yawsensitivity 5.0
199 joy_forwardthreshold 0.0
200 joy_sidethreshold 0.0
201 joy_upthreshold 0.15
202 joy_pitchthreshold 0.1
203 joy_yawthreshold 0.0
204 joy_advancedupdate
205
206 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:
207 joy_name "Joystick, Rudder & Throttle"
208 in_joystick 1
209 joy_advanced 1
210 joy_advaxisx 3
211 joy_advaxisy 2
212 joy_advaxisz 1
213 joy_advaxisr 4
214 joy_advaxisu 0
215 joy_advaxisv 0
216 joy_forwardsensitivity -1.0
217 joy_sidesensitivity -1.0
218 joy_upsensitivity 1.0
219 joy_pitchsensitivity 1.0
220 joy_yawsensitivity -1.0
221 joy_forwardthreshold 0.15
222 joy_sidethreshold 0.15
223 joy_upthreshold 0.15
224 joy_pitchthreshold 0.15
225 joy_yawthreshold 0.15
226 joy_advancedupdate
Something went wrong with that request. Please try again.