46 #include <orbitersdk.h>
48 #include "LaunchCompass.h"
49 #include "DirectAscentPage.hpp"
52 #include "MFDHUDDrawer/IMFDDrawsHUD.hpp"
77 class LaunchMFD:
public MY_MFD,
public EnjoLib::MFDGoodies::IMFDDrawsHUD
92 char *ButtonLabel (
int bt);
93 int ButtonMenu (
const MFDBUTTONMENU **menu)
const;
95 MFD_RETURN_TYPE Update ( MyDC myDC );
97 bool ConsumeKeyBuffered(DWORD key);
98 bool ConsumeKeyImmediate(
char * kstate );
99 bool ConsumeButton (
int bt,
int event);
105 EnjoLib::MFDGoodies::Sound &
GetSound();
113 void WriteStatus (FILEHANDLE scn)
const;
114 void ReadStatus (FILEHANDLE scn);
116 bool ShouldDrawHUD()
const;
117 void DrawHUD(
int mode,
const HUDPAINTSPEC *hps, MyDC hDC);
118 static int MsgProc (UINT msg, UINT mfd, WPARAM wparam, LPARAM lparam);
120 void SwitchButtonsPage();
122 void SwitchAutopilot();
123 void SwitchPitchGuidance();
124 void SwitchOffplaneCorrection();
125 void SwitchAzimuth();
126 void SwitchGreatCircleUse();
127 void SwitchGreatCircleTrack();
128 void SwitchGreatCircleLines();
131 void GreatCircleZoomIn();
132 void GreatCircleZoomOut();
133 void GreatCircleIncreasePlotPrecision();
134 void GreatCircleDecreasePlotPrecision();
135 void IncreaseInclination();
136 void DecreaseInclination();
137 void IncreaseInclinationFactor();
138 void DecreaseInclinationFactor();
139 void DefaultAction();
140 void OpenDialogTarget();
141 void OpenDialogAltitude();
142 void OpenDialogPIDXY();
143 void OpenDialogPIDBank();
151 void CheckErrorExcess();
152 void ReactOnShipStatus();
155 void DrawErrorAndMarks(MyDC hDC,
const int status);
156 void PrintResults(MyDC hDC);
157 void PrintTargetParamsForAzimuthMode(MyDC hDC);
158 void ReactOnReachingOrbit(MyDC hDC);
161 double az, az_desc, error, heading, pitchError;
172 EnjoLib::MFDGoodies::Sound & m_sound;
175 const static double MAX_ERROR;
180 #endif // !__LAUNCHMFD_H