FX: Moved all the particle descriptions into the appropriate places.

This commit is contained in:
Marco Cawthorne 2020-04-23 14:24:22 +02:00
parent 090461860e
commit b95f7c37eb
19 changed files with 227 additions and 339 deletions
platform/data.pk3dir/particles
src
client
cstrike
gearbox
hunger
poke646
rewolf
scihunt
tfc
valve
shared
valve/data.pk3dir/particles

View file

@ -1,231 +0,0 @@
r_part beam_tripmine
{
texture "particles/fteparticlefont.tga"
tcoords 97 97 191 191 256
scale 1
scaledelta 0.5
alpha 0.4
step 4
randomvel 0
rgb 0 255 200
rgbdelta 0 -150 -150
type beam
blend add
}
r_part te_beam
{
texture "particles/fteparticlefont.tga"
tcoords 97 97 191 191 256
scale 1
scaledelta 0.5
alpha 1
step 4
randomvel 0
rgb 255 150 0
rgbdelta 0 -150 -150
type beam
blend add
}
r_part part_spark
{
type texturedspark
texture ball
tcoords 1 65 31 95 256 8 32
scale 1
count 8
scalefactor 1
alpha 0.5
die 0.8
rgb 255 115 0
blend add
spawnmode ball
spawnorg 1
spawnvel 100
veladd 100
friction 0.5
gravity 800
}
r_part part_pieces_black
{
type ball
texture ball
tcoords 1 65 31 95 256 8 32
scale 4
count 18
scalefactor 1
alpha 1
die 0.8
rgb 25 25 25
spawnmode ball
spawnorg 1
spawnvel 100
veladd 100
friction 0.3
gravity 800
}
r_part part_smoke_brown
{
texture ball
tcoords 1 65 31 95 256 8 32
count 3
scale 25
scalefactor 1
die 1
alpha 0.5
rgb 155 90 0
blend add
spawnmode ball
spawnorg 2
spawnvel 20
veladd 20
}
r_part part_smoke_grey
{
texture ball
tcoords 1 65 31 95 256 8 32
count 3
scale 25
scalefactor 1
die 1
alpha 0.5
rgb 25 25 25
blend add
spawnmode ball
spawnorg 2
spawnvel 20
veladd 20
}
r_part part_blood
{
type texturedspark
texture ball
tcoords 1 65 31 95 256 8 32
scale 1
count 12
scalefactor 1
alpha 0.2
die 0.8
rgb 200 0 0
spawnmode ball
spawnorg 1
spawnvel 100
veladd -100
friction 0.3
gravity 800
}
r_part decal_shot
{
type decal
blend premul_subtract
texture "particles/decal_shot"
tcoords 0 0 0.125 1 1 8 0.125
rgbf 1 1 1
alpha 1
alphadelta -0.05
scale 8 8
scalefactor 1
stretchfactor 1
die 20 20
orgwrand 6 6 6
randomvel 0 0 0
rotationstart -180 180
}
r_part decal_glass
{
type decal
blend add
texture "particles/decal_glass"
tcoords 0 0 0.125 1 1 8 0.125
rgbf 1 1 1
alpha 1
alphadelta -0.05
scale 24 24
scalefactor 1
stretchfactor 1
die 20 20
orgwrand 6 6 6
randomvel 0 0 0
rotationstart -180 180
}
/////////////////////////////////////////////////
//rocket explosions
r_part ember
{
count 1
texture "particles/fteparticlefont.tga"
tcoords 97 97 191 191 256
rgb 255 128 76
alpha 0
scale 15
scalefactor 1
friction 8
gravity 50
die 1
blend add
randomvel 5
veladd 1
rampmode delta
ramp 0 0 0 -0.5 0
ramp 0 0 0 0.1 0
ramp 0 0 0 0.1 0
ramp 0 0 0 0.1 0
ramp 0 0 0 0.1 0
ramp 0 0 0 0.1 0
}
//the bits that fly off
r_part expgib
{
cliptype expgib
texture "particles/fteparticlefont.tga"
tcoords 97 97 191 191 256
alpha 0
count 16
die 1
randomvel 128
gravity 50
friction 2
emit ember
emitinterval 0.01
spawnmode circle
}
//the heart of the explosion
r_part te_explosion
{
texture "particles/fteparticlefont.tga"
tcoords 97 97 191 191 256
count 1
scale 200
scalefactor 1
die 1
rgb 255 128 76
rgbdelta 0 -32 -32
friction 1
blend add
assoc expgib
}
r_part smokegren
{
texture ball
count 1
scale 512
scalefactor 1
die 3
alpha 0.7
rgb 128 128 128
spawnmode ball
gravity -25
veladd -20
randomvel 64 -64
}

