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