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