mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 07:21:58 +00:00
116 lines
3.3 KiB
INI
Executable file
116 lines
3.3 KiB
INI
Executable file
//lame example weather particles by Spike
|
|
//move to id1/particles/weather.cfg
|
|
//
|
|
//to use from qc, r_particledesc "weather classic" or call particleeffecnum("weather.te_rain") so the engine knows which config to use, then use the particle[rain|snow] builtins as normal.
|
|
//without qc changes option 1) use a texture called skyrain or skysnow, in addition to the r_particledesc thing so that this config is actually used (this is more for people to add stuff to existing maps).
|
|
//without qc changes option 2) add a worldspawn field called "_texpart_TEXTURENAME" with value "weather.tex_skysnow" or "weather.tex_skyrain"
|
|
//without qc changes option 3) an equivelent console command: r_partredirect tex_TEXTURENAME "weather.tex_skysnow"
|
|
//note that without qc, you need to restart the map for it to take effect.
|
|
//on the other hand, if you wanted to emit particles from models, use r_effect (which can optionally hide those models too).
|
|
//to override trails defined by model flags, you can use the r_trail command.
|
|
//weather effects that leave decals are probably overkill
|
|
//one option is to spawn a particle from qc that emits other particles that leave trails. emitting such trail emitting emitters from surfaces is definitely overkill.
|
|
|
|
//generic rain for the qc builtin
|
|
//create another called te_rain_12 or whatever for alternative versions of rain (going by the specified palette)
|
|
r_part te_rain
|
|
{
|
|
texture ball
|
|
scalefactor 1
|
|
count 1
|
|
alpha 0.4
|
|
rgb 255 255 255
|
|
die 2
|
|
veladd 2
|
|
scale 2
|
|
stretchfactor -40
|
|
type texturedspark
|
|
cliptype weather.rainsplash
|
|
clipbounce 100
|
|
clipcount 5
|
|
}
|
|
|
|
//internal splash effect for rain
|
|
r_part weather.rainsplash
|
|
{
|
|
randomvel 50 50
|
|
count 1
|
|
texture ball
|
|
scalefactor 1
|
|
alpha 0.1
|
|
rgb 255 255 255
|
|
die 0.4
|
|
scale 50
|
|
stretchfactor -2.5
|
|
veladd 1
|
|
scale 1
|
|
type texturedspark
|
|
gravity 800
|
|
}
|
|
|
|
//generic snow for the qc builtin
|
|
//naming itself causes it to bounce
|
|
r_part te_snow
|
|
{
|
|
texture ball
|
|
scalefactor 1
|
|
count 1
|
|
alpha 1
|
|
rgb 255 255 255
|
|
die 2
|
|
veladd 1
|
|
scale 5
|
|
flurry 40
|
|
gravity 400
|
|
friction 5
|
|
|
|
//settle
|
|
clipbounce 0
|
|
}
|
|
|
|
//rain effect to be emitted from textures
|
|
//the base direction points away from the surface, so veladd is the speed to move away from said surface.
|
|
//this isn't very useful for rain, because that vector is quite often horizontal (where the sky surrounds the player)
|
|
//that said, sitting in a box of such rain surfaces gives an interesting laser-field effect...
|
|
//anyway, that's why we can't reuse the qc effects, because qc gives a velocity that is actually meant to be usable.
|
|
r_part tex_skyrain
|
|
{
|
|
texture ball
|
|
scalefactor 1
|
|
rainfrequency 10
|
|
count 1
|
|
alpha 0.1
|
|
rgb 255 255 255
|
|
die 2
|
|
veladd 0
|
|
velbias -200 -200 -2000 //move sideways slightly in the same direction as the sky
|
|
scale 1
|
|
stretchfactor -40
|
|
type texturedspark
|
|
cliptype weather.rainsplash
|
|
clipbounce 100
|
|
clipcount 5
|
|
}
|
|
|
|
//snow from sky surfaces is often within a box
|
|
//this means we don't want the snow to ever settle.
|
|
//we also have no volume, so make the snow fall a little further.
|
|
r_part tex_skysnow
|
|
{
|
|
texture ball
|
|
scalefactor 1
|
|
rainfrequency 2
|
|
count 1
|
|
alpha 1
|
|
rgb 255 255 255
|
|
die 8
|
|
veladd 0
|
|
velbias 0 0 -100
|
|
scale 5
|
|
flurry 40
|
|
gravity 400
|
|
friction 5
|
|
|
|
cliptype tex_skysnow
|
|
clipbounce 0
|
|
}
|