Starshatter_Open
Open source Starshatter engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
GameScreen.h
Go to the documentation of this file.
1 /* Project Starshatter 4.5
2  Destroyer Studios LLC
3  Copyright © 1997-2004. All Rights Reserved.
4 
5  SUBSYSTEM: Stars.exe
6  FILE: GameScreen.h
7  AUTHOR: John DiCamillo
8 
9 */
10 
11 #ifndef GameScreen_h
12 #define GameScreen_h
13 
14 #include "Types.h"
15 #include "Bitmap.h"
16 #include "Screen.h"
17 #include "BaseScreen.h"
18 
19 // +--------------------------------------------------------------------+
20 
21 class Screen;
22 class Sim;
23 class Window;
24 class Font;
25 
26 class NavDlg;
27 class EngDlg;
28 class FltDlg;
29 class CtlDlg;
30 class JoyDlg;
31 class KeyDlg;
32 class ModDlg;
33 class ModInfoDlg;
34 
35 class CameraDirector;
36 class DisplayView;
37 class HUDView;
38 class WepView;
39 class QuantumView;
40 class QuitView;
41 class RadioView;
42 class TacticalView;
43 class CameraView;
44 class PolyRender;
45 class Bitmap;
46 class DataLoader;
47 class Video;
48 class VideoFactory;
49 
50 // +--------------------------------------------------------------------+
51 
52 class GameScreen : public BaseScreen
53 {
54 public:
55  GameScreen();
56  virtual ~GameScreen();
57 
58  virtual void Setup(Screen* screen);
59  virtual void TearDown();
60  virtual bool CloseTopmost();
61 
62  virtual bool IsShown() const { return isShown; }
63  virtual void Show();
64  virtual void Hide();
65 
66  virtual bool IsFormShown() const;
67  virtual void ShowExternal();
68 
69  virtual void ShowNavDlg();
70  virtual void HideNavDlg();
71  virtual bool IsNavShown();
72  virtual NavDlg* GetNavDlg() { return navdlg; }
73 
74  virtual void ShowEngDlg();
75  virtual void HideEngDlg();
76  virtual bool IsEngShown();
77  virtual EngDlg* GetEngDlg() { return engdlg; }
78 
79  virtual void ShowFltDlg();
80  virtual void HideFltDlg();
81  virtual bool IsFltShown();
82  virtual FltDlg* GetFltDlg() { return fltdlg; }
83 
84  virtual void ShowCtlDlg();
85  virtual void HideCtlDlg();
86  virtual bool IsCtlShown();
87 
88  virtual void ShowJoyDlg();
89  virtual bool IsJoyShown();
90 
91  virtual void ShowKeyDlg();
92  virtual bool IsKeyShown();
93 
94 
95  virtual AudDlg* GetAudDlg() const { return auddlg; }
96  virtual VidDlg* GetVidDlg() const { return viddlg; }
97  virtual OptDlg* GetOptDlg() const { return optdlg; }
98  virtual CtlDlg* GetCtlDlg() const { return ctldlg; }
99  virtual JoyDlg* GetJoyDlg() const { return joydlg; }
100  virtual KeyDlg* GetKeyDlg() const { return keydlg; }
101  virtual ModDlg* GetModDlg() const { return moddlg; }
102  virtual ModInfoDlg* GetModInfoDlg() const { return modInfoDlg; }
103 
104  virtual void ShowAudDlg();
105  virtual void HideAudDlg();
106  virtual bool IsAudShown();
107 
108  virtual void ShowVidDlg();
109  virtual void HideVidDlg();
110  virtual bool IsVidShown();
111 
112  virtual void ShowOptDlg();
113  virtual void HideOptDlg();
114  virtual bool IsOptShown();
115 
116  virtual void ShowModDlg();
117  virtual void HideModDlg();
118  virtual bool IsModShown();
119 
120  virtual void ShowModInfoDlg();
121  virtual void HideModInfoDlg();
122  virtual bool IsModInfoShown();
123 
124  virtual void ApplyOptions();
125  virtual void CancelOptions();
126 
127  virtual void ShowWeaponsOverlay();
128  virtual void HideWeaponsOverlay();
129 
130  void SetFieldOfView(double fov);
131  double GetFieldOfView() const;
132  void CycleMFDMode(int mfd);
133  void CycleHUDMode();
134  void CycleHUDColor();
135  void CycleHUDWarn();
136  void FrameRate(double f);
137  void ExecFrame();
138 
139  static GameScreen* GetInstance() { return game_screen; }
140  CameraView* GetCameraView() const { return cam_view; }
141  Bitmap* GetLensFlare(int index);
142 
143 private:
144  void HideAll();
145 
146  Sim* sim;
147  Screen* screen;
148 
149  Window* gamewin;
150  NavDlg* navdlg;
151  EngDlg* engdlg;
152  FltDlg* fltdlg;
153  CtlDlg* ctldlg;
154  KeyDlg* keydlg;
155  JoyDlg* joydlg;
156  AudDlg* auddlg;
157  VidDlg* viddlg;
158  OptDlg* optdlg;
159  ModDlg* moddlg;
160  ModInfoDlg* modInfoDlg;
161 
162  Font* HUDfont;
163  Font* GUIfont;
164  Font* GUI_small_font;
165  Font* title_font;
166 
167  Bitmap* flare1;
168  Bitmap* flare2;
169  Bitmap* flare3;
170  Bitmap* flare4;
171 
172  CameraDirector* cam_dir;
173  DisplayView* disp_view;
174  HUDView* hud_view;
175  WepView* wep_view;
176  QuantumView* quantum_view;
177  QuitView* quit_view;
178  TacticalView* tac_view;
179  RadioView* radio_view;
180  CameraView* cam_view;
181  DataLoader* loader;
182 
183  double frame_rate;
184  bool isShown;
185 
186  static GameScreen* game_screen;
187 };
188 
189 // +--------------------------------------------------------------------+
190 
191 #endif GameScreen_h
192