forked from shokunin000/te120
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathiefx.h
67 lines (51 loc) · 2.2 KB
/
iefx.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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