Rise
The Vieneo Province
Instrument.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../Displays/DeviceObject.h"
4 #include "../Displays/Font.h"
5 #include "../Bus.h"
6 #include "../Displays/Sprite.h"
7 
8 class Instrument
9 {
10  std::vector<Font*> fonts;
11 
12 protected:
13  int x = 0;
14  int y = 0;
15  float xScale = 1.0f;
16  float yScale = 1.0f;
17  DeviceObject* pDevice = nullptr;
18  Bus* bus = nullptr;
19  Logger* logger = nullptr;
20  UINT defaultFont = 0;
21 
23  int uiRow = 0;
24  bool showMenu = false;
25  int uiMenuColumn = -1;
26 
27 public:
28  Instrument(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts)
29  {
30  logger = prmLogger;
31  logger->AddToCallStack("Instrument::ctor");
32  x = prmX;
33  y = prmY;
34  xScale = prmXScale;
35  yScale = prmYScale;
36  bus = prmBus;
37  pDevice = prmDevice;
38  fonts = prmFonts;
39  }
40 
41  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)
42  {
43  logger->AddToCallStack("Instrument::DrawText");
44 
45  if (font == -1)
46  font = defaultFont;
47 
49  //D3DXCOLOR newcolor;
50  //if (bus->IsDim(elementName))
51  // newcolor = color * 0.5f;
52  //else
53  // newcolor = color;
54 
55  RECT rc;
56  rc.left = relativeX + x;
57  rc.top = relativeY + y;
58  rc.bottom = rc.top + height;
59  rc.right = rc.left + width;
60 
61  if (font < 0 || font >= static_cast<int>(fonts.size()))
62  throw std::exception("Tried to DrawText with a font that is outside of the fonts collection!");
63 
64  D3DXMATRIX transform(
65  1.0f, 0.0f, 0.0f, 0.0f,
66  0.0f, 1.0f, 0.0f, 0.0f,
67  0.0f, 0.0f, 1.0f, 0.0f,
68  0.0f, 0.0f, prmZ, 1.0f);
69 
70  HRESULT hr;
71  V(pDevice->pSprite->SetTransform(&transform));
72 
73  if (FAILED(hr = fonts.at(font)->pFont->DrawTextW(pDevice->pSprite, str, -1, &rc, flags, color)))
74  {
75  logger->Log("Instrument::DrawText failed!", Logger::Error, hr);
76  }
77  }
78 
79  virtual void Render() = 0;
80 
81  virtual void FrameMove(float fElapsed)
82  {
83  }
84 
85  virtual bool HandleKeyPress(short key, bool shift)
86  {
87  return false;
88  }
89 
90  virtual void OnPageChanged()
91  {
92  //uiRow = 0;
93  //showMenu = false;
94  //uiMenuColumn = -1;
95  }
96 };
97 
99 {
100  std::string rowType[64];
101  int rowValue[64] = {};
102  void RenderRow(const WCHAR* row, DWORD color, int rowId, std::string type = "", int value = 0);
103 
104 public:
105  CargoManagement(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
106  void Render() override;
107  bool HandleKeyPress(short key, bool shift) override;
108 };
109 
110 class Intermedia : public Instrument
111 {
112 public:
113  Intermedia(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
114  void Render() override;
115  bool HandleKeyPress(short key, bool shift) override;
116 };
117 
118 class LineInput : public Instrument
119 {
120  int cursorState = false;
121  float cursorTime = 0.0f;
122  std::string pageName;
123 
124 public:
125  LineInput(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts, std::string prmPageName);
126  void Render() override;
127  void FrameMove(float fElapsed) override;
128 };
129 
130 class Diagnostics : public Instrument
131 {
132 public:
133  Diagnostics(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
134  void Render() override;
135 };
136 
137 class Scanner : public Instrument
138 {
139 public:
140  Scanner(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
141  void Render() override;
142  bool HandleKeyPress(short key, bool shift) override;
143 };
144 
145 class LandingStrut : public Instrument
146 {
147  Sprite* down = nullptr;
148  Sprite* up = nullptr;
149  Sprite* transit = nullptr;
150 
151 public:
152  LandingStrut(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
153  void Render() override;
154 };
155 
156 class LandingGear : public Instrument
157 {
158  Sprite* box = nullptr;
159  Sprite* dots = nullptr;
160 
161 public:
162  LandingGear(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
163  void Render() override;
164 };
165 
166 class EngineBox : public Instrument
167 {
168  Sprite* box = nullptr;
169  int engineIndex = -1;
170  WCHAR label[5] = { 0 };
171  WCHAR percent[5] = { 0 };
172  DWORD color = 0L;
173 
174 public:
175  EngineBox(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts, int prmEngineIndex);
176  void Render() override;
177  void FrameMove(float fElapsed) override;
178 };
179 
180 class EngineBar : public Instrument
181 {
182  Sprite* box = nullptr;
183  Sprite* bar = nullptr;
184  int engineIndex = -1;
185  DWORD color = 0L;
186  int yBias = 0;
187  int bottomBias = 0;
188 
189 public:
190  EngineBar(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts, int prmEngineIndex);
191  void Render() override;
192  void FrameMove(float fElapsed) override;
193 };
194 
195 class HeadlightBox : public Instrument
196 {
197  Sprite* box = nullptr;
198  Sprite* fill = nullptr;
199 
200 public:
201  HeadlightBox(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
202  void Render() override;
203 };
204 
205 class HeadlightIcon : public Instrument
206 {
207  Sprite* icon = nullptr;
208 
209 public:
210  HeadlightIcon(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
211  void Render() override;
212 };
213 
214 class ElevatorTrim : public Instrument
215 {
216  Sprite* background = nullptr;
217  Sprite* indicator = nullptr;
218  int yBias = 0;
219  WCHAR label[5] = { 0 };
220 
221 public:
222  ElevatorTrim(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
223  void Render() override;
224  void FrameMove(float fElapsed) override;
225 };
226 
227 class Flaps : public Instrument
228 {
229  Sprite* slat = nullptr;
230  Sprite* background = nullptr;
231  Sprite* flap = nullptr;
232  float radians = 0.0f;
233  WCHAR label[5] = { 0 };
234 
235 public:
236  Flaps(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
237  void Render() override;
238  void FrameMove(float fElapsed) override;
239 };
240 
242 {
243  Sprite* sprite = nullptr;
244 
245 public:
246  AlertMessageStack(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
247  void Render() override;
248 };
249 
250 class MovingMap : public Instrument
251 {
252  Sprite* compass = nullptr;
253  Sprite* headingBug = nullptr;
254  Sprite* bearingBug = nullptr;
255  Sprite* flyoverFix = nullptr;
256  Sprite* malteseFix = nullptr;
257  Sprite* touchdown = nullptr;
258  Sprite* userPin = nullptr;
259  Sprite* assay = nullptr;
260  //Sprite* course;
261  float pixelPerKmX = 0.0f;
262  float pixelPerKmY = 0.0f;
263  std::vector<Swaypoint> waypoints;
264  float iconOffsetX = 0.0f;
265  float iconOffsetY = 0.0f;
266  float headingTrueRad = 0.0f;
267  VECTOR2SHORT assayGrid[21];
268  DWORD assayColor[21] = {};
269  D3DXVECTOR2 relativeCenter = D3DXVECTOR2(0, 0);
270  float remoteAssayPower = 0.0f;
271 
272 public:
273  MovingMap(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
274  void Render() override;
275  void FrameMove(float fElapsed) override;
276 };
277 
278 class Wind : public Instrument
279 {
280  Sprite* arrow = nullptr;
281  float radians = 0.0f;
282  WCHAR label[7] = { 0 };
283 
284 public:
285  Wind(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
286  void Render() override;
287  void FrameMove(float fElapsed) override;
288 };
289 
290 class FMA : public Instrument
291 {
292  Sprite* lateralBox = nullptr;
294  Sprite* lateralSetBar = nullptr;
295  Sprite* verticalBox = nullptr;
297  Sprite* verticalSetBar = nullptr;
298  int oldActiveLateralMode = Bus::Afcs::LateralModes::LateralMode_Off;
299  int oldActiveVerticalMode = Bus::Afcs::VerticalModes::VerticalMode_Off;
300  float oldLateralSetValue = 0.0f;
301  float oldVerticalSetValue = 0.0f;
302  float lateralModeTimer = 0.0f;
303  float verticalModeTimer = 0.0f;
304  float lateralSetTimer = 0.0f;
305  float verticalSetTimer = 0.0f;
306  DWORD lateralModeTextColor = 0xFF00FF00;
307  DWORD lateralModeBackColor = 0xFF000000;
308  DWORD verticalModeTextColor = 0xFF00FF00;
309  DWORD verticalModeBackColor = 0xFF000000;
310  WCHAR lateralModeText[10] = { 0 };
311  WCHAR lateralSetText[10] = { 0 };
312  WCHAR verticalModeText[10] = { 0 };
313  WCHAR verticalSetText[10] = { 0 };
314  DWORD lateralSetTextColor = 0xFF00FF00;
315  DWORD lateralSetBackColor = 0xFF000000;
316  DWORD verticalSetTextColor = 0xFF00FF00;
317  DWORD verticalSetBackColor = 0xFF000000;
318 
319 
320 public:
321  FMA(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
322  void Render() override;
323  void FrameMove(float fElapsed) override;
324 };
325 
326 class Orbit : public Instrument
327 {
328  float radians = 0.0f;
329  WCHAR label[7] = { 0 };
330 
331  D3DXVECTOR3 rx = centerC, vx = centerC, ex = centerC, tv = centerC, hx = centerC, nx = centerC;
332  D3DXVECTOR3 oldposition = centerC;
333  D3DXVECTOR3 oldvelocity = centerC;
334  float ec = 0.0f; // eccentricity
335  float tp = 0.0f; // period of the orbit
336  float aa = 0.0f; // altitude of apoapsis
337  float ap = 0.0f; // altitude of periapsis
338  float vo = 0.0f; // degrees from periapsis passage, true anomoly?
339  float ix = 0.0f; // inclination from ecliptic
340  float halfsec = 0.0f;
341 
342 public:
343  Orbit(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
344  void Render() override;
345  void FrameMove(float fElapsed) override;
346 };
347 
348 class CarRadio : public Instrument
349 {
350  Sprite* background = nullptr;
351  float m_fAnimateFrame = 0.0f;
352  float textpos = 0.0f;
353  WCHAR nowPlaying[99] = { 0 };
354 
355 public:
356  CarRadio(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
357  void Render() override;
358  void FrameMove(float fElapsed) override;
359 };
360 
362 {
364  Sprite* commandBars = nullptr;
367  Sprite* glideslopeBox = nullptr;
368  Sprite* glideslopeBug = nullptr;
369  Sprite* localizerBox = nullptr;
370  Sprite* localizerBug = nullptr;
371  Sprite* aoaHigh = nullptr;
372  Sprite* aoa = nullptr;
373  Sprite* aoaLow = nullptr;
374  Sprite* recticle = nullptr;
375  Sprite* vector = nullptr;
376  float roll = 0.0f;
377  float pitch = 0.0f;
378  const float width = 348;
379  const float height = 344;
380  float tvpitchscale = 0.0f;
381  float tvvertoffset = 0.0f;
382  float cbpitchscale = 0.0f;
383  float cbvertoffset = 0.0f;
384  int xMargins = 0, yMargins = 0;
385  float halftvrange = 0.0f;
386  float tvpitch = 0.0f;
387  RECT scissor_rect = {};
388  char lastAOA = 0;
389  D3DXVECTOR3 recticleVec;
390  D3DXVECTOR3 velocityVec;
391 
392 public:
393  AttitudeIndicator(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
394  void Render() override;
395  void FrameMove(float fElapsed) override;
396 };
397 
398 class StreetView : public Instrument
399 {
400  //Sprite* background = nullptr;
401  Sprite* cityMap = nullptr;
402  Sprite* airplane = nullptr;
403  Sprite* navTarget = nullptr;
404  float width, height;
405 
406 public:
407  StreetView(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
408  void Render() override;
409  void FrameMove(float fElapsed) override;
410 };
411 
413 {
414  Sprite* tape = nullptr;
415 
416 public:
417  IndicatedAirSpeed(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
418  void Render() override;
419  void FrameMove(float fElapsed) override;
420 };
421 
423 {
424  Sprite* tape = nullptr;
425 
426 public:
427  RadioAltimeter(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
428  void Render() override;
429  void FrameMove(float fElapsed) override;
430 };
431 
432 class Altimeter : public Instrument
433 {
434  Sprite* tape = nullptr;
435 
436 public:
437  Altimeter(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
438  void Render() override;
439  void FrameMove(float fElapsed) override;
440 };
441 
442 class Compass : public Instrument
443 {
444  Sprite* tape = nullptr;
445 
446 public:
447  Compass(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
448  void Render() override;
449  void FrameMove(float fElapsed) override;
450 };
451 
452 class TCASOverlay : public Instrument
453 {
454  Sprite* noThreat = nullptr;
455  Sprite* proximate = nullptr;
458  float pixelPerKmX = 0.0f;
459  float pixelPerKmY = 0.0f;
460  std::vector<s_network_objects> targets;
461  float iconOffsetX = 0.0f;
462  float iconOffsetY = 0.0f;
463  float headingTrueRad = 0.0f;
464  D3DXVECTOR2 relativeCenter = D3DXVECTOR2(0, 0);
465  float rotate = 0.0f;
466 
467 public:
468  TCASOverlay(int prmX, int prmY, float prmXScale, float prmYScale, Bus* prmBus, Logger* prmLogger, DeviceObject* prmDevice, std::vector<Font*> prmFonts);
469  void Render() override;
470  void FrameMove(float fElapsed) override;
471 };
int engineIndex
Definition: Instrument.h:184
void FrameMove(float fElapsed) override
Definition: TCASOverlay.cpp:72
virtual bool HandleKeyPress(short key, bool shift)
Definition: Instrument.h:85
void Render() override
Sprite * compass
Definition: Instrument.h:252
Sprite * tape
Definition: Instrument.h:424
Compass(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: Compass.cpp:4
WCHAR percent[5]
Definition: Instrument.h:171
float verticalModeTimer
Definition: Instrument.h:303
Sprite * recticle
Definition: Instrument.h:374
void Render() override
float iconOffsetY
Definition: Instrument.h:265
void Render() override
Definition: Scanner.cpp:11
Sprite * tape
Definition: Instrument.h:444
Scanner(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: Scanner.cpp:4
Sprite * bearingBug
Definition: Instrument.h:254
std::vector< Font * > fonts
Definition: Instrument.h:10
Sprite * fill
Definition: Instrument.h:198
Sprite * background
Definition: Instrument.h:230
void Render() override
Definition: Altimeter.cpp:14
Sprite * verticalBox
Definition: Instrument.h:295
std::string rowType[64]
Definition: Instrument.h:100
WCHAR label[5]
Definition: Instrument.h:219
Sprite * transit
Definition: Instrument.h:149
void FrameMove(float fElapsed) override
float vo
Definition: Instrument.h:338
Sprite * slat
Definition: Instrument.h:229
void FrameMove(float fElapsed) override
Sprite * box
Definition: Instrument.h:168
Sprite * flap
Definition: Instrument.h:231
Sprite * background
Definition: Instrument.h:216
float headingTrueRad
Definition: Instrument.h:266
CargoManagement(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
void FrameMove(float fElapsed) override
Definition: EngineBox.cpp:32
Definition: Logger.h:9
Sprite * lateralBox
Definition: Instrument.h:292
void Render() override
Sprite * failFlagLocalizer
Definition: Instrument.h:365
float verticalSetTimer
Definition: Instrument.h:305
void Render() override
void Render() override
Definition: StreetView.cpp:19
virtual void FrameMove(float fElapsed)
Definition: Instrument.h:81
D3DXVECTOR3 hx
Definition: Instrument.h:331
void FrameMove(float fElapsed) override
Definition: Orbit.cpp:92
Sprite * box
Definition: Instrument.h:197
int bottomBias
Definition: Instrument.h:187
D3DXVECTOR3 ex
Definition: Instrument.h:331
D3DXVECTOR3 nx
Definition: Instrument.h:331
Instrument(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: Instrument.h:28
Sprite * tape
Definition: Instrument.h:434
void Render() override
void FrameMove(float fElapsed) override
Diagnostics(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: Diagnostics.cpp:4
void Render() override
Definition: EngineBox.cpp:15
D3DXVECTOR3 recticleVec
Definition: Instrument.h:389
Sprite * proximate
Definition: Instrument.h:455
D3DXVECTOR3 rx
Definition: Instrument.h:331
DWORD verticalSetBackColor
Definition: Instrument.h:317
void Render() override
Definition: LineInput.cpp:12
void FrameMove(float fElapsed) override
Definition: EngineBar.cpp:26
Sprite * commandBars
Definition: Instrument.h:364
bool showMenu
Definition: Instrument.h:24
int engineIndex
Definition: Instrument.h:169
WCHAR label[5]
Definition: Instrument.h:233
float radians
Definition: Instrument.h:232
float oldVerticalSetValue
Definition: Instrument.h:301
Sprite * headingBug
Definition: Instrument.h:253
float iconOffsetX
Definition: Instrument.h:461
void Render() override
WCHAR verticalSetText[10]
Definition: Instrument.h:313
float pixelPerKmX
Definition: Instrument.h:261
TCASOverlay(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: TCASOverlay.cpp:3
DeviceObject * pDevice
Definition: Instrument.h:17
void FrameMove(float fElapsed) override
Definition: Compass.cpp:19
void FrameMove(float fElapsed) override
Definition: FMA.cpp:39
void Render() override
Definition: Compass.cpp:14
EngineBar(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts, int prmEngineIndex)
Definition: EngineBar.cpp:4
IndicatedAirSpeed(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Sprite * down
Definition: Instrument.h:147
float iconOffsetX
Definition: Instrument.h:264
AttitudeIndicator(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
FMA(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: FMA.cpp:4
Sprite * background
Definition: Instrument.h:350
float aa
Definition: Instrument.h:336
AlertMessageStack(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
void FrameMove(float fElapsed) override
Definition: Altimeter.cpp:19
Sprite * assay
Definition: Instrument.h:259
float halfsec
Definition: Instrument.h:340
D3DXVECTOR3 vx
Definition: Instrument.h:331
void FrameMove(float fElapsed) override
Definition: CarRadio.cpp:26
RadioAltimeter(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
float pixelPerKmY
Definition: Instrument.h:459
WCHAR verticalModeText[10]
Definition: Instrument.h:312
int uiMenuColumn
Definition: Instrument.h:25
float lateralSetTimer
Definition: Instrument.h:304
Sprite * flyoverFix
Definition: Instrument.h:255
float iconOffsetY
Definition: Instrument.h:462
D3DXVECTOR3 velocityVec
Definition: Instrument.h:390
Definition: Bus.h:16
Sprite * cityMap
Definition: Instrument.h:401
Sprite * lateralSetBar
Definition: Instrument.h:294
float cursorTime
Definition: Instrument.h:121
virtual void OnPageChanged()
Definition: Instrument.h:90
int oldActiveVerticalMode
Definition: Instrument.h:299
std::string pageName
Definition: Instrument.h:122
void RenderRow(const WCHAR *row, DWORD color, int rowId, std::string type="", int value=0)
Definition: Sprite.h:7
float width
Definition: Instrument.h:404
float ec
Definition: Instrument.h:334
Sprite * glideslopeBug
Definition: Instrument.h:368
void Render() override
HeadlightIcon(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Sprite * touchdown
Definition: Instrument.h:257
const float height
Definition: Instrument.h:379
void FrameMove(float fElapsed) override
Definition: Flaps.cpp:36
D3DXVECTOR3 tv
Definition: Instrument.h:331
Bus * bus
Definition: Instrument.h:18
float tp
Definition: Instrument.h:335
float oldLateralSetValue
Definition: Instrument.h:300
Sprite * indicator
Definition: Instrument.h:217
Sprite * icon
Definition: Instrument.h:207
DWORD color
Definition: Instrument.h:172
Sprite * lateralModeBarCurrent
Definition: Instrument.h:293
float xScale
Definition: Instrument.h:15
Wind(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: Wind.cpp:5
DWORD lateralSetTextColor
Definition: Instrument.h:314
EngineBox(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts, int prmEngineIndex)
Definition: EngineBox.cpp:4
UINT defaultFont
Definition: Instrument.h:20
float radians
Definition: Instrument.h:281
std::vector< s_network_objects > targets
Definition: Instrument.h:460
float rotate
Definition: Instrument.h:465
float textpos
Definition: Instrument.h:352
LandingStrut(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: LandingStrut.cpp:4
void Render() override
void Render() override
Definition: Wind.cpp:14
Sprite * arrow
Definition: Instrument.h:280
void Render() override
Definition: TCASOverlay.cpp:21
Sprite * potentialThreat
Definition: Instrument.h:456
void Render() override
Definition: LandingGear.cpp:14
DWORD assayColor[21]
Definition: Instrument.h:268
Intermedia(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: Intermedia.cpp:4
HeadlightBox(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: HeadlightBox.cpp:4
void FrameMove(float fElapsed) override
Definition: LineInput.cpp:31
Sprite * box
Definition: Instrument.h:158
DWORD verticalSetTextColor
Definition: Instrument.h:316
VECTOR2SHORT assayGrid[21]
Definition: Instrument.h:267
Sprite * glideslopeBox
Definition: Instrument.h:367
DWORD lateralModeBackColor
Definition: Instrument.h:307
StreetView(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: StreetView.cpp:5
MovingMap(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: MovingMap.cpp:3
const D3DXVECTOR3 centerC
void Render() override
Definition: Diagnostics.cpp:11
Sprite * up
Definition: Instrument.h:148
Orbit(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: Orbit.cpp:4
WCHAR label[7]
Definition: Instrument.h:329
Sprite * dots
Definition: Instrument.h:159
WCHAR lateralModeText[10]
Definition: Instrument.h:310
void Log(const char *msg, Level level=Info, int errorCode=0)
Definition: Logger.cpp:11
void Render() override
Definition: Orbit.cpp:11
Sprite * artificialHorizon
Definition: Instrument.h:363
float height
Definition: Instrument.h:404
Sprite * bar
Definition: Instrument.h:183
int rowValue[64]
Definition: Instrument.h:101
void Render() override
Definition: FMA.cpp:18
Sprite * box
Definition: Instrument.h:182
DWORD verticalModeTextColor
Definition: Instrument.h:308
float pixelPerKmX
Definition: Instrument.h:458
float headingTrueRad
Definition: Instrument.h:463
const float width
Definition: Instrument.h:378
Logger * logger
Definition: Instrument.h:19
D3DXVECTOR3 oldvelocity
Definition: Instrument.h:333
void Render() override
Definition: Intermedia.cpp:11
DWORD lateralSetBackColor
Definition: Instrument.h:315
ElevatorTrim(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: ElevatorTrim.cpp:4
void Render() override
Definition: Flaps.cpp:15
int cursorState
Definition: Instrument.h:120
float lateralModeTimer
Definition: Instrument.h:302
float pixelPerKmY
Definition: Instrument.h:262
virtual void Render()=0
D3DXVECTOR2 relativeCenter
Definition: Instrument.h:464
float remoteAssayPower
Definition: Instrument.h:270
WCHAR lateralSetText[10]
Definition: Instrument.h:311
LandingGear(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: LandingGear.cpp:4
Sprite * airplane
Definition: Instrument.h:402
float ap
Definition: Instrument.h:337
DWORD lateralModeTextColor
Definition: Instrument.h:306
Sprite * localizerBox
Definition: Instrument.h:369
void FrameMove(float fElapsed) override
std::vector< Swaypoint > waypoints
Definition: Instrument.h:263
Sprite * malteseFix
Definition: Instrument.h:256
Sprite * verticalSetBar
Definition: Instrument.h:297
D3DXVECTOR3 oldposition
Definition: Instrument.h:332
bool HandleKeyPress(short key, bool shift) override
float ix
Definition: Instrument.h:339
Sprite * userPin
Definition: Instrument.h:258
Flaps(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: Flaps.cpp:4
DWORD color
Definition: Instrument.h:185
int oldActiveLateralMode
Definition: Instrument.h:298
float m_fAnimateFrame
Definition: Instrument.h:351
Sprite * aoaHigh
Definition: Instrument.h:371
void FrameMove(float fElapsed) override
Definition: Wind.cpp:24
LineInput(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts, std::string prmPageName)
Definition: LineInput.cpp:4
void AddToCallStack(const char *msg)
Definition: Logger.cpp:86
void FrameMove(float fElapsed) override
Definition: StreetView.cpp:28
void Render() override
Definition: CarRadio.cpp:13
Sprite * failFlagGlideslope
Definition: Instrument.h:366
void Render() override
Definition: EngineBar.cpp:15
DWORD verticalModeBackColor
Definition: Instrument.h:309
Sprite * localizerBug
Definition: Instrument.h:370
Sprite * collisionThreat
Definition: Instrument.h:457
LPD3DXSPRITE pSprite
Definition: DeviceObject.h:21
float radians
Definition: Instrument.h:328
bool HandleKeyPress(short key, bool shift) override
Definition: Scanner.cpp:191
WCHAR label[5]
Definition: Instrument.h:170
Altimeter(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: Altimeter.cpp:4
void Render() override
Definition: MovingMap.cpp:33
Sprite * noThreat
Definition: Instrument.h:454
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)
Definition: Instrument.h:41
Sprite * verticalModeBarCurrent
Definition: Instrument.h:296
void FrameMove(float fElapsed) override
Definition: MovingMap.cpp:150
void Render() override
Sprite * navTarget
Definition: Instrument.h:403
float yScale
Definition: Instrument.h:16
WCHAR nowPlaying[99]
Definition: Instrument.h:353
WCHAR label[7]
Definition: Instrument.h:282
bool HandleKeyPress(short key, bool shift) override
D3DXVECTOR2 relativeCenter
Definition: Instrument.h:269
CarRadio(int prmX, int prmY, float prmXScale, float prmYScale, Bus *prmBus, Logger *prmLogger, DeviceObject *prmDevice, std::vector< Font *> prmFonts)
Definition: CarRadio.cpp:4