annotate DecalBuilder.h @ 109:62772029b56d

Слияние
author Ritor1
date Tue, 06 Nov 2012 10:07:35 +0600
parents 5159d2e6f559
children
rev   line source
0
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
1 #pragma once
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
2 #include "Render.h"
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
3
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
4
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
5 #pragma pack(push, 1)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
6 struct DecalBuilder_stru0
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
7 {
45
bcc051713d20 BLV render & seffects
Nomad
parents: 0
diff changeset
8 double _43B570_get_color_mult_by_time();
0
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
9
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
10 int field_0;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
11 int field_4;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
12 int field_8;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
13 int field_C;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
14 int field_10;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
15 int field_14;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
16 int field_18;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
17 int field_1C_flags;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
18 __int64 field_20_time;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
19 };
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
20 #pragma pack(pop)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
21
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
22
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
23
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
24 /* 181 */
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
25 #pragma pack(push, 1)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
26 struct Decal
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
27 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
28 void Decal_base_ctor();
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
29 //----- (0043B60C) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
30 inline Decal()
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
31 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
32 Decal_base_ctor();
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
33 field_C1C = 0;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
34 }
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
35
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
36 //----- (0043B625) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
37 //void __thiscall Decal::vdtor(Decal *this, bool a2)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
38 //----- (0043B641) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
39 virtual ~Decal()
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
40 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
41 }
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
42
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
43 void (__thiscall ***vdestructor_ptr)(Decal *, bool);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
44 int uNumVertices;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
45 RenderVertexSoft pVertices[64];
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
46 __int16 field_C08;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
47 __int16 field_C0A;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
48 __int16 field_C0C;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
49 __int16 field_C0E;
45
bcc051713d20 BLV render & seffects
Nomad
parents: 0
diff changeset
50 uint uColorMultiplier;
0
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
51 int field_C14;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
52 DecalBuilder_stru0 *field_C18;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
53 int field_C1C;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
54 };
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
55 #pragma pack(pop)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
56
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
57 /* 180 */
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
58 #pragma pack(push, 1)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
59 struct DecalBuilder
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
60 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
61 //----- (0049B408) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
62 DecalBuilder()
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
63 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
64 char *v2; // eax@1
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
65 signed int v3; // ecx@1
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
66
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
67 auto v1 = this;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
68 /*_eh_vector_constructor_iterator_(
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
69 this->std__vector_pDecals,
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
70 3104,
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
71 1024,
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
72 (void (__thiscall *)(void *))Decal::Decal,
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
73 (void (__thiscall *)(void *))Decal::dtor);*/
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
74 v1->std__vector_pDecals_size = 0;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
75 v1->field_308008 = 0;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
76 v2 = (char *)&v1->pVertices[0].flt_2C;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
77 v3 = 256;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
78 do
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
79 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
80 *(float *)v2 = 0.0;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
81 v2 += 48;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
82 --v3;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
83 }
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
84 while ( v3 );
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
85 }
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
86
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
87 //----- (0049B471) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
88 virtual ~DecalBuilder()
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
89 {}
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
90
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
91
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
92 bool AddBloodsplat(float x, float y, float z, float r, float g, float b, float radius, int a8, int a9);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
93 void Reset(unsigned int bPreserveBloodsplats);
50
fde5c5acb66e BLV render
Nomad
parents: 45
diff changeset
94 char ApplyDecals(int a2, char a3, struct stru154 *a4, int a5, struct RenderVertexSoft *a6, struct IndoorCameraD3D_Vec4 *a7, char a8, unsigned int uSectorID);
45
bcc051713d20 BLV render & seffects
Nomad
parents: 0
diff changeset
95 char _49B790_build_decal_geometry(int a2, char a3, int a4, int a5, int a6, unsigned int uColorMultiplier, struct RenderVertexSoft *a8, struct stru314 *a9, signed int a10, struct RenderVertexSoft *a11, char uClipFlags);
59
5159d2e6f559 BLV render
Nomad
parents: 50
diff changeset
96 bool ApplyBloodsplatDecals_IndoorFace(unsigned int uFaceID);
0
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
97 char ApplyDecals_OutdoorFace(ODMFace *pFace);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
98 bool _49BE8A(struct stru148 *a2, float a3, int a4, struct RenderVertexSoft *a5, unsigned int uStripType, char a7);
45
bcc051713d20 BLV render & seffects
Nomad
parents: 0
diff changeset
99 void DrawDecal(Decal *pDecal, float z_bias);
bcc051713d20 BLV render & seffects
Nomad
parents: 0
diff changeset
100 void DrawDecals(float z_bias);
0
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
101 void DrawBloodsplats();
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
102 void DrawDecalDebugOutlines();
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
103
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
104
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
105
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
106 void (__thiscall ***vdestructor_ptr)(DecalBuilder *, bool);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
107 Decal std__vector_pDecals[1024];
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
108 unsigned int std__vector_pDecals_size;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
109 int field_308008;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
110 RenderVertexSoft pVertices[256];
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
111 int std__vector_30B00C[1024];
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
112 int uNumDecals;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
113 float field_30C010;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
114 float field_30C014;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
115 float field_30C018;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
116 float field_30C01C;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
117 float field_30C020;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
118 float field_30C024;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
119 int field_30C028;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
120 int field_30C02C;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
121 float flt_30C030;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
122 float field_30C034;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
123 };
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
124 #pragma pack(pop)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
125
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
126 extern struct DecalBuilder *pDecalBuilder;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
127
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
128
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
129
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
130
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
131
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
132 /* 158 */
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
133 #pragma pack(push, 1)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
134 struct Bloodsplat
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
135 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
136 //----- (0043B538) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
137 inline Bloodsplat()
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
138 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
139 this->field_1C = 0;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
140 this->field_20 = 0;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
141 this->field_24 = 0;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
142 //this->vdestructor_ptr = &Bloodsplat_pvdtor;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
143 }
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
144
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
145 //----- (0043B54C) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
146 //void __thiscall Bloodsplat::vdtor(Bloodsplat *this, char a2)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
147
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
148 //----- (0043B569) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
149 virtual ~Bloodsplat()
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
150 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
151 }
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
152
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
153 void (__thiscall ***vdestructor_ptr)(Bloodsplat *, bool);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
154 float x;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
155 float y;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
156 float z;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
157 float radius;
59
5159d2e6f559 BLV render
Nomad
parents: 50
diff changeset
158 float dot_dist;
0
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
159 char r;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
160 char g;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
161 char b;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
162 char field_1B;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
163 int field_1C;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
164 int field_20;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
165 int field_24;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
166 };
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
167 #pragma pack(pop)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
168
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
169 /* 159 */
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
170 #pragma pack(push, 1)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
171 struct BloodsplatContainer
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
172 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
173 //----- (0043B688) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
174 inline BloodsplatContainer()
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
175 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
176 /*_eh_vector_constructor_iterator_(
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
177 this->std__vector_pBloodsplats,
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
178 40,
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
179 64,
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
180 (void (__thiscall *)(void *))Bloodsplat::Bloodsplat,
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
181 (void (__thiscall *)(void *))Bloodsplat::dtor);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
182 v1->std__vector_pBloodsplats_size = 0;*/
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
183 uNumBloodsplats = 0;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
184 }
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
185 //----- (0043B6D6) --------------------------------------------------------
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
186 virtual ~BloodsplatContainer()
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
187 {
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
188 //this->vdestructor_ptr = &BloodsplatContainer_pvdtor;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
189 //_eh_vector_destructor_iterator_(this->std__vector_pBloodsplats, 40, 64, Bloodsplat::dtor);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
190 }
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
191
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
192
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
193 bool AddBloodsplat(float x, float y, float z, float r, float g, float b, float radius, int a8, int a9);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
194 bool AddBloodsplat(float x, float y, float z, float radius, char r, char g, char b);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
195
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
196
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
197 void (__thiscall ***vdestructor_ptr)(BloodsplatContainer *, bool);
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
198 Bloodsplat std__vector_pBloodsplats[64];
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
199 unsigned int std__vector_pBloodsplats_size;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
200 int uNumBloodsplats;
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
201 };
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
202 #pragma pack(pop)
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
203
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
204
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
205
8b8875f5b359 Initial commit
Nomad
parents:
diff changeset
206 extern struct BloodsplatContainer *pBloodsplatContainer; // idb