View file

@ -1,48 +0,0 @@
r_part view_spark
{
type texturedspark
texture ball
scale 1
count 4
scalefactor 1
alpha 0.5
die 0.8
rgb 255 180 0
blend add
spawnmode ball
spawnvel 15
veladd 150
gravity 800
}
r_part gunsmoke
{
texture ball
count 1
scale 16
die 1
rgb 25 25 25
spawnmode ball
blend add
gravity -50
veladd -20
spawnorg 0.25
randomvel 2.25 -15
scalefactor 1
}
r_part gunsmoke2
{
texture ball
count 1
scale 64
die 5 3
rgb 255 255 255
alpha 0.1
blend add
spawnmode ball
gravity -20
viewspace 0.9
spawnorg 0.1
randomvel -1 -15
}

View file

@ -148,5 +148,4 @@ Game_RendererRestarted(string rstr)
precache_model("sprites/top.spr");
precache_model("sprites/top_left.spr");
precache_model("sprites/top_right.spr");
BEAM_TRIPMINE = particleeffectnum("beam_tripmine");
}

View file

@ -60,5 +60,5 @@ Game_RendererRestarted(string rstr)
precache_model("sprites/ofch2.spr");
precache_model("sprites/320hudof01.spr");
BEAM_TRIPMINE = particleeffectnum("beam_tripmine");
BEAM_TRIPMINE = particleeffectnum("weapon_tripmine.beam");
}

View file

@ -58,5 +58,5 @@ Game_RendererRestarted(string rstr)
precache_model("sprites/tfchud06.spr");
precache_model("sprites/tfc_dmsg.spr");
precache_model("sprites/nmxhair2.spr");
BEAM_TRIPMINE = particleeffectnum("beam_tripmine");
BEAM_TRIPMINE = particleeffectnum("weapon_tripmine.beam");
}

View file

@ -54,5 +54,5 @@ Game_RendererRestarted(string rstr)
precache_model("sprites/hud640_02.spr");
precache_model("sprites/hud640_04.spr");
BEAM_TRIPMINE = particleeffectnum("beam_tripmine");
BEAM_TRIPMINE = particleeffectnum("weapon_tripmine.beam");
}

View file

@ -45,5 +45,5 @@ void Game_RendererRestarted(string rstr)
precache_model("sprites/640hud5.spr");
precache_model("sprites/640hud6.spr");
BEAM_TRIPMINE = particleeffectnum("beam_tripmine");
BEAM_TRIPMINE = particleeffectnum("weapon_tripmine.beam");
}

View file

@ -51,5 +51,5 @@ void Game_RendererRestarted(string rstr)
precache_model("sprites/hammer.spr");
precache_model("sprites/w_cannon.spr");
BEAM_TRIPMINE = particleeffectnum("beam_tripmine");
BEAM_TRIPMINE = particleeffectnum("weapon_tripmine.beam");
}

View file

@ -65,5 +65,5 @@ Game_RendererRestarted(string rstr)
precache_model("sprites/hammer.spr");
precache_model("sprites/w_cannon.spr");
BEAM_TRIPMINE = particleeffectnum("beam_tripmine");
BEAM_TRIPMINE = particleeffectnum("weapon_tripmine.beam");
}

View file

@ -47,5 +47,5 @@ Game_RendererRestarted(string rstr)
precache_model("sprites/640hud4.spr");
precache_model("sprites/640hud5.spr");
precache_model("sprites/640hud6.spr");
BEAM_TRIPMINE = particleeffectnum("beam_tripmine");
BEAM_TRIPMINE = particleeffectnum("weapon_tripmine.beam");
}

View file

