1 // Emacs style mode select   -*- C++ -*-
2 //-----------------------------------------------------------------------------
3 //
4 // $Id: p_effect.h 2589 2011-11-11 02:56:03Z mike $
5 //
6 // Copyright (C) 1993-1996 by id Software, Inc.
7 // Copyright (C) 2006-2014 by The Odamex Team.
8 //
9 // This program is free software; you can redistribute it and/or
10 // modify it under the terms of the GNU General Public License
11 // as published by the Free Software Foundation; either version 2
12 // of the License, or (at your option) any later version.
13 //
14 // This program is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 // GNU General Public License for more details.
18 //
19 // DESCRIPTION:
20 //	Thing frame/state LUT,
21 //	generated by multigen utilitiy.
22 //	This one is the original DOOM version, preserved.
23 //
24 //-----------------------------------------------------------------------------
25 
26 #include "m_vectors.h"
27 
28 #define FX_ROCKET			0x00000001
29 #define FX_GRENADE			0x00000002
30 #define FX_VISIBILITYPULSE	0x00000040
31 
32 #define FX_FOUNTAINMASK		0x00070000
33 #define FX_FOUNTAINSHIFT	16
34 #define FX_REDFOUNTAIN		0x00010000
35 #define FX_GREENFOUNTAIN	0x00020000
36 #define FX_BLUEFOUNTAIN		0x00030000
37 #define FX_YELLOWFOUNTAIN	0x00040000
38 #define FX_PURPLEFOUNTAIN	0x00050000
39 #define FX_BLACKFOUNTAIN	0x00060000
40 #define FX_WHITEFOUNTAIN	0x00070000
41 
42 
43 struct particle_s;
44 
45 struct particle_s *JitterParticle (int ttl);
46 
47 void P_ThinkParticles (void);
48 void P_InitEffects (void);
49 void P_RunEffects (void);
50 
51 void P_RunEffect (AActor *actor, int effects);
52 
53 void P_DrawRailTrail(v3double_t &start, v3double_t &end);
54 void P_DrawSplash (int count, fixed_t x, fixed_t y, fixed_t z, angle_t angle, int kind);
55 void P_DrawSplash2 (int count, fixed_t x, fixed_t y, fixed_t z, angle_t angle, int updown, int kind);
56 void P_DisconnectEffect (AActor *actor);
57