Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
flykeyboard.h
Go to the documentation of this file.
1 #ifndef _IN_AI_H_
2 #define _IN_AI_H_
3 #include "in.h"
4 #if defined (__APPLE__) || defined (MACOSX)
5  #include <GLUT/glut.h>
6 #else
7  #include <GL/glut.h>
8 #endif
9 #include "flybywire.h"
10 
11 class FlyByKeyboard : public FlyByWire
12 {
13  Order *autopilot;
14  Vector axis_key;
15  unsigned int last_jumped;
16 protected:
18  {
24  };
25  char joy_mode; //do not mix different modes
26 protected:
27  void KeyboardUp( float val );
28  void KeyboardRight( float val );
29  void KeyboardRollRight( float val );
30  float clamp_axis( float v );
31  float reduce_axis( float v );
32 public:
33  static void SwitchWebcam( const KBData &, KBSTATE );
34  static void SwitchSecured( const KBData &, KBSTATE );
35  static void ChangeCommStatus( const KBData &, KBSTATE );
36  static void DownFreq( const KBData &, KBSTATE );
37  static void UpFreq( const KBData &, KBSTATE );
38  static void KSwitchFlightMode( const KBData &, KBSTATE );
39  static void KThrustRight( const KBData &, KBSTATE );
40  static void KThrustLeft( const KBData &, KBSTATE );
41  static void KThrustUp( const KBData &, KBSTATE );
42  static void KThrustDown( const KBData &, KBSTATE );
43  static void KThrustFront( const KBData &, KBSTATE );
44  static void KThrustBack( const KBData &, KBSTATE );
45  static void SheltonKey( const KBData &, KBSTATE );
46  static void InertialToggleKey( const KBData &, KBSTATE );
47  static void InertialPulsorKey( const KBData &, KBSTATE );
48  static void JoyInertialXYPulsorKey( const KBData &, KBSTATE );
49  static void JoyInertialXZPulsorKey( const KBData &, KBSTATE );
50  static void JoyInertialXYToggleKey( const KBData &, KBSTATE );
51  static void JoyInertialXZToggleKey( const KBData &, KBSTATE );
52  static void JoyRollPulsorKey( const KBData &, KBSTATE );
53  static void JoyRollToggleKey( const KBData &, KBSTATE );
54  static void JoyBankPulsorKey( const KBData &, KBSTATE );
55  static void JoyBankToggleKey( const KBData &, KBSTATE );
56  static void StartKey( const KBData &, KBSTATE );
57  static void StopKey( const KBData &, KBSTATE );
58  static void UpKey( const KBData &, KBSTATE );
59  static void DownKey( const KBData &, KBSTATE );
60  static void LeftKey( const KBData &, KBSTATE );
61  static void RightKey( const KBData &, KBSTATE );
62  static void ABKey( const KBData &, KBSTATE );
63  static void AccelKey( const KBData &, KBSTATE );
64  static void DecelKey( const KBData &, KBSTATE );
65  static void RollLeftKey( const KBData &, KBSTATE );
66  static void RollRightKey( const KBData &, KBSTATE );
67  static void MatchSpeedKey( const KBData &, KBSTATE );
68  static void JumpKey( const KBData &, KBSTATE );
69  static void AutoKey( const KBData &, KBSTATE );
70  static void SwitchCombatModeKey( const KBData &, KBSTATE );
71  static void EngageSpecAuto( const KBData &, KBSTATE );
72  static void StopAutoKey( const KBData &, KBSTATE );
73  static void SetVelocityRefKey( const KBData &, KBSTATE );
74  static void SetNullVelocityRefKey( const KBData &, KBSTATE );
76  bool inauto;
77  FlyByKeyboard( unsigned int whichplayer );
78  virtual void Destroy();
79  virtual ~FlyByKeyboard();
80  void Execute( bool ); //should we reset our ang velocity
81  void Execute();
82 };
83 
84 #endif
85