Rise
The Vieneo Province
LandingStrut.cpp
Go to the documentation of this file.
1 #include "Instrument.h"
2 #include "../Bus.h"
3 
4 LandingStrut::LandingStrut(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts) :
5  Instrument(prmX, prmY, prmXScale, prmYScale, prmBus, prmLogger, prmDevice, prmFonts)
6 {
7  logger->AddToCallStack("LandingStrut::ctor");
8  defaultFont = 1;
9 
10  down = new Sprite(logger, pDevice, "Textures/Instruments/gear-down.png", prmX, prmY, 0.1f, 0, 0, 12, 15, 0xFF000000);
11  up = new Sprite(logger, pDevice, "Textures/Instruments/gear-up.png", prmX, prmY, 0.1f, 0, 0, 12, 15, 0xFF000000);
12  transit = new Sprite(logger, pDevice, "Textures/Instruments/gear-transit.png", prmX, prmY, 0.1f, 0, 0, 12, 15, 0xFF000000);
13 }
14 
16 {
17  if (bus->LandingGearExtended > 0.0f)
18  {
19  if (bus->LandingGearExtended == 1.0f) // down and locked
20  {
21  down->Draw(0xFF00FF00); // green
22  }
23  else // in transit
24  {
25  if ((flasher > 0.0f && oldflasher <= 0.0f) || (flasher > 0.2f && oldflasher <= 0.2f))
26  transit->Draw(0xFFFFFF00); // yellow
27  else
28  transit->Draw(0xFFC4C400); // darker
29  }
30  }
31  else if (bus->GPWS.Alert == Bus::Gpws::GpwsEnum::Mode4a_Too_Low_Gear) // up but only if below a certain level?
32  {
33  if ((flasher > 0.0f && oldflasher <= 0.0f) || (flasher > 0.2f && oldflasher <= 0.2f))
34  up->Draw(0xFFFFFFFF); // white
35  else
36  up->Draw(0xFFC4C4C4); // darker
37  }
38  else if (ourcockpit.texturelib == E11) // fixed in newer e-11 show white UP boxes
39  {
40  up->Draw(0xFFFFFFFF); // white
41  }
42 }
Scockpit ourcockpit
Definition: globals.cpp:176
enum Bus::Gpws::GpwsEnum Alert
float LandingGearExtended
Definition: Bus.h:224
Sprite * transit
Definition: Instrument.h:149
float oldflasher
Definition: globals.cpp:66
Definition: Logger.h:9
void Render() override
short texturelib
Definition: globals.h:612
DeviceObject * pDevice
Definition: Instrument.h:17
Sprite * down
Definition: Instrument.h:147
void Draw(D3DXCOLOR prmColor)
Definition: Sprite.cpp:66
Definition: Bus.h:16
Definition: Sprite.h:7
Bus * bus
Definition: Instrument.h:18
UINT defaultFont
Definition: Instrument.h:20
LandingStrut(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: LandingStrut.cpp:4
struct Bus::Gpws GPWS
float flasher
Definition: globals.cpp:65
Sprite * up
Definition: Instrument.h:148
Logger * logger
Definition: Instrument.h:19
void AddToCallStack(const char *msg)
Definition: Logger.cpp:86