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