@ -15,11 +15,10 @@
*/
#ifdef CLIENT
var float DECAL_SHOT;
var float DECAL_GLASS;
var float PARTICLE_PIECES_BLACK;
var float PARTICLE_SMOKE_BROWN;
var float PARTICLE_SMOKE_GREY;
var int FX_IMPACT_BLACKBITS;
var int FX_IMPACT_SMOKE_BROWN;
var int FX_IMPACT_SMOKE_GREY;
var int FX_IMPACT_SPARK;
void
FX_Impact_Init(void)
@ -35,11 +34,10 @@ FX_Impact_Init(void)
precache_sound("weapons/ric4.wav");
precache_sound("weapons/ric5.wav");
DECAL_SHOT = particleeffectnum("decal_shot");
DECAL_GLASS = particleeffectnum("decal_glass");
PARTICLE_PIECES_BLACK = particleeffectnum("part_pieces_black");
PARTICLE_SMOKE_GREY = particleeffectnum("part_smoke_grey");
PARTICLE_SMOKE_BROWN = particleeffectnum("part_smoke_brown");
FX_IMPACT_BLACKBITS = particleeffectnum("fx_impact.blackbits");
FX_IMPACT_SMOKE_GREY = particleeffectnum("fx_impact.smoke_grey");
FX_IMPACT_SMOKE_BROWN = particleeffectnum("fx_impact.smoke_brown");
FX_IMPACT_SPARK = particleeffectnum("fx_impact.spark");
}
#endif
@ -79,26 +77,26 @@ FX_Impact(int iType, vector vecPos, vector vNormal)
case IMPACT_EXPLOSION:
break;
case IMPACT_GLASS:
pointparticles(PARTICLE_PIECES_BLACK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_BLACKBITS, vecPos, vNormal, 1);
break;
case IMPACT_WOOD:
FX_Spark(vecPos, vNormal);
pointparticles(PARTICLE_PIECES_BLACK, vecPos, vNormal, 1);
pointparticles(PARTICLE_SMOKE_BROWN, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_SPARK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_BLACKBITS, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_SMOKE_BROWN, vecPos, vNormal, 1);
break;
case IMPACT_METAL:
FX_Spark(vecPos, vNormal);
pointparticles(PARTICLE_PIECES_BLACK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_SPARK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_BLACKBITS, vecPos, vNormal, 1);
break;
case IMPACT_FLESH:
FX_Blood(vecPos, vNormal);
break;
case IMPACT_DEFAULT:
FX_Spark(vecPos, vNormal);
pointparticles(PARTICLE_PIECES_BLACK, vecPos, vNormal, 1);
pointparticles(PARTICLE_SMOKE_GREY, vecPos, vNormal, 1);
break;
default:
pointparticles(FX_IMPACT_SPARK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_BLACKBITS, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_SMOKE_GREY, vecPos, vNormal, 1);
break;
}
switch (iType) {

View file

@ -149,10 +149,12 @@ w_c4bomb_precache(void)
precache_sound("weapons/c4_beep4.wav");
precache_sound("weapons/c4_beep5.wav");
precache_sound("weapons/c4_explode1.wav");
#endif
precache_model("models/v_c4.mdl");
precache_model("models/w_c4.mdl");
precache_model("models/p_c4.mdl");
precache_model("sprites/ledglow.spr");
#else
precache_model("models/v_c4.mdl");
#endif
}
void

View file

