From 8898ad9b25fca6afe2374d293a981db02a83d7e9 Mon Sep 17 00:00:00 2001 From: "FWoltermann@gmail.com" Date: Thu, 31 May 2012 14:46:27 +0000 Subject: Committing the documentation to svn to have it accessible online --- Doc/doxygen/html/_weapon_8h_source.html | 321 ++++++++++++++++++++++++++++++++ 1 file changed, 321 insertions(+) create mode 100644 Doc/doxygen/html/_weapon_8h_source.html (limited to 'Doc/doxygen/html/_weapon_8h_source.html') diff --git a/Doc/doxygen/html/_weapon_8h_source.html b/Doc/doxygen/html/_weapon_8h_source.html new file mode 100644 index 0000000..ff9361c --- /dev/null +++ b/Doc/doxygen/html/_weapon_8h_source.html @@ -0,0 +1,321 @@ + + + + + +Starshatter_Open: D:/SRC/StarshatterSVN/Stars45/Weapon.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Starshatter_Open +
+
Open source Starshatter engine
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Weapon.h
+
+
+Go to the documentation of this file.
1 /* Project Starshatter 4.5
+
2  Destroyer Studios LLC
+
3  Copyright © 1997-2004. All Rights Reserved.
+
4 
+
5  SUBSYSTEM: Stars.exe
+
6  FILE: Weapon.h
+
7  AUTHOR: John DiCamillo
+
8 
+
9 
+
10  OVERVIEW
+
11  ========
+
12  Weapon (gun or missile launcher) class
+
13 */
+
14 
+
15 #ifndef Weapon_h
+
16 #define Weapon_h
+
17 
+
18 #include "Types.h"
+
19 #include "SimObject.h"
+
20 #include "System.h"
+
21 #include "WeaponDesign.h"
+
22 #include "Geometry.h"
+
23 #include "text.h"
+
24 
+
25 // +--------------------------------------------------------------------+
+
26 
+
27 class Weapon;
+
28 class Ship;
+
29 class Shot;
+
30 
+
31 class Solid;
+
32 
+
33 // +--------------------------------------------------------------------+
+
34 
+
35 class Weapon : public System, public SimObserver
+
36 {
+
37 public:
+
38  static const char* TYPENAME() { return "Weapon"; }
+
39 
+
40  enum Constants { MAX_BARRELS=8 };
+ + + +
44 
+
45  Weapon(WeaponDesign* d, int nmuz, Vec3* muzzles, double az=0, double el=0);
+
46  Weapon(const Weapon& rhs);
+
47  virtual ~Weapon();
+
48 
+
49  int operator==(const Weapon& w) const { return this == &w; }
+
50 
+
51  int Track(SimObject* targ, System* sub);
+
52  Shot* Fire();
+
53  Shot* NetFirePrimary(SimObject* targ, System* sub, int count);
+
54  Shot* NetFireSecondary(SimObject* targ, System* sub, DWORD objid);
+
55  void SetTarget(SimObject* t, System* sub);
+
56  void SelectTarget();
+
57  bool CanTarget(DWORD classification) const;
+
58  SimObject* GetTarget() const { return target; }
+
59  System* GetSubTarget() const { return subtarget; }
+
60  void SetFiringOrders(int o);
+
61  int GetFiringOrders() const { return orders; }
+
62  void SetControlMode(int m);
+
63  int GetControlMode() const { return control; }
+
64  void SetSweep(int s);
+
65  int GetSweep() const { return sweep; }
+
66 
+
67  void Enable() { enabled = true; }
+
68  void Disable() { enabled = false; }
+
69 
+
70  const WeaponDesign* Design() const { return design; }
+
71  const char* Group() const { return group; }
+
72  int Enabled() const { return enabled; }
+
73  int Ammo() const { return ammo; }
+
74  int Guided() const { return guided; }
+
75  int Locked() const { return locked; }
+
76  float Velocity() const { return shot_speed; }
+
77  float Mass() const { return mass*ammo; }
+
78  float Resistance()const { return resist*ammo; }
+
79  Shot* GetBeam(int i);
+
80 
+
81  // needed to set proper ammo level when joining multiplayer in progress:
+
82  void SetAmmo(int a);
+
83 
+
84  bool IsPrimary() const;
+
85  bool IsDrone() const;
+
86  bool IsDecoy() const;
+
87  bool IsProbe() const;
+
88  bool IsMissile() const;
+
89  bool IsBeam() const;
+
90 
+
91  virtual void ExecFrame(double factor);
+
92  virtual void Orient(const Physical* rep);
+
93  virtual void Distribute(double delivered_energy, double seconds);
+
94 
+
95  const Ship* Owner() const { return ship; }
+
96  void SetOwner(Ship* ship);
+
97  int GetIndex() const { return index; }
+
98  void SetIndex(int n) { index = n; }
+
99 
+
100  Point GetAimVector() const { return aim_cam.vpn(); }
+
101  void SetAzimuth(double a) { aim_azimuth = (float) a; }
+
102  double GetAzimuth() const { return aim_azimuth; }
+
103  void SetElevation(double e) { aim_elevation = (float) e; }
+
104  double GetElevation() const { return aim_elevation; }
+
105 
+
106  void SetRestAzimuth(double a) { aim_az_rest = (float) a; }
+
107  double GetRestAzimuth() const { return aim_az_rest; }
+
108  void SetRestElevation(double e) { aim_el_rest = (float) e; }
+
109  double GetRestElevation() const { return aim_el_rest; }
+
110 
+
111  void SetAzimuthMax(double a) { aim_az_max = (float) a; }
+
112  double GetAzimuthMax() const { return aim_az_max; }
+
113  void SetAzimuthMin(double a) { aim_az_min = (float) a; }
+
114  double GetAzimuthMin() const { return aim_az_min; }
+
115 
+
116  void SetElevationMax(double e) { aim_el_max = (float) e; }
+
117  double GetElevationMax() const { return aim_el_max; }
+
118  void SetElevationMin(double e) { aim_el_min = (float) e; }
+
119  double GetElevationMin() const { return aim_el_min; }
+
120 
+
121  void SetGroup(const char* n) { group = n; }
+
122 
+
123  bool IsBlockedFriendly() const { return blocked; }
+
124  void SetBlockedFriendly(bool b) { blocked = b; }
+
125 
+
126  Solid* GetTurret();
+
127  Solid* GetTurretBase();
+
128  Solid* GetVisibleStore(int i);
+
129 
+
130  virtual bool Update(SimObject* obj);
+
131  virtual const char* GetObserverName() const;
+
132 
+
133 protected:
+
134  Shot* FireBarrel(int n);
+
135  Shot* CreateShot(const Point& loc, const Camera& cam, WeaponDesign* dsn, const Ship* owner);
+
136 
+
137  void SetBeamPoints(bool aim=false);
+
138  void Aim();
+
139  void AimTurret(double az, double el);
+
140  void ZeroAim();
+
141  void FindObjective();
+
142  Point Transform(const Point& pt);
+
143  bool CanLockPoint(const Point& test, double& az, double& el, Point* obj=0);
+
144 
+
145  // data members:
+ + + + + + + +
153  int nbarrels;
+ +
155 
+
156  float refire;
+
157  int ammo;
+ +
159 
+
160  // carrying costs per shot:
+
161  float mass;
+
162  float resist;
+
163 
+
164  // for targeting computer:
+
165  int guided;
+
166  bool enabled;
+
167  bool locked;
+
168  bool centered;
+
169  bool firing;
+
170  bool blocked;
+
171  float shot_speed;
+
172 
+
173  int index;
+
174 
+
175  int orders;
+
176  int control;
+
177  int sweep;
+
178 
+ + +
181 
+ + + +
185  float aim_azimuth;
+ +
187  float old_azimuth;
+ +
189 
+
190  // auto-aiming arc
+
191  float aim_az_max; // maximum deflection in azimuth
+
192  float aim_az_min; // minimum deflection in azimuth
+
193  float aim_az_rest; // azimuth of turret at rest
+
194  float aim_el_max; // maximum deflection in elevation
+
195  float aim_el_min; // minimum deflection in elevation
+
196  float aim_el_rest; // elevation of turret at rest
+
197 
+
198  DWORD aim_time;
+
199 
+ +
201 };
+
202 
+
203 #endif Weapon_h
+
204 
+
+
+ + + + -- cgit v1.1