15#ifndef BRAWLERPLATFORM_HPP
16#define BRAWLERPLATFORM_HPP
18#include "brawler_export.h"
22#include "UtEntity.hpp"
23#include "UtFortMat3.hpp"
24#include "UtMatrix.hpp"
25#include "UtRandom.hpp"
48 void Init(UtEntity& state, ut::Random& random);
113 static double GetSpeed(UtEntity& aRef);
114 static double GetAlpha(UtEntity& aRef);
146 virtual void SetAlternative(
int ilevel,
int kalt,
int icall,
149 virtual void GetAlternative(
int& ilevel,
int& kalt,
int& icall,
157 UtVec3d& aLongitudinalAccel) = 0;
160 const double& aSpeed,
161 const double& aAltitude,
162 const double& aMaxGees,
163 const double& aMaxClimb) = 0;
167 const double& aSpeed) = 0;
170 const double& aThrottle) = 0;
173 const double& aMaxGees,
174 const double& aSpeed) = 0;
176 const double& aMaxGees,
177 const double& aThrottle) = 0;
183 valcmp[(int)aType - 1] = value;
189 rawvalcmp[(int)aType - 1] = value;
217 double OffensiveMultiplier();
218 double DefensiveMultiplier();
222 double OffBoreSightAngle(UtEntity& aRef,
224 double ProjectedTimeDelta();
238 double LastComputedEngagementValue(UtEntity& aTgt);
240 double DegreeOfThreat(UtEntity& aTgt);
256 bool Damaged(UtEntity& aRef);
258 double TargetAngleAboveHorizon(UtEntity& aTgt);
272 bool WeaponVerticalTrackCheck(UtEntity& aTgt);
275 double WeaponSteeringError(UtEntity& aTgt);
281 double RangeRate(UtEntity& aRef, UtEntity& aTgt);
282 double ExpectedValueDestroyed(UtEntity& aRef, UtEntity& aTgt);
283 double ProbabilitySeen(UtEntity& looker, UtEntity& seen);
284 double ProbabilityOfSurvival(UtEntity& aRef, UtEntity* aTgt);
285 double ProbabilityOfKill(UtEntity& killer, UtEntity& victim);
358 virtual bool HaveWeapons();
368 static UtVec3d a_lim(
const UtVec3d& x_in,
const UtVec3d& v_in,
const UtVec3d& a_in,
double dt,
double min_speed);
370 static void projw(
const UtVec3d& xin,
381 void SetTargetRoutepointLLA(
int aLat,
int aLon,
int aAlt_m);
382 void SetTargetRoutepointLLA(UtVec3d aLLA);
385 double Uniform() {
return rnsq.Uniform<
double>(); }
492 const double& aSpeed_fps,
493 const double& aDynamicPressure_psf,
494 const double& aWingArea_ft2) = 0;
543 virtual double GetMaxCL(
const double& aAlt_ft,
const double& aMach) = 0;
588 void SetFlightAggressiveness(
double aFactor);
589 void SetCombatEffectiveness(
double aEffect);
590 void SetForceRatio(
double aRatio);
611 double mTimeAllowedPerSectorSearch;
669 double rawvalcmp[20];
706 double mDesignWeightForMaxG_lbs;
707 double mStructuralGLimit_g;
708 double mStructuralGLimitAboveDesignWeight_g;
709 double mSpeedbrakeCDA_sqft;
711 UtVec3d mEvasionDirection;
Definition BrawlerMIND.hpp:26
MissionType
Definition BrawlerUtil.hpp:109
MissileModeState
Definition BrawlerUtil.hpp:82
WeaponType
Definition BrawlerUtil.hpp:48
@ kndsrm
Definition BrawlerUtil.hpp:50
JobType
Definition BrawlerUtil.hpp:103
ManeuverValueComponentType
Definition BrawlerUtil.hpp:59
double const grav
Definition BrawlerUtil.hpp:30
double const ftnmi
Definition BrawlerUtil.hpp:36
InherentBiasFaultTypes
Definition BrawlerUtil.hpp:97