@ -14,6 +14,9 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
.float maxspeed;
.float flags;
var hashtable g_hashsounds;
enumflags
@ -303,7 +306,7 @@ Sound_Play(entity target, int chan, string shader)
float volume;
float radius;
float pitch;
int flags;
int flag;
int sample;
sample = (int)hash_get(g_hashsounds, shader);
@ -323,13 +326,13 @@ Sound_Play(entity target, int chan, string shader)
/* flags */
if (g_sounds[sample].flags & SNDFL_NOREVERB) {
flags |= SOUNDFLAG_NOREVERB;
flag |= SOUNDFLAG_NOREVERB;
}
if (g_sounds[sample].flags & SNDFL_GLOBAL) {
radius = ATTN_NONE;
}
if (g_sounds[sample].flags & SNDFL_LOOPING) {
flags |= SOUNDFLAG_FORCELOOP;
flag |= SOUNDFLAG_FORCELOOP;
}
if (g_sounds[sample].flags & SNDFL_NODUPS) {
if (g_sounds[sample].playc >= g_sounds[sample].sample_count) {
@ -338,13 +341,18 @@ Sound_Play(entity target, int chan, string shader)
r = g_sounds[sample].playc++;
}
if (g_sounds[sample].flags & SNDFL_FOLLOW) {
flags |= SOUNDFLAG_FOLLOW;
flag |= SOUNDFLAG_FOLLOW;
}
if (g_sounds[sample].flags & SNDFL_STEP) {
float s = vlen(target.velocity);
if (s < 120) {
float m = target.maxspeed;
if (target.flags & FL_CROUCHING)
m *= 2.0f;
if (s <= (m * 0.5f)) {
return;
} else if (s < 270) {
} else if (s < (m * 0.8f)) {
volume = 0.35f;
} else {
volume = 0.75;
@ -352,11 +360,11 @@ Sound_Play(entity target, int chan, string shader)
}
#ifdef CLIENT
if (g_sounds[sample].flags & SNDFL_OMNI) {
flags |= SOUNDFLAG_NOSPACIALISE;
flag |= SOUNDFLAG_NOSPACIALISE;
}
#else
if (g_sounds[sample].flags & SNDFL_PRIVATE) {
flags |= SOUNDFLAG_UNICAST;
flag |= SOUNDFLAG_UNICAST;
msg_entity = target;
}
#endif
@ -372,7 +380,7 @@ Sound_Play(entity target, int chan, string shader)
volume,
radius,
pitch,
flags,
flag,
g_sounds[sample].offset
);
}

View file

@ -15,6 +15,8 @@
*/
#ifdef CLIENT
var int FX_EXPLOSION_MAIN;
void
FX_Explosion_Init(void)
{
@ -22,6 +24,7 @@ FX_Explosion_Init(void)
precache_sound("weapons/explode4.wav");
precache_sound("weapons/explode5.wav");
precache_model("sprites/fexplo.spr");
FX_EXPLOSION_MAIN = particleeffectnum("fx_explosion.main");
}
#endif
@ -52,7 +55,7 @@ FX_Explosion(vector vecPos)
eExplosion.framerate = 20;
eExplosion.nextthink = time + 0.05f;
te_explosion(vecPos);
pointparticles(FX_EXPLOSION_MAIN, vecPos, [0,0,0], 1);
#endif
}

View file

