comparison ParticleEngine.h @ 0:9c0607679772

init
author Ritor1
date Sat, 12 Jan 2013 09:45:18 +0600
parents
children 8ab4484c22e0
comparison
equal deleted inserted replaced
-1:000000000000 0:9c0607679772
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
64 int sZValue;
65 int sZValue2; // line end z
66 int field_58;
67 float flt_5C;
68 float flt_60;
69 int uLightColor;
70 };
71 #pragma pack(pop)
72
73
74
75 /* 111 */
76 #pragma pack(push, 1)
77 struct stru2_LineList
78 {
79 unsigned int uNumLines;
80 RenderVertexD3D3 pLineVertices[48];
81 char field_604[60];
82 };
83 #pragma pack(pop)
84
85
86
87
88
89 /* 110 */
90 #pragma pack(push, 1)
91 struct ParticleEngine
92 {
93 ParticleEngine();
94
95 void ResetParticles();
96 void AddParticle(Particle_ *a2);
97 void Draw();
98 void UpdateParticles();
99 bool ViewProject_TrueIfStillVisible(unsigned int uParticleID);
100 bool _48B5B3(unsigned int uID);
101 void DrawParticles_BLV();
102 void DrawParticles_ODM();
103
104 Particle pParticles[500];
105 stru2_LineList pLines;
106 char field_D160[4800];
107 float field_E420;
108 int uStartParticle;
109 int uEndParticle;
110 int uTimeElapsed;
111 };
112 #pragma pack(pop)