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