void DynamicLights(CPlayer* pEntity)
{
dlight_t* dLight = Interfaces.gEffects->CL_AllocDlight(pEntity->GetIndex());
dLight->color = Color(255, 0, 0, 255);
dLight->radius = 400.f;
dLight->key = pEntity->GetIndex();
dLight->m_Direction = pEntity->GetAbsOrigin();
dLight->origin = pEntity->GetAbsOrigin();
dLight->die = Interfaces.Globals->curtime + 1.f;
dLight->decay = 20;
}
class CEffects
{
public:
dlight_t* CL_AllocDlight(int key)
{
typedef dlight_t*(__thiscall* OriginalFn)(void*, int);
return CallVirtualFunction<OriginalFn>(this, 4)(this, key);
}
dlight_t* CL_AllocElight(int key)
{
typedef dlight_t*(__thiscall* OriginalFn)(void*, int);
return CallVirtualFunction<OriginalFn>(this, 5)(this, key);
}
};
Interfaces.gEffects = static_cast<CEffects*>(EngineFactory("VEngineEffects001", nullptr));