@ -15,11 +15,10 @@
*/
#ifdef CLIENT
var float DECAL_SHOT;
var float DECAL_GLASS;
var float PARTICLE_PIECES_BLACK;
var float PARTICLE_SMOKE_BROWN;
var float PARTICLE_SMOKE_GREY;
var int FX_IMPACT_BLACKBITS;
var int FX_IMPACT_SMOKE_BROWN;
var int FX_IMPACT_SMOKE_GREY;
var int FX_IMPACT_SPARK;
void
FX_Impact_Init(void)
@ -30,11 +29,10 @@ FX_Impact_Init(void)
precache_sound("weapons/ric4.wav");
precache_sound("weapons/ric5.wav");
DECAL_SHOT = particleeffectnum("decal_shot");
DECAL_GLASS = particleeffectnum("decal_glass");
PARTICLE_PIECES_BLACK = particleeffectnum("part_pieces_black");
PARTICLE_SMOKE_GREY = particleeffectnum("part_smoke_grey");
PARTICLE_SMOKE_BROWN = particleeffectnum("part_smoke_brown");
FX_IMPACT_BLACKBITS = particleeffectnum("fx_impact.blackbits");
FX_IMPACT_SMOKE_GREY = particleeffectnum("fx_impact.smoke_grey");
FX_IMPACT_SMOKE_BROWN = particleeffectnum("fx_impact.smoke_brown");
FX_IMPACT_SPARK = particleeffectnum("fx_impact.spark");
}
#endif
@ -71,26 +69,26 @@ FX_Impact(int iType, vector vecPos, vector vNormal)
case IMPACT_EXPLOSION:
break;
case IMPACT_GLASS:
pointparticles(PARTICLE_PIECES_BLACK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_BLACKBITS, vecPos, vNormal, 1);
break;
case IMPACT_WOOD:
FX_Spark(vecPos, vNormal);
pointparticles(PARTICLE_PIECES_BLACK, vecPos, vNormal, 1);
pointparticles(PARTICLE_SMOKE_BROWN, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_SPARK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_BLACKBITS, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_SMOKE_BROWN, vecPos, vNormal, 1);
break;
case IMPACT_METAL:
FX_Spark(vecPos, vNormal);
pointparticles(PARTICLE_PIECES_BLACK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_SPARK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_BLACKBITS, vecPos, vNormal, 1);
break;
case IMPACT_FLESH:
FX_Blood(vecPos, vNormal);
break;
case IMPACT_DEFAULT:
FX_Spark(vecPos, vNormal);
pointparticles(PARTICLE_PIECES_BLACK, vecPos, vNormal, 1);
pointparticles(PARTICLE_SMOKE_GREY, vecPos, vNormal, 1);
break;
default:
pointparticles(FX_IMPACT_SPARK, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_BLACKBITS, vecPos, vNormal, 1);
pointparticles(FX_IMPACT_SMOKE_GREY, vecPos, vNormal, 1);
break;
}
switch (iType) {

View file

@ -0,0 +1,54 @@
r_part ember
{
count 1
texture "particles/fteparticlefont.tga"
tcoords 97 97 191 191 256
rgb 255 128 76
alpha 0
scale 15
scalefactor 1
friction 8
gravity 50
die 1
blend add
randomvel 5
veladd 1
rampmode delta
ramp 0 0 0 -0.5 0
ramp 0 0 0 0.1 0
ramp 0 0 0 0.1 0
ramp 0 0 0 0.1 0
ramp 0 0 0 0.1 0
ramp 0 0 0 0.1 0
}
r_part expgib
{
cliptype expgib
texture "particles/fteparticlefont.tga"
tcoords 97 97 191 191 256
alpha 0
count 16
die 1
randomvel 128
gravity 50
friction 2
emit ember
emitinterval 0.01
spawnmode circle
}
r_part main
{
texture "particles/fteparticlefont.tga"
tcoords 97 97 191 191 256
count 1
scale 200
scalefactor 1
die 1
rgb 255 128 76
rgbdelta 0 -32 -32
friction 1
blend add
assoc expgib
}

View file

@ -0,0 +1,72 @@
r_part spark
{
type texturedspark
texture ball
tcoords 1 65 31 95 256 8 32
scale 1
count 8
scalefactor 1
alpha 0.5
die 0.8
rgb 255 115 0
blend add
spawnmode ball
spawnorg 1
spawnvel 100
veladd 100
friction 0.5
gravity 800
}
r_part blackbits
{
type ball
texture ball
tcoords 1 65 31 95 256 8 32
scale 4
count 18
scalefactor 1
alpha 1
die 0.8
rgb 25 25 25
spawnmode ball
spawnorg 1
spawnvel 100
veladd 100
friction 0.3
gravity 800
}
r_part smoke_brown
{
texture ball
tcoords 1 65 31 95 256 8 32
count 3
scale 25
scalefactor 1
die 1
alpha 0.5
rgb 155 90 0
blend add
spawnmode ball
spawnorg 2
spawnvel 20
veladd 20
}
r_part smoke_grey
{
texture ball
tcoords 1 65 31 95 256 8 32
count 3
scale 25
scalefactor 1
die 1
alpha 0.5
rgb 25 25 25
blend add
spawnmode ball
spawnorg 2
spawnvel 20
veladd 20
}

View file

@ -0,0 +1,19 @@
r_part effect
{
type texturedspark
texture ball
tcoords 1 65 31 95 256 8 32
scale 1
count 8
scalefactor 1
alpha 0.5
die 0.8
rgb 255 115 0
blend add
spawnmode ball
spawnorg 1
spawnvel 100
veladd 100
friction 0.5
gravity 800
}

View file

@ -0,0 +1,14 @@
r_part beam
{
texture "particles/fteparticlefont.tga"
tcoords 97 97 191 191 256
scale 1
scaledelta 0.5
alpha 0.4
step 4
randomvel 0
rgb 0 255 200
rgbdelta 0 -150 -150
type beam
blend add
}