#ifndef __PSHAG_CDECALMANAGER_HPP__ #define __PSHAG_CDECALMANAGER_HPP__ #include "RetroTypes.hpp" #include "rstl.hpp" #include "optional.hpp" #include "CToken.hpp" namespace urde { class CDecal { public: class CQuadDecal { }; }; class CDecalManager { struct SDecal { TAreaId m_areaId; std::experimental::optional x60_decal; SDecal() = default; SDecal(std::experimental::optional&&, TAreaId); }; static bool m_PoolInitialized; static s32 m_FreeIndex; static float m_DeltaTimeSinceLastDecalCreation; static s32 m_LastDecalCreatedIndex; static TResId m_LastDecalCreatedAssetId; static rstl::reserved_vector m_DecalPool; static rstl::reserved_vector m_ActiveIndexList; public: static void Initialize(); }; } #endif // __PSHAG_CDECALMANAGER_HPP__