0
|
1 #pragma once
|
|
2 #include "LightmapBuilder.h"
|
|
3 #include "DecalBuilder.h"
|
|
4 #include "ParticleEngine.h"
|
|
5 #include "Vis.h"
|
|
6 #include "Mouse.h"
|
|
7 #include "Keyboard.h"
|
|
8 #include "IndoorCameraD3D.h"
|
|
9 #include "CShow.h"
|
|
10 #include "GammaControl.h"
|
|
11 #include "stru6.h"
|
|
12 #include "stru9.h"
|
|
13 #include "stru10.h"
|
|
14 #include "stru11.h"
|
|
15 #include "stru12.h"
|
|
16
|
|
17
|
|
18
|
592
|
19 #define GAME_FLAGS_2_SATURATE_LIGHTMAPS 0x02
|
|
20 #define GAME_FLAGS_2_ALTER_GRAVITY 0x08
|
|
21 #define GAME_FLAGS_2_TARGETING_MODE 0x10
|
|
22 #define GAME_FLAGS_2_DRAW_BLOODSPLATS 0x20
|
573
|
23
|
0
|
24
|
|
25
|
|
26 /* 320 */
|
|
27 enum GAME_STATE
|
|
28 {
|
|
29 GAME_STATE_0 = 0x0,
|
|
30 GAME_FINISHED = 0x1,
|
|
31 GAME_STATE_2 = 0x2,
|
|
32 GAME_STATE_3 = 0x3,
|
101
|
33 GAME_STATE_NEWGAME_OUT_GAMEMENU = 0x4,
|
0
|
34 GAME_STATE_5 = 0x5,
|
|
35 GAME_STATE_6 = 0x6,
|
|
36 GAME_STATE_7 = 0x7,
|
|
37 GAME_STATE_8 = 0x8,
|
|
38 GAME_STATE_FINAL_WINDOW = 0x9,
|
|
39 GAME_STATE_A = 0xA
|
|
40 };
|
|
41
|
|
42
|
|
43
|
|
44 /* 105 */
|
|
45 #pragma pack(push, 1)
|
|
46 struct Game__StationaryLight
|
|
47 {
|
|
48 Vec3_float_ vPosition;
|
|
49 Vec3_float_ vRGBColor;
|
|
50 float flt_18;
|
|
51 };
|
|
52 #pragma pack(pop)
|
|
53
|
|
54
|
|
55 /* 108 */
|
|
56 #pragma pack(push, 1)
|
|
57 struct Game_stru0
|
|
58 {
|
|
59 int field_0;
|
|
60 unsigned __int8 *ptr_4;
|
|
61 int field_8;
|
|
62 int field_C;
|
|
63 };
|
|
64 #pragma pack(pop)
|
|
65
|
|
66
|
|
67 /* 279 */
|
|
68 #pragma pack(push, 1)
|
|
69 //Game_stru1
|
|
70 struct Game_Bloodsplat
|
|
71 {
|
|
72 float x;
|
|
73 float y;
|
|
74 float z;
|
|
75 float r;
|
|
76 float g;
|
|
77 float b;
|
|
78 float radius;
|
|
79 };
|
|
80 #pragma pack(pop)
|
|
81
|
|
82 /* 104 */
|
|
83 #pragma pack(push, 1)
|
|
84 struct Game
|
|
85 {
|
|
86 static Game *Create();
|
|
87 static void Destroy();
|
|
88
|
|
89 protected: Game();
|
522
|
90 protected: virtual ~Game();
|
0
|
91
|
|
92 public:
|
|
93 void _44E904();
|
|
94 bool InitializeGammaController();
|
194
|
95 bool PickMouse(float fPickDepth, unsigned int uMouseX, unsigned int uMouseY, bool bOutline, struct Vis_SelectionFilter *sprite_filter, struct Vis_SelectionFilter *face_filter);
|
|
96 bool PickKeyboard(bool bOutline, struct Vis_SelectionFilter *sprite_filter, struct Vis_SelectionFilter *face_filter);
|
0
|
97 void OutlineSelection();
|
|
98 signed int _44EC23(struct stru148 *a2, int *a3, signed int a4);
|
|
99 signed int _44ED0A(struct BLVFace *a2, int *a3, signed int a4);
|
|
100 bool AlterGamma(struct BLVFace *pFace, unsigned int *pColor);
|
|
101 bool _44EE30(struct ODMFace *a2, int a3);
|
|
102 bool draw_debug_outlines();
|
|
103 bool _44EEA7();
|
|
104 bool _44F07B();
|
|
105 void ToggleFlags(unsigned int uMask);
|
|
106 void ToggleFlags2(unsigned int uFlag);
|
|
107 void _44F0FD();
|
|
108 void PushStationaryLights(int a2);
|
|
109 void PrepareBloodsplats();
|
|
110 void Deinitialize();
|
|
111 void Loop();
|
|
112 void DrawParticles();
|
|
113 void Draw();
|
|
114
|
|
115 //----- (0042EB6A) --------------------------------------------------------
|
|
116 struct stru6 *GetStru6() {return this->pStru6Instance;}
|
|
117 //----- (0042EB71) --------------------------------------------------------
|
|
118 struct IndoorCameraD3D *GetIndoorCamera() {return this->pIndoorCameraD3D;}
|
|
119
|
|
120
|
522
|
121 //void (__thiscall ***vdestructor_ptr)(Game *, bool);
|
0
|
122 Game__StationaryLight pStationaryLights[25];
|
|
123 char field_2C0[1092];
|
|
124 unsigned int uNumStationaryLights;
|
|
125 Game_Bloodsplat pBloodsplats[20];
|
|
126 int field_938;
|
|
127 int field_93C;
|
|
128 int field_940;
|
|
129 int field_944;
|
|
130 int field_948;
|
|
131 int field_94C;
|
|
132 int field_950;
|
|
133 int field_954;
|
|
134 int field_958;
|
|
135 int field_95C;
|
|
136 int field_960;
|
|
137 int field_964;
|
|
138 int field_968;
|
|
139 int field_96C;
|
|
140 int field_970;
|
|
141 Mouse *pMouse;
|
|
142 int field_978;
|
|
143 Game_stru0 stru_97C;
|
|
144 char field_98C[1148];
|
|
145 int uNumBloodsplats;
|
|
146 int field_E0C;
|
|
147 __int64 field_E10;
|
|
148 int uNumStationaryLights_in_pStationaryLightsStack;
|
|
149 unsigned int bGammaControlInitialized;
|
|
150 unsigned int uFlags;
|
|
151 unsigned int uFlags2;
|
|
152 float fSaturation;
|
|
153 unsigned __int64 uSomeGammaStartTime;
|
|
154 __int64 uSomeGammaDeltaTime;
|
|
155 ThreadWard *pThreadWardInstance;
|
|
156 ParticleEngine *pParticleEngine;
|
|
157 Mouse *pMouseInstance;
|
|
158 LightmapBuilder *pLightmapBuilder;
|
|
159 Vis *pVisInstance;
|
|
160 stru6 *pStru6Instance;
|
|
161 IndoorCameraD3D *pIndoorCameraD3D;
|
|
162 stru9 *pStru9Instance;
|
|
163 stru10 *pStru10Instance;
|
|
164 stru11 *pStru11Instance;
|
|
165 stru12 *pStru12Instance;
|
|
166 CShow *pCShow;
|
|
167 Keyboard *pKeyboardInstance;
|
|
168 GammaController *pGammaController;
|
|
169 int field_E74;
|
|
170 };
|
|
171 #pragma pack(pop)
|
|
172
|
|
173
|
|
174
|
|
175
|
|
176
|
|
177
|
|
178 extern Game *pGame; |