|
faluco@1039
|
1 |
/** |
|
faluco@1039
|
2 |
* vim: set ts=4 : |
|
faluco@1039
|
3 |
* =============================================================== |
|
faluco@1039
|
4 |
* SourceMod (C)2004-2007 AlliedModders LLC. All rights reserved. |
|
faluco@1039
|
5 |
* =============================================================== |
|
faluco@1039
|
6 |
* |
|
faluco@1039
|
7 |
* This file is part of the SourceMod/SourcePawn SDK. This file may only be used |
|
faluco@1039
|
8 |
* or modified under the Terms and Conditions of its License Agreement, which is found |
|
faluco@1039
|
9 |
* in LICENSE.txt. The Terms and Conditions for making SourceMod extensions/plugins |
|
faluco@1039
|
10 |
* may change at any time. To view the latest information, see: |
|
faluco@1039
|
11 |
* http://www.sourcemod.net/license.php |
|
faluco@1039
|
12 |
* |
|
faluco@1039
|
13 |
* Version: $Id$ |
|
faluco@1039
|
14 |
*/ |
|
faluco@1039
|
15 |
|
|
faluco@1039
|
16 |
#if defined _te_stocks_included |
|
faluco@1039
|
17 |
#endinput |
|
faluco@1039
|
18 |
#endif |
|
faluco@1039
|
19 |
#define _te_stocks_included |
|
faluco@1039
|
20 |
|
|
faluco@1039
|
21 |
/** |
|
faluco@1040
|
22 |
* @section TE Explosion flags. |
|
faluco@1040
|
23 |
*/ |
|
faluco@1040
|
24 |
#define TE_EXPLFLAG_NONE 0x0 /**< all flags clear makes default Half-Life explosion */ |
|
faluco@1040
|
25 |
#define TE_EXPLFLAG_NOADDITIVE 0x1 /**< sprite will be drawn opaque (ensure that the sprite you send is a non-additive sprite) */ |
|
faluco@1040
|
26 |
#define TE_EXPLFLAG_NODLIGHTS 0x2 /**< do not render dynamic lights */ |
|
faluco@1040
|
27 |
#define TE_EXPLFLAG_NOSOUND 0x4 /**< do not play client explosion sound */ |
|
faluco@1040
|
28 |
#define TE_EXPLFLAG_NOPARTICLES 0x8 /**< do not draw particles */ |
|
faluco@1040
|
29 |
#define TE_EXPLFLAG_DRAWALPHA 0x10 /**< sprite will be drawn alpha */ |
|
faluco@1040
|
30 |
#define TE_EXPLFLAG_ROTATE 0x20 /**< rotate the sprite randomly */ |
|
faluco@1040
|
31 |
#define TE_EXPLFLAG_NOFIREBALL 0x40 /**< do not draw a fireball */ |
|
faluco@1040
|
32 |
#define TE_EXPLFLAG_NOFIREBALLSMOKE 0x80 /**< do not draw smoke with the fireball */ |
|
faluco@1040
|
33 |
|
|
faluco@1040
|
34 |
/** |
|
faluco@1040
|
35 |
* @endsection |
|
faluco@1040
|
36 |
*/ |
|
faluco@1040
|
37 |
|
|
faluco@1040
|
38 |
/** |
|
faluco@1040
|
39 |
* @section TE Beam flags. |
|
faluco@1040
|
40 |
*/ |
|
faluco@1040
|
41 |
#define FBEAM_STARTENTITY 0x00000001 |
|
faluco@1040
|
42 |
#define FBEAM_ENDENTITY 0x00000002 |
|
faluco@1040
|
43 |
#define FBEAM_FADEIN 0x00000004 |
|
faluco@1040
|
44 |
#define FBEAM_FADEOUT 0x00000008 |
|
faluco@1040
|
45 |
#define FBEAM_SINENOISE 0x00000010 |
|
faluco@1040
|
46 |
#define FBEAM_SOLID 0x00000020 |
|
faluco@1040
|
47 |
#define FBEAM_SHADEIN 0x00000040 |
|
faluco@1040
|
48 |
#define FBEAM_SHADEOUT 0x00000080 |
|
faluco@1040
|
49 |
#define FBEAM_ONLYNOISEONCE 0x00000100 /**< Only calculate our noise once */ |
|
faluco@1040
|
50 |
#define FBEAM_NOTILE 0x00000200 |
|
faluco@1040
|
51 |
#define FBEAM_USE_HITBOXES 0x00000400 /**< Attachment indices represent hitbox indices instead when this is set. */ |
|
faluco@1040
|
52 |
#define FBEAM_STARTVISIBLE 0x00000800 /**< Has this client actually seen this beam's start entity yet? */ |
|
faluco@1040
|
53 |
#define FBEAM_ENDVISIBLE 0x00001000 /**< Has this client actually seen this beam's end entity yet? */ |
|
faluco@1040
|
54 |
#define FBEAM_ISACTIVE 0x00002000 |
|
faluco@1040
|
55 |
#define FBEAM_FOREVER 0x00004000 |
|
faluco@1040
|
56 |
#define FBEAM_HALOBEAM 0x00008000 /**< When drawing a beam with a halo, don't ignore the segments and endwidth */ |
|
faluco@1040
|
57 |
|
|
faluco@1040
|
58 |
/** |
|
faluco@1040
|
59 |
* @endsection |
|
faluco@1040
|
60 |
*/ |
|
faluco@1040
|
61 |
|
|
faluco@1040
|
62 |
/** |
|
faluco@1039
|
63 |
* Sets up a sparks effect. |
|
faluco@1039
|
64 |
* |
|
faluco@1039
|
65 |
* @param pos Position of the sparks. |
|
faluco@1039
|
66 |
* @param dir Direction of the sparks. |
|
faluco@1039
|
67 |
* @param Magnitude Sparks size. |
|
faluco@1039
|
68 |
* @param TrailLength Trail lenght of the sparks. |
|
faluco@1039
|
69 |
* @noreturn |
|
faluco@1039
|
70 |
*/ |
|
faluco@1039
|
71 |
stock TE_SetupSparks(const Float:pos[3], const Float:dir[3], Magnitude, TrailLength) |
|
faluco@1039
|
72 |
{ |
|
faluco@1039
|
73 |
TE_Start("Sparks"); |
|
faluco@1039
|
74 |
TE_WriteVector("m_vecOrigin[0]", pos); |
|
faluco@1039
|
75 |
TE_WriteVector("m_vecDir", dir); |
|
faluco@1039
|
76 |
TE_WriteNum("m_nMagnitude", Magnitude); |
|
faluco@1039
|
77 |
TE_WriteNum("m_nTrailLength", TrailLength); |
|
faluco@1039
|
78 |
} |
|
faluco@1039
|
79 |
|
|
faluco@1039
|
80 |
/** |
|
faluco@1039
|
81 |
* Sets up a smoke effect. |
|
faluco@1039
|
82 |
* |
|
faluco@1039
|
83 |
* @param pos Position of the smoke. |
|
faluco@1039
|
84 |
* @param Model Precached model index. |
|
faluco@1039
|
85 |
* @param Scale Scale of the smoke. |
|
faluco@1039
|
86 |
* @param Framerate Frame rate of the smoke. |
|
faluco@1039
|
87 |
* @noreturn |
|
faluco@1039
|
88 |
*/ |
|
faluco@1039
|
89 |
stock TE_SetupSmoke(const Float:pos[3], Model, Float:Scale, FrameRate) |
|
faluco@1039
|
90 |
{ |
|
faluco@1039
|
91 |
TE_Start("Smoke"); |
|
faluco@1039
|
92 |
TE_WriteVector("m_vecOrigin", pos); |
|
faluco@1039
|
93 |
TE_WriteNum("m_nModelIndex", Model); |
|
faluco@1039
|
94 |
TE_WriteFloat("m_fScale", Scale); |
|
faluco@1039
|
95 |
TE_WriteNum("m_nFrameRate", FrameRate); |
|
faluco@1039
|
96 |
} |
|
faluco@1039
|
97 |
|
|
faluco@1039
|
98 |
/** |
|
faluco@1039
|
99 |
* Sets up a dust cloud effect. |
|
faluco@1039
|
100 |
* |
|
faluco@1039
|
101 |
* @param pos Position of the dust. |
|
faluco@1039
|
102 |
* @param dir Direction of the dust. |
|
faluco@1039
|
103 |
* @param Size Dust cloud size. |
|
faluco@1039
|
104 |
* @param Speed Dust cloud speed. |
|
faluco@1039
|
105 |
* @noreturn |
|
faluco@1039
|
106 |
*/ |
|
faluco@1039
|
107 |
stock TE_SetupDust(const Float:pos[3], const Float:dir[3], Float:Size, Float:Speed) |
|
faluco@1039
|
108 |
{ |
|
faluco@1039
|
109 |
TE_Start("Dust"); |
|
faluco@1039
|
110 |
TE_WriteVector("m_vecOrigin[0]", pos); |
|
faluco@1039
|
111 |
TE_WriteVector("m_vecDirection", dir); |
|
faluco@1039
|
112 |
TE_WriteFloat("m_flSize", Size); |
|
faluco@1039
|
113 |
TE_WriteFloat("m_flSpeed", Speed); |
|
faluco@1039
|
114 |
} |
|
faluco@1039
|
115 |
|
|
faluco@1039
|
116 |
/** |
|
faluco@1039
|
117 |
* Sets up a muzzle flash effect. |
|
faluco@1039
|
118 |
* |
|
faluco@1039
|
119 |
* @param pos Position of the muzzle flash. |
|
faluco@1039
|
120 |
* @param angles Rotation angles of the muzzle flash. |
|
faluco@1039
|
121 |
* @param Scale Scale of the muzzle flash. |
|
faluco@1039
|
122 |
* @param Type Muzzle flash type to render (Mod specific). |
|
faluco@1039
|
123 |
* @noreturn |
|
faluco@1039
|
124 |
*/ |
|
faluco@1039
|
125 |
stock TE_SetupMuzzleFlash(const Float:pos[3], const Float:angles[3], Float:Scale, Type) |
|
faluco@1039
|
126 |
{ |
|
faluco@1039
|
127 |
TE_Start("MuzzleFlash"); |
|
faluco@1039
|
128 |
TE_WriteVector("m_vecOrigin", pos); |
|
faluco@1039
|
129 |
TE_WriteVector("m_vecAngles", angles); |
|
faluco@1039
|
130 |
TE_WriteFloat("m_flScale", Scale); |
|
faluco@1039
|
131 |
TE_WriteNum("m_nType", Type); |
|
faluco@1039
|
132 |
} |
|
faluco@1039
|
133 |
|
|
faluco@1039
|
134 |
/** |
|
faluco@1039
|
135 |
* Sets up a metal sparks effect. |
|
faluco@1039
|
136 |
* |
|
faluco@1039
|
137 |
* @param pos Position of the metal sparks. |
|
faluco@1039
|
138 |
* @param dir Direction of the metal sparks. |
|
faluco@1039
|
139 |
* @noreturn |
|
faluco@1039
|
140 |
*/ |
|
faluco@1039
|
141 |
stock TE_SetupMetalSparks(const Float:pos[3], const Float:dir[3]) |
|
faluco@1039
|
142 |
{ |
|
faluco@1039
|
143 |
TE_Start("Metal Sparks"); |
|
faluco@1039
|
144 |
TE_WriteVector("m_vecPos", pos); |
|
faluco@1039
|
145 |
TE_WriteVector("m_vecDir", dir); |
|
faluco@1039
|
146 |
} |
|
faluco@1039
|
147 |
|
|
faluco@1039
|
148 |
/** |
|
faluco@1039
|
149 |
* Sets up an energy splash effect. |
|
faluco@1039
|
150 |
* |
|
faluco@1039
|
151 |
* @param pos Position of the energy splash. |
|
faluco@1039
|
152 |
* @param dir Direction of the energy splash. |
|
faluco@1039
|
153 |
* @param Explosive Makes the effect explosive. |
|
faluco@1039
|
154 |
* @noreturn |
|
faluco@1039
|
155 |
*/ |
|
faluco@1039
|
156 |
stock TE_SetupEnergySplash(const Float:pos[3], const Float:dir[3], bool:Explosive) |
|
faluco@1039
|
157 |
{ |
|
faluco@1039
|
158 |
TE_Start("Energy Splash"); |
|
faluco@1039
|
159 |
TE_WriteVector("m_vecPos", pos); |
|
faluco@1039
|
160 |
TE_WriteVector("m_vecDir", dir); |
|
faluco@1039
|
161 |
TE_WriteNum("m_bExplosive", Explosive); |
|
faluco@1039
|
162 |
} |
|
faluco@1039
|
163 |
|
|
faluco@1039
|
164 |
/** |
|
faluco@1039
|
165 |
* Sets up an armor ricochet effect. |
|
faluco@1039
|
166 |
* |
|
faluco@1039
|
167 |
* @param pos Position of the armor ricochet. |
|
faluco@1039
|
168 |
* @param dir Directon of the armor ricochet. |
|
faluco@1039
|
169 |
* @noreturn |
|
faluco@1039
|
170 |
*/ |
|
faluco@1039
|
171 |
stock TE_SetupArmorRicochet(const Float:pos[3], const Float:dir[3]) |
|
faluco@1039
|
172 |
{ |
|
faluco@1039
|
173 |
TE_Start("Armor Ricochet"); |
|
faluco@1039
|
174 |
TE_WriteVector("m_vecPos", pos); |
|
faluco@1039
|
175 |
TE_WriteVector("m_vecDir", dir); |
|
faluco@1039
|
176 |
} |
|
faluco@1039
|
177 |
|
|
faluco@1039
|
178 |
/** |
|
faluco@1039
|
179 |
* Sets up a glowing sprite effect. |
|
faluco@1039
|
180 |
* |
|
faluco@1039
|
181 |
* @param pos Position of the sprite. |
|
faluco@1039
|
182 |
* @param Model Precached model index. |
|
faluco@1039
|
183 |
* @param Life Time duration of the sprite. |
|
faluco@1039
|
184 |
* @param Size Sprite size. |
|
faluco@1039
|
185 |
* @param Brightness Sprite brightness. |
|
faluco@1039
|
186 |
* @noreturn |
|
faluco@1039
|
187 |
*/ |
|
faluco@1039
|
188 |
stock TE_SetupGlowSprite(const Float:pos[3], Model, Float:Life, Float:Size, Brightness) |
|
faluco@1039
|
189 |
{ |
|
faluco@1039
|
190 |
TE_Start("GlowSprite"); |
|
faluco@1039
|
191 |
TE_WriteVector("m_vecOrigin", pos); |
|
faluco@1039
|
192 |
TE_WriteNum("m_nModelIndex", Model); |
|
faluco@1039
|
193 |
TE_WriteFloat("m_fScale", Size); |
|
faluco@1039
|
194 |
TE_WriteFloat("m_fLife", Life); |
|
faluco@1039
|
195 |
TE_WriteNum("m_nBrightness", Brightness); |
|
faluco@1039
|
196 |
} |
|
faluco@1039
|
197 |
|
|
faluco@1039
|
198 |
/** |
|
faluco@1039
|
199 |
* Sets up a explosion effect. |
|
faluco@1039
|
200 |
* |
|
faluco@1039
|
201 |
* @param pos Explosion position. |
|
faluco@1039
|
202 |
* @param Model Precached model index. |
|
faluco@1039
|
203 |
* @param Scale Explosion scale. |
|
faluco@1039
|
204 |
* @param Framerate Explosion frame rate. |
|
faluco@1039
|
205 |
* @param Flags Explosion flags. |
|
faluco@1039
|
206 |
* @param Radius Explosion radius. |
|
faluco@1039
|
207 |
* @param Magnitude Explosion size. |
|
faluco@1039
|
208 |
* @param normal Normal vector to the explosion. |
|
faluco@1039
|
209 |
* @param MaterialType Exploded material type. |
|
faluco@1039
|
210 |
* @noreturn |
|
faluco@1039
|
211 |
*/ |
|
faluco@1039
|
212 |
stock TE_SetupExplosion(const Float:pos[3], Model, Float:Scale, Framerate, Flags, Radius, Magnitude, const Float:normal[3]={0.0, 0.0, 1.0}, MaterialType='C') |
|
faluco@1039
|
213 |
{ |
|
faluco@1039
|
214 |
TE_Start("Explosion"); |
|
faluco@1039
|
215 |
TE_WriteVector("m_vecOrigin[0]", pos); |
|
faluco@1039
|
216 |
TE_WriteVector("m_vecNormal", normal); |
|
faluco@1039
|
217 |
TE_WriteNum("m_nModelIndex", Model); |
|
faluco@1039
|
218 |
TE_WriteFloat("m_fScale", Scale); |
|
faluco@1039
|
219 |
TE_WriteNum("m_nFrameRate", Framerate); |
|
faluco@1039
|
220 |
TE_WriteNum("m_nFlags", Flags); |
|
faluco@1039
|
221 |
TE_WriteNum("m_nRadius", Radius); |
|
faluco@1039
|
222 |
TE_WriteNum("m_nMagnitude", Magnitude); |
|
faluco@1039
|
223 |
TE_WriteNum("m_chMaterialType", MaterialType); |
|
faluco@1039
|
224 |
} |
|
faluco@1039
|
225 |
|
|
faluco@1039
|
226 |
/** |
|
faluco@1039
|
227 |
* Sets up a blood sprite effect. |
|
faluco@1039
|
228 |
* |
|
faluco@1039
|
229 |
* @param pos Position of the sprite. |
|
faluco@1039
|
230 |
* @param dir Sprite direction. |
|
faluco@1039
|
231 |
* @param color Color array (r, g, b, a). |
|
faluco@1039
|
232 |
* @param Size Sprite size. |
|
faluco@1039
|
233 |
* @param SprayModel Precached model index. |
|
faluco@1039
|
234 |
* @param BloodDropModel Precached model index. |
|
faluco@1039
|
235 |
* @noreturn |
|
faluco@1039
|
236 |
*/ |
|
faluco@1039
|
237 |
stock TE_SetupBloodSprite(const Float:pos[3], const Float:dir[3], const color[4], Size, SprayModel, BloodDropModel) |
|
faluco@1039
|
238 |
{ |
|
faluco@1039
|
239 |
TE_Start("Blood Sprite"); |
|
faluco@1039
|
240 |
TE_WriteVector("m_vecOrigin", pos); |
|
faluco@1039
|
241 |
TE_WriteVector("m_vecDirection", dir); |
|
faluco@1039
|
242 |
TE_WriteNum("r", color[0]); |
|
faluco@1039
|
243 |
TE_WriteNum("g", color[1]); |
|
faluco@1039
|
244 |
TE_WriteNum("b", color[2]); |
|
faluco@1039
|
245 |
TE_WriteNum("a", color[3]); |
|
faluco@1039
|
246 |
TE_WriteNum("m_nSize", Size); |
|
faluco@1039
|
247 |
TE_WriteNum("m_nSprayModel", SprayModel); |
|
faluco@1039
|
248 |
TE_WriteNum("m_nDropModel", BloodDropModel); |
|
faluco@1039
|
249 |
} |
|
faluco@1039
|
250 |
|
|
faluco@1039
|
251 |
/** |
|
faluco@1039
|
252 |
* Sets up a beam ring point effect. |
|
faluco@1039
|
253 |
* |
|
faluco@1039
|
254 |
* @param center Center position of the ring. |
|
faluco@1039
|
255 |
* @param Start_Radius Initial ring radius. |
|
faluco@1039
|
256 |
* @param End_Radius Final ring radius. |
|
faluco@1039
|
257 |
* @param ModelIndex Precached model index. |
|
faluco@1039
|
258 |
* @param HaloIndex Precached model index. |
|
faluco@1039
|
259 |
* @param StartFrame Initital frame to render. |
|
faluco@1039
|
260 |
* @param FrameRate Ring frame rate. |
|
faluco@1039
|
261 |
* @param Life Time duration of the ring. |
|
faluco@1039
|
262 |
* @param Width Beam width. |
|
faluco@1039
|
263 |
* @param Amplitude Beam amplitude. |
|
faluco@1039
|
264 |
* @param color Color array (r, g, b, a). |
|
faluco@1039
|
265 |
* @param Speed Speed of the beam. |
|
faluco@1039
|
266 |
* @param Flags Beam flags. |
|
faluco@1039
|
267 |
* @noreturn |
|
faluco@1039
|
268 |
*/ |
|
faluco@1039
|
269 |
stock TE_SetupBeamRingPoint(const Float:center[3], Float:Start_Radius, Float:End_Radius, ModelIndex, HaloIndex, StartFrame, |
|
faluco@1039
|
270 |
FrameRate, Float:Life, Float:Width, Float:Amplitude, const Color[4], Speed, Flags) |
|
faluco@1039
|
271 |
{ |
|
faluco@1039
|
272 |
TE_Start("BeamRingPoint"); |
|
faluco@1039
|
273 |
TE_WriteVector("m_vecCenter", center); |
|
faluco@1039
|
274 |
TE_WriteFloat("m_flStartRadius", Start_Radius); |
|
faluco@1039
|
275 |
TE_WriteFloat("m_flEndRadius", End_Radius); |
|
faluco@1039
|
276 |
TE_WriteNum("m_nModelIndex", ModelIndex); |
|
faluco@1039
|
277 |
TE_WriteNum("m_nHaloIndex", HaloIndex); |
|
faluco@1039
|
278 |
TE_WriteNum("m_nStartFrame", StartFrame); |
|
faluco@1039
|
279 |
TE_WriteNum("m_nFrameRate", FrameRate); |
|
faluco@1039
|
280 |
TE_WriteFloat("m_fLife", Life); |
|
faluco@1039
|
281 |
TE_WriteFloat("m_fWidth", Width); |
|
faluco@1039
|
282 |
TE_WriteFloat("m_fEndWidth", Width); |
|
faluco@1039
|
283 |
TE_WriteFloat("m_fAmplitude", Amplitude); |
|
faluco@1039
|
284 |
TE_WriteNum("r", Color[0]); |
|
faluco@1039
|
285 |
TE_WriteNum("g", Color[1]); |
|
faluco@1039
|
286 |
TE_WriteNum("b", Color[2]); |
|
faluco@1039
|
287 |
TE_WriteNum("a", Color[3]); |
|
faluco@1039
|
288 |
TE_WriteNum("m_nSpeed", Speed); |
|
faluco@1039
|
289 |
TE_WriteNum("m_nFlags", Flags); |
|
faluco@1039
|
290 |
TE_WriteNum("m_nFadeLength", 0); |
|
faluco@1039
|
291 |
} |
|
faluco@1039
|
292 |
|
|
faluco@1039
|
293 |
/** |
|
faluco@1039
|
294 |
* Sets up a point to point beam effect. |
|
faluco@1039
|
295 |
* |
|
faluco@1039
|
296 |
* @param start Start position of the beam. |
|
faluco@1039
|
297 |
* @param end End position of the beam. |
|
faluco@1039
|
298 |
* @param ModelIndex Precached model index. |
|
faluco@1039
|
299 |
* @param HaloIndex Precached model index. |
|
faluco@1039
|
300 |
* @param StartFrame Initital frame to render. |
|
faluco@1039
|
301 |
* @param FrameRate Beam frame rate. |
|
faluco@1039
|
302 |
* @param Life Time duration of the beam. |
|
faluco@1039
|
303 |
* @param Width Initial beam width. |
|
faluco@1039
|
304 |
* @param EndWidth Final beam width. |
|
faluco@1039
|
305 |
* @param FadeLength Beam fade time duration. |
|
faluco@1039
|
306 |
* @param Amplitude Beam amplitude. |
|
faluco@1039
|
307 |
* @param color Color array (r, g, b, a). |
|
faluco@1039
|
308 |
* @param Speed Speed of the beam. |
|
faluco@1039
|
309 |
* @noreturn |
|
faluco@1039
|
310 |
*/ |
|
faluco@1039
|
311 |
stock TE_SetupBeamPoints(const Float:start[3], const Float:end[3], ModelIndex, HaloIndex, StartFrame, FrameRate, Float:Life, |
|
faluco@1039
|
312 |
Float:Width, Float:EndWidth, FadeLength, Float:Amplitude, const Color[4], Speed) |
|
faluco@1039
|
313 |
{ |
|
faluco@1039
|
314 |
TE_Start("BeamPoints"); |
|
faluco@1039
|
315 |
TE_WriteVector("m_vecStartPoint", start); |
|
faluco@1039
|
316 |
TE_WriteVector("m_vecEndPoint", end); |
|
faluco@1039
|
317 |
TE_WriteNum("m_nModelIndex", ModelIndex); |
|
faluco@1039
|
318 |
TE_WriteNum("m_nHaloIndex", HaloIndex); |
|
faluco@1039
|
319 |
TE_WriteNum("m_nStartFrame", StartFrame); |
|
faluco@1039
|
320 |
TE_WriteNum("m_nFrameRate", FrameRate); |
|
faluco@1039
|
321 |
TE_WriteFloat("m_fLife", Life); |
|
faluco@1039
|
322 |
TE_WriteFloat("m_fWidth", Width); |
|
faluco@1039
|
323 |
TE_WriteFloat("m_fEndWidth", EndWidth); |
|
faluco@1039
|
324 |
TE_WriteFloat("m_fAmplitude", Amplitude); |
|
faluco@1039
|
325 |
TE_WriteNum("r", Color[0]); |
|
faluco@1039
|
326 |
TE_WriteNum("g", Color[1]); |
|
faluco@1039
|
327 |
TE_WriteNum("b", Color[2]); |
|
faluco@1039
|
328 |
TE_WriteNum("a", Color[3]); |
|
faluco@1039
|
329 |
TE_WriteNum("m_nSpeed", Speed); |
|
faluco@1039
|
330 |
TE_WriteNum("m_nFadeLength", FadeLength); |
|
faluco@1039
|
331 |
} |
|
faluco@1039
|
332 |
|
|
faluco@1039
|
333 |
/** |
|
faluco@1039
|
334 |
* Sets up an entity to entity laser effect. |
|
faluco@1039
|
335 |
* |
|
faluco@1039
|
336 |
* @param StartEntity Entity index from where the beam starts. |
|
faluco@1039
|
337 |
* @param EndEntity Entity index from where the beam ends. |
|
faluco@1039
|
338 |
* @param ModelIndex Precached model index. |
|
faluco@1039
|
339 |
* @param HaloIndex Precached model index. |
|
faluco@1039
|
340 |
* @param StartFrame Initital frame to render. |
|
faluco@1039
|
341 |
* @param FrameRate Beam frame rate. |
|
faluco@1039
|
342 |
* @param Life Time duration of the beam. |
|
faluco@1039
|
343 |
* @param Width Initial beam width. |
|
faluco@1039
|
344 |
* @param EndWidth Final beam width. |
|
faluco@1039
|
345 |
* @param FadeLength Beam fade time duration. |
|
faluco@1039
|
346 |
* @param Amplitude Beam amplitude. |
|
faluco@1039
|
347 |
* @param color Color array (r, g, b, a). |
|
faluco@1039
|
348 |
* @param Speed Speed of the beam. |
|
faluco@1039
|
349 |
* @noreturn |
|
faluco@1039
|
350 |
*/ |
|
faluco@1039
|
351 |
stock TE_SetupBeamLaser(StartEntity, EndEntity, ModelIndex, HaloIndex, StartFrame, FrameRate, Float:Life, |
|
faluco@1039
|
352 |
Float:Width, Float:EndWidth, FadeLength, Float:Amplitude, const Color[4], Speed) |
|
faluco@1039
|
353 |
{ |
|
faluco@1039
|
354 |
TE_Start("BeamLaser"); |
|
faluco@1039
|
355 |
TE_WriteEncodedEnt("m_nStartEntity", StartEntity); |
|
faluco@1039
|
356 |
TE_WriteEncodedEnt("m_nEndEntity", EndEntity); |
|
faluco@1039
|
357 |
TE_WriteNum("m_nModelIndex", ModelIndex); |
|
faluco@1039
|
358 |
TE_WriteNum("m_nHaloIndex", HaloIndex); |
|
faluco@1039
|
359 |
TE_WriteNum("m_nStartFrame", StartFrame); |
|
faluco@1039
|
360 |
TE_WriteNum("m_nFrameRate", FrameRate); |
|
faluco@1039
|
361 |
TE_WriteFloat("m_fLife", Life); |
|
faluco@1039
|
362 |
TE_WriteFloat("m_fWidth", Width); |
|
faluco@1039
|
363 |
TE_WriteFloat("m_fEndWidth", EndWidth); |
|
faluco@1039
|
364 |
TE_WriteFloat("m_fAmplitude", Amplitude); |
|
faluco@1039
|
365 |
TE_WriteNum("r", Color[0]); |
|
faluco@1039
|
366 |
TE_WriteNum("g", Color[1]); |
|
faluco@1039
|
367 |
TE_WriteNum("b", Color[2]); |
|
faluco@1039
|
368 |
TE_WriteNum("a", Color[3]); |
|
faluco@1039
|
369 |
TE_WriteNum("m_nSpeed", Speed); |
|
faluco@1039
|
370 |
TE_WriteNum("m_nFadeLength", FadeLength); |
|
faluco@1039
|
371 |
} |
|
faluco@1039
|
372 |
|
|
faluco@1039
|
373 |
/** |
|
faluco@1039
|
374 |
* Sets up a beam ring effect. |
|
faluco@1039
|
375 |
* |
|
faluco@1039
|
376 |
* @param StartEntity Entity index from where the ring starts. |
|
faluco@1039
|
377 |
* @param EndEntity Entity index from where the ring ends. |
|
faluco@1039
|
378 |
* @param ModelIndex Precached model index. |
|
faluco@1039
|
379 |
* @param HaloIndex Precached model index. |
|
faluco@1039
|
380 |
* @param StartFrame Initital frame to render. |
|
faluco@1039
|
381 |
* @param FrameRate Ring frame rate. |
|
faluco@1039
|
382 |
* @param Life Time duration of the ring. |
|
faluco@1039
|
383 |
* @param Width Beam width. |
|
faluco@1039
|
384 |
* @param Amplitude Beam amplitude. |
|
faluco@1039
|
385 |
* @param color Color array (r, g, b, a). |
|
faluco@1039
|
386 |
* @param Speed Speed of the beam. |
|
faluco@1039
|
387 |
* @param Flags Beam flags. |
|
faluco@1039
|
388 |
* @noreturn |
|
faluco@1039
|
389 |
*/ |
|
dvander@1058
|
390 |
stock TE_SetupBeamRing(StartEntity, EndEntity, ModelIndex, HaloIndex, StartFrame, FrameRate, Float:Life, Float:Width, Float:Amplitude, const Color[4], Speed, Flags) |
|
faluco@1039
|
391 |
{ |
|
faluco@1039
|
392 |
TE_Start("BeamRing"); |
|
faluco@1039
|
393 |
TE_WriteEncodedEnt("m_nStartEntity", StartEntity); |
|
faluco@1039
|
394 |
TE_WriteEncodedEnt("m_nEndEntity", EndEntity); |
|
faluco@1039
|
395 |
TE_WriteNum("m_nModelIndex", ModelIndex); |
|
faluco@1039
|
396 |
TE_WriteNum("m_nHaloIndex", HaloIndex); |
|
faluco@1039
|
397 |
TE_WriteNum("m_nStartFrame", StartFrame); |
|
faluco@1039
|
398 |
TE_WriteNum("m_nFrameRate", FrameRate); |
|
faluco@1039
|
399 |
TE_WriteFloat("m_fLife", Life); |
|
faluco@1039
|
400 |
TE_WriteFloat("m_fWidth", Width); |
|
faluco@1039
|
401 |
TE_WriteFloat("m_fEndWidth", Width); |
|
faluco@1039
|
402 |
TE_WriteFloat("m_fAmplitude", Amplitude); |
|
faluco@1039
|
403 |
TE_WriteNum("r", Color[0]); |
|
faluco@1039
|
404 |
TE_WriteNum("g", Color[1]); |
|
faluco@1039
|
405 |
TE_WriteNum("b", Color[2]); |
|
faluco@1039
|
406 |
TE_WriteNum("a", Color[3]); |
|
faluco@1039
|
407 |
TE_WriteNum("m_nSpeed", Speed); |
|
faluco@1039
|
408 |
TE_WriteNum("m_nFadeLength", 0); |
|
faluco@1039
|
409 |
TE_WriteNum("m_nFlags", Flags); |
|
faluco@1039
|
410 |
} |
|
faluco@1039
|
411 |
|
|
faluco@1039
|
412 |
/** |
|
faluco@1039
|
413 |
* Sets up a follow beam effect. |
|
faluco@1039
|
414 |
* |
|
faluco@1039
|
415 |
* @param EntIndex Entity index from where the beam starts. |
|
faluco@1039
|
416 |
* @param ModelIndex Precached model index. |
|
faluco@1039
|
417 |
* @param HaloIndex Precached model index. |
|
faluco@1039
|
418 |
* @param Life Time duration of the beam. |
|
faluco@1039
|
419 |
* @param Width Initial beam width. |
|
faluco@1039
|
420 |
* @param EndWidth Final beam width. |
|
faluco@1039
|
421 |
* @param FadeLength Beam fade time duration. |
|
faluco@1039
|
422 |
* @param color Color array (r, g, b, a). |
|
faluco@1039
|
423 |
* @noreturn |
|
faluco@1039
|
424 |
*/ |
|
dvander@1058
|
425 |
stock TE_SetupBeamFollow(EntIndex, ModelIndex, HaloIndex, Float:Life, Float:Width, Float:EndWidth, FadeLength, const Color[4]) |
|
faluco@1039
|
426 |
{ |
|
faluco@1039
|
427 |
TE_Start("BeamFollow"); |
|
faluco@1039
|
428 |
TE_WriteEncodedEnt("m_iEntIndex", EntIndex); |
|
faluco@1039
|
429 |
TE_WriteNum("m_nModelIndex", ModelIndex); |
|
faluco@1039
|
430 |
TE_WriteNum("m_nHaloIndex", HaloIndex); |
|
faluco@1039
|
431 |
TE_WriteNum("m_nStartFrame", 0); |
|
faluco@1039
|
432 |
TE_WriteNum("m_nFrameRate", 0); |
|
faluco@1039
|
433 |
TE_WriteFloat("m_fLife", Life); |
|
faluco@1039
|
434 |
TE_WriteFloat("m_fWidth", Width); |
|
faluco@1039
|
435 |
TE_WriteFloat("m_fEndWidth", EndWidth); |
|
faluco@1039
|
436 |
TE_WriteNum("m_nFadeLength", FadeLength); |
|
faluco@1039
|
437 |
TE_WriteNum("r", Color[0]); |
|
faluco@1039
|
438 |
TE_WriteNum("g", Color[1]); |
|
faluco@1039
|
439 |
TE_WriteNum("b", Color[2]); |
|
faluco@1039
|
440 |
TE_WriteNum("a", Color[3]); |
|
faluco@1039
|
441 |
} |