From 24a8c783673a253c0e728fce6bcb43abd8d9b692 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Fri, 23 Feb 2024 14:00:41 -0800 Subject: [PATCH] Move skill files around to the new conventions, tweak various sounds/particles and definitions. --- src/client/hud_weaponselect.qc | 9 +- src/shared/weapon_common.qc | 5 ++ .../{skill_valve.cfg => cfg/skill.cfg} | 0 zpak001.pk3dir/cfg/skill_manifest.cfg | 1 + zpak001.pk3dir/def/weapons/9mmAR.def | 2 + zpak001.pk3dir/default.cfg | 2 - zpak001.pk3dir/particles/fx_explosion.cfg | 89 +++++++++++++++++-- zpak001.pk3dir/particles/fx_spark.cfg | 25 ++++-- zpak001.pk3dir/particles/impact_default.cfg | 78 +++++++++------- zpak001.pk3dir/particles/impact_glass.cfg | 19 ++++ .../particles/impact_unbreakable.cfg | 30 +++++++ zpak001.pk3dir/particles/weapon_9mmAR.cfg | 26 ++++++ zpak001.pk3dir/scripts/surfaceproperties.txt | 8 +- zpak001.pk3dir/sound/env_spark.sndshd | 10 --- zpak001.pk3dir/sound/func_pushable.sndshd | 8 ++ zpak001.pk3dir/sound/fx_valve.sndshd | 11 +++ 16 files changed, 259 insertions(+), 64 deletions(-) rename zpak001.pk3dir/{skill_valve.cfg => cfg/skill.cfg} (100%) create mode 100644 zpak001.pk3dir/cfg/skill_manifest.cfg create mode 100644 zpak001.pk3dir/particles/impact_glass.cfg create mode 100644 zpak001.pk3dir/particles/impact_unbreakable.cfg create mode 100644 zpak001.pk3dir/particles/weapon_9mmAR.cfg delete mode 100644 zpak001.pk3dir/sound/env_spark.sndshd create mode 100644 zpak001.pk3dir/sound/func_pushable.sndshd diff --git a/src/client/hud_weaponselect.qc b/src/client/hud_weaponselect.qc index 9cce379..46af84f 100644 --- a/src/client/hud_weaponselect.qc +++ b/src/client/hud_weaponselect.qc @@ -101,15 +101,17 @@ HUD_DrawWeaponSelect_Back(void) HUD_DrawWeaponSelect_Back(); } +void +View_ForceChange(player pl, int targetWeapon); + void HUD_DrawWeaponSelect_Trigger(void) { player pl = (player)pSeat->m_ePlayer; if (pl.activeweapon != pSeat->m_iHUDWeaponSelected) - sendevent("PlayerSwitchWeapon", "i", pSeat->m_iHUDWeaponSelected); + View_ForceChange(pl, pSeat->m_iHUDWeaponSelected); - pl.activeweapon = pSeat->m_iHUDWeaponSelected; Sound_Play(pSeat->m_ePlayer, CHAN_ITEM, "Player.WeaponSelected"); pSeat->m_iHUDWeaponSelected = pSeat->m_flHUDWeaponSelectTime = 0; @@ -120,8 +122,7 @@ HUD_DrawWeaponSelect_Last(void) { player pl = (player)pSeat->m_ePlayer; if (pl.g_items & g_weapons[pSeat->m_iOldWeapon].id) { - pl.activeweapon = pSeat->m_iOldWeapon; - sendevent("PlayerSwitchWeapon", "i", pSeat->m_iOldWeapon); + View_ForceChange(pl, pSeat->m_iOldWeapon); } } diff --git a/src/shared/weapon_common.qc b/src/shared/weapon_common.qc index a9fe3da..36ad05e 100644 --- a/src/shared/weapon_common.qc +++ b/src/shared/weapon_common.qc @@ -172,9 +172,14 @@ Weapons_Draw(player pl) /* In case the previous weapon hid the model */ Weapons_EnableModel(); +#ifdef CLIENT + View_SetMuzzleflash(0); +#endif + pl.w_attack_next = 0.5f; pl.w_idle_next = 2.5f; pl.viewzoom = 1.0f; + pl.weapontime = 0.0f; /* we're meant to respawn when we're dead, don't unset! */ if (pl.health > 0) { diff --git a/zpak001.pk3dir/skill_valve.cfg b/zpak001.pk3dir/cfg/skill.cfg similarity index 100% rename from zpak001.pk3dir/skill_valve.cfg rename to zpak001.pk3dir/cfg/skill.cfg diff --git a/zpak001.pk3dir/cfg/skill_manifest.cfg b/zpak001.pk3dir/cfg/skill_manifest.cfg new file mode 100644 index 0000000..8e96336 --- /dev/null +++ b/zpak001.pk3dir/cfg/skill_manifest.cfg @@ -0,0 +1 @@ +exec "skill.cfg" \ No newline at end of file diff --git a/zpak001.pk3dir/def/weapons/9mmAR.def b/zpak001.pk3dir/def/weapons/9mmAR.def index 9cbe13a..d8559db 100644 --- a/zpak001.pk3dir/def/weapons/9mmAR.def +++ b/zpak001.pk3dir/def/weapons/9mmAR.def @@ -35,6 +35,8 @@ entityDef projectile_ARgrenade "detonate_on_actor" "1" "snd_explode" "fx.explosion" "model_detonate" "fx_explosion.main" + "decal_detonate" "ExplosionScorch" + "smoke_fly" "weapon_9mmAR.nadetrail" "def_damage" "damage_ARgrneadeDirect" "def_splash_damage" "damage_ARgrneadeSplash" diff --git a/zpak001.pk3dir/default.cfg b/zpak001.pk3dir/default.cfg index adda979..760d7a6 100644 --- a/zpak001.pk3dir/default.cfg +++ b/zpak001.pk3dir/default.cfg @@ -52,5 +52,3 @@ seta gl_overbright 0 seta gl_ldr 1 seta r_lightmap_format rgb8 seta rate 30000 // some HL configs set this to 2500 by default! - -exec skill_valve.cfg diff --git a/zpak001.pk3dir/particles/fx_explosion.cfg b/zpak001.pk3dir/particles/fx_explosion.cfg index 86e7af3..eac3ce1 100644 --- a/zpak001.pk3dir/particles/fx_explosion.cfg +++ b/zpak001.pk3dir/particles/fx_explosion.cfg @@ -17,7 +17,7 @@ r_part +ember count 1 texture "particles/fteparticlefont.tga" tcoords 97 97 191 191 256 - rgb 255 128 76 + rgb 255 64 16 alpha 0 scale 20 scalefactor 1 @@ -35,6 +35,47 @@ r_part +ember ramp 0 0 0 0.1 0 } +r_part +ember +{ + count 1 + texture "particles/fteparticlefont.tga" + tcoords 97 97 191 191 256 + rgb 255 64 16 + alpha 0 + scale 8 + scalefactor 1 + die 2 + friction 2.5 + blend add + randomvel 512 + spawnorg 32 32 + rampmode delta + gravity 100 + 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 hotbits +{ + count 1 + texture "particles/fteparticlefont.tga" + tcoords 97 97 191 191 256 + rgb 255 255 200 + alpha 1 + scale 4 + scalefactor 1 + die 2 + friction 2.5 + randomvel 512 + spawnorg 32 32 + gravity 800 + cliptype bounce +} + r_part +main { lighttime 1 @@ -42,8 +83,10 @@ r_part +main lightradiusfade 300 lightrgb 1.0 0.5 0.4 lightrgbfade 0.36 0.19 0.19 - count 0 0 1 - model "sprites/fexplo.spr" framestart=0 framecount=29 framerate=20 additive + count 0 0 2 + spawnorg 0 32 + orgadd 32 + model "sprites/fexplo.spr" framestart=0 framecount=29 framerate=20 additive scalemin=0.5 scalemax=2.5 } r_part +main @@ -82,16 +125,48 @@ r_part +main texture ball tcoords 1 65 31 95 256 8 32 scale 1 - count 8 + count 16 scalefactor 1 alpha 0.5 die 0.8 - rgb 255 115 0 + rgb 255 180 30 blend add spawnmode ball - spawnvel 100 + spawnvel 512 + spawnorg 48 48 veladd 100 friction 0.5 - gravity 800 + gravity 200 + cliptype spark + emit hotbits + emitinterval 0.04 +} + +r_part spark +{ + type texturedspark + texture ball + tcoords 1 65 31 95 256 8 32 + scale 1 + count 5 + scalefactor 1 + alpha 0.5 + die 0.4 + rgb 255 180 30 + blend add + spawnmode ball + spawnvel 256 + veladd 200 + gravity 600 } +r_part +spark +{ + lighttime 1 + lightradius 64 + lightradiusfade 300 + lightrgb 1.0 0.5 0.4 + lightrgbfade 0.36 0.19 0.19 + count 0 0 1 + model "sprites/muzzleflash.spr" framestart=0 framecount=2 framerate=20 additive scalemin=0.1 scalemax=0.5 +} diff --git a/zpak001.pk3dir/particles/fx_spark.cfg b/zpak001.pk3dir/particles/fx_spark.cfg index 483a36a..4d546bd 100644 --- a/zpak001.pk3dir/particles/fx_spark.cfg +++ b/zpak001.pk3dir/particles/fx_spark.cfg @@ -4,16 +4,25 @@ r_part main texture ball tcoords 1 65 31 95 256 8 32 scale 1 - count 8 + count 5 scalefactor 1 alpha 0.5 - die 0.8 - rgb 255 115 0 + die 0.4 + rgb 255 180 30 blend add spawnmode ball - spawnorg 1 - spawnvel 100 - veladd 100 - friction 0.5 - gravity 800 + spawnvel 256 + veladd 200 + gravity 600 } + +r_part +main +{ + lighttime 1 + lightradius 64 + lightradiusfade 300 + lightrgb 1.0 0.5 0.4 + lightrgbfade 0.36 0.19 0.19 + count 0 0 1 + model "sprites/muzzleflash.spr" framestart=0 framecount=2 framerate=20 additive scalemin=0.1 scalemax=0.5 +} \ No newline at end of file diff --git a/zpak001.pk3dir/particles/impact_default.cfg b/zpak001.pk3dir/particles/impact_default.cfg index 789dac8..0f633fe 100644 --- a/zpak001.pk3dir/particles/impact_default.cfg +++ b/zpak001.pk3dir/particles/impact_default.cfg @@ -5,7 +5,7 @@ r_part main texture ball tcoords 1 65 31 95 256 8 32 scale 4 - count 18 + count 9 scalefactor 1 alpha 1 die 0.8 @@ -13,46 +13,64 @@ r_part main spawnmode ball spawnorg 1 spawnvel 100 - veladd 100 - friction 0.3 - gravity 800 + randomvel 100 + gravity 400 } -// smoke -r_part +main -{ - 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 -} - -// spark +// sparks r_part +main { type texturedspark texture ball tcoords 1 65 31 95 256 8 32 scale 1 - count 8 + count 2 scalefactor 1 alpha 0.5 - die 0.8 - rgb 255 115 0 + die 0.4 + rgb 255 180 30 blend add spawnmode ball + spawnvel 50 + randomvel 50 + veladd 200 + gravity 600 +} + +// unused ricochet sprite, reactivated +r_part +main +{ + count 0 0 1 + orgadd 8 + model "sprites/richo2.spr" framestart=0 framecount=15 framerate=20 additive scalemin=0.25 scalemax=0.55 alpha=0.65 +} + +// emitter for our bullet hole dust +r_part +main +{ + step 4 + die 0.5 1 + type beam + + emit dustparts + emitinterval 0.1 +} + +// black bits falling out of the bullet hole +r_part dustparts +{ + type ball + texture ball + tcoords 1 65 31 95 256 8 32 + scale 2 + count 2 + scalefactor 1 + alpha 1 + die 2 4 + rgb 32 32 32 + spawnmode ball spawnorg 1 - spawnvel 100 - veladd 100 - friction 0.5 + randomvel 10 + veladd 50 gravity 800 -} \ No newline at end of file +} \ No newline at end of file diff --git a/zpak001.pk3dir/particles/impact_glass.cfg b/zpak001.pk3dir/particles/impact_glass.cfg new file mode 100644 index 0000000..65a185b --- /dev/null +++ b/zpak001.pk3dir/particles/impact_glass.cfg @@ -0,0 +1,19 @@ +// sparks +r_part main +{ + type texturedspark + texture "particles/fteparticlefont.tga" + tcoords 97 97 191 191 256 + scale 1 + count 2 + scalefactor 1 + alpha 0.5 + die 0.4 + rgb 255 180 30 + blend add + spawnmode ball + spawnvel 50 + randomvel 50 + veladd 200 + gravity 600 +} \ No newline at end of file diff --git a/zpak001.pk3dir/particles/impact_unbreakable.cfg b/zpak001.pk3dir/particles/impact_unbreakable.cfg new file mode 100644 index 0000000..fa35b26 --- /dev/null +++ b/zpak001.pk3dir/particles/impact_unbreakable.cfg @@ -0,0 +1,30 @@ +// black bits +r_part main +{ + type ball + texture ball + tcoords 1 65 31 95 256 8 32 + scale 4 + count 9 + scalefactor 1 + alpha 1 + die 0.8 + rgb 64 64 64 + spawnmode ball + spawnorg 1 + spawnvel 100 + randomvel 100 + gravity 400 +} + +r_part +main +{ + count 0 0 1 + orgadd 8 + model "sprites/richo1.spr" framestart=0 framecount=3 framerate=20 additive scalemin=0.5 scalemax=0.5 + lighttime 1 + lightradius 64 + lightradiusfade 300 + lightrgb 1.0 0.5 0.4 + lightrgbfade 0.36 0.19 0.19 +} \ No newline at end of file diff --git a/zpak001.pk3dir/particles/weapon_9mmAR.cfg b/zpak001.pk3dir/particles/weapon_9mmAR.cfg new file mode 100644 index 0000000..1940045 --- /dev/null +++ b/zpak001.pk3dir/particles/weapon_9mmAR.cfg @@ -0,0 +1,26 @@ +r_part nadetrail +{ + + step 4 + die 1 + type beam + + emit smoke + emitinterval 5 +} + + +r_part smoke +{ + texture "particles/fteparticlefont.tga" + tcoords 97 97 191 191 256 + count 1 + scale 24 + scalefactor 1 + die 2 + alpha 0.02 + rgbf 0.45 0.45 0.45 + spawnmode ball + randomvel 10 + gravity -25 +} \ No newline at end of file diff --git a/zpak001.pk3dir/scripts/surfaceproperties.txt b/zpak001.pk3dir/scripts/surfaceproperties.txt index 2c13b22..5c051e2 100644 --- a/zpak001.pk3dir/scripts/surfaceproperties.txt +++ b/zpak001.pk3dir/scripts/surfaceproperties.txt @@ -4,12 +4,14 @@ default bulletimpact "sfx_impact.default" stepleft "step_default.left" stepright "step_default.right" + scraperough "scrape.default" + scrapesmooth "scrape.default" } gs_material_glass { gamematerial Y - part_bulletimpact "impact_default.main" + part_bulletimpact "impact_glass.main" bulletimpact "sfx_impact.glass" stepleft "step_glass.left" stepright "step_glass.right" @@ -29,7 +31,7 @@ gs_material_wood gs_material_metal { gamematerial M - part_bulletimpact "impact_default.main" + part_bulletimpact "impact_unbreakable.main" bulletimpact "sfx_impact.metal" stepleft "step_metal.left" stepright "step_metal.right" @@ -85,7 +87,7 @@ gs_material_computer gs_material_unbreakableglass { - part_bulletimpact "impact_default.main" + part_bulletimpact "impact_unbreakable.main" bulletimpact "sfx_impact.glass" stepleft "step_glass.left" stepright "step_glass.right" diff --git a/zpak001.pk3dir/sound/env_spark.sndshd b/zpak001.pk3dir/sound/env_spark.sndshd deleted file mode 100644 index 9e93eed..0000000 --- a/zpak001.pk3dir/sound/env_spark.sndshd +++ /dev/null @@ -1,10 +0,0 @@ -env_spark.sfx -{ - attenuation idle - sample buttons/spark1.wav - sample buttons/spark2.wav - sample buttons/spark3.wav - sample buttons/spark4.wav - sample buttons/spark5.wav - sample buttons/spark6.wav -} diff --git a/zpak001.pk3dir/sound/func_pushable.sndshd b/zpak001.pk3dir/sound/func_pushable.sndshd new file mode 100644 index 0000000..130ca8e --- /dev/null +++ b/zpak001.pk3dir/sound/func_pushable.sndshd @@ -0,0 +1,8 @@ +scrape.default +{ + no_repeat + follow + sample debris/pushbox1.wav + sample debris/pushbox2.wav + sample debris/pushbox3.wav +} diff --git a/zpak001.pk3dir/sound/fx_valve.sndshd b/zpak001.pk3dir/sound/fx_valve.sndshd index fd37284..61799c2 100644 --- a/zpak001.pk3dir/sound/fx_valve.sndshd +++ b/zpak001.pk3dir/sound/fx_valve.sndshd @@ -21,3 +21,14 @@ fx.gaussbeam sample weapons/electro5.wav sample weapons/electro6.wav } + +fx.spark +{ + attenuation idle + sample buttons/spark1.wav + sample buttons/spark2.wav + sample buttons/spark3.wav + sample buttons/spark4.wav + sample buttons/spark5.wav + sample buttons/spark6.wav +}