annotate Indoor_stuff.h @ 2053:64e23bf9d27e

.
author Nomad
date Fri, 29 Nov 2013 12:20:44 +0200
parents 9a6567c6c76c
children 259df09dfb50
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
1512
af57b3b76fe4 Clean and decouple. (1)
yoctozepto
parents: 1458
diff changeset
2
af57b3b76fe4 Clean and decouple. (1)
yoctozepto
parents: 1458
diff changeset
3 #include <array>
af57b3b76fe4 Clean and decouple. (1)
yoctozepto
parents: 1458
diff changeset
4
0
Ritor1
parents:
diff changeset
5 #include "Render.h"
1016
c45d51b3f4f4 Included header files cleanup
Grumpy7
parents: 795
diff changeset
6 #include "IndoorCameraD3D.h"
0
Ritor1
parents:
diff changeset
7
Ritor1
parents:
diff changeset
8
Ritor1
parents:
diff changeset
9
Ritor1
parents:
diff changeset
10 /* 165 */
Ritor1
parents:
diff changeset
11 #pragma pack(push, 1)
1376
78671379d8da PortalFrustrum
Ritor1
parents: 1294
diff changeset
12 struct BspRenderer_PortalViewportData
0
Ritor1
parents:
diff changeset
13 {
1291
Ritor1
parents: 1202
diff changeset
14 void GetViewportData(__int16 x, int y, __int16 z, int w);
0
Ritor1
parents:
diff changeset
15
Ritor1
parents:
diff changeset
16 int _viewport_space_y;
Ritor1
parents:
diff changeset
17 int _viewport_space_w;
1376
78671379d8da PortalFrustrum
Ritor1
parents: 1294
diff changeset
18 int _viewport_space_x;
78671379d8da PortalFrustrum
Ritor1
parents: 1294
diff changeset
19 int _viewport_space_z;
78671379d8da PortalFrustrum
Ritor1
parents: 1294
diff changeset
20 int _viewport_x_minID;
78671379d8da PortalFrustrum
Ritor1
parents: 1294
diff changeset
21 int _viewport_z_maxID;
1281
Ritor1
parents: 1202
diff changeset
22 __int16 viewport_left_side[480];
Ritor1
parents: 1202
diff changeset
23 __int16 viewport_right_side[480];
0
Ritor1
parents:
diff changeset
24 };
Ritor1
parents:
diff changeset
25 #pragma pack(pop)
1376
78671379d8da PortalFrustrum
Ritor1
parents: 1294
diff changeset
26 extern BspRenderer_PortalViewportData stru_F8A590;
0
Ritor1
parents:
diff changeset
27
Ritor1
parents:
diff changeset
28
Ritor1
parents:
diff changeset
29
Ritor1
parents:
diff changeset
30
Ritor1
parents:
diff changeset
31 /* 164 */
Ritor1
parents:
diff changeset
32 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
33 struct BspRenderer_stru0
Ritor1
parents:
diff changeset
34 {
Ritor1
parents:
diff changeset
35 //----- (0043F2BF) --------------------------------------------------------
Ritor1
parents:
diff changeset
36 inline BspRenderer_stru0()
Ritor1
parents:
diff changeset
37 {
Ritor1
parents:
diff changeset
38 //_eh_vector_constructor_iterator_(std__vector_0007AC, 24, 4,
1458
934074e7fcc1 ModalWindow
Nomad
parents: 1410
diff changeset
39 // (void ( *)(void *))IndoorCameraD3D_Vec4::IndoorCameraD3D_Vec4,
934074e7fcc1 ModalWindow
Nomad
parents: 1410
diff changeset
40 // (void ( *)(void *))IndoorCameraD3D_Vec4::dtor);
0
Ritor1
parents:
diff changeset
41 //for (int i = 0; i < 4; ++i)
Ritor1
parents:
diff changeset
42 // pVertices[i].flt_2C = 0.0f;
Ritor1
parents:
diff changeset
43 }
Ritor1
parents:
diff changeset
44
Ritor1
parents:
diff changeset
45 //----- (0043F2A9) --------------------------------------------------------
Ritor1
parents:
diff changeset
46 ~BspRenderer_stru0()
Ritor1
parents:
diff changeset
47 {
Ritor1
parents:
diff changeset
48 //_eh_vector_destructor_iterator_(this->std__vector_0007AC, 24, 4, IndoorCameraD3D_Vec4::dtor);
Ritor1
parents:
diff changeset
49 }
Ritor1
parents:
diff changeset
50
Ritor1
parents:
diff changeset
51 unsigned __int16 uSectorID;
Ritor1
parents:
diff changeset
52 unsigned __int16 uViewportX;
Ritor1
parents:
diff changeset
53 unsigned __int16 uViewportY;
Ritor1
parents:
diff changeset
54 unsigned __int16 uViewportZ;
Ritor1
parents:
diff changeset
55 unsigned __int16 uViewportW;
Ritor1
parents:
diff changeset
56 __int16 field_A;
1376
78671379d8da PortalFrustrum
Ritor1
parents: 1294
diff changeset
57 BspRenderer_PortalViewportData PortalScreenData;
0
Ritor1
parents:
diff changeset
58 unsigned __int16 uFaceID;
Ritor1
parents:
diff changeset
59 __int16 field_7A6;
795
472ca68386d4 more stru10 & stru9
Nomad
parents: 794
diff changeset
60 unsigned int viewing_portal_id; // portal through which we're seeing this node
0
Ritor1
parents:
diff changeset
61 IndoorCameraD3D_Vec4 std__vector_0007AC[4];
795
472ca68386d4 more stru10 & stru9
Nomad
parents: 794
diff changeset
62 RenderVertexSoft pPortalBounding[4];
0
Ritor1
parents:
diff changeset
63 };
Ritor1
parents:
diff changeset
64 #pragma pack(pop)
Ritor1
parents:
diff changeset
65
Ritor1
parents:
diff changeset
66
Ritor1
parents:
diff changeset
67
Ritor1
parents:
diff changeset
68
676
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
69 #pragma pack(push, 1)
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
70 struct BspFace
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
71 {
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
72 unsigned __int16 uFaceID;
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
73 unsigned __int16 uNodeID;
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
74 };
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
75 #pragma pack(pop)
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
76
0
Ritor1
parents:
diff changeset
77
Ritor1
parents:
diff changeset
78 /* 163 */
Ritor1
parents:
diff changeset
79 #pragma pack(push, 1)
486
Nomad
parents: 67
diff changeset
80 struct BspRenderer // stru170
0
Ritor1
parents:
diff changeset
81 {
Ritor1
parents:
diff changeset
82 //----- (0043F282) --------------------------------------------------------
Ritor1
parents:
diff changeset
83 inline BspRenderer()
Ritor1
parents:
diff changeset
84 {
Ritor1
parents:
diff changeset
85 // _eh_vector_constructor_iterator_(field_FA8, 2252, 150,
1458
934074e7fcc1 ModalWindow
Nomad
parents: 1410
diff changeset
86 // (void ( *)(void *))stru170_stru0::stru170_stru0,
934074e7fcc1 ModalWindow
Nomad
parents: 1410
diff changeset
87 // (void ( *)(void *))stru170_stru0::dtor);
676
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
88 num_faces = 0;
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
89 num_nodes = 0;
0
Ritor1
parents:
diff changeset
90 uNumVisibleNotEmptySectors = 0;
Ritor1
parents:
diff changeset
91 }
Ritor1
parents:
diff changeset
92
676
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
93 void AddFaceToRenderList_sw(unsigned int node_id, unsigned int uFaceID);
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
94 void AddFaceToRenderList_d3d(unsigned int node_id, unsigned int uFaceID);
0
Ritor1
parents:
diff changeset
95 void MakeVisibleSectorList();
486
Nomad
parents: 67
diff changeset
96 void DrawFaceOutlines();
0
Ritor1
parents:
diff changeset
97
676
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
98 unsigned int num_faces;
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
99 //__int16 pFaceIDs[2000];
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
100 BspFace faces[1000];
666
Ritor1
parents: 618
diff changeset
101 //char field_130[3700];
676
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
102 unsigned int num_nodes;
ecfb1b3c9a39 BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents: 666
diff changeset
103 BspRenderer_stru0 nodes[150];
0
Ritor1
parents:
diff changeset
104 unsigned int uNumVisibleNotEmptySectors;
Ritor1
parents:
diff changeset
105 unsigned __int16 pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[6];
Ritor1
parents:
diff changeset
106 };
Ritor1
parents:
diff changeset
107 #pragma pack(pop)
Ritor1
parents:
diff changeset
108
Ritor1
parents:
diff changeset
109
Ritor1
parents:
diff changeset
110 extern struct BspRenderer *pBspRenderer; // idb
Ritor1
parents:
diff changeset
111
Ritor1
parents:
diff changeset
112
Ritor1
parents:
diff changeset
113
Ritor1
parents:
diff changeset
114
Ritor1
parents:
diff changeset
115
Ritor1
parents:
diff changeset
116
Ritor1
parents:
diff changeset
117
Ritor1
parents:
diff changeset
118
Ritor1
parents:
diff changeset
119
Ritor1
parents:
diff changeset
120
Ritor1
parents:
diff changeset
121
Ritor1
parents:
diff changeset
122
Ritor1
parents:
diff changeset
123 /* 358 */
Ritor1
parents:
diff changeset
124 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
125 struct stru320
Ritor1
parents:
diff changeset
126 {
Ritor1
parents:
diff changeset
127 int field_0;
Ritor1
parents:
diff changeset
128 Plane_int_ plane_4;
Ritor1
parents:
diff changeset
129 Vec3_int_ vec_14;
Ritor1
parents:
diff changeset
130 Vec3_int_ vec_20;
Ritor1
parents:
diff changeset
131 unsigned int uCurrentAmbientLightLevel;
Ritor1
parents:
diff changeset
132 int field_30;
Ritor1
parents:
diff changeset
133 int field_34;
Ritor1
parents:
diff changeset
134 int field_38;
Ritor1
parents:
diff changeset
135 int pDeltaUV[2];
Ritor1
parents:
diff changeset
136 int field_44;
Ritor1
parents:
diff changeset
137 int field_48;
Ritor1
parents:
diff changeset
138 char field_4C[8];
Ritor1
parents:
diff changeset
139 Vec3_int_ rotated_normal;
Ritor1
parents:
diff changeset
140 Vec3_int_ vec_60;
Ritor1
parents:
diff changeset
141 int field_6C;
Ritor1
parents:
diff changeset
142 Vec3_int_ vec_70;
Ritor1
parents:
diff changeset
143 int field_7C;
Ritor1
parents:
diff changeset
144 Vec3_int_ vec_80;
Ritor1
parents:
diff changeset
145 Vec3_int_ vec_8C;
Ritor1
parents:
diff changeset
146 int field_98;
Ritor1
parents:
diff changeset
147 Vec3_int_ vec_9C;
Ritor1
parents:
diff changeset
148 int field_A8;
Ritor1
parents:
diff changeset
149 unsigned int uNumLightsApplied;
Ritor1
parents:
diff changeset
150 int _blv_lights_radii[20];
Ritor1
parents:
diff changeset
151 int _blv_lights_inv_radii[20];
Ritor1
parents:
diff changeset
152 int _blv_lights_xs[20];
Ritor1
parents:
diff changeset
153 int _blv_lights_ys[20];
Ritor1
parents:
diff changeset
154 int _blv_lights_light_dot_faces[20];
Ritor1
parents:
diff changeset
155 int field_240;
Ritor1
parents:
diff changeset
156 int field_244;
Ritor1
parents:
diff changeset
157 int field_248;
Ritor1
parents:
diff changeset
158 int field_24C;
Ritor1
parents:
diff changeset
159 int field_250;
Ritor1
parents:
diff changeset
160 int field_254;
Ritor1
parents:
diff changeset
161 int field_258;
Ritor1
parents:
diff changeset
162 int field_25C;
Ritor1
parents:
diff changeset
163 int field_260;
Ritor1
parents:
diff changeset
164 int field_264;
Ritor1
parents:
diff changeset
165 int field_268;
Ritor1
parents:
diff changeset
166 int field_26C;
Ritor1
parents:
diff changeset
167 int field_270;
Ritor1
parents:
diff changeset
168 int field_274;
Ritor1
parents:
diff changeset
169 int field_278;
Ritor1
parents:
diff changeset
170 int field_27C;
Ritor1
parents:
diff changeset
171 int field_280;
Ritor1
parents:
diff changeset
172 int field_284;
Ritor1
parents:
diff changeset
173 int field_288;
Ritor1
parents:
diff changeset
174 int field_28C;
Ritor1
parents:
diff changeset
175 int _blv_lights_zs[20];
Ritor1
parents:
diff changeset
176 float _blv_lights_rs[20];
Ritor1
parents:
diff changeset
177 float _blv_lights_gs[20];
Ritor1
parents:
diff changeset
178 float _blv_lights_bs[20];
Ritor1
parents:
diff changeset
179 char _blv_lights_types[20];
Ritor1
parents:
diff changeset
180 int field_3E4;
Ritor1
parents:
diff changeset
181 int field_3E8;
Ritor1
parents:
diff changeset
182 int field_3EC;
Ritor1
parents:
diff changeset
183 int field_3F0;
Ritor1
parents:
diff changeset
184 int field_3F4;
Ritor1
parents:
diff changeset
185 unsigned int uDefaultAmbientLightLevel;
Ritor1
parents:
diff changeset
186 };
Ritor1
parents:
diff changeset
187 #pragma pack(pop)
Ritor1
parents:
diff changeset
188
Ritor1
parents:
diff changeset
189 extern stru320 stru_F8AD28; // idb
Ritor1
parents:
diff changeset
190
Ritor1
parents:
diff changeset
191
Ritor1
parents:
diff changeset
192
Ritor1
parents:
diff changeset
193
Ritor1
parents:
diff changeset
194
Ritor1
parents:
diff changeset
195
Ritor1
parents:
diff changeset
196
Ritor1
parents:
diff changeset
197
Ritor1
parents:
diff changeset
198 /* 345 */
Ritor1
parents:
diff changeset
199 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
200 struct stru315
Ritor1
parents:
diff changeset
201 {
Ritor1
parents:
diff changeset
202 int field_0;
Ritor1
parents:
diff changeset
203 int field_4;
Ritor1
parents:
diff changeset
204 int field_8;
Ritor1
parents:
diff changeset
205 int field_C;
Ritor1
parents:
diff changeset
206 int field_10;
Ritor1
parents:
diff changeset
207 int field_14;
Ritor1
parents:
diff changeset
208 int field_18;
Ritor1
parents:
diff changeset
209 int field_1C;
Ritor1
parents:
diff changeset
210 int field_20;
Ritor1
parents:
diff changeset
211 int field_24;
Ritor1
parents:
diff changeset
212 int field_28;
Ritor1
parents:
diff changeset
213 int field_2C;
Ritor1
parents:
diff changeset
214 int field_30;
Ritor1
parents:
diff changeset
215 unsigned __int16 *field_34_palette;
Ritor1
parents:
diff changeset
216 unsigned __int16 *pTextureLOD;
Ritor1
parents:
diff changeset
217 unsigned int *pDepthBuffer;
Ritor1
parents:
diff changeset
218 unsigned __int16 *pColorBuffer;
Ritor1
parents:
diff changeset
219 };
Ritor1
parents:
diff changeset
220 #pragma pack(pop)
Ritor1
parents:
diff changeset
221
Ritor1
parents:
diff changeset
222
Ritor1
parents:
diff changeset
223
Ritor1
parents:
diff changeset
224
Ritor1
parents:
diff changeset
225
Ritor1
parents:
diff changeset
226 /* 346 */
Ritor1
parents:
diff changeset
227 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
228 struct stru316
Ritor1
parents:
diff changeset
229 {
Ritor1
parents:
diff changeset
230 int field_0;
Ritor1
parents:
diff changeset
231 int field_4;
Ritor1
parents:
diff changeset
232 int field_8;
Ritor1
parents:
diff changeset
233 int field_C;
Ritor1
parents:
diff changeset
234 int field_10;
Ritor1
parents:
diff changeset
235 int field_14;
Ritor1
parents:
diff changeset
236 int field_18;
Ritor1
parents:
diff changeset
237 int field_1C;
Ritor1
parents:
diff changeset
238 int field_20;
Ritor1
parents:
diff changeset
239 unsigned __int16 *field_24_palette;
Ritor1
parents:
diff changeset
240 };
Ritor1
parents:
diff changeset
241 #pragma pack(pop)
Ritor1
parents:
diff changeset
242
Ritor1
parents:
diff changeset
243
Ritor1
parents:
diff changeset
244
Ritor1
parents:
diff changeset
245
Ritor1
parents:
diff changeset
246
Ritor1
parents:
diff changeset
247
Ritor1
parents:
diff changeset
248 /* 134 */
Ritor1
parents:
diff changeset
249 #pragma pack(push, 1)
1546
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1512
diff changeset
250 struct stru141_actor_collision_object
0
Ritor1
parents:
diff changeset
251 {
Ritor1
parents:
diff changeset
252 int _47050A(int a2);
Ritor1
parents:
diff changeset
253
Ritor1
parents:
diff changeset
254 int field_0;
Ritor1
parents:
diff changeset
255 int prolly_normal_d;
1546
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1512
diff changeset
256 int field_8_radius;
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1512
diff changeset
257 int height;
0
Ritor1
parents:
diff changeset
258 int field_10;
Ritor1
parents:
diff changeset
259 int field_14;
Ritor1
parents:
diff changeset
260 int field_18;
1546
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1512
diff changeset
261 Vec3_int_ velocity;
0
Ritor1
parents:
diff changeset
262 Vec3_int_ normal;
1546
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1512
diff changeset
263 Vec3_int_ position;
0
Ritor1
parents:
diff changeset
264 Vec3_int_ normal2;
Ritor1
parents:
diff changeset
265 int field_4C;
Ritor1
parents:
diff changeset
266 int field_50;
Ritor1
parents:
diff changeset
267 int field_54;
1546
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1512
diff changeset
268 Vec3_int_ direction; // velocity's unit vector
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1512
diff changeset
269 int speed;
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1512
diff changeset
270 int inv_speed;
0
Ritor1
parents:
diff changeset
271 int field_6C;
Ritor1
parents:
diff changeset
272 int field_70;
Ritor1
parents:
diff changeset
273 unsigned int uSectorID;
Ritor1
parents:
diff changeset
274 unsigned int uFaceID;
Ritor1
parents:
diff changeset
275 int field_7C;
Ritor1
parents:
diff changeset
276 int field_80;
Ritor1
parents:
diff changeset
277 int field_84;
Ritor1
parents:
diff changeset
278 int field_88;
Ritor1
parents:
diff changeset
279 int sMaxX;
Ritor1
parents:
diff changeset
280 int sMinX;
Ritor1
parents:
diff changeset
281 int sMaxY;
Ritor1
parents:
diff changeset
282 int sMinY;
Ritor1
parents:
diff changeset
283 int sMaxZ;
Ritor1
parents:
diff changeset
284 int sMinZ;
Ritor1
parents:
diff changeset
285 int field_A4;
Ritor1
parents:
diff changeset
286 };
Ritor1
parents:
diff changeset
287 #pragma pack(pop)
1546
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1512
diff changeset
288 extern stru141_actor_collision_object stru_721530;
0
Ritor1
parents:
diff changeset
289
Ritor1
parents:
diff changeset
290
Ritor1
parents:
diff changeset
291
Ritor1
parents:
diff changeset
292
Ritor1
parents:
diff changeset
293
Ritor1
parents:
diff changeset
294
Ritor1
parents:
diff changeset
295 /* 378 */
Ritor1
parents:
diff changeset
296 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
297 struct stru337_stru0
Ritor1
parents:
diff changeset
298 {
Ritor1
parents:
diff changeset
299 int field_0;
Ritor1
parents:
diff changeset
300 int field_4;
Ritor1
parents:
diff changeset
301 int field_8;
Ritor1
parents:
diff changeset
302 int field_C;
Ritor1
parents:
diff changeset
303 int field_10;
Ritor1
parents:
diff changeset
304 };
Ritor1
parents:
diff changeset
305 #pragma pack(pop)
Ritor1
parents:
diff changeset
306
Ritor1
parents:
diff changeset
307
Ritor1
parents:
diff changeset
308
Ritor1
parents:
diff changeset
309 /* 377 */
Ritor1
parents:
diff changeset
310 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
311 struct stru337
Ritor1
parents:
diff changeset
312 {
Ritor1
parents:
diff changeset
313 stru337_stru0 field_0;
Ritor1
parents:
diff changeset
314 int field_14;
Ritor1
parents:
diff changeset
315 int field_18;
Ritor1
parents:
diff changeset
316 int field_1C;
Ritor1
parents:
diff changeset
317 int field_20;
Ritor1
parents:
diff changeset
318 int field_24;
Ritor1
parents:
diff changeset
319 int field_28;
Ritor1
parents:
diff changeset
320 int field_2C;
Ritor1
parents:
diff changeset
321 int field_30;
Ritor1
parents:
diff changeset
322 stru337_stru0 field_34;
Ritor1
parents:
diff changeset
323 };
Ritor1
parents:
diff changeset
324 #pragma pack(pop)
Ritor1
parents:
diff changeset
325 extern stru337 stru_F81018;
Ritor1
parents:
diff changeset
326
Ritor1
parents:
diff changeset
327
1262
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
328 /* 291 */
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
329 enum PolygonType : __int8
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
330 {
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
331 POLYGON_Invalid = 0x0,
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
332 POLYGON_VerticalWall = 0x1,
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
333 POLYGON_unk = 0x2,
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
334 POLYGON_Floor = 0x3,
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
335 POLYGON_InBetweenFloorAndWall = 0x4,
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
336 POLYGON_Ceiling = 0x5,
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
337 POLYGON_InBetweenCeilingAndWall = 0x6,
0aeac0b9ca30 included header cleanup
Grumpy7
parents: 1202
diff changeset
338 };
0
Ritor1
parents:
diff changeset
339
Ritor1
parents:
diff changeset
340
Ritor1
parents:
diff changeset
341 /* 147 */
Ritor1
parents:
diff changeset
342 #pragma pack(push, 1)
67
3b4f8bd48e3b 25.01.13 (I did sky)
Ritor1
parents: 0
diff changeset
343
0
Ritor1
parents:
diff changeset
344 struct stru154
Ritor1
parents:
diff changeset
345 {
Ritor1
parents:
diff changeset
346 //----- (0049B001) --------------------------------------------------------
Ritor1
parents:
diff changeset
347 inline stru154()
Ritor1
parents:
diff changeset
348 {}
Ritor1
parents:
diff changeset
349
Ritor1
parents:
diff changeset
350 //----- (0049B027) --------------------------------------------------------
Ritor1
parents:
diff changeset
351 inline ~stru154()
Ritor1
parents:
diff changeset
352 {}
Ritor1
parents:
diff changeset
353
734
2f4e33c1ed24 stru154
Nomad
parents: 676
diff changeset
354 void GetFacePlaneAndClassify(struct ODMFace *a2, struct BSPVertexBuffer *a3);
2f4e33c1ed24 stru154
Nomad
parents: 676
diff changeset
355 void ClassifyPolygon(struct Vec3_float_ *pNormal, float dist);
2f4e33c1ed24 stru154
Nomad
parents: 676
diff changeset
356 void GetFacePlane(struct ODMFace *pFace, struct BSPVertexBuffer *pVertices, struct Vec3_float_ *pOutNormal, float *pOutDist);
0
Ritor1
parents:
diff changeset
357
Ritor1
parents:
diff changeset
358
1458
934074e7fcc1 ModalWindow
Nomad
parents: 1410
diff changeset
359 void ( ***vdestructor_ptr)(stru154 *, bool);
0
Ritor1
parents:
diff changeset
360 Plane_float_ face_plane;
Ritor1
parents:
diff changeset
361 PolygonType polygonType;
Ritor1
parents:
diff changeset
362 char field_15;
Ritor1
parents:
diff changeset
363 char field_16;
Ritor1
parents:
diff changeset
364 char field_17;
Ritor1
parents:
diff changeset
365 };
Ritor1
parents:
diff changeset
366 #pragma pack(pop)
Ritor1
parents:
diff changeset
367
Ritor1
parents:
diff changeset
368
Ritor1
parents:
diff changeset
369
Ritor1
parents:
diff changeset
370
Ritor1
parents:
diff changeset
371
Ritor1
parents:
diff changeset
372 /* 392 */
Ritor1
parents:
diff changeset
373 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
374 struct stru352
Ritor1
parents:
diff changeset
375 {
Ritor1
parents:
diff changeset
376 int field_0;
Ritor1
parents:
diff changeset
377 int field_4;
Ritor1
parents:
diff changeset
378 int field_8;
Ritor1
parents:
diff changeset
379 int field_C;
Ritor1
parents:
diff changeset
380 int field_10;
Ritor1
parents:
diff changeset
381 int field_14;
Ritor1
parents:
diff changeset
382 int field_18;
Ritor1
parents:
diff changeset
383 int field_1C;
Ritor1
parents:
diff changeset
384 int field_20;
Ritor1
parents:
diff changeset
385 int field_24;
Ritor1
parents:
diff changeset
386 int field_28;
Ritor1
parents:
diff changeset
387 int field_2C;
Ritor1
parents:
diff changeset
388 int field_30;
Ritor1
parents:
diff changeset
389 int field_34;
Ritor1
parents:
diff changeset
390 };
Ritor1
parents:
diff changeset
391 #pragma pack(pop)
1202
0dbf6c4dd029 arrays to std::arrays phase 1
Grumpy7
parents: 1016
diff changeset
392 extern std::array<stru352, 480> stru_F83B80;