0
|
1 #pragma once
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6 /* 124 */
|
|
7 #pragma pack(push, 1)
|
|
8 struct IndoorCameraD3D_Vec3
|
|
9 {
|
|
10 //----- (004C0376) --------------------------------------------------------
|
|
11 inline IndoorCameraD3D_Vec3() {}
|
|
12 //----- (004C037F) --------------------------------------------------------
|
|
13 virtual ~IndoorCameraD3D_Vec3() {}
|
|
14 //----- (004C039C) --------------------------------------------------------
|
|
15 //void ~IndoorCameraD3D_Vec3() {}
|
|
16
|
522
|
17 //void (__thiscall ***vdestructor_ptr)(IndoorCameraD3D_Vec3 *, bool);
|
0
|
18
|
|
19 union
|
|
20 {
|
|
21 struct
|
|
22 {
|
|
23 float x;
|
|
24 float y;
|
|
25 float z;
|
|
26 };
|
|
27 float v[3];
|
|
28 };
|
|
29 };
|
|
30 #pragma pack(pop)
|
|
31
|
|
32 /* 125 */
|
|
33 #pragma pack(push, 1)
|
|
34 struct IndoorCameraD3D_Vec4: public IndoorCameraD3D_Vec3
|
|
35 {
|
|
36 //----- (00498038) --------------------------------------------------------
|
|
37 inline IndoorCameraD3D_Vec4():
|
|
38 IndoorCameraD3D_Vec3()
|
|
39 {}
|
|
40
|
|
41 //----- (00498069) --------------------------------------------------------
|
|
42 virtual ~IndoorCameraD3D_Vec4()
|
|
43 {}
|
|
44
|
|
45 float dot;
|
522
|
46 int _wtf; // sizeof vec4 is 18 and first member is vdtor, but vdtor is already included in vec3 so very weird
|
0
|
47 };
|
|
48 #pragma pack(pop)
|
|
49
|
|
50
|
|
51
|
|
52 /* 199 */
|
|
53 #pragma pack(push, 1)
|
|
54 struct IndoorCameraD3D_stru3
|
|
55 {
|
|
56 int field_0;
|
|
57 int field_4;
|
|
58 int field_8;
|
|
59 int field_C;
|
|
60 int field_10;
|
|
61 int field_14;
|
|
62 int field_18;
|
|
63 int field_1C;
|
|
64 int field_20;
|
|
65 int field_24;
|
|
66 int field_28;
|
|
67 int field_2C;
|
|
68 float flt_30;
|
|
69 int field_34;
|
|
70 };
|
|
71 #pragma pack(pop)
|
|
72
|
|
73
|
|
74
|
|
75 /* 197 */
|
|
76 #pragma pack(push, 1)
|
|
77 struct IndoorCameraD3D_stru1
|
|
78 {
|
|
79 //----- (004363A2) --------------------------------------------------------
|
|
80 IndoorCameraD3D_stru1()
|
|
81 {
|
|
82 this->flt_2C = 0.0;
|
|
83 }
|
|
84
|
|
85
|
|
86 int field_0;
|
|
87 int field_4;
|
|
88 int field_8;
|
|
89 int field_C;
|
|
90 int field_10;
|
|
91 int field_14;
|
|
92 int field_18;
|
|
93 int field_1C;
|
|
94 int field_20;
|
|
95 int field_24;
|
|
96 int field_28;
|
|
97 float flt_2C;
|
|
98 };
|
|
99 #pragma pack(pop)
|
|
100
|
|
101 /* 198 */
|
|
102 #pragma pack(push, 1)
|
|
103 struct IndoorCameraD3D_stru2
|
|
104 {
|
|
105 unsigned int mm7__vector_000004_size;
|
|
106 IndoorCameraD3D_stru1 mm7__vector_000004[64];
|
|
107 int field_C04;
|
|
108 int field_C08;
|
|
109 int field_C0C;
|
|
110 };
|
|
111 #pragma pack(pop)
|
|
112
|
|
113 /* 123 */
|
|
114 #pragma pack(push, 1)
|
|
115 struct IndoorCameraD3D
|
|
116 {
|
|
117 IndoorCameraD3D();
|
|
118
|
|
119 //----- (004363C6) --------------------------------------------------------
|
|
120 virtual ~IndoorCameraD3D()
|
|
121 {
|
|
122 //this->vdestructor_ptr = &stru8_pvdtor;
|
|
123 //_eh_vector_destructor_iterator_(this->std__vector_000034_prolly_frustrum, 24, 6, IndoorCameraD3D_Vec4::dtor);
|
|
124 //IndoorCameraD3D_Vec3::dtor(&v1->field_24);
|
|
125 //IndoorCameraD3D_Vec3::dtor(&v1->field_14);
|
|
126 //IndoorCameraD3D_Vec3::dtor(&v1->field_4);
|
|
127 }
|
|
128
|
|
129 double GetPolygonMaxZ(struct RenderVertexSoft *pVertex, unsigned int uStripType);
|
|
130 double GetPolygonMinZ(struct RenderVertexSoft *pVertices, unsigned int uStripType);
|
|
131 struct IDirect3DTexture2 *LoadTextureAndGetHardwarePtr(char *Str1);
|
|
132 void Project(signed int x, signed int y, signed int z, int *a5, int *a6);
|
|
133 void Project(struct RenderVertexSoft *pVertices, unsigned int uNumVertices, char a4);
|
|
134 void _436CDC_mess_with_lightmap__clipflag_2(struct RenderVertexSoft *pInVertices, int uNumInVertices, struct RenderVertexSoft *pOutVertices, unsigned int *pOutNumVertices);
|
|
135 void _436F09_mess_with_lightmap__clipflag_4(struct RenderVertexSoft *pInVertices, int uNumInVertices, struct RenderVertexSoft *pOutVertices, unsigned int *pOutNumVertices);
|
|
136 int _437143(unsigned int uNumInVertices, struct RenderVertexSoft *pOutVertices, struct RenderVertexSoft *pInVertices, unsigned int *pOutNumVertices);
|
|
137 bool _4371C3(struct RenderVertexSoft *pVertices, unsigned int *pOutNumVertices, int _unused);
|
795
|
138 bool CalcPortalShape(struct RenderVertexSoft *a1, unsigned int *pOutNumVertices, struct RenderVertexSoft *pVertices, IndoorCameraD3D_Vec4 *a4, signed int uNumVertices, char a6, int _unused);
|
0
|
139 char _437376(struct stru154 *thisa, struct RenderVertexSoft *a2, unsigned int *pOutNumVertices);
|
|
140 void _4374E8_ProllyBuildFrustrum();
|
|
141 void _437607(IndoorCameraD3D_Vec3 *a1, IndoorCameraD3D_Vec4 *a2);
|
|
142 void Vec3Transform(const IndoorCameraD3D_Vec3 *pVector, IndoorCameraD3D_Vec3 *pOut);
|
|
143 void CreateWorldMatrixAndSomeStuff();
|
|
144 void MatrixMultiply(struct Matrix3x3_float_ *a1, struct Matrix3x3_float_ *a2, struct Matrix3x3_float_ *a3);
|
|
145 void PrepareAndDrawDebugOutline(struct BLVFace *pFace, unsigned int uDiffuse);
|
|
146 void debug_outline_sw(struct RenderVertexSoft *a2, unsigned int uNumVertices, unsigned int uDiffuse, float a5);
|
|
147 void debug_outline_d3d(const struct RenderVertexD3D3 *pLineVertices, unsigned int uNumLines, int uDiffuse, float z_stuff);
|
|
148 void do_draw_debug_line_sw(struct RenderVertexSoft *pLineBegin, unsigned int uStartDiffuse, struct RenderVertexSoft *pLineEnd, unsigned int uEndDiffuse, unsigned int uOutNumVertices, float z_stuff);
|
|
149 void do_draw_debug_line_d3d(const struct RenderVertexD3D3 *pLineBegin, unsigned int uDiffuseBegin, const RenderVertexD3D3 *pLineEnd, unsigned int uDiffuseEnd, float z_stuff);
|
|
150 void _437D4A_draw_some_vertices(float x, float y, float z, unsigned int a5, char a6, float a7);
|
|
151 void _438141_draw_list_0037C();
|
|
152 void _438240_draw_lits();
|
|
153 void Reset_list_0037C();
|
|
154 bool is_face_faced_to_camera(struct BLVFace *pFace, struct RenderVertexSoft *a2);
|
|
155 bool GetFacetOrientation(char polyType, struct Vec3_float_ *a2, struct Vec3_float_ *a3, struct Vec3_float_ *a4);
|
|
156 void ViewTransform(struct RenderVertexSoft *a1a, unsigned int uNumVertices);
|
|
157 bool IsCulled(struct BLVFace *pFace);
|
|
158 void ViewTransfrom_OffsetUV(struct RenderVertexSoft *pVertices, unsigned int uNumVertices, struct RenderVertexSoft *pOutVertices, struct stru320 *a5);
|
|
159 char ApplyViewTransform_TrueIfStillVisible(int x, int y, int z, signed int *pOutX, int *pOutZ, int *pOutY, char bDoNotShow);
|
871
|
160 float GetPickDepth();
|
0
|
161
|
791
|
162 void DebugDrawPortal(struct BLVFace *pFace);
|
|
163
|
522
|
164 //void (__thiscall ***vdestructor_ptr)(IndoorCameraD3D *, bool);
|
0
|
165 IndoorCameraD3D_Vec3 field_4[3];
|
|
166 //IndoorCameraD3D_Vec3 field_14;
|
|
167 //IndoorCameraD3D_Vec3 field_24;
|
|
168 IndoorCameraD3D_Vec4 std__vector_000034_prolly_frustrum[6];
|
|
169 float fov;
|
|
170 float screenCenterX;
|
|
171 float screenCenterY;
|
|
172 float fov_x;
|
|
173 float fov_y;
|
|
174 float inv_fov;
|
735
|
175 float blv_party_x;
|
|
176 float blv_party_y;
|
|
177 float blv_party_z;
|
0
|
178 char field_E8[32];
|
|
179 float field_108;
|
735
|
180 float blv_party_x_2;
|
|
181 float blv_party_y_2;
|
|
182 float blv_party_z_2;
|
0
|
183 char field_118[32];
|
|
184 float field_138;
|
|
185 char field_13C[44];
|
|
186 float field_168;
|
|
187 char field_16C[44];
|
|
188 float field_198;
|
|
189 char field_19C[44];
|
|
190 float field_1C8;
|
|
191 char field_1CC[44];
|
|
192 float field_1F8;
|
|
193 char field_1FC[44];
|
|
194 float field_228;
|
|
195 char field_22C[44];
|
|
196 float field_258;
|
|
197 char field_25C[44];
|
|
198 float field_288;
|
|
199 char field_28C[44];
|
|
200 float field_2B8;
|
|
201 float field_2BC;
|
|
202 float field_2C0;
|
|
203 float field_2C4;
|
|
204 char field_2C8[32];
|
|
205 float field_2E8;
|
|
206 float field_2EC;
|
|
207 float field_2F0;
|
|
208 float field_2F4;
|
|
209 char field_2F8[32];
|
|
210 float field_318;
|
|
211 float field_31C;
|
|
212 float field_320;
|
|
213 float field_324;
|
|
214 char field_328[32];
|
|
215 float field_348;
|
|
216 float field_34C;
|
|
217 float field_350;
|
|
218 float field_354;
|
|
219 char field_358[32];
|
|
220 float field_378;
|
|
221 IndoorCameraD3D_stru3 list_0037C[16384];
|
|
222 unsigned int list_0037C_size;
|
|
223 IndoorCameraD3D_stru2 list_E0380[256];
|
|
224 int list_E0380_size;
|
|
225 };
|
|
226 #pragma pack(pop) |