Files
tech5/source/engine/gamelib/effects/effectsmodelmanager.h
T

37 lines
997 B
C++

#pragma once
#include "idlib/containers/hashindex.h"
#include "idlib/containers/staticlist.h"
class idDeclParticle;
class idRenderModelParticle;
class idEffectsModelManager {
public:
struct fxPrtModel_t {
idRenderModelParticle* pmodel;
const idDeclParticle* pDecl;
};
idEffectsModelManager();
~idEffectsModelManager();
void Init();
void Shutdown();
idRenderModelParticle* GetNextParticleEffectModel(
const idDeclParticle* particleDecl);
void RecycleParticleFxModel(const idDeclParticle* particleDecl,
idRenderModelParticle* model);
idStaticList<fxPrtModel_t, 400> fxPrtModels;
idHashIndex activePrtModelHash;
idHashIndex inactivePrtModelHash;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(idEffectsModelManager::fxPrtModel_t) == 8,
"Recovered particle-model record ABI changed");
static_assert(sizeof(idEffectsModelManager) == 3280,
"Recovered idEffectsModelManager ABI changed");
#endif