1
/************************************************************************************
3
AstroMenace (Hardcore 3D space shooter with spaceship upgrade possibilities)
4
Copyright Ā© 2006-2012 Michael Kurinnoy, Viewizard
7
AstroMenace is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation, either version 3 of the License, or
10
(at your option) any later version.
12
AstroMenace is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
17
You should have received a copy of the GNU General Public License
18
along with AstroMenace. If not, see <http://www.gnu.org/licenses/>.
21
Web Site: http://www.viewizard.com/
22
Project: http://sourceforge.net/projects/openastromenace/
23
E-mail: viewizard@viewizard.com
25
*************************************************************************************/
28
/// ŠæŠ¾Š“ŠŗŠ»ŃŃŠ°ŠµŠ¼ Š½ŃŠ¶Š½ŃŠµ ŃŠ°Š¹Š»Ń
36
//-----------------------------------------------------------------------------
37
// Š£ŃŃŠ°Š½Š¾Š²ŠŗŠ° Š½ŃŠ¶Š½ŃŃ
Š“Š°Š½Š½ŃŃ
Š“Š»Ń Š²ŃŠæŃŃŠŗŠø Š²Š¾Š·Š»Šµ ŃŃŠ²Š¾Š»Š°
38
//-----------------------------------------------------------------------------
39
void SetWeaponFire(eParticleSystem *ParticleSystem, int WeaponNum)
44
ParticleSystem->ColorStart.r = 1.00f;
45
ParticleSystem->ColorStart.g = 0.70f;
46
ParticleSystem->ColorStart.b = 0.30f;
47
ParticleSystem->ColorEnd.r = 1.00f;
48
ParticleSystem->ColorEnd.g = 0.70f;
49
ParticleSystem->ColorEnd.b = 0.00f;
50
ParticleSystem->AlphaStart = 0.60f;
51
ParticleSystem->AlphaEnd = 0.10f;
52
ParticleSystem->SizeStart = 0.4f;
53
ParticleSystem->SizeVar = 0.05f;
54
ParticleSystem->SizeEnd = 0.10f;
55
ParticleSystem->Speed = 3.00f;
56
ParticleSystem->SpeedVar = 3.00f;
57
ParticleSystem->Theta = 30.00f;
58
ParticleSystem->Life = 0.40f;
59
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 1.0f, 0.7f, 0.15f, 0.0f, 0.02f);
62
ParticleSystem->ColorStart.r = 1.00f;
63
ParticleSystem->ColorStart.g = 0.50f;
64
ParticleSystem->ColorStart.b = 0.10f;
65
ParticleSystem->ColorEnd.r = 1.00f;
66
ParticleSystem->ColorEnd.g = 0.50f;
67
ParticleSystem->ColorEnd.b = 0.00f;
68
ParticleSystem->AlphaStart = 0.60f;
69
ParticleSystem->AlphaEnd = 0.10f;
70
ParticleSystem->SizeStart = 0.50f;
71
ParticleSystem->SizeVar = 0.05f;
72
ParticleSystem->SizeEnd = 0.10f;
73
ParticleSystem->Speed = 2.00f;
74
ParticleSystem->SpeedVar = 3.00f;
75
ParticleSystem->Theta = 40.00f;
76
ParticleSystem->Life = 0.40f;
77
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 1.0f, 0.5f, 0.05f, 0.0f, 0.02f);
80
ParticleSystem->ColorStart.r = 1.00f;
81
ParticleSystem->ColorStart.g = 0.50f;
82
ParticleSystem->ColorStart.b = 0.10f;
83
ParticleSystem->ColorEnd.r = 1.00f;
84
ParticleSystem->ColorEnd.g = 0.50f;
85
ParticleSystem->ColorEnd.b = 0.00f;
86
ParticleSystem->AlphaStart = 0.60f;
87
ParticleSystem->AlphaEnd = 0.10f;
88
ParticleSystem->SizeStart = 0.60f;
89
ParticleSystem->SizeVar = 0.05f;
90
ParticleSystem->SizeEnd = 0.10f;
91
ParticleSystem->Speed = 1.00f;
92
ParticleSystem->SpeedVar = 3.00f;
93
ParticleSystem->Theta = 50.00f;
94
ParticleSystem->Life = 0.50f;
95
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 1.0f, 0.5f, 0.05f, 0.0f, 0.02f);
98
ParticleSystem->ColorStart.r = 1.00f;
99
ParticleSystem->ColorStart.g = 0.70f;
100
ParticleSystem->ColorStart.b = 0.30f;
101
ParticleSystem->ColorEnd.r = 1.00f;
102
ParticleSystem->ColorEnd.g = 0.70f;
103
ParticleSystem->ColorEnd.b = 0.00f;
104
ParticleSystem->AlphaStart = 0.60f;
105
ParticleSystem->AlphaEnd = 0.10f;
106
ParticleSystem->SizeStart = 0.30f;
107
ParticleSystem->SizeVar = 0.05f;
108
ParticleSystem->SizeEnd = 0.10f;
109
ParticleSystem->Speed = 3.00f;
110
ParticleSystem->SpeedVar = 3.00f;
111
ParticleSystem->Theta = 30.00f;
112
ParticleSystem->Life = 0.50f;
113
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 1.0f, 0.7f, 0.15f, 0.0f, 0.02f);
116
ParticleSystem->ColorStart.r = 0.70f;
117
ParticleSystem->ColorStart.g = 1.00f;
118
ParticleSystem->ColorStart.b = 0.70f;
119
ParticleSystem->ColorEnd.r = 0.00f;
120
ParticleSystem->ColorEnd.g = 0.00f;
121
ParticleSystem->ColorEnd.b = 0.00f;
122
ParticleSystem->AlphaStart = 0.60f;
123
ParticleSystem->AlphaEnd = 0.00f;
124
ParticleSystem->SizeStart = 0.30f;
125
ParticleSystem->SizeEnd = 0.00f;
126
ParticleSystem->Speed = 4.00f;
127
ParticleSystem->SpeedVar = 1.00f;
128
ParticleSystem->Theta = 10.00f;
129
ParticleSystem->Life = 0.40f;
130
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 0.35f, 0.5f, 0.35f, 0.0f, 0.02f);
133
ParticleSystem->ColorStart.r = 0.70f;
134
ParticleSystem->ColorStart.g = 1.00f;
135
ParticleSystem->ColorStart.b = 0.70f;
136
ParticleSystem->ColorEnd.r = 0.00f;
137
ParticleSystem->ColorEnd.g = 0.00f;
138
ParticleSystem->ColorEnd.b = 0.00f;
139
ParticleSystem->AlphaStart = 0.60f;
140
ParticleSystem->AlphaEnd = 0.20f;
141
ParticleSystem->SizeStart = 0.50f;
142
ParticleSystem->SizeEnd = 0.20f;
143
ParticleSystem->Speed = 3.00f;
144
ParticleSystem->SpeedVar = 1.00f;
145
ParticleSystem->Theta = 20.00f;
146
ParticleSystem->Life = 0.40f;
147
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 0.35f, 0.5f, 0.35f, 0.0f, 0.02f);
150
ParticleSystem->ColorStart.r = 0.70f;
151
ParticleSystem->ColorStart.g = 1.00f;
152
ParticleSystem->ColorStart.b = 0.70f;
153
ParticleSystem->ColorEnd.r = 0.00f;
154
ParticleSystem->ColorEnd.g = 0.00f;
155
ParticleSystem->ColorEnd.b = 0.00f;
156
ParticleSystem->AlphaStart = 0.60f;
157
ParticleSystem->AlphaEnd = 0.20f;
158
ParticleSystem->SizeStart = 0.50f;
159
ParticleSystem->SizeEnd = 0.20f;
160
ParticleSystem->Speed = 6.00f;
161
ParticleSystem->SpeedVar = 1.00f;
162
ParticleSystem->Theta = 10.00f;
163
ParticleSystem->Life = 0.40f;
164
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 0.35f, 0.5f, 0.35f, 0.0f, 0.02f);
167
ParticleSystem->ColorStart.r = 0.00f;
168
ParticleSystem->ColorStart.g = 0.50f;
169
ParticleSystem->ColorStart.b = 1.00f;
170
ParticleSystem->ColorEnd.r = 0.70f;
171
ParticleSystem->ColorEnd.g = 1.00f;
172
ParticleSystem->ColorEnd.b = 1.00f;
173
ParticleSystem->AlphaStart = 0.60f;
174
ParticleSystem->AlphaEnd = 0.10f;
175
ParticleSystem->SizeStart = 0.2f;
176
ParticleSystem->SizeVar = 0.05f;
177
ParticleSystem->SizeEnd = 0.2f;
178
ParticleSystem->Speed = 4.00f;
179
ParticleSystem->SpeedVar = 3.00f;
180
ParticleSystem->Theta = 0.00f;
181
ParticleSystem->Life = 0.30f;
182
ParticleSystem->CreationType = 1;
183
ParticleSystem->CreationSize = VECTOR3D(0.4f,0.4f,0.4f);
184
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 0.35f, 0.75f, 1.0f, 0.0f, 0.02f);
187
ParticleSystem->ColorStart.r = 0.00f;
188
ParticleSystem->ColorStart.g = 0.50f;
189
ParticleSystem->ColorStart.b = 1.00f;
190
ParticleSystem->ColorEnd.r = 0.70f;
191
ParticleSystem->ColorEnd.g = 1.00f;
192
ParticleSystem->ColorEnd.b = 1.00f;
193
ParticleSystem->AlphaStart = 0.60f;
194
ParticleSystem->AlphaEnd = 0.10f;
195
ParticleSystem->SizeStart = 0.15f;
196
ParticleSystem->SizeVar = 0.05f;
197
ParticleSystem->SizeEnd = 0.15f;
198
ParticleSystem->Speed = 3.00f;
199
ParticleSystem->SpeedVar = 3.00f;
200
ParticleSystem->Theta = 0.00f;
201
ParticleSystem->Life = 0.40f;
202
ParticleSystem->CreationType = 1;
203
ParticleSystem->CreationSize = VECTOR3D(0.3f,0.3f,0.3f);
204
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 0.35f, 0.75f, 1.0f, 0.0f, 0.02f);
207
ParticleSystem->ColorStart.r = 0.00f;
208
ParticleSystem->ColorStart.g = 0.50f;
209
ParticleSystem->ColorStart.b = 1.00f;
210
ParticleSystem->ColorEnd.r = 0.70f;
211
ParticleSystem->ColorEnd.g = 1.00f;
212
ParticleSystem->ColorEnd.b = 1.00f;
213
ParticleSystem->AlphaStart = 0.60f;
214
ParticleSystem->AlphaEnd = 0.10f;
215
ParticleSystem->SizeStart = 0.30f;
216
ParticleSystem->SizeVar = 0.05f;
217
ParticleSystem->SizeEnd = 0.30f;
218
ParticleSystem->Speed = 3.00f;
219
ParticleSystem->SpeedVar = 3.00f;
220
ParticleSystem->Theta = 0.00f;
221
ParticleSystem->Life = 0.50f;
222
ParticleSystem->CreationType = 1;
223
ParticleSystem->CreationSize = VECTOR3D(0.3f,0.3f,0.3f);
224
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 0.35f, 0.75f, 1.0f, 0.0f, 0.02f);
230
ParticleSystem->ColorStart.r = 0.70f;
231
ParticleSystem->ColorStart.g = 1.00f;
232
ParticleSystem->ColorStart.b = 0.30f;
233
ParticleSystem->ColorEnd.r = 0.00f;
234
ParticleSystem->ColorEnd.g = 1.00f;
235
ParticleSystem->ColorEnd.b = 0.00f;
236
ParticleSystem->AlphaStart = 0.60f;
237
ParticleSystem->AlphaEnd = 0.60f;
238
ParticleSystem->SizeStart = 0.1f;
239
ParticleSystem->SizeVar = 0.05f;
240
ParticleSystem->SizeEnd = 0.00f;
241
ParticleSystem->Speed = 3.00f;
242
ParticleSystem->SpeedVar = 3.00f;
243
ParticleSystem->Theta = 30.00f;
244
ParticleSystem->Life = 0.30f;
245
ParticleSystem->IsAttractive = true;
246
ParticleSystem->ParticlesPerSec = 20;
247
ParticleSystem->CreationType = 1;
248
ParticleSystem->CreationSize = VECTOR3D(0.3f,0.2f,0.3f);
251
ParticleSystem->ColorStart.r = 0.70f;
252
ParticleSystem->ColorStart.g = 1.00f;
253
ParticleSystem->ColorStart.b = 0.30f;
254
ParticleSystem->ColorEnd.r = 0.00f;
255
ParticleSystem->ColorEnd.g = 1.00f;
256
ParticleSystem->ColorEnd.b = 0.00f;
257
ParticleSystem->AlphaStart = 0.60f;
258
ParticleSystem->AlphaEnd = 0.60f;
259
ParticleSystem->SizeStart = 0.1f;
260
ParticleSystem->SizeVar = 0.05f;
261
ParticleSystem->SizeEnd = 0.00f;
262
ParticleSystem->Speed = 3.00f;
263
ParticleSystem->SpeedVar = 3.00f;
264
ParticleSystem->Theta = 30.00f;
265
ParticleSystem->Life = 0.30f;
266
ParticleSystem->IsAttractive = true;
267
ParticleSystem->ParticlesPerSec = 20;
268
ParticleSystem->CreationType = 1;
269
ParticleSystem->CreationSize = VECTOR3D(0.3f,0.2f,0.3f);
272
ParticleSystem->ColorStart.r = 0.70f;
273
ParticleSystem->ColorStart.g = 1.00f;
274
ParticleSystem->ColorStart.b = 0.00f;
275
ParticleSystem->ColorEnd.r = 0.70f;
276
ParticleSystem->ColorEnd.g = 1.00f;
277
ParticleSystem->ColorEnd.b = 0.00f;
278
ParticleSystem->AlphaStart = 0.60f;
279
ParticleSystem->AlphaEnd = 0.10f;
280
ParticleSystem->SizeStart = 0.4f;
281
ParticleSystem->SizeVar = 0.05f;
282
ParticleSystem->SizeEnd = 0.10f;
283
ParticleSystem->Speed = 3.00f;
284
ParticleSystem->SpeedVar = 3.00f;
285
ParticleSystem->Theta = 30.00f;
286
ParticleSystem->Life = 0.40f;
287
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 0.7f, 1.0f, 0.0f, 0.0f, 0.02f);
290
ParticleSystem->ColorStart.r = 1.00f;
291
ParticleSystem->ColorStart.g = 1.00f;
292
ParticleSystem->ColorStart.b = 0.00f;
293
ParticleSystem->ColorEnd.r = 1.00f;
294
ParticleSystem->ColorEnd.g = 1.00f;
295
ParticleSystem->ColorEnd.b = 0.00f;
296
ParticleSystem->AlphaStart = 1.00f;
297
ParticleSystem->AlphaEnd = 1.00f;
298
ParticleSystem->SizeStart = 0.10f;
299
ParticleSystem->SizeVar = 0.05f;
300
ParticleSystem->SizeEnd = 0.00f;
301
ParticleSystem->Speed = 1.00f;
302
ParticleSystem->SpeedVar = 0.00f;
303
ParticleSystem->Theta = 360.00f;
304
ParticleSystem->Life = 0.20f;
305
ParticleSystem->ParticlesPerSec = 200;
306
ParticleSystem->CreationType = 1;
307
ParticleSystem->CreationSize = VECTOR3D(0.2f,0.2f,0.8f);
310
ParticleSystem->ColorStart.r = 1.00f;
311
ParticleSystem->ColorStart.g = 0.50f;
312
ParticleSystem->ColorStart.b = 0.00f;
313
ParticleSystem->ColorEnd.r = 1.00f;
314
ParticleSystem->ColorEnd.g = 0.50f;
315
ParticleSystem->ColorEnd.b = 0.00f;
316
ParticleSystem->AlphaStart = 0.60f;
317
ParticleSystem->AlphaEnd = 0.10f;
318
ParticleSystem->SizeStart = 0.4f;
319
ParticleSystem->SizeVar = 0.05f;
320
ParticleSystem->SizeEnd = 0.10f;
321
ParticleSystem->Speed = 3.00f;
322
ParticleSystem->SpeedVar = 3.00f;
323
ParticleSystem->Theta = 30.00f;
324
ParticleSystem->Life = 0.40f;
325
ParticleSystem->Light = vw_CreatPointLight(VECTOR3D(0.0f,0.0f,0.0f), 1.0f, 0.5f, 0.0f, 0.0f, 0.02f);
328
ParticleSystem->ColorStart.r = 1.00f;
329
ParticleSystem->ColorStart.g = 0.70f;
330
ParticleSystem->ColorStart.b = 0.30f;
331
ParticleSystem->ColorEnd.r = 1.00f;
332
ParticleSystem->ColorEnd.g = 0.70f;
333
ParticleSystem->ColorEnd.b = 0.00f;
334
ParticleSystem->AlphaStart = 0.60f;
335
ParticleSystem->AlphaEnd = 0.10f;
336
ParticleSystem->SizeStart = 0.4f;
337
ParticleSystem->SizeVar = 0.05f;
338
ParticleSystem->SizeEnd = 0.10f;
339
ParticleSystem->Speed = 3.00f;
340
ParticleSystem->SpeedVar = 3.00f;
341
ParticleSystem->Theta = 30.00f;
342
ParticleSystem->Life = 0.40f;
345
ParticleSystem->ColorStart.r = 1.00f;
346
ParticleSystem->ColorStart.g = 0.70f;
347
ParticleSystem->ColorStart.b = 0.30f;
348
ParticleSystem->ColorEnd.r = 1.00f;
349
ParticleSystem->ColorEnd.g = 0.70f;
350
ParticleSystem->ColorEnd.b = 0.00f;
351
ParticleSystem->AlphaStart = 0.60f;
352
ParticleSystem->AlphaEnd = 0.10f;
353
ParticleSystem->SizeStart = 0.4f;
354
ParticleSystem->SizeVar = 0.05f;
355
ParticleSystem->SizeEnd = 0.10f;
356
ParticleSystem->Speed = 3.00f;
357
ParticleSystem->SpeedVar = 3.00f;
358
ParticleSystem->Theta = 30.00f;
359
ParticleSystem->Life = 0.40f;
362
ParticleSystem->ColorStart.r = 1.00f;
363
ParticleSystem->ColorStart.g = 0.70f;
364
ParticleSystem->ColorStart.b = 0.30f;
365
ParticleSystem->ColorEnd.r = 1.00f;
366
ParticleSystem->ColorEnd.g = 0.70f;
367
ParticleSystem->ColorEnd.b = 0.00f;
368
ParticleSystem->AlphaStart = 0.60f;
369
ParticleSystem->AlphaEnd = 0.10f;
370
ParticleSystem->SizeStart = 0.4f;
371
ParticleSystem->SizeVar = 0.05f;
372
ParticleSystem->SizeEnd = 0.10f;
373
ParticleSystem->Speed = 3.00f;
374
ParticleSystem->SpeedVar = 3.00f;
375
ParticleSystem->Theta = 30.00f;
376
ParticleSystem->Life = 0.40f;
379
ParticleSystem->ColorStart.r = 1.00f;
380
ParticleSystem->ColorStart.g = 0.70f;
381
ParticleSystem->ColorStart.b = 0.30f;
382
ParticleSystem->ColorEnd.r = 1.00f;
383
ParticleSystem->ColorEnd.g = 0.70f;
384
ParticleSystem->ColorEnd.b = 0.00f;
385
ParticleSystem->AlphaStart = 0.60f;
386
ParticleSystem->AlphaEnd = 0.10f;
387
ParticleSystem->SizeStart = 0.4f;
388
ParticleSystem->SizeVar = 0.05f;
389
ParticleSystem->SizeEnd = 0.10f;
390
ParticleSystem->Speed = 3.00f;
391
ParticleSystem->SpeedVar = 3.00f;
392
ParticleSystem->Theta = 30.00f;
393
ParticleSystem->Life = 0.40f;
398
ParticleSystem->IsSuppressed = true;
399
ParticleSystem->ParticlesPerSec = 50;
400
ParticleSystem->Texture[0] = vw_FindTextureByName("DATA/GFX/flare1.tga");