- if(prog->argc >= 4)
- {
- v = PRVM_G_VECTOR(OFS_PARM2);
- n = PRVM_G_FLOAT(OFS_PARM3);
- }
- else
- {
- v = vec3_origin;
- n = 15;
- }
-
- if(i >= particleeffects_num)
- return;
-
- switch(i)
- {
- case TE_SPIKE:
- case TE_SPIKEQUAD:
- case TE_GUNSHOT:
- case TE_GUNSHOTQUAD:
- CL_SparkShower(f, v, 15, 1, 0);
- CL_Smoke(f, v, 15, 0);
- if (cl_particles_bulletimpacts.integer)
- CL_BulletMark(f);
- break;
- case TE_SUPERSPIKE:
- case TE_SUPERSPIKEQUAD:
- CL_SparkShower(f, v, 30, 1, 0);
- CL_Smoke(f, v, 30, 0);
- if (cl_particles_bulletimpacts.integer)
- CL_BulletMark(f);
- break;
- case TE_EXPLOSION:
- case TE_EXPLOSIONQUAD:
- case TE_TEI_BIGEXPLOSION:
- CL_ParticleExplosion(f);
- break;
- case TE_TAREXPLOSION:
- CL_BlobExplosion(f);
- break;
- case TE_WIZSPIKE:
- CL_RunParticleEffect(f, v, 20, 30);
- break;
- case TE_KNIGHTSPIKE:
- CL_RunParticleEffect(f, v, 226, 20);
- break;
- case TE_LAVASPLASH:
- CL_LavaSplash(f);
- break;
- case TE_TELEPORT:
- CL_TeleportSplash(f);
- break;
- case TE_EXPLOSION2:
- case TE_EXPLOSION3:
- case TE_EXPLOSIONRGB:
- CL_ParticleExplosion2(f, v[0], v[1]);
- break;
- case TE_BLOOD:
- CL_BloodPuff(f, v, n);
- break;
- case TE_SPARK:
- CL_SparkShower(f, v, n, 1, 0);
- break;
- case TE_FLAMEJET:
- CL_Flames(f, v, n);
- break;
- case TE_PLASMABURN:
- CL_PlasmaBurn(f);
- break;
- case TE_TEI_G3:
- CL_BeamParticle(f, v, 8, 1, 1, 1, 1, 1);
- break;
- case TE_TEI_SMOKE:
- CL_Tei_Smoke(f, v, n);
- break;
- case TE_TEI_PLASMAHIT:
- CL_Tei_PlasmaHit(f, v, n);
- break;
- default:break;
- }
+ v = PRVM_G_VECTOR(OFS_PARM2);
+ n = (int)PRVM_G_FLOAT(OFS_PARM3);
+ CL_ParticleEffect(i, n, f, f, v, v, NULL, 0);