1
This commit is contained in:
67
public/iefx.h
Normal file
67
public/iefx.h
Normal file
@ -0,0 +1,67 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//
|
||||
//===========================================================================//
|
||||
|
||||
#if !defined( IEFX_H )
|
||||
#define IEFX_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "interface.h"
|
||||
#include "mathlib/vector.h"
|
||||
|
||||
struct model_t;
|
||||
struct dlight_t;
|
||||
class IMaterial;
|
||||
|
||||
#define MAX_DLIGHTS 32
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Exposes effects api to client .dll
|
||||
//-----------------------------------------------------------------------------
|
||||
abstract_class IVEfx
|
||||
{
|
||||
public:
|
||||
// Retrieve decal texture index from decal by name
|
||||
virtual int Draw_DecalIndexFromName ( char *name ) = 0;
|
||||
|
||||
// Apply decal
|
||||
virtual void DecalShoot ( int textureIndex, int entity,
|
||||
const model_t *model, const Vector& model_origin, const QAngle& model_angles,
|
||||
const Vector& position, const Vector *saxis, int flags ) = 0;
|
||||
|
||||
// Apply colored decal
|
||||
virtual void DecalColorShoot ( int textureIndex, int entity,
|
||||
const model_t *model, const Vector& model_origin, const QAngle& model_angles,
|
||||
const Vector& position, const Vector *saxis, int flags, const color32 &rgbaColor ) = 0;
|
||||
|
||||
virtual void PlayerDecalShoot( IMaterial *material, void *userdata, int entity, const model_t *model,
|
||||
const Vector& model_origin, const QAngle& model_angles,
|
||||
const Vector& position, const Vector *saxis, int flags, const color32 &rgbaColor ) = 0;
|
||||
|
||||
// Allocate a dynamic world light ( key is the entity to whom it is associated )
|
||||
virtual dlight_t *CL_AllocDlight ( int key ) = 0;
|
||||
|
||||
// Allocate a dynamic entity light ( key is the entity to whom it is associated )
|
||||
virtual dlight_t *CL_AllocElight ( int key ) = 0;
|
||||
|
||||
// Get a list of the currently-active dynamic lights.
|
||||
virtual int CL_GetActiveDLights( dlight_t *pList[MAX_DLIGHTS] ) = 0;
|
||||
|
||||
// Retrieve decal texture name from decal by index
|
||||
virtual const char *Draw_DecalNameFromIndex( int nIndex ) = 0;
|
||||
|
||||
// Given an elight key, find it. Does not search ordinary dlights. May return NULL.
|
||||
virtual dlight_t *GetElightByKey( int key ) = 0;
|
||||
};
|
||||
|
||||
#define VENGINE_EFFECTS_INTERFACE_VERSION "VEngineEffects001"
|
||||
|
||||
extern IVEfx *effects;
|
||||
|
||||
#endif // IEFX_H
|
Reference in New Issue
Block a user