1 enum LIGHTING_EFFECTS_ID
2 {
3 	LFX_EXPLOSION,
4 	LFX_MUZZLEFLASH,
5 	LFX_PARTICLECANNON,
6 	LFX_ROCKETJET,
7 	LFX_FLARE,
8 	LFX_BIGEXPLOSION,
9 	LFX_XENO_FIRING,
10 	LFX_PLASMA_BOLT,
11 	LFX_OBJECTONFIRE,
12 	LFX_SPEARGUNBOLT
13 };
14 
15 /* explosions light an area which has a max 15m radius */
16 #define EXPLOSION_LIGHT_RANGE 15000
17 //#define EXPLOSION_LIGHT_RANGE 30000
18 
19 extern void AddLightingEffectToObject(DISPLAYBLOCK *objectPtr, enum LIGHTING_EFFECTS_ID lfxID);
20 extern void LightBlockDeallocation(void);
21 
22 
23 
24 enum LIGHTELEMENT_BEHAVIOUR_ID
25 {
26 	LIGHTELEMENT_MOLTENMETAL,
27 	LIGHTELEMENT_PLASMACASTERHIT,
28 	LIGHTELEMENT_FROMFMV,
29 	LIGHTELEMENT_ROTATING,
30 	LIGHTELEMENT_EXPLOSION,
31 	LIGHTELEMENT_ELECTRICAL_EXPLOSION,
32 	LIGHTELEMENT_ELECTRICAL_SPARKS,
33 	LIGHTELEMENT_ALIEN_TEETH,
34 	LIGHTELEMENT_ALIEN_TEETH2,
35 	LIGHTELEMENT_PARGEN_FLAME,
36 };
37 
38 typedef struct
39 {
40 	enum LIGHTELEMENT_BEHAVIOUR_ID BehaviourID;
41 
42 	LIGHTBLOCK LightBlock;
43 	int LifeTime;
44 
45 } LIGHTELEMENT;
46 
47 
48 void InitialiseLightElementSystem(void);
49 void MakeLightElement(VECTORCH *positionPtr, enum LIGHTELEMENT_BEHAVIOUR_ID behaviourID);
50 void HandleLightElementSystem(void);
51 
52