]> icculus.org git repositories - btb/d2x.git/blob - main/controls.h
use the orientation parameter of g3_draw_bitmap
[btb/d2x.git] / main / controls.h
1 /*
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.
12 */
13
14 /*
15  *
16  * Header for controls.c
17  *
18  */
19
20
21 #ifndef _CONTROLS_H
22 #define _CONTROLS_H
23
24
25 typedef enum {
26         pitch_forward,
27         pitch_backward,
28         turn_left,
29         turn_right,
30         slide_on,
31         slide_left,
32         slide_right,
33         slide_up,
34         slide_down,
35         bank_on,
36         bank_left,
37         bank_right,
38         accelerate,
39         reverse,
40         cruise_faster,
41         cruise_slower,
42         cruise_off,
43         energy_shield,
44         rear_view,
45         fire_primary,
46         fire_secondary,
47         fire_flare,
48         drop_bomb,
49         automap,
50         afterburner,
51         cycle_primary,
52         cycle_secondary,
53         headlight,
54         CONTROL_NUM_BUTTONS
55 } control_button;
56
57
58 typedef struct _control_info {
59         fix pitch_time;
60         fix vertical_thrust_time;
61         fix heading_time;
62         fix sideways_thrust_time;
63         fix bank_time;
64         fix forward_thrust_time;
65
66         fix time_held_down[CONTROL_NUM_BUTTONS];
67         fix time_went_down[CONTROL_NUM_BUTTONS];
68         ubyte count[CONTROL_NUM_BUTTONS];
69         ubyte state[CONTROL_NUM_BUTTONS];
70 } control_info;
71
72
73 extern control_info Controls;
74 extern void controls_read_all(void);
75 extern void controls_init(void);
76
77 //set the cruise speed to zero
78 extern void reset_cruise(void);
79
80 void read_flying_controls( object * obj );
81
82 extern ubyte Controls_stopped;
83 extern ubyte Controls_always_move;
84
85 extern fix Afterburner_charge;
86
87 #endif