diff ParticleEngine.h @ 87:c0cf9393af64

Слияние
author Ritor1
date Mon, 29 Oct 2012 09:28:08 +0600
parents bcc051713d20
children
line wrap: on
line diff
--- a/ParticleEngine.h	Mon Oct 22 09:20:49 2012 +0600
+++ b/ParticleEngine.h	Mon Oct 29 09:28:08 2012 +0600
@@ -15,7 +15,7 @@
   float flt_14;
   float flt_18;
   unsigned int uDiffuse;
-  int field_20;
+  int timeToLive;
   unsigned int uTextureID;
   float flt_28;
   int field_2C;
@@ -30,15 +30,26 @@
 #pragma pack(push, 1)
 struct Particle
 {
-  int bFree;
+  int uType; // 0x0000: empty
+             // 0x0100: color plane
+             // 0x0200: line
+             // 0x0400: bitmap plane
+             // 0x0800: sprite plane
   float x;
   float y;
   float z;
   float flt_10;
   float flt_14;
   float flt_18;
-  int uParticleColor;
-  int field_20;
+  union
+  {
+    struct
+    {
+      unsigned char r, g, b, a;
+    };
+    unsigned int uParticleColor;
+  };
+  int timeToLive;
   unsigned int uTextureID;
   float flt_28;
   float _x;
@@ -48,10 +59,10 @@
   int _rotation;
   int uScreenSpaceX;
   int uScreenSpaceY;
-  float field_48;
-  int field_4C;
-  int field_50;
-  int field_54;
+  int uScreenSpaceZ;  // line end x
+  int uScreenSpaceW;  // line end y
+  int sZValue;
+  int sZValue2;  // line end z
   int field_58;
   float flt_5C;
   float flt_60;
@@ -84,7 +95,7 @@
   void ResetParticles();
   void AddParticle(Particle_ *a2);
   void Draw();
-  int UpdateParticles();
+  void   UpdateParticles();
   bool ViewProject_TrueIfStillVisible(unsigned int uParticleID);
   bool _48B5B3(unsigned int uID);
   void DrawParticles_BLV();