0
|
1 #pragma once
|
|
2 #include "Render.h"
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7 /* 165 */
|
|
8 #pragma pack(push, 1)
|
|
9 struct BspRenderer_stru2
|
|
10 {
|
|
11 void _43F9E1(__int16 x, int y, __int16 z, int w);
|
|
12
|
|
13 int _viewport_space_y;
|
|
14 int _viewport_space_w;
|
|
15 int field_8;
|
|
16 int field_C;
|
|
17 int field_10;
|
|
18 int field_14;
|
|
19 __int16 array_18[480];
|
|
20 __int16 array_3D8[480];
|
|
21 };
|
|
22 #pragma pack(pop)
|
|
23 extern BspRenderer_stru2 stru_F8A590;
|
|
24
|
|
25
|
|
26
|
|
27
|
|
28 /* 164 */
|
|
29 #pragma pack(push, 1)
|
|
30 struct BspRenderer_stru0
|
|
31 {
|
|
32 //----- (0043F2BF) --------------------------------------------------------
|
|
33 inline BspRenderer_stru0()
|
|
34 {
|
|
35 //_eh_vector_constructor_iterator_(std__vector_0007AC, 24, 4,
|
|
36 // (void (__thiscall *)(void *))IndoorCameraD3D_Vec4::IndoorCameraD3D_Vec4,
|
|
37 // (void (__thiscall *)(void *))IndoorCameraD3D_Vec4::dtor);
|
|
38 //for (int i = 0; i < 4; ++i)
|
|
39 // pVertices[i].flt_2C = 0.0f;
|
|
40 }
|
|
41
|
|
42 //----- (0043F2A9) --------------------------------------------------------
|
|
43 ~BspRenderer_stru0()
|
|
44 {
|
|
45 //_eh_vector_destructor_iterator_(this->std__vector_0007AC, 24, 4, IndoorCameraD3D_Vec4::dtor);
|
|
46 }
|
|
47
|
|
48 unsigned __int16 uSectorID;
|
|
49 unsigned __int16 uViewportX;
|
|
50 unsigned __int16 uViewportY;
|
|
51 unsigned __int16 uViewportZ;
|
|
52 unsigned __int16 uViewportW;
|
|
53 __int16 field_A;
|
|
54 BspRenderer_stru2 field_C;
|
|
55 unsigned __int16 uFaceID;
|
|
56 __int16 field_7A6;
|
|
57 unsigned int std__vector_0007A8;
|
|
58 IndoorCameraD3D_Vec4 std__vector_0007AC[4];
|
|
59 RenderVertexSoft pVertices[4];
|
|
60 };
|
|
61 #pragma pack(pop)
|
|
62
|
|
63
|
|
64
|
|
65
|
|
66
|
|
67 /* 163 */
|
|
68 #pragma pack(push, 1)
|
486
|
69 struct BspRenderer // stru170
|
0
|
70 {
|
|
71 //----- (0043F282) --------------------------------------------------------
|
|
72 inline BspRenderer()
|
|
73 {
|
|
74 // _eh_vector_constructor_iterator_(field_FA8, 2252, 150,
|
|
75 // (void (__thiscall *)(void *))stru170_stru0::stru170_stru0,
|
|
76 // (void (__thiscall *)(void *))stru170_stru0::dtor);
|
|
77 uNumFaceIDs = 0;
|
|
78 std__vector_000FA8 = 0;
|
|
79 uNumVisibleNotEmptySectors = 0;
|
|
80 }
|
|
81
|
|
82 void PrepareFaceRenderList_sw(int a2, unsigned int uFaceID);
|
|
83 void PrepareFaceRenderList_d3d(signed int a2, unsigned int uFaceID);
|
|
84 void MakeVisibleSectorList();
|
486
|
85 void DrawFaceOutlines();
|
0
|
86
|
|
87 unsigned int uNumFaceIDs;
|
|
88 __int16 pFaceIDs[150];
|
|
89 char field_130[3700];
|
|
90 unsigned int std__vector_000FA8;
|
|
91 BspRenderer_stru0 field_FA8[150];
|
|
92 unsigned int uNumVisibleNotEmptySectors;
|
|
93 unsigned __int16 pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[6];
|
|
94 };
|
|
95 #pragma pack(pop)
|
|
96
|
|
97
|
|
98 extern struct BspRenderer *pBspRenderer; // idb
|
|
99
|
|
100
|
|
101
|
|
102
|
|
103
|
|
104
|
|
105 /* 160 */
|
|
106 #pragma pack(push, 1)
|
|
107 struct stru167
|
|
108 {
|
|
109 char field_0;
|
|
110 char field_1;
|
|
111 char field_2;
|
|
112 char field_3;
|
|
113 char field_4;
|
|
114 char field_5;
|
|
115 __int16 field_6_rnd_value;
|
|
116 __int16 field_8_rnd_value;
|
|
117 __int16 field_A_rnd_value;
|
|
118 __int16 field_C_time_left;
|
|
119 __int16 field_E_time_to_live;
|
|
120 char field_10;
|
|
121 char field_11;
|
|
122 char field_12;
|
|
123 char field_13;
|
|
124 __int16 bgr16;
|
|
125 char field_16;
|
|
126 char field_17;
|
|
127 };
|
|
128 #pragma pack(pop)
|
|
129
|
|
130
|
|
131
|
|
132 /* 363 */
|
|
133 #pragma pack(push, 1)
|
|
134 struct stru167_wrap
|
|
135 {
|
|
136 void _440F07();
|
|
137 int Push(__int16 a2, __int16 a3, __int16 a4, int a5, __int16 bgr);
|
|
138 void _440E91(__int16 x, int y, int z, int a5, __int16 bgr);
|
|
139
|
|
140 stru167 pElements[100];
|
|
141 int uNumElements;
|
|
142 int field_964;
|
|
143 };
|
|
144 #pragma pack(pop)
|
|
145 extern stru167_wrap array_5118E8;
|
|
146
|
|
147
|
|
148
|
|
149
|
|
150
|
|
151
|
|
152
|
|
153
|
|
154
|
|
155
|
|
156
|
|
157 /* 358 */
|
|
158 #pragma pack(push, 1)
|
|
159 struct stru320
|
|
160 {
|
|
161 int field_0;
|
|
162 Plane_int_ plane_4;
|
|
163 Vec3_int_ vec_14;
|
|
164 Vec3_int_ vec_20;
|
|
165 unsigned int uCurrentAmbientLightLevel;
|
|
166 int field_30;
|
|
167 int field_34;
|
|
168 int field_38;
|
|
169 int pDeltaUV[2];
|
|
170 int field_44;
|
|
171 int field_48;
|
|
172 char field_4C[8];
|
|
173 Vec3_int_ rotated_normal;
|
|
174 Vec3_int_ vec_60;
|
|
175 int field_6C;
|
|
176 Vec3_int_ vec_70;
|
|
177 int field_7C;
|
|
178 Vec3_int_ vec_80;
|
|
179 Vec3_int_ vec_8C;
|
|
180 int field_98;
|
|
181 Vec3_int_ vec_9C;
|
|
182 int field_A8;
|
|
183 unsigned int uNumLightsApplied;
|
|
184 int _blv_lights_radii[20];
|
|
185 int _blv_lights_inv_radii[20];
|
|
186 int _blv_lights_xs[20];
|
|
187 int _blv_lights_ys[20];
|
|
188 int _blv_lights_light_dot_faces[20];
|
|
189 int field_240;
|
|
190 int field_244;
|
|
191 int field_248;
|
|
192 int field_24C;
|
|
193 int field_250;
|
|
194 int field_254;
|
|
195 int field_258;
|
|
196 int field_25C;
|
|
197 int field_260;
|
|
198 int field_264;
|
|
199 int field_268;
|
|
200 int field_26C;
|
|
201 int field_270;
|
|
202 int field_274;
|
|
203 int field_278;
|
|
204 int field_27C;
|
|
205 int field_280;
|
|
206 int field_284;
|
|
207 int field_288;
|
|
208 int field_28C;
|
|
209 int _blv_lights_zs[20];
|
|
210 float _blv_lights_rs[20];
|
|
211 float _blv_lights_gs[20];
|
|
212 float _blv_lights_bs[20];
|
|
213 char _blv_lights_types[20];
|
|
214 int field_3E4;
|
|
215 int field_3E8;
|
|
216 int field_3EC;
|
|
217 int field_3F0;
|
|
218 int field_3F4;
|
|
219 unsigned int uDefaultAmbientLightLevel;
|
|
220 };
|
|
221 #pragma pack(pop)
|
|
222
|
|
223 extern stru320 stru_F8AD28; // idb
|
|
224
|
|
225
|
|
226
|
|
227
|
|
228
|
|
229
|
|
230
|
|
231
|
|
232 /* 345 */
|
|
233 #pragma pack(push, 1)
|
|
234 struct stru315
|
|
235 {
|
|
236 int field_0;
|
|
237 int field_4;
|
|
238 int field_8;
|
|
239 int field_C;
|
|
240 int field_10;
|
|
241 int field_14;
|
|
242 int field_18;
|
|
243 int field_1C;
|
|
244 int field_20;
|
|
245 int field_24;
|
|
246 int field_28;
|
|
247 int field_2C;
|
|
248 int field_30;
|
|
249 unsigned __int16 *field_34_palette;
|
|
250 unsigned __int16 *pTextureLOD;
|
|
251 unsigned int *pDepthBuffer;
|
|
252 unsigned __int16 *pColorBuffer;
|
|
253 };
|
|
254 #pragma pack(pop)
|
|
255
|
|
256
|
|
257
|
|
258
|
|
259
|
|
260 /* 346 */
|
|
261 #pragma pack(push, 1)
|
|
262 struct stru316
|
|
263 {
|
|
264 int field_0;
|
|
265 int field_4;
|
|
266 int field_8;
|
|
267 int field_C;
|
|
268 int field_10;
|
|
269 int field_14;
|
|
270 int field_18;
|
|
271 int field_1C;
|
|
272 int field_20;
|
|
273 unsigned __int16 *field_24_palette;
|
|
274 };
|
|
275 #pragma pack(pop)
|
|
276
|
|
277
|
|
278
|
|
279
|
|
280
|
|
281
|
|
282 /* 134 */
|
|
283 #pragma pack(push, 1)
|
|
284 struct stru141
|
|
285 {
|
|
286 int _47050A(int a2);
|
|
287
|
|
288 int field_0;
|
|
289 int prolly_normal_d;
|
|
290 int field_8;
|
|
291 int field_C;
|
|
292 int field_10;
|
|
293 int field_14;
|
|
294 int field_18;
|
|
295 int field_1C;
|
|
296 int field_20;
|
|
297 int field_24;
|
|
298 Vec3_int_ normal;
|
|
299 Vec3_int_ field_34;
|
|
300 Vec3_int_ normal2;
|
|
301 int field_4C;
|
|
302 int field_50;
|
|
303 int field_54;
|
|
304 Vec3_int_ field_58;
|
|
305 int field_64;
|
|
306 int field_68;
|
|
307 int field_6C;
|
|
308 int field_70;
|
|
309 unsigned int uSectorID;
|
|
310 unsigned int uFaceID;
|
|
311 int field_7C;
|
|
312 int field_80;
|
|
313 int field_84;
|
|
314 int field_88;
|
|
315 int sMaxX;
|
|
316 int sMinX;
|
|
317 int sMaxY;
|
|
318 int sMinY;
|
|
319 int sMaxZ;
|
|
320 int sMinZ;
|
|
321 int field_A4;
|
|
322 };
|
|
323 #pragma pack(pop)
|
|
324 extern stru141 stru_721530;
|
|
325
|
|
326
|
|
327
|
|
328
|
|
329
|
|
330
|
|
331 /* 378 */
|
|
332 #pragma pack(push, 1)
|
|
333 struct stru337_stru0
|
|
334 {
|
|
335 int field_0;
|
|
336 int field_4;
|
|
337 int field_8;
|
|
338 int field_C;
|
|
339 int field_10;
|
|
340 };
|
|
341 #pragma pack(pop)
|
|
342
|
|
343
|
|
344
|
|
345 /* 377 */
|
|
346 #pragma pack(push, 1)
|
|
347 struct stru337
|
|
348 {
|
|
349 stru337_stru0 field_0;
|
|
350 int field_14;
|
|
351 int field_18;
|
|
352 int field_1C;
|
|
353 int field_20;
|
|
354 int field_24;
|
|
355 int field_28;
|
|
356 int field_2C;
|
|
357 int field_30;
|
|
358 stru337_stru0 field_34;
|
|
359 };
|
|
360 #pragma pack(pop)
|
|
361 extern stru337 stru_F81018;
|
|
362
|
|
363
|
|
364
|
|
365
|
|
366 /* 147 */
|
|
367 #pragma pack(push, 1)
|
67
|
368
|
0
|
369 struct stru154
|
|
370 {
|
|
371 //----- (0049B001) --------------------------------------------------------
|
|
372 inline stru154()
|
|
373 {}
|
|
374
|
|
375 //----- (0049B027) --------------------------------------------------------
|
|
376 inline ~stru154()
|
|
377 {}
|
|
378
|
|
379 int _49B04D(struct ODMFace *a2, struct BSPVertexBuffer *a3);
|
|
380 int _49B0C9(struct Vec3_float_ *pNormal, float dist);
|
|
381 int _49B13D(struct ODMFace *pFace, struct BSPVertexBuffer *pVertices, struct Vec3_float_ *a3, float *a4);
|
|
382
|
|
383
|
|
384 void (__thiscall ***vdestructor_ptr)(stru154 *, bool);
|
|
385 Plane_float_ face_plane;
|
|
386 PolygonType polygonType;
|
|
387 char field_15;
|
|
388 char field_16;
|
|
389 char field_17;
|
|
390 };
|
|
391 #pragma pack(pop)
|
|
392
|
|
393
|
|
394
|
|
395
|
|
396
|
|
397 /* 392 */
|
|
398 #pragma pack(push, 1)
|
|
399 struct stru352
|
|
400 {
|
|
401 int field_0;
|
|
402 int field_4;
|
|
403 int field_8;
|
|
404 int field_C;
|
|
405 int field_10;
|
|
406 int field_14;
|
|
407 int field_18;
|
|
408 int field_1C;
|
|
409 int field_20;
|
|
410 int field_24;
|
|
411 int field_28;
|
|
412 int field_2C;
|
|
413 int field_30;
|
|
414 int field_34;
|
|
415 };
|
|
416 #pragma pack(pop)
|
|
417 extern stru352 stru_F83B80[480]; |