mirror of
https://github.com/PrimeDecomp/prime.git
synced 2026-07-12 18:18:56 -07:00
34 lines
899 B
C++
34 lines
899 B
C++
#ifndef _CDECALMANAGER
|
|
#define _CDECALMANAGER
|
|
|
|
#include "TGameTypes.hpp"
|
|
#include "Weapons/CDecal.hpp"
|
|
#include "rstl/optional_object.hpp"
|
|
#include "rstl/reserved_vector.hpp"
|
|
|
|
class CDecalManager {
|
|
public:
|
|
struct SDecal {
|
|
SDecal(const rstl::optional_object< CDecal >& decal, const TAreaId id, const char w, const char z)
|
|
: mDecal(decal), aid(id), unk(w), unk1(z) {}
|
|
|
|
rstl::optional_object< CDecal > mDecal;
|
|
TAreaId aid;
|
|
char unk;
|
|
char unk1 : 1;
|
|
};
|
|
static void Initialize();
|
|
static void ShutDown();
|
|
static void Reinitialize();
|
|
|
|
static bool mbPoolInitialized;
|
|
static rstl::reserved_vector< SDecal, 64 > mDecalPool;
|
|
static rstl::reserved_vector< int, 64 > mActiveIndexList;
|
|
static int mFreeIndex;
|
|
static float mDeltaTimeSinceLastDecalCreation;
|
|
static int mLastDecalCreatedIndex;
|
|
static CAssetId mLastDecalCreatedAssetId;
|
|
};
|
|
|
|
#endif // _CDECALMANAGER
|