Mercurial > mm7
view ParticleEngine.h @ 198:e6e348d66a75
Some work on spellbook
author | Nomad |
---|---|
date | Sat, 16 Feb 2013 21:46:07 +0200 |
parents | 8ab4484c22e0 |
children | 574cc56e05e9 |
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 union { int sZValue; struct { unsigned short object_pid; short zbuffer_depth; }; }; int sZValue2; // line end z int _screenspace_scale; 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)