TombEngine/TR5Main/Game/smoke.h

31 lines
800 B
C
Raw Normal View History

2020-05-23 14:26:06 +02:00
#pragma once
#include <d3d11.h>
#include <SimpleMath.h>
#include <array>
struct SmokeParticle {
DirectX::SimpleMath::Vector4 sourceColor;
DirectX::SimpleMath::Vector4 destinationColor;
DirectX::SimpleMath::Vector4 color;
DirectX::SimpleMath::Vector3 position;
DirectX::SimpleMath::Vector3 velocity;
int room;
float gravity;
float friction;
float sourceSize;
float destinationSize;
float size;
float age;
float life;
float angularVelocity;
float angularDrag;
float rotation;
float terminalVelocity;
bool affectedByWind;
bool active;
};
extern std::array<SmokeParticle, 128> SmokeParticles;
void UpdateSmokeParticles();
void TriggerFlareSmoke(const DirectX::SimpleMath::Vector3& pos, DirectX::SimpleMath::Vector3& direction,int age,int room);
SmokeParticle& getFreeSmokeParticle();