1 #include "../Instrument.h" 4 Instrument(prmX, prmY, prmXScale, prmYScale, prmBus, prmLogger, prmDevice, prmFonts)
12 float tvrange = 89.0f * prmYScale;
15 const float hypotenuse = sqrtf(powf(83.0f*prmXScale, 2.0f) + powf(tvrange, 2.0f));
16 xMargins =
static_cast<int>((hypotenuse - 83.0f * prmXScale) * 0.5f);
17 yMargins =
static_cast<int>((hypotenuse - tvrange) * 0.5f);
26 artificialHorizon =
new Sprite(
logger,
pDevice,
"Textures/Instruments/FlatHorizon.png", prmX -
xMargins, prmY -
yMargins, 0.1f, 0, 0, 150, 480, 0xFFFFFFFF, prmXScale, prmYScale);
29 commandBars =
new Sprite(
logger,
pDevice,
"Textures/Instruments/command bars.png", prmX, prmY, 0.9f, 0, 0, 219, 70, 0xFFFFFFFF, prmXScale*0.24f, prmYScale* 0.26f);
30 failFlagLocalizer =
new Sprite(
logger,
pDevice,
"Textures/Instruments/yellow_x.png", prmX + 27, prmY + 81, 0.5f, 0, 0, 38, 55, 0xFFFFFFFF, prmXScale * 0.78f, prmYScale*0.09f);
31 failFlagGlideslope =
new Sprite(
logger,
pDevice,
"Textures/Instruments/yellow_x.png", prmX + 75, prmY + 30, 0.5f, 0, 0, 38, 55, 0xFFFFFFFF, prmXScale*0.13f, prmYScale*0.56f);
32 glideslopeBox =
new Sprite(
logger,
pDevice,
"Textures/Instruments/glideslope.png", prmX + 75, prmY + 31, 0.4f, 0, 0, 25, 160, 0xFFFFFFFF, prmXScale*0.24f, prmYScale* 0.26f);
33 glideslopeBug =
new Sprite(
logger,
pDevice,
"Textures/Instruments/glideslope-bug.png", prmX + 76, prmY + 38, 0.5f, 0, 0, 18, 18, 0xFFFFFFFF, prmXScale*0.24f, prmYScale* 0.26f);
34 localizerBox =
new Sprite(
logger,
pDevice,
"Textures/Instruments/localizer.png", prmX + 27, prmY + 81, 0.4f, 0, 0, 160, 25, 0xFFFFFFFF, prmXScale*0.24f, prmYScale* 0.26f);
35 localizerBug =
new Sprite(
logger,
pDevice,
"Textures/Instruments/glideslope-bug.png", prmX + 76, prmY + 38, 0.5f, 0, 0, 18, 18, 0xFFFFFFFF, prmXScale*0.24f, prmYScale* 0.26f);
36 aoaHigh =
new Sprite(
logger,
pDevice,
"Textures/Instruments/aoahigh.dds", prmX + 25, prmY - 7, 0.5f, 0, 0, 32, 32, 0xFFFFFFFF);
37 aoa =
new Sprite(
logger,
pDevice,
"Textures/Instruments/aoa.dds", prmX, prmY, 0.5f, 0, 0, 32, 32, 0xFFFFFFFF);
38 aoaLow =
new Sprite(
logger,
pDevice,
"Textures/Instruments/aoalow.dds", prmX + 25, prmY + 64, 0.5f, 0, 0, 32, 32, 0xFFFFFFFF);
39 recticle =
new Sprite(
logger,
pDevice,
"Textures/Instruments/recticle.png", prmX, prmY, 0.5f, 0, 0, 32, 32, 0xFFFFFFFF);
40 vector =
new Sprite(
logger,
pDevice,
"Textures/Instruments/vector.png", prmX, prmY, 0.5f, 0, 0, 32, 32, 0xFFFFFFFF);
114 DrawText(L
"AF", 1, 0, 0.9f, DT_NOCLIP, 0xFF00FF00, 1,
"AF");
138 if (roll < -D3DX_HALFPI && bus->RollAttitudeRadians > D3DX_HALFPI)
157 if (pitchDev > D3DXToRadian(20.0f)) pitchDev = D3DXToRadian(20.0f);
158 if (pitchDev < D3DXToRadian(-20.0f)) pitchDev = D3DXToRadian(-20.0f);
188 else if (offsety > 71)
196 if (((
lastAOA == 2 && thisAOA == 0) || (
lastAOA == 0 && thisAOA == 2)) &&
201 command.
name =
"AuralAOA";
245 if (
bear != 999.0f &&
mark != 999.0f)
248 if (fabs(
bear) > 90.0f)
void SetLocation(int absoluteX, int absoluteY)
void FrameMove(float fElapsed) override
void SetRectangle(int top, int left, int right, int bottom)
enum Bus::Afcs::LateralModes CurrentLateralMode
Sprite * failFlagLocalizer
s_network_objects playerships[MAX_SCAN]
float RollAttitudeRadians
AttitudeIndicator(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
void AddCommand(Command command, bool onlyOne)
void Draw(D3DXCOLOR prmColor)
float AngleOfAttackRadians
float GlideslopeDeviationRadians
void SetRotationCenter(D3DXVECTOR2 rotationCenter)
float LocalizerDeviationRadians
float DesiredPitchRadians
float IndicatedAirspeedKms
enum Bus::Afcs::VerticalModes CurrentVerticalMode
HRESULT SetScissorRect(RECT *rect) const
Sprite * artificialHorizon
enum Bus::Afcs::VerticalModes StandbyVerticalMode
enum Bus::Afcs::LateralModes StandbyLateralMode
void AddToCallStack(const char *msg)
Sprite * failFlagGlideslope
HRESULT GetScissorRect(RECT *rect) const
void DrawText(const WCHAR *str, int relativeX, int relativeY, float prmZ, int flags, D3DXCOLOR color, int font=-1, std::string elementName="", int width=0, int height=0)
float PitchAttitudeRadians