Mercurial > mm7
annotate ParticleEngine.h @ 258:6764ce3cb9bb
m
author | Ritor1 |
---|---|
date | Mon, 18 Feb 2013 09:44:44 +0600 |
parents | 8ab4484c22e0 |
children | 574cc56e05e9 |
rev | line source |
---|---|
0 | 1 #pragma once |
2 #include "Render.h" | |
3 | |
4 | |
5 | |
6 /* 305 */ | |
7 #pragma pack(push, 1) | |
8 struct Particle_ | |
9 { | |
10 int bFree; | |
11 float x; | |
12 float y; | |
13 float z; | |
14 float flt_10; | |
15 float flt_14; | |
16 float flt_18; | |
17 unsigned int uDiffuse; | |
18 int timeToLive; | |
19 unsigned int uTextureID; | |
20 float flt_28; | |
21 int field_2C; | |
22 int field_30; | |
23 int field_34; | |
24 int field_38[12]; | |
25 }; | |
26 #pragma pack(pop) | |
27 | |
28 | |
29 /* 109 */ | |
30 #pragma pack(push, 1) | |
31 struct Particle | |
32 { | |
33 int uType; // 0x0000: empty | |
34 // 0x0100: color plane | |
35 // 0x0200: line | |
36 // 0x0400: bitmap plane | |
37 // 0x0800: sprite plane | |
38 float x; | |
39 float y; | |
40 float z; | |
41 float flt_10; | |
42 float flt_14; | |
43 float flt_18; | |
44 union | |
45 { | |
46 struct | |
47 { | |
48 unsigned char r, g, b, a; | |
49 }; | |
50 unsigned int uParticleColor; | |
51 }; | |
52 int timeToLive; | |
53 unsigned int uTextureID; | |
54 float flt_28; | |
55 float _x; | |
56 float _y; | |
57 float _z; | |
58 int field_38; | |
59 int _rotation; | |
60 int uScreenSpaceX; | |
61 int uScreenSpaceY; | |
62 int uScreenSpaceZ; // line end x | |
63 int uScreenSpaceW; // line end y | |
144
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
64 union |
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
65 { |
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
66 int sZValue; |
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
67 struct |
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
68 { |
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
69 unsigned short object_pid; |
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
70 short zbuffer_depth; |
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
71 }; |
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
72 }; |
0 | 73 int sZValue2; // line end z |
144
8ab4484c22e0
Billboard drawing's up (actors, decorations, misc sprites)
Nomad
parents:
0
diff
changeset
|
74 int _screenspace_scale; |
0 | 75 float flt_5C; |
76 float flt_60; | |
77 int uLightColor; | |
78 }; | |
79 #pragma pack(pop) | |
80 | |
81 | |
82 | |
83 /* 111 */ | |
84 #pragma pack(push, 1) | |
85 struct stru2_LineList | |
86 { | |
87 unsigned int uNumLines; | |
88 RenderVertexD3D3 pLineVertices[48]; | |
89 char field_604[60]; | |
90 }; | |
91 #pragma pack(pop) | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 /* 110 */ | |
98 #pragma pack(push, 1) | |
99 struct ParticleEngine | |
100 { | |
101 ParticleEngine(); | |
102 | |
103 void ResetParticles(); | |
104 void AddParticle(Particle_ *a2); | |
105 void Draw(); | |
106 void UpdateParticles(); | |
107 bool ViewProject_TrueIfStillVisible(unsigned int uParticleID); | |
108 bool _48B5B3(unsigned int uID); | |
109 void DrawParticles_BLV(); | |
110 void DrawParticles_ODM(); | |
111 | |
112 Particle pParticles[500]; | |
113 stru2_LineList pLines; | |
114 char field_D160[4800]; | |
115 float field_E420; | |
116 int uStartParticle; | |
117 int uEndParticle; | |
118 int uTimeElapsed; | |
119 }; | |
120 #pragma pack(pop) |