mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-01 09:18:00 +03:00
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#pragma once
|
|
#include <d3d11.h>
|
|
#include <SimpleMath.h>
|
|
#include <array>
|
|
namespace T5M{
|
|
namespace Effects {
|
|
namespace Smoke {
|
|
struct SmokeParticle {
|
|
DirectX::SimpleMath::Vector4 sourceColor;
|
|
DirectX::SimpleMath::Vector4 destinationColor;
|
|
DirectX::SimpleMath::Vector4 color;
|
|
DirectX::SimpleMath::Vector3 position;
|
|
DirectX::SimpleMath::Vector3 velocity;
|
|
int room;
|
|
int sprite;
|
|
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();
|
|
void TriggerGunSmokeParticles(int x, int y, int z, short xv, short yv, short zv, byte initial, int weaponType, byte count);
|
|
|
|
}
|
|
}
|
|
|
|
}
|