2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
16 * Prototypes for reading controls
27 typedef struct _control_info {
29 fix vertical_thrust_time;
31 fix sideways_thrust_time;
33 fix forward_thrust_time;
35 ubyte rear_view_down_count;
36 ubyte rear_view_down_state;
38 ubyte fire_primary_down_count;
39 ubyte fire_primary_state;
40 ubyte fire_secondary_state;
41 ubyte fire_secondary_down_count;
42 ubyte fire_flare_down_count;
44 ubyte drop_bomb_down_count;
46 ubyte automap_down_count;
50 //char oem_message[64];
52 ubyte afterburner_state;
53 ubyte cycle_primary_count;
54 ubyte cycle_secondary_count;
55 ubyte headlight_count;
58 typedef struct ext_control_info {
60 fix vertical_thrust_time;
62 fix sideways_thrust_time;
64 fix forward_thrust_time;
66 ubyte rear_view_down_count;
67 ubyte rear_view_down_state;
69 ubyte fire_primary_down_count;
70 ubyte fire_primary_state;
71 ubyte fire_secondary_state;
72 ubyte fire_secondary_down_count;
73 ubyte fire_flare_down_count;
75 ubyte drop_bomb_down_count;
77 ubyte automap_down_count;
80 //vms_angvec heading; // for version >=1.0
81 //char oem_message[64]; // for version >=1.0
83 //vms_vector ship_pos // for version >=2.0
84 //vms_matrix ship_orient // for version >=2.0
86 //ubyte cycle_primary_count // for version >=3.0
87 //ubyte cycle_secondary_count // for version >=3.0
88 //ubyte afterburner_state // for version >=3.0
89 //ubyte headlight_count // for version >=3.0
91 // everything below this line is for version >=4.0
93 //ubyte headlight_state
95 //int primary_weapon_flags
96 //int secondary_weapon_flags
97 //ubyte Primary_weapon_selected
98 //ubyte Secondary_weapon_selected
100 //vms_vector force_vector
101 //vms_matrix force_matrix
103 //int x_vibrate_info[2]
104 //int y_vibrate_info[2]
106 //int x_vibrate_clear
107 //int y_vibrate_clear
111 //ubyte keyboard[128]; // scan code array, not ascii
112 //ubyte current_guidebot_command;
114 //ubyte Reactor_blown
118 typedef struct advanced_ext_control_info {
120 fix vertical_thrust_time;
122 fix sideways_thrust_time;
124 fix forward_thrust_time;
126 ubyte rear_view_down_count;
127 ubyte rear_view_down_state;
129 ubyte fire_primary_down_count;
130 ubyte fire_primary_state;
131 ubyte fire_secondary_state;
132 ubyte fire_secondary_down_count;
133 ubyte fire_flare_down_count;
135 ubyte drop_bomb_down_count;
137 ubyte automap_down_count;
140 // everything below this line is for version >=1.0
143 char oem_message[64];
145 // everything below this line is for version >=2.0
148 vms_matrix ship_orient;
150 // everything below this line is for version >=3.0
152 ubyte cycle_primary_count;
153 ubyte cycle_secondary_count;
154 ubyte afterburner_state;
155 ubyte headlight_count;
157 // everything below this line is for version >=4.0
159 int primary_weapon_flags;
160 int secondary_weapon_flags;
161 ubyte current_primary_weapon;
162 ubyte current_secondary_weapon;
164 vms_vector force_vector;
165 vms_matrix force_matrix;
167 int x_vibrate_info[2];
168 int y_vibrate_info[2];
175 ubyte headlight_state;
176 ubyte current_guidebot_command;
178 ubyte keyboard[128]; // scan code array, not ascii
182 } advanced_ext_control_info;
184 extern ubyte ExtGameStatus;
185 extern control_info Controls;
186 extern void controls_read_all();
187 extern void kconfig(int n, char *title);
202 // added on 2/4/99 by Victor Rachels to add new keys menu
203 #define NUM_D2X_CONTROLS 20
204 #define MAX_D2X_CONTROLS 40
205 // end this section addition - VR
207 #define NUM_KEY_CONTROLS 57
208 #define NUM_OTHER_CONTROLS 31
209 #define MAX_CONTROLS 60 // there are actually 48, so this leaves room for more
211 extern void kc_set_controls();
213 // Tries to use vfx1 head tracking.
214 void kconfig_sense_init();
216 //set the cruise speed to zero
217 extern void reset_cruise(void);
219 extern int kconfig_is_axes_used(int axis);
221 extern void kconfig_init_external_controls(int intno, int address);
223 // the following methods added by WraithX, 4/17/00
224 extern int isJoyRotationKey(int test_key); //tells if "test_key" is setup for rotation on the joy
225 extern int isMouseRotationKey(int test_key); //tells if "test_key" is setup for rotation on the mouse
226 extern int isKeyboardRotationKey(int test_key); //tells if "test_key" is setup for rotation on the keyboard
227 // end addition - WraithX
229 #endif /* _KCONFIG_H */