Mercurial > might-and-magic-trilogy
view ParticleEngine.h @ 88:6b46c3e15e21
29.10.12 //
author | Ritor1 |
---|---|
date | Mon, 29 Oct 2012 21:54:06 +0600 |
parents | bcc051713d20 |
children |
line wrap: on
line source
#pragma once #include "Render.h" /* 305 */ #pragma pack(push, 1) struct Particle_ { int bFree; float x; float y; float z; float flt_10; float flt_14; float flt_18; unsigned int uDiffuse; int timeToLive; unsigned int uTextureID; float flt_28; int field_2C; int field_30; int field_34; int field_38[12]; }; #pragma pack(pop) /* 109 */ #pragma pack(push, 1) struct Particle { 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; union { struct { unsigned char r, g, b, a; }; unsigned int uParticleColor; }; int timeToLive; unsigned int uTextureID; float flt_28; float _x; float _y; float _z; int field_38; int _rotation; int uScreenSpaceX; int uScreenSpaceY; 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; int uLightColor; }; #pragma pack(pop) /* 111 */ #pragma pack(push, 1) struct stru2_LineList { unsigned int uNumLines; RenderVertexD3D3 pLineVertices[48]; char field_604[60]; }; #pragma pack(pop) /* 110 */ #pragma pack(push, 1) struct ParticleEngine { ParticleEngine(); void ResetParticles(); void AddParticle(Particle_ *a2); void Draw(); void UpdateParticles(); bool ViewProject_TrueIfStillVisible(unsigned int uParticleID); bool _48B5B3(unsigned int uID); void DrawParticles_BLV(); void DrawParticles_ODM(); Particle pParticles[500]; stru2_LineList pLines; char field_D160[4800]; float field_E420; int uStartParticle; int uEndParticle; int uTimeElapsed; }; #pragma pack(pop)