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
firekeyboard.h
Go to the documentation of this file.
1 #ifndef _CMD_KEYBOARD_AI_H_
2 #define _CMD_KEYBOARD_AI_H_
3 #include "in.h"
4 #include "order.h"
5 #include "event_xml.h"
6 #include "communication.h"
7 //all unified AI's should inherit from FireAt, so they can choose targets together.
8 #define NUMSAVEDTARGETS 10
9 class FireKeyboard : public Order
10 {
11  bool itts;
12  bool cloaktoggle;
13  bool refresh_target;
14  float gunspeed;
15  float gunrange;
16  float rxntime;
17  float delay;
18  float autotrackingtoggle;
19  bool ShouldFire( Unit *targ );
20  std::list< CommunicationMessage >resp;
21 public:
22  virtual void SetParent( Unit *parent1 );
23 #ifdef CAR_SIM
24  static void BlinkLeftKey( const KBData &, KBSTATE );
25  static void BlinkRightKey( const KBData &, KBSTATE );
26  static void HeadlightKey( const KBData &, KBSTATE );
27  static void SirenKey( const KBData &, KBSTATE );
28 #endif
29  static void SetShieldsOff( const KBData &, KBSTATE );
30  static void SetShieldsOneThird( const KBData &, KBSTATE );
31  static void SetShieldsTwoThird( const KBData &, KBSTATE );
32  static void ToggleGlow( const KBData &, KBSTATE );
33  static void ToggleWarpDrive( const KBData &, KBSTATE );
34  static void ToggleAutotracking( const KBData &, KBSTATE );
35  static void ToggleAnimation( const KBData &, KBSTATE );
36  static void PressComm1Key( const KBData &, KBSTATE );
37  static void PressComm2Key( const KBData &, KBSTATE );
38  static void PressComm3Key( const KBData &, KBSTATE );
39  static void PressComm4Key( const KBData &, KBSTATE );
40  static void PressComm5Key( const KBData &, KBSTATE );
41  static void PressComm6Key( const KBData &, KBSTATE );
42  static void PressComm7Key( const KBData &, KBSTATE );
43  static void PressComm8Key( const KBData &, KBSTATE );
44  static void PressComm9Key( const KBData &, KBSTATE );
45  static void PressComm10Key( const KBData &, KBSTATE );
46  static void SaveTarget1Key( const KBData &, KBSTATE );
47  static void SaveTarget2Key( const KBData &, KBSTATE );
48  static void SaveTarget3Key( const KBData &, KBSTATE );
49  static void SaveTarget4Key( const KBData &, KBSTATE );
50  static void SaveTarget5Key( const KBData &, KBSTATE );
51  static void SaveTarget6Key( const KBData &, KBSTATE );
52  static void SaveTarget7Key( const KBData &, KBSTATE );
53  static void SaveTarget8Key( const KBData &, KBSTATE );
54  static void SaveTarget9Key( const KBData &, KBSTATE );
55  static void SaveTarget10Key( const KBData &, KBSTATE );
56  static void RestoreTarget1Key( const KBData &, KBSTATE );
57  static void RestoreTarget2Key( const KBData &, KBSTATE );
58  static void RestoreTarget3Key( const KBData &, KBSTATE );
59  static void RestoreTarget4Key( const KBData &, KBSTATE );
60  static void RestoreTarget5Key( const KBData &, KBSTATE );
61  static void RestoreTarget6Key( const KBData &, KBSTATE );
62  static void RestoreTarget7Key( const KBData &, KBSTATE );
63  static void RestoreTarget8Key( const KBData &, KBSTATE );
64  static void RestoreTarget9Key( const KBData &, KBSTATE );
65  static void RestoreTarget10Key( const KBData &, KBSTATE );
66  static void RequestClearenceKey( const KBData &, KBSTATE );
67  static void UnDockKey( const KBData &, KBSTATE );
68  static void EjectKey( const KBData &, KBSTATE );
69  static void EjectDockKey( const KBData &, KBSTATE );
70  static void EjectCargoKey( const KBData &, KBSTATE );
71  static void EjectNonMissionCargoKey( const KBData &, KBSTATE );
72  static void DockKey( const KBData &, KBSTATE );
73  static void FireKey( const KBData &, KBSTATE );
74  static void MissileKey( const KBData &, KBSTATE );
75  static void TargetKey( const KBData&, KBSTATE k );
76  static void MissionTargetKey( const KBData&, KBSTATE k );
77  static void ReverseMissionTargetKey( const KBData&, KBSTATE k );
78  static void MissileTargetKey( const KBData&, KBSTATE k );
79  static void IncomingMissileTargetKey( const KBData&, KBSTATE k );
80  static void ReverseMissileTargetKey( const KBData&, KBSTATE k );
81  static void ReverseIncomingMissileTargetKey( const KBData&, KBSTATE k );
82  static void PickTargetKey( const KBData&, KBSTATE k );
83  static void NearestTargetKey( const KBData&, KBSTATE k );
84  static void SubUnitTargetKey( const KBData&, KBSTATE k );
85  static void ThreatTargetKey( const KBData&, KBSTATE k );
86  static void UnitTargetKey( const KBData&, KBSTATE k );
87  static void SigTargetKey( const KBData&, KBSTATE k );
88  static void ReverseTargetKey( const KBData&, KBSTATE k );
89  static void ReversePickTargetKey( const KBData&, KBSTATE k );
90  static void ReverseNearestTargetKey( const KBData&, KBSTATE k );
91  static void ReverseThreatTargetKey( const KBData&, KBSTATE k );
92  static void ReverseUnitTargetKey( const KBData&, KBSTATE k );
93  static void ReverseSigTargetKey( const KBData&, KBSTATE k );
94  static void NearestTargetTurretKey( const KBData &, KBSTATE );
95  static void ThreatTargetTurretKey( const KBData &, KBSTATE );
96  static void TargetTurretKey( const KBData &, KBSTATE );
97  static void PickTargetTurretKey( const KBData &, KBSTATE );
98  static void JFireKey( KBSTATE, float, float, int );
99  static void JMissileKey( KBSTATE, float, float, int );
100  static void JTargetKey( KBSTATE, float, float, int );
101  static void WeapSelKey( const KBData &, KBSTATE );
102  static void MisSelKey( const KBData &, KBSTATE );
103  static void ReverseWeapSelKey( const KBData &, KBSTATE );
104  static void ReverseMisSelKey( const KBData &, KBSTATE );
105  static void CloakKey( const KBData &, KBSTATE );
106  static void LockKey( const KBData &, KBSTATE );
107  static void ECMKey( const KBData &, KBSTATE );
108  static void HelpMeOut( const KBData &, KBSTATE );
109  static void HelpMeOutFaction( const KBData &, KBSTATE );
110  static void EnslaveKey( const KBData &, KBSTATE );
111  static void FreeSlaveKey( const KBData &, KBSTATE );
112  static void HelpMeOutCrit( const KBData &, KBSTATE );
113  static void JoinFg( const KBData &, KBSTATE );
114  static void BreakFormation( const KBData &, KBSTATE );
115  static void FormUp( const KBData &, KBSTATE );
116  static void DockWithMe( const KBData &, KBSTATE );
117  static void DefendTarget( const KBData &, KBSTATE );
118  //IAmDave - new flightgroup commands...
119  static void DockTarget( const KBData&, KBSTATE k );
120  static void HoldPosition( const KBData&, KBSTATE k );
121  //IAmDave - ...new flightgroup commands end.
122  static void AttackTarget( const KBData &, KBSTATE );
123  static void TurretAIOn( const KBData &, KBSTATE );
124  static void TurretAIOff( const KBData &, KBSTATE );
125  static void TurretFireAtWill( const KBData &, KBSTATE );
126 //Added for targeting nearest units. --ch
127  static void NearestHostileTargetKey( const KBData&, KBSTATE k );
128  static void NearestDangerousHostileKey( const KBData&, KBSTATE k );
129  static void NearestFriendlyKey( const KBData&, KBSTATE k );
130  static void NearestBaseKey( const KBData&, KBSTATE k );
131  static void NearestPlanetKey( const KBData&, KBSTATE k );
132  static void NearestJumpKey( const KBData&, KBSTATE k );
133  static void TogglePause(const KBData&, KBSTATE);
134 
135 protected:
137  float distance;
138 #if 0
139  void ChooseTargets( bool targetturrets ); //chooses n targets and puts the best to attack in unit's target container
140  void ChooseRTargets( bool targetturrets ); //chooses n targets and puts the best to attack in unit's target container
141  void ChooseNearTargets( bool targetturrets ); //chooses n targets and puts the best to attack in unit's target container
142  void ChooseThreatTargets( bool targetturrets ); //chooses n targets and puts the best to attack in unit's target container
143  void PickTargets( bool targetturrets ); //chooses the target which is nearest to the center of the screen
144 #endif
145  unsigned int whichplayer;
146  unsigned int whichjoystick;
147  struct FIREKEYBOARDTYPE& f();
148  struct FIREKEYBOARDTYPE& j();
149  unsigned int DoSpeechAndAni( Unit*un, Unit*parent, class CommunicationMessage&c );
150 public:
151  virtual void ProcessCommMessage( class CommunicationMessage&c );
152  FireKeyboard( unsigned int whichjoystick, unsigned int whichplayer ); //weapon prefs?
153  virtual void Execute();
154  virtual ~FireKeyboard();
155 };
156 
157 #endif
158