Rise
The Vieneo Province
Viewscreen.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <WinSock2.h>
4 #include <WS2tcpip.h>
5 #include <Windows.h>
6 #include "DXUT.h"
7 
8 #ifndef DIRECTINPUT_VERSION
9 #define DIRECTINPUT_VERSION 0x0800 // dinput.h throws a notice if we don't define it, We should look at moving this define to globals.h
10 #include "dinput.h" //Needed for Directinput like joystick / force feedbacl / keyboard
11 #endif
12 
13 #include "grid.h" //Class that does stuff related to the grid
14 #include "weapon.h" //Pew! Pew!
15 #include "buildings.h" //All building update related stuff
16 #include "keyboard.h" //To handle all keyboard related things
17 #include "joystick.h" //Handles joystick updating
18 #include "FreeTrack.h" //Handles Head Tracker updating
19 #include "propulsion.h" //Handles propulsion updating
20 #include "renderer.h" //Handles render stuff, like loading textures.
21 #include "weather.h" //All the code that used to be in fog.cpp is now in here.
22 #include "cockpit.h" //Cockpit drawing code in here
23 #include "instruments.h" //The old stats.cpp code for now
24 #include "waypoints.h"
25 
26 #include "../GameClass.h"
27 
28 #define depthFloorResolutionC 2048L
29 
31 {
32  //Utility variable
33  char msg[199];
34 
35  float lowframeTime;
36  float frameRateHeartbeat = 240.0f; // send every 5 minutes but send after first minute
37 
38  //LARGE_INTEGER newTime, oldTime, frequency;
39 
40 public:
41 
42  std::vector<RECT> rooms;
43  D3DXVECTOR3 compassnorth;
44 
45  //----------- Fonts! Yes we want them too! -----------
46  LPD3DXFONT m_pFont = nullptr; // A font to output text
47  LPD3DXFONT m_pFontLicense = nullptr;
48  LPD3DXFONT m_pFont3 = nullptr;
49  LPD3DXFONT m_pFontHull = nullptr;
50 
51  std::vector<std::string> sofTracking;
52 
54  ~Viewscreen();
55 
56  void Initialize();
57  HRESULT OnCreateDevice(IDirect3DDevice9* pd3dDevice);
58  void SetProjectionMatrices();
59  HRESULT OnResetDevice(IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc);
60  void OnLostDevice();
61  void OnDestroyDevice();
62  void DumpSofTracking();
63  bool AssertTelemetry(const char* location, short id);
64  void OutsideView(bool outside);
65  static RECT WhichRoom(const std::vector<tagRECT>& rooms, float x, float y, short* roomIndex);
66  void OnFrameMove(double fTime, float fElapsedTime);
67  void OnFrameRender(IDirect3DDevice9* pd3dDevice, double fTime) const;
68  void OnFrameRender2(IDirect3DDevice9* pd3dDevice, float fElapsedTime);
69 
70  void ApplyEnvironmentMap();
71  float CalculateAGL(short u, short v, D3DXVECTOR3 position, bool makeleveler);
72  float CalculateAGLd(D3DXVECTOR3 terpos, double terprecisionx, double terprecisiony, double terprecisionz, double proposedx, double proposedy, double proposedz, D3DXVECTOR3 proposed, bool makeleveler);
73  void LoadVehicleProfile(short t, bool forceCockpitTextures = false);
74  float ProbeBoundSphere(D3DXVECTOR3* position, const D3DXVECTOR3* Xsunlight) const;
75  Sani GetAni(float f_time, unsigned char ani) const;
76  static D3DXVECTOR3 CalculateBarycentric(D3DXVECTOR3* position, D3DXVECTOR3* gthrust, float* radius);
77  bool CheckPlotRoads(float f_tempu, float f_tempv);
78  // Sani GetAni( float f_time, unsigned char ani );
79  void Movement(short t, float ElapsedTime);
80  char CalculateCube(D3DXVECTOR3 position) const;
81  VECTOR2SHORT CalculateCGC(D3DXVECTOR3 position, char cube) const;
82  //float CalculateBCL(short u, short v, D3DXVECTOR3 position) const;
83  VECTOR2SHORT CalculateWrap(short u, short v, char cube, char* rotate) const;
84  LOCALGRID2 CalculateSRV(short t, short s, VECTOR2SHORT tcp, char cube, SRenderVertex sourcedata);
85  D3DXVECTOR3 D3DXVec3Qerp(D3DXVECTOR3 *vel0, D3DXVECTOR3 *vel1, D3DXVECTOR3 *vel2, float t) const;
86  long FontOffset(char letter) const;
87  float CheckDepthMap(VECTOR2SHORT newdepthpos, short u, short v);
88  float CheckFloorMap(VECTOR2SHORT newdepthpos, short u, short v);
89  float CheckRtsBumpMap(VECTOR2SHORT rts, VECTOR2SHORT bump, short u, short v);
90  void Undock() const;
91  void TriggerBCLLightning(float distanceScalar, float intensityScalar) const;
92 
93  D3DXVECTOR3 CalculatePlanar(short u, short v);
94 
95  //----------- Force feedback and general input devices -> Input class -----------
96  LPDIRECTINPUT8 g_pDI = nullptr; // The DirectInput interface
97 
98 
99  //----------- Vertex & Index buffers ------------
100  // Static VB, doesn't change every frame
101  LPDIRECT3DVERTEXBUFFER9 m_avStaticStars = nullptr;
102  LPDIRECT3DVERTEXBUFFER9 m_avCone = nullptr;
103  LPDIRECT3DVERTEXBUFFER9 m_avSunVertices = nullptr;
104 #ifdef treetestC
105  LPDIRECT3DVERTEXBUFFER9 m_avTree;
106 #endif
107  LPDIRECT3DVERTEXBUFFER9 m_avRunningLights = nullptr; // For the running lights
108  LPDIRECT3DINDEXBUFFER9 m_aiCloudGrid = nullptr;
109  LPDIRECT3DVERTEXBUFFER9 m_avCloudGrid = nullptr;
110  //LPDIRECT3DINDEXBUFFER9 m_aiLocalGrid= nullptr;
111  LPDIRECT3DVERTEXBUFFER9 m_avLocalGrid = nullptr;
112 
113  // Dynamic VB, changes every frame
114  LPDIRECT3DVERTEXBUFFER9 m_avRainDrops = nullptr;
115  LPDIRECT3DVERTEXBUFFER9 m_avSkyDome = nullptr;
116  LPDIRECT3DVERTEXBUFFER9 m_avSkyRing = nullptr;
117  LPDIRECT3DVERTEXBUFFER9 m_avScreen = nullptr; // Alpha blended viewscreen
118  LPDIRECT3DVERTEXBUFFER9 m_avInstrument = nullptr; // Instrumentation
119  LPDIRECT3DVERTEXBUFFER9 m_avLightning = nullptr;
120 
121  //----------- Textures -----------
122  // Static Textures
123  //LPDIRECT3DTEXTURE9 m_pddsDetail1;
124  LPDIRECT3DTEXTURE9 m_pddsWorld2a1 = nullptr; // Iomere
125  LPDIRECT3DTEXTURE9 m_pddsCloudBaseMap = nullptr; // Clouds
126  LPDIRECT3DTEXTURE9 m_pddsCloudDetailAbove = nullptr; // Clouds
127  LPDIRECT3DTEXTURE9 m_pddsCloudDetailBelow = nullptr; // Clouds
128  LPDIRECT3DTEXTURE9 m_pddsBinoculars = nullptr;
129  LPDIRECT3DTEXTURE9 m_pddsBinocularsCompass = nullptr;
130  LPDIRECT3DTEXTURE9 m_pddsBinocularsArrow = nullptr;
131  LPDIRECT3DTEXTURE9 m_pddsSunglasses = nullptr;
132  LPDIRECT3DTEXTURE9 m_pddsSunTexture = nullptr; // Yonmara
133  LPDIRECT3DTEXTURE9 m_pddsStarTexture = nullptr;
134  LPDIRECT3DTEXTURE9 m_pddsHolidayTexture = nullptr;
135 
136  LPDIRECT3DTEXTURE9 m_pddsWeapon[weaponanimateC];
137  LPDIRECT3DTEXTURE9 m_pddsSinker[weaponanimateC];
138  LPDIRECT3DVOLUMETEXTURE9 m_pddsFuzerX = nullptr;
139  LPDIRECT3DVOLUMETEXTURE9 m_pddsSinkerX = nullptr;
140  LPDIRECT3DVOLUMETEXTURE9 m_pddsBlastX = nullptr;
141  LPDIRECT3DTEXTURE9 m_pddsFirework1[firework1C];
142  LPDIRECT3DTEXTURE9 m_pddsFirework2[firework2C];
143  LPDIRECT3DTEXTURE9 m_pddsFirework3[firework3C];
144  LPDIRECT3DTEXTURE9 m_pddsElmo[elmoAnimateC];
145 #ifdef smoketestC
146  LPDIRECT3DTEXTURE9 m_pddsSmoke[smoketrailC];
147 #endif
148  LPDIRECT3DTEXTURE9 m_pddsDIHV[dihvanimateC];
149  LPDIRECT3DTEXTURE9 m_pddsHeart[heartanimateC];
150  LPDIRECT3DVOLUMETEXTURE9 m_pddsReentry = nullptr;
151 
152 
153  // Cockpit dashes
154  LPDIRECT3DTEXTURE9 m_pddsGVDialSmall = nullptr; // must be seperate, rotates
155  LPDIRECT3DTEXTURE9 m_pddsGVBackground = nullptr; // could be combined
156  LPDIRECT3DTEXTURE9 m_pddsNamePlate = nullptr; // could be combined
157  LPDIRECT3DTEXTURE9 m_pddsGVCompass = nullptr; // must be seperate, wraps
158  LPDIRECT3DTEXTURE9 m_pddsGVDirection = nullptr; // could be combined
159  LPDIRECT3DTEXTURE9 m_pddsLightsCruiseIcons = nullptr; // could be combined
160  LPDIRECT3DTEXTURE9 m_pddsFuelIcon = nullptr; // could be combined
161  LPDIRECT3DTEXTURE9 m_pddsAOA[3]; // could be combined
164  // Not reloaded with new cockpit
165  //LPDIRECT3DTEXTURE9 m_pddsVector = nullptr; // could be combined
166  //LPDIRECT3DTEXTURE9 m_pddsAGLtape = nullptr; // could be combined
167  LPDIRECT3DTEXTURE9 m_pddsInterlace[2]; // must be seperate, wraps
168  LPDIRECT3DTEXTURE9 m_pddsKeycard = nullptr;
169 
170 
171 
172  // Interface
173  //LPDIRECT3DTEXTURE9 m_pddsCardioscan = nullptr;
174  LPDIRECT3DTEXTURE9 m_pddsLetters = nullptr;
175 
176  LPDIRECT3DTEXTURE9 m_pddsLightningBelow[3];
177  LPDIRECT3DTEXTURE9 m_pddsLightningAbove[3];
178  LPDIRECT3DTEXTURE9 m_pddsAtmosphere = nullptr;
179 #ifdef treetestC
180  LPDIRECT3DTEXTURE9 m_pddsTree;
181 #endif
182  LPDIRECT3DTEXTURE9 m_pddsShipTexture[shiptextureC];
183  LPDIRECT3DTEXTURE9 m_pddsShipLights[shiptextureC];
184  LPDIRECT3DTEXTURE9 m_pddsDockTexture[docktextureC];
185  LPDIRECT3DTEXTURE9 m_pddsDockLights[docktextureC];
186  LPDIRECT3DTEXTURE9 m_pddsRTSTexture[RTStextureC];
187  LPDIRECT3DTEXTURE9 m_pddsRTSLights[RTStextureC];
188  LPDIRECT3DTEXTURE9 m_pddsCityTexture[citytextureC];
189  LPDIRECT3DTEXTURE9 m_pddsCityLights[citytextureC];
190 
191  LPDIRECT3DTEXTURE9 m_pddsLandform[landformtextureC];
193  LPDIRECT3DTEXTURE9 m_pddsWaterNormal = nullptr;
194 
195  LPDIRECT3DTEXTURE9 m_pddsMarston1 = nullptr;
196  LPDIRECT3DTEXTURE9 m_pddsRunwayEdgeLight1 = nullptr;
197  LPDIRECT3DTEXTURE9 m_pddsRoad = nullptr;
198  LPDIRECT3DTEXTURE9 m_pddsIntersection = nullptr;
199 
200  // Dynamic Textures - Used for shipnames on hull
201  LPDIRECT3DTEXTURE9 m_pddsDynamicTexture = nullptr; // instrumentation texture
202  LPDIRECT3DSURFACE9 m_pddsDynamicSurface = nullptr; // instrumentation surface
203  LPDIRECT3DTEXTURE9 m_pddsProjectionTexture = nullptr; // projection texture
204  LPDIRECT3DSURFACE9 m_pddsProjectionSurface = nullptr; // projection surface
205  LPD3DXRENDERTOSURFACE m_pRenderToSurface = nullptr; // 907x352
206  LPD3DXRENDERTOSURFACE m_pRenderToSurfaceNextGen = nullptr; // 1135, 388
207  LPD3DXRENDERTOSURFACE m_pHullRender2Surface = nullptr; // 256x128
208 
209  LPDIRECT3DTEXTURE9 m_pddsHullDynamicTexture[MAX_SCAN] = {}; // hull and license plates
210 
211 
212 
213  // Sprites
214  LPD3DXSPRITE m_spriteVector = nullptr;
215 
216  D3DMATERIAL9 restore;
217  D3DLIGHT9 sunlight, headlight; // 0 and 1 for Yonmara and headlight, allows PUREDEVICE
218  float fAspect = 0.0f;
221  D3DXMATRIX matGridRot; // this is used for the lookhdg exclusion of terrain on gridvisible[][]
222 
223 
224  bool m_bDeviceSupportsVizQuery = false, m_bCloudShadow = false, m_bFourStages = false, m_bPsize = false;
225  LPDIRECT3DQUERY9 m_pLightSunVizQuery = nullptr;
226 
227 
228 
229 
230  D3DXVECTOR3 headlightvec, lookvec;
231  D3DXCOLOR alphascreen = 0UL;
232  D3DXVECTOR4 gammascreen; // x is currentframe0-63, y is speedFPS, z is numberOfFramesToRunSequentially, w is opasity
233  D3DXVECTOR3 terpos;
234  float insthdgDegrees = 0.0f, lookhdg = 0.0f, insttrk = 0.0f, lookAzimuthDegrees = 0.0f;
235  double terprecisionx = 0.0, terprecisiony = 0.0, terprecisionz = 0.0;
236  double cloudprecisionx = 0.0, cloudprecisiony = 0.0, cloudprecisionz = 0.0;
237  float pitchInput = 0.0f, rollInput = 0.0f, yawInput = 0.0f;
238  float rcsThrustOutputX = 0.0f, rcsThrustOutputY = 0.0f, rcsThrustOutputZ = 0.0f;
240  bool advanceframe = false;
241  char causechain = 0; // like old dead used to be
242  unsigned short causearray = 0; // for ship they hit, etc
243  float lateraltime = 0.0f, verticaltime = 0.0f;
244  bool lateralmod = false, verticalmod = false, yawmod = false;
245  short oldRoomIndex = -1; // for menus
246 
247  D3DXVECTOR3 position; // Used in Latitude/Longitude and for facet distances in Vieneo
248  D3DXVECTOR3 posnorml; // used for wind calculations, etc
249 
250  //These came from Viewscreen Keyboard class
251  float lateralincr = 0.0f;
252  float verticalincr = 0.0f;
253 
254  // Internal arrays
256  // VECTOR2SHORT newdepthpos;
257 
258  D3DXVECTOR3 cloudpos;
259  D3DXVECTOR3 rainarray[MAX_RAINDROPS];
260  short raindrops = 0;
261 
262  bool gridvisible[63][63]; // this is based on our FOV (stored without rotation info)
263  bool visiblegrid[63][63]; // within 32 plots circle scribed out of the square grid
264 
265  short waterloop = 0, heartloop = 0;
266  short BCLoffsetu = 0, BCLoffsetv = 0;
267  float H2Ooffsetu = 0.0f;
269  char flicker = 0;
270  float interlace = 0.0f;
271  float lampTest = 0.0f;
272  bool outside = false;
273 
274 
275  // For scanners
276  short scanslot[MAX_SCAN];
277  float scandist[MAX_SCAN];
278 
279  grid* ptrGrid = nullptr;
280  weapon* ptrWeapon = nullptr;
282  keyboard* ptrKeyboard = nullptr;
283  joystick* ptrJoystick = nullptr;
286  renderer* ptrRenderer = nullptr;
287  weather* ptrWeather = nullptr;
288  cockpit* ptrCockpit = nullptr;
291 
292  GameClass* gameclass = nullptr;
293  Logger* logger = nullptr;
294 
295 #ifdef _DEBUG
296  CStopWatch *cityTimer = nullptr;
297  CStopWatch *cockpitFrameMoveTimer = nullptr;
298  CStopWatch *instrumentsFrameMoveTimer = nullptr;
299  CStopWatch *weatherFrameMoveTimer = nullptr;
300  CStopWatch *modulesFrameMoveTimer = nullptr;
301  CStopWatch *displaysFrameMoveTimer = nullptr;
302  CStopWatch *inputFrameMoveTimer = nullptr;
303  CStopWatch *weaponsFrameMoveTimer = nullptr;
304  CStopWatch *propulsionFrameMoveTimer = nullptr;
305  CStopWatch *otherFrameMoveTimer = nullptr;
306  CStopWatch *shipTimer = nullptr;
307  CStopWatch *liteTimer = nullptr;
308 #endif
309 
310 
311  float leftright = 0.0f, targetLeftright = 0.0f; // Radians
312  float updown = -D3DXToRadian(10.0f), targetUpdown = -D3DXToRadian(10.0f);
313  float rolltilt = 0.0f; // Radians
315  float counteri = 0.0f, counterj = 0.0f, counterk = 0.0f;
316 
317  // For skyring
318  float radperseg = D3DX_TAU / static_cast<float>(skydomeC);
319 };
float rolltilt
Definition: Viewscreen.h:313
LPDIRECT3DVERTEXBUFFER9 m_avCloudGrid
Definition: Viewscreen.h:109
#define MAX_RAINDROPS
Definition: globals.h:70
void Undock() const
#define firework3C
Definition: globals.h:51
#define firework1C
Definition: globals.h:49
float yawInput
Definition: Viewscreen.h:237
D3DLIGHT9 sunlight
Definition: Viewscreen.h:217
LPDIRECT3DTEXTURE9 m_pddsWeapon[weaponanimateC]
Definition: Viewscreen.h:136
void DumpSofTracking()
short waterloop
Definition: Viewscreen.h:265
#define heartanimateC
Definition: globals.h:53
LPDIRECT3DTEXTURE9 m_pddsKeycard
Definition: Viewscreen.h:168
LPDIRECT3DTEXTURE9 m_pddsTransition[transitiontextureC]
Definition: Viewscreen.h:192
LPD3DXFONT m_pFont
Definition: Viewscreen.h:46
short oldDockTexture
Definition: Viewscreen.h:268
double cloudprecisiony
Definition: Viewscreen.h:236
D3DXVECTOR3 D3DXVec3Qerp(D3DXVECTOR3 *vel0, D3DXVECTOR3 *vel1, D3DXVECTOR3 *vel2, float t) const
float targetLeftright
Definition: Viewscreen.h:311
#define transitiontextureC
Definition: globals.h:37
D3DXVECTOR3 lookvec
Definition: Viewscreen.h:230
Definition: globals.h:782
LPD3DXRENDERTOSURFACE m_pRenderToSurfaceNextGen
Definition: Viewscreen.h:206
#define landformtextureC
Definition: globals.h:36
short heartloop
Definition: Viewscreen.h:265
D3DXVECTOR3 posnorml
Definition: Viewscreen.h:248
D3DXVECTOR3 position
Definition: Viewscreen.h:247
LPDIRECT3DTEXTURE9 m_pddsCityTexture[citytextureC]
Definition: Viewscreen.h:188
LPDIRECT3DTEXTURE9 m_pddsFirework1[firework1C]
Definition: Viewscreen.h:141
char causechain
Definition: Viewscreen.h:241
LPDIRECT3DTEXTURE9 m_pddsDockTexture[docktextureC]
Definition: Viewscreen.h:184
LPDIRECT3DTEXTURE9 m_pddsCockpitTexture[cockpittextureC]
Definition: Viewscreen.h:162
#define citytextureC
Definition: globals.h:42
GameClass * gameclass
Definition: Viewscreen.h:292
VECTOR2SHORT CalculateWrap(short u, short v, char cube, char *rotate) const
LPDIRECT3DTEXTURE9 m_pddsSinker[weaponanimateC]
Definition: Viewscreen.h:137
LPDIRECT3DTEXTURE9 m_pddsWorld2a1
Definition: Viewscreen.h:124
Definition: Logger.h:9
HRESULT OnCreateDevice(IDirect3DDevice9 *pd3dDevice)
Definition: Viewscreen.cpp:418
D3DXVECTOR3 compassnorth
Definition: Viewscreen.h:43
D3DXMATRIX matrixLook
Definition: Viewscreen.h:220
float counterj
Definition: Viewscreen.h:315
LPDIRECT3DTEXTURE9 m_pddsIntersection
Definition: Viewscreen.h:198
LPDIRECT3DTEXTURE9 m_pddsCloudBaseMap
Definition: Viewscreen.h:125
LPDIRECT3DTEXTURE9 m_pddsNamePlate
Definition: Viewscreen.h:156
short oldRoomIndex
Definition: Viewscreen.h:245
renderer * ptrRenderer
Definition: Viewscreen.h:286
LPDIRECT3DTEXTURE9 m_pddsHolidayTexture
Definition: Viewscreen.h:134
LPD3DXFONT m_pFontHull
Definition: Viewscreen.h:49
LPDIRECT3DTEXTURE9 m_pddsCityLights[citytextureC]
Definition: Viewscreen.h:189
LPDIRECT3DTEXTURE9 m_pddsAOA[3]
Definition: Viewscreen.h:161
VECTOR2SHORT CalculateCGC(D3DXVECTOR3 position, char cube) const
bool visiblegrid[63][63]
Definition: Viewscreen.h:263
float frameRateHeartbeat
Definition: Viewscreen.h:36
VECTOR2SHORT bump
Definition: globals.cpp:140
instruments * ptrInstruments
Definition: Viewscreen.h:289
LPDIRECT3DTEXTURE9 m_pddsGVDirection
Definition: Viewscreen.h:158
float counteri
Definition: Viewscreen.h:315
void Movement(short t, float ElapsedTime)
float radperseg
Definition: Viewscreen.h:318
float verticalincr
Definition: Viewscreen.h:252
bool m_bCloudShadow
Definition: Viewscreen.h:224
LPD3DXRENDERTOSURFACE m_pHullRender2Surface
Definition: Viewscreen.h:207
waypoints * ptrWaypoints
Definition: Viewscreen.h:290
LPDIRECT3DVERTEXBUFFER9 m_avLocalGrid
Definition: Viewscreen.h:111
long FontOffset(char letter) const
LPDIRECT3DTEXTURE9 m_pddsWaterNormal
Definition: Viewscreen.h:193
float ProbeBoundSphere(D3DXVECTOR3 *position, const D3DXVECTOR3 *Xsunlight) const
float leftright
Definition: Viewscreen.h:311
float rollInput
Definition: Viewscreen.h:237
#define shiptextureC
Definition: globals.h:38
weapon * ptrWeapon
Definition: Viewscreen.h:280
D3DXCOLOR alphascreen
Definition: Viewscreen.h:231
#define dihvanimateC
Definition: globals.h:52
float updown
Definition: Viewscreen.h:312
float lateralincr
Definition: Viewscreen.h:251
LPDIRECT3DTEXTURE9 m_pddsSunglasses
Definition: Viewscreen.h:131
void OnFrameRender(IDirect3DDevice9 *pd3dDevice, double fTime) const
Definition: render.cpp:8
float H2Ooffsetu
Definition: Viewscreen.h:267
bool m_bDeviceSupportsVizQuery
Definition: Viewscreen.h:224
LPD3DXSPRITE m_spriteVector
Definition: Viewscreen.h:214
float rcsThrustRequestY
Definition: Viewscreen.h:239
LPDIRECT3DTEXTURE9 m_pddsMarston1
Definition: Viewscreen.h:195
D3DXMATRIX matrixProj
Definition: Viewscreen.h:219
float interlace
Definition: Viewscreen.h:270
LPDIRECT3DVERTEXBUFFER9 m_avLightning
Definition: Viewscreen.h:119
Definition: weapon.h:11
float leftlimit
Definition: Viewscreen.h:314
LPDIRECT3DTEXTURE9 m_pddsGVDialSmall
Definition: Viewscreen.h:154
Viewscreen(GameClass *)
Definition: Viewscreen.cpp:6
LPDIRECT3DTEXTURE9 m_pddsLightningAbove[3]
Definition: Viewscreen.h:177
#define weaponanimateC
Definition: globals.h:44
short scanslot[MAX_SCAN]
Definition: Viewscreen.h:276
weather * ptrWeather
Definition: Viewscreen.h:287
LPD3DXFONT m_pFont3
Definition: Viewscreen.h:48
bool verticalmod
Definition: Viewscreen.h:244
LPDIRECT3DVERTEXBUFFER9 m_avStaticStars
Definition: Viewscreen.h:101
LPDIRECT3DVOLUMETEXTURE9 m_pddsReentry
Definition: Viewscreen.h:150
float lookhdg
Definition: Viewscreen.h:234
float CheckRtsBumpMap(VECTOR2SHORT rts, VECTOR2SHORT bump, short u, short v)
void ApplyEnvironmentMap()
LPDIRECT3DTEXTURE9 m_pddsRunwayEdgeLight1
Definition: Viewscreen.h:196
float rcsThrustOutputX
Definition: Viewscreen.h:238
float uplimit
Definition: Viewscreen.h:314
std::vector< RECT > rooms
Definition: Viewscreen.h:42
Sani GetAni(float f_time, unsigned char ani) const
LPDIRECT3DTEXTURE9 m_pddsFirework2[firework2C]
Definition: Viewscreen.h:142
joystick * ptrJoystick
Definition: Viewscreen.h:283
void OnDestroyDevice()
double terprecisionx
Definition: Viewscreen.h:235
LPDIRECT3DTEXTURE9 m_pddsElmo[elmoAnimateC]
Definition: Viewscreen.h:144
float CheckDepthMap(VECTOR2SHORT newdepthpos, short u, short v)
bool advanceframe
Definition: Viewscreen.h:240
static RECT WhichRoom(const std::vector< tagRECT > &rooms, float x, float y, short *roomIndex)
Definition: framemove.cpp:264
float lookAzimuthDegrees
Definition: Viewscreen.h:234
D3DXMATRIX matrixLookAdj
Definition: Viewscreen.h:220
double terprecisionz
Definition: Viewscreen.h:235
D3DXVECTOR3 terpos
Definition: Viewscreen.h:233
float targetUpdown
Definition: Viewscreen.h:312
propulsion * ptrPropulsion
Definition: Viewscreen.h:285
Definition: grid.h:12
float tiltlimitL
Definition: Viewscreen.h:314
void Initialize()
Definition: Viewscreen.cpp:314
LPDIRECT3DSURFACE9 m_pddsProjectionSurface
Definition: Viewscreen.h:204
D3DMATERIAL9 restore
Definition: Viewscreen.h:216
LPDIRECT3DTEXTURE9 m_pddsLandform[landformtextureC]
Definition: Viewscreen.h:191
bool lateralmod
Definition: Viewscreen.h:244
VECTOR2SHORT rts
Definition: globals.cpp:140
LPDIRECT3DTEXTURE9 m_pddsCloudDetailBelow
Definition: Viewscreen.h:127
void OnLostDevice()
float CheckFloorMap(VECTOR2SHORT newdepthpos, short u, short v)
LPDIRECT3DTEXTURE9 m_pddsDockLights[docktextureC]
Definition: Viewscreen.h:185
bool AssertTelemetry(const char *location, short id)
Definition: framemove.cpp:7
bool gridvisible[63][63]
Definition: Viewscreen.h:262
#define elmoAnimateC
Definition: globals.h:45
void TriggerBCLLightning(float distanceScalar, float intensityScalar) const
short dockTextureStage
Definition: Viewscreen.h:268
LPDIRECT3DVOLUMETEXTURE9 m_pddsFuzerX
Definition: Viewscreen.h:138
keyboard * ptrKeyboard
Definition: Viewscreen.h:282
LPDIRECT3DVERTEXBUFFER9 m_avCone
Definition: Viewscreen.h:102
buildings * ptrBuildings
Definition: Viewscreen.h:281
double terprecisiony
Definition: Viewscreen.h:235
bool outside
Definition: Viewscreen.h:272
short dockTexture
Definition: Viewscreen.h:268
D3DXVECTOR3 rainarray[MAX_RAINDROPS]
Definition: Viewscreen.h:259
std::vector< std::string > sofTracking
Definition: Viewscreen.h:51
#define docktextureC
Definition: globals.h:40
float rcsThrustOutputY
Definition: Viewscreen.h:238
LPDIRECT3DVERTEXBUFFER9 m_avScreen
Definition: Viewscreen.h:117
D3DXVECTOR3 CalculatePlanar(short u, short v)
LPDIRECT3DTEXTURE9 m_pddsLetters
Definition: Viewscreen.h:174
void OnFrameMove(double fTime, float fElapsedTime)
Definition: framemove.cpp:283
void OnFrameRender2(IDirect3DDevice9 *pd3dDevice, float fElapsedTime)
Definition: render.cpp:2445
float pitchInput
Definition: Viewscreen.h:237
float CalculateAGL(short u, short v, D3DXVECTOR3 position, bool makeleveler)
LPDIRECT3DVERTEXBUFFER9 m_avRainDrops
Definition: Viewscreen.h:114
D3DXMATRIX matrixProjnodistort
Definition: Viewscreen.h:219
float verticaltime
Definition: Viewscreen.h:243
char msg[199]
Definition: Viewscreen.h:33
D3DXMATRIX matrixProjCock
Definition: Viewscreen.h:219
D3DXMATRIX matrixProjSim
Definition: Viewscreen.h:219
LPDIRECT3DTEXTURE9 m_pddsSunTexture
Definition: Viewscreen.h:132
float rightlimit
Definition: Viewscreen.h:314
LPDIRECT3DVOLUMETEXTURE9 m_pddsSinkerX
Definition: Viewscreen.h:139
VECTOR2SHORT newdepthpos
Definition: globals.cpp:140
LPDIRECT3DTEXTURE9 m_pddsShipLights[shiptextureC]
Definition: Viewscreen.h:183
LPDIRECT3DTEXTURE9 m_pddsDynamicTexture
Definition: Viewscreen.h:201
LOCALGRID2 CalculateSRV(short t, short s, VECTOR2SHORT tcp, char cube, SRenderVertex sourcedata)
#define skydomeC
Definition: globals.h:77
#define RTStextureC
Definition: globals.h:43
bool m_bFourStages
Definition: Viewscreen.h:224
D3DXVECTOR3 headlightvec
Definition: Viewscreen.h:230
void LoadVehicleProfile(short t, bool forceCockpitTextures=false)
static D3DXVECTOR3 CalculateBarycentric(D3DXVECTOR3 *position, D3DXVECTOR3 *gthrust, float *radius)
LPDIRECT3DTEXTURE9 m_pddsLightsCruiseIcons
Definition: Viewscreen.h:159
float rcsThrustOutputZ
Definition: Viewscreen.h:238
grid * ptrGrid
Definition: Viewscreen.h:279
void OutsideView(bool outside)
Definition: framemove.cpp:254
LPDIRECTINPUT8 g_pDI
Definition: Viewscreen.h:96
#define cockpittextureC
Definition: globals.h:39
LPDIRECT3DTEXTURE9 m_pddsBinoculars
Definition: Viewscreen.h:128
LPDIRECT3DTEXTURE9 m_pddsFuelIcon
Definition: Viewscreen.h:160
LPDIRECT3DVERTEXBUFFER9 m_avInstrument
Definition: Viewscreen.h:118
#define firework2C
Definition: globals.h:50
float rcsThrustRequestX
Definition: Viewscreen.h:239
LPDIRECT3DVERTEXBUFFER9 m_avSkyRing
Definition: Viewscreen.h:116
LPDIRECT3DTEXTURE9 m_pddsShipTexture[shiptextureC]
Definition: Viewscreen.h:182
LPDIRECT3DTEXTURE9 m_pddsBinocularsCompass
Definition: Viewscreen.h:129
LPD3DXRENDERTOSURFACE m_pRenderToSurface
Definition: Viewscreen.h:205
bool m_bPsize
Definition: Viewscreen.h:224
float counterk
Definition: Viewscreen.h:315
bool yawmod
Definition: Viewscreen.h:244
s_polygon_extras2 polyextras2
Definition: Viewscreen.h:255
LPDIRECT3DVOLUMETEXTURE9 m_pddsBlastX
Definition: Viewscreen.h:140
D3DXMATRIX matrixView
Definition: Viewscreen.h:220
LPDIRECT3DTEXTURE9 m_pddsAtmosphere
Definition: Viewscreen.h:178
void SetProjectionMatrices()
LPDIRECT3DTEXTURE9 m_pddsRoad
Definition: Viewscreen.h:197
LPDIRECT3DTEXTURE9 m_pddsCockpitLights[cockpittextureC]
Definition: Viewscreen.h:163
float downlimit
Definition: Viewscreen.h:314
float tiltlimitR
Definition: Viewscreen.h:314
D3DXVECTOR3 cloudpos
Definition: Viewscreen.h:258
double cloudprecisionz
Definition: Viewscreen.h:236
float CalculateAGLd(D3DXVECTOR3 terpos, double terprecisionx, double terprecisiony, double terprecisionz, double proposedx, double proposedy, double proposedz, D3DXVECTOR3 proposed, bool makeleveler)
D3DLIGHT9 headlight
Definition: Viewscreen.h:217
char CalculateCube(D3DXVECTOR3 position) const
LPDIRECT3DSURFACE9 m_pddsDynamicSurface
Definition: Viewscreen.h:202
float fAspect
Definition: Viewscreen.h:218
LPDIRECT3DQUERY9 m_pLightSunVizQuery
Definition: Viewscreen.h:225
float scandist[MAX_SCAN]
Definition: Viewscreen.h:277
bool CheckPlotRoads(float f_tempu, float f_tempv)
short BCLoffsetu
Definition: Viewscreen.h:266
LPDIRECT3DTEXTURE9 m_pddsCloudDetailAbove
Definition: Viewscreen.h:126
FreeTrack * ptrFreeTrack
Definition: Viewscreen.h:284
cockpit * ptrCockpit
Definition: Viewscreen.h:288
LPDIRECT3DTEXTURE9 m_pddsRTSTexture[RTStextureC]
Definition: Viewscreen.h:186
LPDIRECT3DTEXTURE9 m_pddsLightningBelow[3]
Definition: Viewscreen.h:176
LPDIRECT3DTEXTURE9 m_pddsGVCompass
Definition: Viewscreen.h:157
short BCLoffsetv
Definition: Viewscreen.h:266
D3DXMATRIX matGridRot
Definition: Viewscreen.h:221
LPDIRECT3DTEXTURE9 m_pddsInterlace[2]
Definition: Viewscreen.h:167
float rcsThrustRequestZ
Definition: Viewscreen.h:239
LPDIRECT3DTEXTURE9 m_pddsDIHV[dihvanimateC]
Definition: Viewscreen.h:148
LPDIRECT3DTEXTURE9 m_pddsHeart[heartanimateC]
Definition: Viewscreen.h:149
float lampTest
Definition: Viewscreen.h:271
D3DXVECTOR4 gammascreen
Definition: Viewscreen.h:232
float lowframeTime
Definition: Viewscreen.h:35
HRESULT OnResetDevice(IDirect3DDevice9 *pd3dDevice, const D3DSURFACE_DESC *pBackBufferSurfaceDesc)
LPDIRECT3DINDEXBUFFER9 m_aiCloudGrid
Definition: Viewscreen.h:108
LPD3DXFONT m_pFontLicense
Definition: Viewscreen.h:47
unsigned short causearray
Definition: Viewscreen.h:242
float lateraltime
Definition: Viewscreen.h:243
float insthdgDegrees
Definition: Viewscreen.h:234
LPDIRECT3DTEXTURE9 m_pddsRTSLights[RTStextureC]
Definition: Viewscreen.h:187
LPDIRECT3DVERTEXBUFFER9 m_avRunningLights
Definition: Viewscreen.h:107
Logger * logger
Definition: Viewscreen.h:293
LPDIRECT3DTEXTURE9 m_pddsProjectionTexture
Definition: Viewscreen.h:203
LPDIRECT3DVERTEXBUFFER9 m_avSkyDome
Definition: Viewscreen.h:115
LPDIRECT3DTEXTURE9 m_pddsBinocularsArrow
Definition: Viewscreen.h:130
LPDIRECT3DTEXTURE9 m_pddsHullDynamicTexture[MAX_SCAN]
Definition: Viewscreen.h:209
LPDIRECT3DTEXTURE9 m_pddsFirework3[firework3C]
Definition: Viewscreen.h:143
float insttrk
Definition: Viewscreen.h:234
short raindrops
Definition: Viewscreen.h:260
char flicker
Definition: Viewscreen.h:269
LPDIRECT3DVERTEXBUFFER9 m_avSunVertices
Definition: Viewscreen.h:103
LPDIRECT3DTEXTURE9 m_pddsStarTexture
Definition: Viewscreen.h:133
LPDIRECT3DTEXTURE9 m_pddsGVBackground
Definition: Viewscreen.h:155
double cloudprecisionx
Definition: Viewscreen.h:236