2020-06-15 19:59:08 +02:00
|
|
|
#pragma once
|
|
|
|
#include <d3d11.h>
|
|
|
|
#include <SimpleMath.h>
|
|
|
|
#include <array>
|
|
|
|
namespace T5M {
|
|
|
|
namespace Effects {
|
|
|
|
namespace Drip {
|
|
|
|
constexpr float DRIP_LIFE = 25.0f;
|
2020-06-18 14:24:52 +02:00
|
|
|
constexpr float DRIP_LIFE_LONG = 120.0f;
|
2020-06-15 19:59:08 +02:00
|
|
|
constexpr float DRIP_WIDTH = 4;
|
2020-06-18 14:24:52 +02:00
|
|
|
constexpr int NUM_DRIPS = 512;
|
2020-06-15 19:59:08 +02:00
|
|
|
struct DripParticle {
|
|
|
|
DirectX::SimpleMath::Vector3 pos;
|
|
|
|
DirectX::SimpleMath::Vector3 velocity;
|
|
|
|
DirectX::SimpleMath::Vector4 color;
|
|
|
|
int room;
|
|
|
|
float gravity;
|
2020-06-16 19:13:41 +02:00
|
|
|
float life;
|
2020-06-15 19:59:08 +02:00
|
|
|
float age;
|
|
|
|
float height;
|
|
|
|
bool active;
|
|
|
|
};
|
2020-06-18 14:24:52 +02:00
|
|
|
extern std::array<DripParticle, NUM_DRIPS> dripParticles;
|
2020-06-15 19:59:08 +02:00
|
|
|
void UpdateDrips();
|
|
|
|
DripParticle& getFreeDrip();
|
2020-06-16 19:13:41 +02:00
|
|
|
void SpawnWetnessDrip(DirectX::SimpleMath::Vector3 pos, int room);
|
|
|
|
void SpawnSplashDrips(Vector3& pos, int num, int room);
|
2020-06-18 14:24:52 +02:00
|
|
|
void SpawnGunshellDrips(Vector3& pos, int room);
|
2020-06-15 19:59:08 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|