From 70b696e4e2bbe7322bf580be42961b2d5a159f31 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Mon, 4 Jul 2011 22:07:32 +0200 Subject: [PATCH] change ALL sound calls AGAIN (damn Spike) --- qcsrc/client/View.qc | 6 +-- qcsrc/client/casings.qc | 2 +- qcsrc/client/csqc_builtins.qc | 3 ++ qcsrc/client/damage.qc | 42 ++++++++-------- qcsrc/client/gibs.qc | 4 +- qcsrc/client/hook.qc | 8 +-- qcsrc/client/mapvoting.qc | 2 +- qcsrc/client/miscfunctions.qc | 10 ++-- qcsrc/client/particles.qc | 2 +- qcsrc/client/projectile.qc | 18 +++---- qcsrc/client/target_music.qc | 16 +++--- qcsrc/client/tturrets.qc | 4 +- qcsrc/client/tuba.qc | 6 +-- qcsrc/client/vehicles/vehicles.qc | 24 ++++----- qcsrc/common/constants.qh | 32 ++++++------ qcsrc/common/util.qh | 8 ++- qcsrc/server/bot/scripting.qc | 2 +- qcsrc/server/cheats.qc | 2 +- qcsrc/server/cl_client.qc | 8 +-- qcsrc/server/cl_player.qc | 52 +++++++++---------- qcsrc/server/cl_weapons.qc | 2 +- qcsrc/server/cl_weaponsystem.qc | 8 +-- qcsrc/server/ctf.qc | 14 +++--- qcsrc/server/domination.qc | 4 +- qcsrc/server/extensions.qh | 42 ++++------------ qcsrc/server/func_breakable.qc | 2 +- qcsrc/server/g_hook.qc | 4 +- qcsrc/server/g_triggers.qc | 14 +++--- qcsrc/server/miscfunctions.qc | 52 ++++++++++++++----- qcsrc/server/mode_onslaught.qc | 30 +++++------ qcsrc/server/monsters/ai.qc | 4 +- qcsrc/server/monsters/m_monsters.qc | 4 +- qcsrc/server/mutators/gamemode_keepaway.qc | 8 +-- qcsrc/server/mutators/gamemode_keyhunt.qc | 8 +-- qcsrc/server/nexball.qc | 10 ++-- qcsrc/server/portals.qc | 4 +- qcsrc/server/sv_main.qc | 4 +- qcsrc/server/t_items.qc | 14 +++--- qcsrc/server/t_jumppads.qc | 2 +- qcsrc/server/t_plats.qc | 56 ++++++++++----------- qcsrc/server/t_teleporters.qc | 2 +- qcsrc/server/tturrets/units/unit_ewheel.qc | 2 +- qcsrc/server/tturrets/units/unit_flac.qc | 2 +- qcsrc/server/tturrets/units/unit_hellion.qc | 2 +- qcsrc/server/tturrets/units/unit_hk.qc | 2 +- qcsrc/server/tturrets/units/unit_mlrs.qc | 2 +- qcsrc/server/tturrets/units/unit_phaser.qc | 8 +-- qcsrc/server/tturrets/units/unit_plasma.qc | 4 +- qcsrc/server/tturrets/units/unit_walker.qc | 4 +- qcsrc/server/vehicles/racer.qc | 10 ++-- qcsrc/server/vehicles/raptor.qc | 12 ++--- qcsrc/server/vehicles/spiderbot.qc | 16 +++--- qcsrc/server/vehicles/vehicles.qc | 4 +- qcsrc/server/w_common.qc | 2 +- qcsrc/server/w_crylink.qc | 4 +- qcsrc/server/w_electro.qc | 10 ++-- qcsrc/server/w_fireball.qc | 4 +- qcsrc/server/w_grenadelauncher.qc | 32 ++++++------ qcsrc/server/w_hagar.qc | 12 ++--- qcsrc/server/w_hlac.qc | 2 +- qcsrc/server/w_hook.qc | 2 +- qcsrc/server/w_laser.qc | 4 +- qcsrc/server/w_minelayer.qc | 10 ++-- qcsrc/server/w_minstanex.qc | 2 +- qcsrc/server/w_nex.qc | 4 +- qcsrc/server/w_porto.qc | 16 +++--- qcsrc/server/w_rifle.qc | 6 +-- qcsrc/server/w_rocketlauncher.qc | 6 +-- qcsrc/server/w_seeker.qc | 14 +++--- qcsrc/server/w_shotgun.qc | 8 +-- qcsrc/server/w_tuba.qc | 2 +- qcsrc/server/w_uzi.qc | 6 +-- 72 files changed, 381 insertions(+), 372 deletions(-) diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index dfefe96ff..16c388f8b 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -93,7 +93,7 @@ void CheckForGamestartChange() { if (previous_game_starttime != startTime) { if ((time + 5.0) < startTime) { //if connecting to server while restart was active don't always play prepareforbattle - sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/prepareforbattle.wav"), VOL_BASEVOICE, ATTN_NONE); + asound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/prepareforbattle.wav"), VOL_BASEVOICE, ATTN_NONE); } if (time < startTime) { restartAnnouncer = spawn(); @@ -945,13 +945,13 @@ void CSQC_UpdateView(float w, float h) hit_time = getstatf(STAT_HIT_TIME); if(hit_time > nextsound_hit_time && autocvar_cl_hitsound) { - sound(world, CH_INFO, "misc/hit.wav", VOL_BASE, ATTN_NONE); + asound(world, CH_INFO, "misc/hit.wav", VOL_BASE, ATTN_NONE); nextsound_hit_time = time + autocvar_cl_hitsound_antispam_time; } typehit_time = getstatf(STAT_TYPEHIT_TIME); if(typehit_time > nextsound_typehit_time) { - sound(world, CH_INFO, "misc/typehit.wav", VOL_BASE, ATTN_NONE); + asound(world, CH_INFO, "misc/typehit.wav", VOL_BASE, ATTN_NONE); nextsound_typehit_time = time + autocvar_cl_hitsound_antispam_time; } diff --git a/qcsrc/client/casings.qc b/qcsrc/client/casings.qc index 9234b4743..18602fee0 100644 --- a/qcsrc/client/casings.qc +++ b/qcsrc/client/casings.qc @@ -55,7 +55,7 @@ void Casing_Touch() break; } - sound (self, CH_SHOTS_SINGLE, s, VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, s, VOL_BASE, ATTN_NORM); } } } diff --git a/qcsrc/client/csqc_builtins.qc b/qcsrc/client/csqc_builtins.qc index b7e4b3971..1f9802960 100644 --- a/qcsrc/client/csqc_builtins.qc +++ b/qcsrc/client/csqc_builtins.qc @@ -329,3 +329,6 @@ float CVAR_TYPEFLAG_PRIVATE = 4; float CVAR_TYPEFLAG_ENGINE = 8; float CVAR_TYPEFLAG_HASDESCRIPTION = 16; float CVAR_TYPEFLAG_READONLY = 32; + +float SOUNDFLAG_AUTO = 128; +void(entity e, float chan, string samp, float vol, float atten, float speed, float flags) sound7 = #8; diff --git a/qcsrc/client/damage.qc b/qcsrc/client/damage.qc index daff7554e..cc52cf3be 100644 --- a/qcsrc/client/damage.qc +++ b/qcsrc/client/damage.qc @@ -78,7 +78,7 @@ void Ent_DamageInfo(float isNew) else w_backoff = -1 * normalize(w_org - (w_org + normalize(force) * 16)); - setorigin(self, w_org + w_backoff * 2); // for sound() calls + setorigin(self, w_org + w_backoff * 2); // for sound calls switch(w_deathtype) { @@ -88,33 +88,33 @@ void Ent_DamageInfo(float isNew) case DEATH_SBMINIGUN: string _snd; _snd = strcat("weapons/ric", ftos(1 + rint(random() * 2)), ".waw"); - sound(self, CH_SHOTS_SINGLE, _snd, VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, _snd, VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("spiderbot_minigun_impact"), self.origin, w_backoff * 1000, 1); break; case DEATH_SBROCKET: - sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("spiderbot_rocket_explode"), self.origin, w_backoff * 1000, 1); break; case DEATH_SBBLOWUP: - sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN); + asound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN); pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1); break; case DEATH_WAKIGUN: - sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("wakizashi_gun_impact"), self.origin, w_backoff * 1000, 1); break; case DEATH_WAKIROCKET: - sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("wakizashi_rocket_explode"), self.origin, w_backoff * 1000, 1); break; case DEATH_WAKIBLOWUP: - sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN); + asound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN); pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1); break; case DEATH_RAPTOR_CANNON: - sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("raptor_cannon_impact"), self.origin, w_backoff * 1000, 1); break; case DEATH_RAPTOR_BOMB_SPLIT: @@ -128,15 +128,15 @@ void Ent_DamageInfo(float isNew) } - sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("raptor_bomb_spread"), self.origin, w_backoff * 1000, 1); break; case DEATH_RAPTOR_BOMB: - sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("raptor_bomb_impact"), self.origin, w_backoff * 1000, 1); break; case DEATH_RAPTOR_DEATH: - sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN); + asound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN); pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1); break; } @@ -151,12 +151,12 @@ void Ent_DamageInfo(float isNew) else w_backoff = -1 * normalize(w_org - (w_org + normalize(force) * 16)); - setorigin(self, w_org + w_backoff * 2); // for sound() calls + setorigin(self, w_org + w_backoff * 2); // for sound calls switch(w_deathtype) { case DEATH_TURRET_EWHEEL: - sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN); + asound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN); pointparticles(particleeffectnum("electro_impact"), self.origin, w_backoff * 1000, 1); break; @@ -165,11 +165,11 @@ void Ent_DamageInfo(float isNew) org2 = w_org + w_backoff * 6; pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1); if (w_random<0.15) - sound(self, CH_SHOTS_SINGLE, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM); else if (w_random<0.7) - sound(self, CH_SHOTS_SINGLE, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM); else - sound(self, CH_SHOTS_SINGLE, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM); break; @@ -177,7 +177,7 @@ void Ent_DamageInfo(float isNew) case DEATH_TURRET_HK: case DEATH_TURRET_WALKER_ROCKET: case DEATH_TURRET_HELLION: - sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN); + asound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN); pointparticles(particleeffectnum("rocket_explode"), self.origin, w_backoff * 1000, 1); break; @@ -185,17 +185,17 @@ void Ent_DamageInfo(float isNew) case DEATH_TURRET_WALKER_GUN: string _snd; _snd = strcat("weapons/ric", ftos(1 + rint(random() * 2)), ".waw"); - sound(self, CH_SHOTS_SINGLE, _snd, VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, _snd, VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("machinegun_impact"), self.origin, w_backoff * 1000, 1); break; case DEATH_TURRET_PLASMA: - sound(self, CH_SHOTS_SINGLE, "weapons/electro_impact.wav", VOL_BASE, ATTN_MIN); + asound(self, CH_SHOTS, "weapons/electro_impact.wav", VOL_BASE, ATTN_MIN); pointparticles(particleeffectnum("electro_impact"), self.origin, w_backoff * 1000, 1); break; case DEATH_TURRET_WALKER_MEELE: - sound(self, CH_SHOTS_SINGLE, "weapons/ric1.wav", VOL_BASE, ATTN_MIN); + asound(self, CH_SHOTS, "weapons/ric1.wav", VOL_BASE, ATTN_MIN); pointparticles(particleeffectnum("TE_SPARK"), self.origin, w_backoff * 1000, 1); break; @@ -222,7 +222,7 @@ void Ent_DamageInfo(float isNew) w_backoff = trace_plane_normal; else w_backoff = -1 * normalize(force); - setorigin(self, w_org + w_backoff * 2); // for sound() calls + setorigin(self, w_org + w_backoff * 2); // for sound calls (get_weaponinfo(hitwep)).weapon_func(WR_IMPACTEFFECT); } diff --git a/qcsrc/client/gibs.qc b/qcsrc/client/gibs.qc index 4041bacc1..c422dfaa8 100644 --- a/qcsrc/client/gibs.qc +++ b/qcsrc/client/gibs.qc @@ -73,7 +73,7 @@ void Gib_Touch() } if(!self.silent) - sound(self, CH_PAIN, strcat("misc/gib_splat0", ftos(floor(prandom() * 4 + 1)), ".wav"), VOL_BASE, ATTN_NORM); + asound(self, CH_PAIN, strcat("misc/gib_splat0", ftos(floor(prandom() * 4 + 1)), ".wav"), VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum(strcat(species_prefix(self.cnt), "blood")), self.origin + '0 0 1', '0 0 30', 10); Gib_Delete(); @@ -192,7 +192,7 @@ void Ent_GibSplash(float isNew) { case 0x01: if(!issilent) - sound (self, CH_PAIN, "misc/gib.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_PAIN, "misc/gib.wav", VOL_BASE, ATTN_NORM); if(prandom() < amount) TossGib ("models/gibs/eye.md3", org, vel, prandomvec() * 150, specnum, 0, issilent); diff --git a/qcsrc/client/hook.qc b/qcsrc/client/hook.qc index 4971fa3aa..9707bd62c 100644 --- a/qcsrc/client/hook.qc +++ b/qcsrc/client/hook.qc @@ -59,7 +59,7 @@ void Draw_GrapplingHook() if(self.teleport_time) if(time > self.teleport_time) { - sound (self, CH_SHOTS_SINGLE, "misc/null.wav", VOL_BASE, ATTN_NORM); // safeguard + csound (self, CH_SHOTS, "misc/null.wav", VOL_BASE, ATTN_NORM); // safeguard self.teleport_time = 0; } @@ -215,7 +215,7 @@ void Draw_GrapplingHook() void Remove_GrapplingHook() { - sound (self, CH_SHOTS_SINGLE, "misc/null.wav", VOL_BASE, ATTN_NORM); + csound (self, CH_SHOTS, "misc/null.wav", VOL_BASE, ATTN_NORM); } void Ent_ReadHook(float bIsNew, float type) @@ -275,10 +275,10 @@ void Ent_ReadHook(float bIsNew, float type) self.drawmask = MASK_NORMAL; break; case ENT_CLIENT_LGBEAM: - sound (self, CH_SHOTS_SINGLE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM); + csound (self, CH_SHOTS, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM); break; case ENT_CLIENT_GAUNTLET: - sound (self, CH_SHOTS_SINGLE, "weapons/gauntletbeam_fly.wav", VOL_BASE, ATTN_NORM); + csound (self, CH_SHOTS, "weapons/gauntletbeam_fly.wav", VOL_BASE, ATTN_NORM); break; } } diff --git a/qcsrc/client/mapvoting.qc b/qcsrc/client/mapvoting.qc index b40dd49ee..d4786e7b0 100644 --- a/qcsrc/client/mapvoting.qc +++ b/qcsrc/client/mapvoting.qc @@ -436,7 +436,7 @@ void MapVote_UpdateMask() if(oldmask & mv_maps_mask != oldmask) if(oldmask & mv_maps_mask == mv_maps_mask) - sound(world, CH_INFO, "misc_invshot.wav", VOL_BASE, ATTN_NONE); + asound(world, CH_INFO, "misc_invshot.wav", VOL_BASE, ATTN_NONE); // remove votes that no longer apply for(i = 0, power = 1; i < mv_num_maps; ++i, power *= 2) diff --git a/qcsrc/client/miscfunctions.qc b/qcsrc/client/miscfunctions.qc index da09230db..6f3f0ab64 100644 --- a/qcsrc/client/miscfunctions.qc +++ b/qcsrc/client/miscfunctions.qc @@ -8,7 +8,7 @@ void serverAnnouncer() // check for pending announcement, play it and remove it if(announce_snd != "") { - sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/", announce_snd, ".wav"), VOL_BASEVOICE, ATTN_NONE); + asound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/", announce_snd, ".wav"), VOL_BASEVOICE, ATTN_NONE); strunzone(announce_snd); announce_snd = ""; } @@ -22,7 +22,7 @@ void restartAnnouncer_Think() { if (!spectatee_status) //do cprint only for players centerprint(_("^1Begin!")); - sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/begin.wav"), VOL_BASEVOICE, ATTN_NONE); + asound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/begin.wav"), VOL_BASEVOICE, ATTN_NONE); //reset maptime announcers now as well announcer_5min = announcer_1min = FALSE; @@ -34,7 +34,7 @@ void restartAnnouncer_Think() { centerprint(sprintf(_("^1Game starts in %d seconds"), countdown_rounded)); if(countdown_rounded <= 3 && countdown_rounded >= 1) { - sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/", ftos(countdown_rounded), ".wav"), VOL_BASEVOICE, ATTN_NONE); + asound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/", ftos(countdown_rounded), ".wav"), VOL_BASEVOICE, ATTN_NONE); } self.nextthink = getstatf(STAT_GAMESTARTTIME) - (countdown - 1); @@ -71,7 +71,7 @@ void maptimeAnnouncer() { //if we're in warmup mode, check whether there's a warmup timelimit if not (warmuplimit == -1 && warmup_stage) { announcer_5min = TRUE; - sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/5minutesremain.wav"), VOL_BASEVOICE, ATTN_NONE); + asound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/5minutesremain.wav"), VOL_BASEVOICE, ATTN_NONE); } } @@ -86,7 +86,7 @@ void maptimeAnnouncer() { //if we're in warmup mode, check whether there's a warmup timelimit if not (warmuplimit == -1 && warmup_stage) { announcer_1min = TRUE; - sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/1minuteremains.wav"), VOL_BASEVOICE, ATTN_NONE); + asound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/1minuteremains.wav"), VOL_BASEVOICE, ATTN_NONE); } } } diff --git a/qcsrc/client/particles.qc b/qcsrc/client/particles.qc index b7233eee1..4b1cbc164 100644 --- a/qcsrc/client/particles.qc +++ b/qcsrc/client/particles.qc @@ -58,7 +58,7 @@ void Draw_PointParticles() if(self.noise != "") { self.origin = p; - sound(self, CH_AMBIENT, self.noise, VOL_BASE * self.volume, self.atten); + asound(self, CH_AMBIENT, self.noise, VOL_BASE * self.volume, self.atten); } self.just_toggled = 0; } diff --git a/qcsrc/client/projectile.qc b/qcsrc/client/projectile.qc index 31fecfaee..e9f271bd6 100644 --- a/qcsrc/client/projectile.qc +++ b/qcsrc/client/projectile.qc @@ -164,14 +164,14 @@ void loopsound(entity e, float ch, string samp, float vol, float attn) if(self.silent) return; - sound(e, ch, samp, vol, attn); + csound(e, ch, samp, vol, attn); e.snd_looping = 1; } void Ent_RemoveProjectile() { if(self.snd_looping) - sound(self, CH_SHOTS_SINGLE, "misc/null.wav", VOL_BASE, ATTN_NORM); + csound(self, CH_SHOTS, "misc/null.wav", VOL_BASE, ATTN_NORM); if(self.count & 0x80) { @@ -320,7 +320,7 @@ void Ent_Projectile() { case PROJECTILE_ELECTRO: // only new engines support sound moving with object - loopsound(self, CH_SHOTS_SINGLE, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM); + loopsound(self, CH_SHOTS, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM); self.mins = '0 0 -4'; self.maxs = '0 0 -4'; self.move_movetype = MOVETYPE_BOUNCE; @@ -329,7 +329,7 @@ void Ent_Projectile() self.move_bounce_stopspeed = g_balance_electro_secondary_bouncestop; break; case PROJECTILE_ROCKET: - loopsound(self, CH_SHOTS_SINGLE, "weapons/rocket_fly.wav", VOL_BASE, ATTN_NORM); + loopsound(self, CH_SHOTS, "weapons/rocket_fly.wav", VOL_BASE, ATTN_NORM); self.mins = '-3 -3 -3'; self.maxs = '3 3 3'; break; @@ -370,12 +370,12 @@ void Ent_Projectile() self.move_touch = SUB_Null; break; case PROJECTILE_FIREBALL: - loopsound(self, CH_SHOTS_SINGLE, "weapons/fireball_fly2.wav", VOL_BASE, ATTN_NORM); + loopsound(self, CH_SHOTS, "weapons/fireball_fly2.wav", VOL_BASE, ATTN_NORM); self.mins = '-16 -16 -16'; self.maxs = '16 16 16'; break; case PROJECTILE_FIREMINE: - loopsound(self, CH_SHOTS_SINGLE, "weapons/fireball_fly.wav", VOL_BASE, ATTN_NORM); + loopsound(self, CH_SHOTS, "weapons/fireball_fly.wav", VOL_BASE, ATTN_NORM); self.move_movetype = MOVETYPE_BOUNCE; self.move_touch = SUB_Null; self.mins = '-4 -4 -4'; @@ -390,7 +390,7 @@ void Ent_Projectile() self.maxs = '2 2 2'; break; case PROJECTILE_SEEKER: - loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM); + loopsound(self, CH_SHOTS, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM); self.mins = '-4 -4 -4'; self.maxs = '4 4 4'; break; @@ -403,10 +403,10 @@ void Ent_Projectile() case PROJECTILE_RAPTORCANNON: break; case PROJECTILE_SPIDERROCKET: - loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM); + loopsound(self, CH_SHOTS, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM); break; case PROJECTILE_WAKIROCKET: - loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM); + loopsound(self, CH_SHOTS, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM); break; case PROJECTILE_WAKICANNON: break; diff --git a/qcsrc/client/target_music.qc b/qcsrc/client/target_music.qc index c4573296a..909b75ea3 100644 --- a/qcsrc/client/target_music.qc +++ b/qcsrc/client/target_music.qc @@ -19,7 +19,7 @@ void TargetMusic_Advance() for(e = world; (e = findfloat(e, enttype, ENT_CLIENT_TRIGGER_MUSIC)); ) if(e.noise) { vol0 = e.lastvol; - if(getsoundtime(e, CH_BGM_SINGLE) < 0) + if(getsoundtime(e, CH_BGM) < 0) { vol0 = -1; } @@ -43,16 +43,16 @@ void TargetMusic_Advance() if(vol != vol0) { if(vol0 < 0) - sound(e, CH_BGM_SINGLE, e.noise, vol, ATTN_NONE); // restart + csound(e, CH_BGM, e.noise, vol, ATTN_NONE); // restart else - sound(e, CH_BGM_SINGLE, "", vol, ATTN_NONE); + csound(e, CH_BGM, "", vol, ATTN_NONE); e.lastvol = vol; } } music_trigger = world; if(best) - bgmtime = getsoundtime(best, CH_BGM_SINGLE); + bgmtime = getsoundtime(best, CH_BGM); else bgmtime = gettime(GETTIME_CDTRACK); } @@ -87,8 +87,8 @@ void Net_TargetMusic() strunzone(e.noise); e.noise = strzone(noi); precache_sound(e.noise); - sound(e, CH_BGM_SINGLE, e.noise, 0, ATTN_NONE); - if(getsoundtime(e, CH_BGM_SINGLE) < 0) + csound(e, CH_BGM, e.noise, 0, ATTN_NONE); + if(getsoundtime(e, CH_BGM) < 0) { print(sprintf(_("Cannot initialize sound %s\n"), e.noise)); strunzone(e.noise); @@ -175,8 +175,8 @@ void Ent_ReadTriggerMusic() if(self.noise != s) { precache_sound(self.noise); - sound(self, CH_BGM_SINGLE, self.noise, 0, ATTN_NONE); - if(getsoundtime(self, CH_BGM_SINGLE) < 0) + csound(self, CH_BGM, self.noise, 0, ATTN_NONE); + if(getsoundtime(self, CH_BGM) < 0) { print(sprintf(_("Cannot initialize sound %s\n"), self.noise)); strunzone(self.noise); diff --git a/qcsrc/client/tturrets.qc b/qcsrc/client/tturrets.qc index d62580490..e7d9cbe5d 100644 --- a/qcsrc/client/tturrets.qc +++ b/qcsrc/client/tturrets.qc @@ -355,7 +355,7 @@ void turret_gibboom() { float i; - sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1); for (i = 1; i < 5; i = i + 1) @@ -399,7 +399,7 @@ void turret_die() setmodel(self, ""); setmodel(self.tur_head, ""); - sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1); turret_tid2info(self.turret_type); dprint("Turret ", tid2info_name, " dies.\n"); diff --git a/qcsrc/client/tuba.qc b/qcsrc/client/tuba.qc index 06edec4da..a45c33a8e 100644 --- a/qcsrc/client/tuba.qc +++ b/qcsrc/client/tuba.qc @@ -13,18 +13,18 @@ void Ent_TubaNote_Think() self.nextthink = time; if(self.cnt <= 0) { - sound(self, CH_SHOTS_SINGLE, "misc/null.wav", 0, 0); + csound(self, CH_SHOTS, "misc/null.wav", 0, 0); remove(self); } else - sound(self, CH_SHOTS_SINGLE, "", self.cnt, self.attenuate * autocvar_g_balance_tuba_attenuation); + csound(self, CH_SHOTS, "", self.cnt, self.attenuate * autocvar_g_balance_tuba_attenuation); } void Ent_TubaNote_UpdateSound() { self.enemy.cnt = bound(0, VOL_BASE * autocvar_g_balance_tuba_volume, 1); self.enemy.count = self.enemy.cnt; - sound(self.enemy, CH_SHOTS_SINGLE, TUBA_STARTNOTE(self.cnt), self.enemy.cnt, self.enemy.attenuate * autocvar_g_balance_tuba_attenuation); + csound(self.enemy, CH_SHOTS, TUBA_STARTNOTE(self.cnt), self.enemy.cnt, self.enemy.attenuate * autocvar_g_balance_tuba_attenuation); } void Ent_TubaNote_StopSound() diff --git a/qcsrc/client/vehicles/vehicles.qc b/qcsrc/client/vehicles/vehicles.qc index a06190b3d..67690e11f 100644 --- a/qcsrc/client/vehicles/vehicles.qc +++ b/qcsrc/client/vehicles/vehicles.qc @@ -217,7 +217,7 @@ void CSQC_SPIDER_HUD() if(alarm1time < time) { alarm1time = time + 2; - sound(world, CH_PAIN, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE); + csound(world, CH_PAIN, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE); } drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL); } @@ -226,7 +226,7 @@ void CSQC_SPIDER_HUD() drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL); if(alarm1time) { - sound(world, CH_PAIN, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); + csound(world, CH_PAIN, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); alarm1time = 0; } } @@ -244,7 +244,7 @@ void CSQC_SPIDER_HUD() if(alarm2time < time) { alarm2time = time + 1; - sound(world, CH_TRIGGER_SINGLE, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE); + csound(world, CH_TRIGGER, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE); } drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL); } @@ -253,7 +253,7 @@ void CSQC_SPIDER_HUD() drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL); if(alarm2time) { - sound(world, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); + csound(world, CH_TRIGGER, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); alarm2time = 0; } } @@ -376,7 +376,7 @@ void CSQC_RAPTOR_HUD() if(alarm1time < time) { alarm1time = time + 2; - sound(self, CH_PAIN_SINGLE, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE); + csound(self, CH_PAIN, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE); } drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL); @@ -386,7 +386,7 @@ void CSQC_RAPTOR_HUD() drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL); if(alarm1time) { - sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); + csound(self, CH_PAIN, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); alarm1time = 0; } } @@ -405,7 +405,7 @@ void CSQC_RAPTOR_HUD() if(alarm2time < time) { alarm2time = time + 1; - sound(world, CH_TRIGGER_SINGLE, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE); + csound(world, CH_TRIGGER, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE); } drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL); } @@ -414,7 +414,7 @@ void CSQC_RAPTOR_HUD() drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL); if(alarm2time) { - sound(world, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); + csound(world, CH_TRIGGER, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); alarm2time = 0; } } @@ -566,7 +566,7 @@ void CSQC_WAKIZASHI_HUD() if(alarm1time < time) { alarm1time = time + 2; - sound(self, CH_PAIN_SINGLE, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE); + csound(self, CH_PAIN, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE); } drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL); @@ -576,7 +576,7 @@ void CSQC_WAKIZASHI_HUD() drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL); if(alarm1time) { - sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); + csound(self, CH_PAIN, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); alarm1time = 0; } } @@ -596,7 +596,7 @@ void CSQC_WAKIZASHI_HUD() if(alarm2time < time) { alarm2time = time + 1; - sound(world, CH_TRIGGER_SINGLE, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE); + csound(world, CH_TRIGGER, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE); } drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL); } @@ -605,7 +605,7 @@ void CSQC_WAKIZASHI_HUD() drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL); if(alarm2time) { - sound(world, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); + csound(world, CH_TRIGGER, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE); alarm2time = 0; } } diff --git a/qcsrc/common/constants.qh b/qcsrc/common/constants.qh index de0edbb31..f789d2180 100644 --- a/qcsrc/common/constants.qh +++ b/qcsrc/common/constants.qh @@ -431,32 +431,28 @@ const float STAT_DOM_PPS_YELLOW = 104; #ifdef COMPAT_XON010_CHANNELS float CH_INFO = 0; // only on world and csqc -float CH_TRIGGER = 0; // only on players; compat: FALSELY CONTROLLED BY "Info" +float CH_TRIGGER_LONG = 0; // auto channel for triggers float CH_WEAPON_A = 1; // only on players and entities -float CH_WEAPON_SINGLE = 1; // only on players and entities float CH_VOICE = 2; // only on players -float CH_BGM_SINGLE = 2; // only on csqc; compat: FALSELY CONTROLLED BY "Voice" +float CH_BGM = 2; // only on csqc; compat: FALSELY CONTROLLED BY "Voice" float CH_AMBIENT = 2; // only on csqc; compat: FALSELY CONTROLLED BY "Voice" -float CH_TRIGGER_SINGLE = 3; // only on players, entities, csqc -float CH_SHOTS_SINGLE = 4; // only on players, entities, csqc +float CH_TRIGGER = 3; // only on players, entities, csqc +float CH_SHOTS = 4; // only on players, entities, csqc float CH_WEAPON_B = 5; // only on players and entities float CH_PAIN = 6; // only on players and csqc -float CH_PAIN_SINGLE = 6; // only on players and csqc float CH_PLAYER = 7; // only on players and entities #else float CH_INFO = 0; -float CH_TRIGGER = -3; -float CH_WEAPON_A = -1; -float CH_WEAPON_SINGLE = 1; -float CH_VOICE = -2; -float CH_BGM_SINGLE = 8; -float CH_AMBIENT = -9; -float CH_TRIGGER_SINGLE = 3; -float CH_SHOTS_SINGLE = 4; -float CH_WEAPON_B = -1; -float CH_PAIN = -6; -float CH_PAIN_SINGLE = 6; -float CH_PLAYER = -7; +float CH_TRIGGER_LONG = 3; // differs from 0.1.0 +float CH_WEAPON_A = 1; +float CH_VOICE = 2; +float CH_BGM = 8; // differs from 0.1.0 +float CH_AMBIENT = 9; // differs from 0.1.0 +float CH_TRIGGER = 3; +float CH_SHOTS = 4; +float CH_WEAPON_B = 1; // differs from 0.1.0 +float CH_PAIN = 6; +float CH_PLAYER = 7; #endif float ATTN_NONE = 0; diff --git a/qcsrc/common/util.qh b/qcsrc/common/util.qh index 9071c1c7c..9bfccb818 100644 --- a/qcsrc/common/util.qh +++ b/qcsrc/common/util.qh @@ -266,6 +266,10 @@ const float XENCODE_LEN = 5; string xencode(float f); float xdecode(string s); -#ifndef COMPAT_XON010_CHANNELS -#define sound(e,c,s,v,a) sound7(e,c,s,v,a,0,0) +#ifdef COMPAT_XON010_CHANNELS +#define asound(e,c,s,v,a) sound(e,c,s,v,a) +#define csound(e,c,s,v,a) sound(e,c,s,v,a) +#else +#define asound(e,c,s,v,a) sound7(e,c,s,v,a,0,SOUNDFLAG_AUTO) +#define csound(e,c,s,v,a) sound7(e,c,s,v,a,0,0) #endif diff --git a/qcsrc/server/bot/scripting.qc b/qcsrc/server/bot/scripting.qc index a70e55bf6..4cffc0879 100644 --- a/qcsrc/server/bot/scripting.qc +++ b/qcsrc/server/bot/scripting.qc @@ -1061,7 +1061,7 @@ float bot_cmd_sound() f = bot_cmd.bot_cmd_parm_string; precache_sound(f); - sound(self, CH_WEAPON_B, f, VOL_BASE, ATTN_MIN); + asound(self, CH_WEAPON_B, f, VOL_BASE, ATTN_MIN); return CMD_STATUS_FINISHED; } diff --git a/qcsrc/server/cheats.qc b/qcsrc/server/cheats.qc index 1d22cc728..1f1b5319a 100644 --- a/qcsrc/server/cheats.qc +++ b/qcsrc/server/cheats.qc @@ -249,7 +249,7 @@ float CheatImpulse(float i) e2 = spawn(); setorigin(e2, org); pointparticles(particleeffectnum("rocket_explode"), org, '0 0 0', 1); - sound(e2, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound(e2, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); RadiusDamage(e2, e, 1000, 0, 128, e, 500, DEATH_CHEAT, world); remove(e2); } diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index 5b9c8d907..5581aa4cc 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -1060,7 +1060,7 @@ void PutClientInServer (void) //stuffcmd(self, "set viewsize $tmpviewsize \n"); if (autocvar_g_spawnsound) - sound (self, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM); if(g_assault) { if(self.team == assault_attacker_team) @@ -1987,7 +1987,7 @@ void play_countdown(float finished, string samp) if(clienttype(self) == CLIENTTYPE_REAL) if(floor(finished - time - frametime) != floor(finished - time)) if(finished - time < 6) - sound (self, CH_INFO, samp, VOL_BASE, ATTN_NORM); + asound (self, CH_INFO, samp, VOL_BASE, ATTN_NORM); } /** @@ -2038,12 +2038,12 @@ void player_powerups (void) if((self.items & IT_USING_JETPACK) && !self.deadflag) { - SoundEntity_StartSound(self, CH_TRIGGER_SINGLE, "misc/jetpack_fly.wav", VOL_BASE, autocvar_g_jetpack_attenuation); + SoundEntity_StartSound(self, CH_TRIGGER, "misc/jetpack_fly.wav", VOL_BASE, autocvar_g_jetpack_attenuation); self.modelflags |= MF_ROCKET; } else { - SoundEntity_StopSound(self, CH_TRIGGER_SINGLE); + SoundEntity_StopSound(self, CH_TRIGGER); self.modelflags &~= MF_ROCKET; } diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 0ba5f1d10..f66d5b34b 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -341,11 +341,11 @@ void PlayerCorpseDamage (entity inflictor, entity attacker, float damage, float if(sound_allowed(MSG_BROADCAST, attacker)) { if (save > 10) - sound (self, CH_SHOTS_SINGLE, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM); else if (take > 30) - sound (self, CH_SHOTS_SINGLE, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM); else if (take > 10) - sound (self, CH_SHOTS_SINGLE, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); } if (take > 50) @@ -458,11 +458,11 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht if(sound_allowed(MSG_BROADCAST, attacker)) { if (save > 10) - sound (self, CH_SHOTS_SINGLE, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM); else if (take > 30) - sound (self, CH_SHOTS_SINGLE, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM); else if (take > 10) - sound (self, CH_SHOTS_SINGLE, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); // FIXME possibly remove them? + asound (self, CH_SHOTS, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); // FIXME possibly remove them? } if (take > 50) @@ -1163,15 +1163,15 @@ void FakeGlobalSound(string sample, float chan, float voicetype) { msg_entity = self; if(clienttype(msg_entity) == CLIENTTYPE_REAL) - soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE, 0, SOUNDFLAG_AUTO); } break; case VOICETYPE_TEAMRADIO: msg_entity = self; if(msg_entity.cvar_cl_voice_directional == 1) - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN, 0, SOUNDFLAG_AUTO); else - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE, 0, SOUNDFLAG_AUTO); break; case VOICETYPE_AUTOTAUNT: if(!sv_autotaunt) @@ -1185,9 +1185,9 @@ void FakeGlobalSound(string sample, float chan, float voicetype) if (tauntrand < msg_entity.cvar_cl_autotaunt) { if (msg_entity.cvar_cl_voice_directional >= 1) - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX)); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX), 0, SOUNDFLAG_AUTO); else - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE, 0, SOUNDFLAG_AUTO); } break; case VOICETYPE_TAUNT: @@ -1200,13 +1200,13 @@ void FakeGlobalSound(string sample, float chan, float voicetype) break; msg_entity = self; if (msg_entity.cvar_cl_voice_directional >= 1) - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX)); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX), 0, SOUNDFLAG_AUTO); else - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE, 0, SOUNDFLAG_AUTO); break; case VOICETYPE_PLAYERSOUND: msg_entity = self; - soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NORM); + soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NORM, 0, SOUNDFLAG_AUTO); break; default: backtrace("Invalid voice type!"); @@ -1238,9 +1238,9 @@ void GlobalSound(string sample, float chan, float voicetype) if(clienttype(msg_entity) == CLIENTTYPE_REAL) { if(msg_entity.cvar_cl_voice_directional == 1) - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN, 0, SOUNDFLAG_AUTO); else - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE, 0, SOUNDFLAG_AUTO); } } break; @@ -1251,13 +1251,13 @@ void GlobalSound(string sample, float chan, float voicetype) if(clienttype(msg_entity) == CLIENTTYPE_REAL) { if(msg_entity.cvar_cl_voice_directional == 1) - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN, 0, SOUNDFLAG_AUTO); else - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE, 0, SOUNDFLAG_AUTO); } msg_entity = self; if(clienttype(msg_entity) == CLIENTTYPE_REAL) - soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE, 0, SOUNDFLAG_AUTO); } break; case VOICETYPE_TEAMRADIO: @@ -1265,9 +1265,9 @@ void GlobalSound(string sample, float chan, float voicetype) if(!teamplay || msg_entity.team == self.team) { if(msg_entity.cvar_cl_voice_directional == 1) - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN, 0, SOUNDFLAG_AUTO); else - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE, 0, SOUNDFLAG_AUTO); } break; case VOICETYPE_AUTOTAUNT: @@ -1282,9 +1282,9 @@ void GlobalSound(string sample, float chan, float voicetype) if (tauntrand < msg_entity.cvar_cl_autotaunt) { if (msg_entity.cvar_cl_voice_directional >= 1) - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX)); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX), 0, SOUNDFLAG_AUTO); else - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE, 0, SOUNDFLAG_AUTO); } break; case VOICETYPE_TAUNT: @@ -1298,13 +1298,13 @@ void GlobalSound(string sample, float chan, float voicetype) FOR_EACH_REALCLIENT(msg_entity) { if (msg_entity.cvar_cl_voice_directional >= 1) - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX)); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX), 0, SOUNDFLAG_AUTO); else - soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE); + soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE, 0, SOUNDFLAG_AUTO); } break; case VOICETYPE_PLAYERSOUND: - sound(self, chan, sample, VOL_BASE, ATTN_NORM); + asound(self, chan, sample, VOL_BASE, ATTN_NORM); break; default: backtrace("Invalid voice type!"); diff --git a/qcsrc/server/cl_weapons.qc b/qcsrc/server/cl_weapons.qc index 9e59a4c55..044bdba1f 100644 --- a/qcsrc/server/cl_weapons.qc +++ b/qcsrc/server/cl_weapons.qc @@ -375,7 +375,7 @@ void W_WeaponFrame() { #endif // UGLY WORKAROUND: play this on CH_WEAPON_B so it can't cut off fire sounds - sound (self, CH_WEAPON_B, "weapons/weapon_switch.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_B, "weapons/weapon_switch.wav", VOL_BASE, ATTN_NORM); self.weaponentity.state = WS_DROP; // set up weapon switch think in the future, and start drop anim weapon_thinkf(WFRAME_DONTCHANGE, autocvar_g_balance_weaponswitchdelay, w_clear); diff --git a/qcsrc/server/cl_weaponsystem.qc b/qcsrc/server/cl_weaponsystem.qc index 3d7a33278..8203a3191 100644 --- a/qcsrc/server/cl_weaponsystem.qc +++ b/qcsrc/server/cl_weaponsystem.qc @@ -245,7 +245,7 @@ void W_SetupShot_Dir_ProjectileSize_Range(entity ent, vector s_forward, vector m ent.punchangle_x = recoil * -1; if (snd != "") - sound (ent, chan, snd, VOL_BASE, ATTN_NORM); + asound (ent, chan, snd, VOL_BASE, ATTN_NORM); if(ent.items & IT_STRENGTH) if(!g_minstagib) @@ -255,7 +255,7 @@ void W_SetupShot_Dir_ProjectileSize_Range(entity ent, vector s_forward, vector m (time > ent.prevstrengthsoundattempt + autocvar_sv_strengthsound_antispam_refire_threshold) ) // prevent insane sound spam { - sound(ent, CH_TRIGGER, "weapons/strength_fire.wav", VOL_BASE, ATTN_NORM); + asound(ent, CH_TRIGGER, "weapons/strength_fire.wav", VOL_BASE, ATTN_NORM); ent.prevstrengthsound = time; } ent.prevstrengthsoundattempt = time; @@ -1063,7 +1063,7 @@ float weapon_prepareattack_checkammo(float secondary) if(self.weapon == self.switchweapon && time - self.prevdryfire > 1) // only play once BEFORE starting to switch weapons { - sound (self, CH_WEAPON_A, "weapons/dryfire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/dryfire.wav", VOL_BASE, ATTN_NORM); self.prevdryfire = time; } @@ -1733,7 +1733,7 @@ void W_Reload(float sent_ammo_min, float sent_ammo_amount, float sent_time, stri // now begin the reloading process - sound (self, CH_WEAPON_B, self.reload_sound, VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_B, self.reload_sound, VOL_BASE, ATTN_NORM); // do not set ATTACK_FINISHED in reload code any more. This causes annoying delays if eg: You start reloading a weapon, // then quickly switch to another weapon and back. Reloading is canceled, but the reload delay is still there, diff --git a/qcsrc/server/ctf.qc b/qcsrc/server/ctf.qc index d88ae5d37..3ea9f903e 100644 --- a/qcsrc/server/ctf.qc +++ b/qcsrc/server/ctf.qc @@ -303,7 +303,7 @@ void DropFlag(entity e, entity penalty_receiver, entity attacker) backtrace("Flag carrier had no flag sprite?!?"); } LogCTF("dropped", p.team, p); - sound (p, CH_TRIGGER, self.noise4, VOL_BASE, ATTN_NONE); + asound (p, CH_TRIGGER, self.noise4, VOL_BASE, ATTN_NONE); setattachment(e, world, ""); e.damageforcescale = autocvar_g_balance_ctf_damageforcescale; @@ -358,7 +358,7 @@ void FlagThink() { bprint("The ", self.netname, " became impatient after ", ftos_decimals(flagcaptimerecord, 2), " seconds and returned itself\n"); - sound (self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NONE); + asound (self, CH_TRIGGER, self.noise3, VOL_BASE, ATTN_NONE); self.owner.impulse = 141; // returning! e = self; @@ -385,7 +385,7 @@ void FlagThink() if (time > self.pain_finished) { bprint("The ", self.netname, " has returned to base\n"); - sound (self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NONE); + asound (self, CH_TRIGGER, self.noise3, VOL_BASE, ATTN_NONE); LogCTF("returned", self.team, world); ReturnFlag(self); } @@ -493,7 +493,7 @@ void FlagTouch() } } - sound (other, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NONE); + asound (other, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NONE); WaypointSprite_DetachCarrier(other); if(self.speedrunning) FakeTimeLimit(other, -1); @@ -531,7 +531,7 @@ void FlagTouch() self.dropperid = other.playerid; PlayerScore_Add(other, SP_CTF_PICKUPS, 1); LogCTF("steal", self.team, other); - sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE); + asound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE); FOR_EACH_PLAYER(player) if(player.team == self.team) @@ -586,7 +586,7 @@ void FlagTouch() } PlayerScore_Add(other, SP_CTF_RETURNS, 1); LogCTF("return", self.team, other); - sound (other, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NONE); + asound (other, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NONE); ReturnFlag(self); } else if (!other.flagcarried && (other.playerid != self.dropperid || time > self.ctf_droptime + autocvar_g_balance_ctf_delay_collect)) @@ -618,7 +618,7 @@ void FlagTouch() UpdateFrags(other, f); PlayerScore_Add(other, SP_CTF_PICKUPS, 1); LogCTF("pickup", self.team, other); - sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE); + asound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE); FOR_EACH_PLAYER(player) if(player.team == self.team) diff --git a/qcsrc/server/domination.qc b/qcsrc/server/domination.qc index a6cc9a88d..96e4b5f07 100644 --- a/qcsrc/server/domination.qc +++ b/qcsrc/server/domination.qc @@ -109,9 +109,9 @@ void dompoint_captured () if (head.noise != "") if(self.enemy) - sound(self.enemy, CH_TRIGGER, head.noise, VOL_BASE, ATTN_NORM); + asound(self.enemy, CH_TRIGGER, head.noise, VOL_BASE, ATTN_NORM); else - sound(self, CH_TRIGGER_SINGLE, head.noise, VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, head.noise, VOL_BASE, ATTN_NORM); if (head.noise1 != "") play2all(head.noise1); diff --git a/qcsrc/server/extensions.qh b/qcsrc/server/extensions.qh index 2240d8f1c..76b16de96 100644 --- a/qcsrc/server/extensions.qh +++ b/qcsrc/server/extensions.qh @@ -296,29 +296,6 @@ float EF_LOWPRECISION = 4194304; //description: //this is a very special capability, attachs the entity to the view of the client specified, origin and angles become relative to the view of that client, all effects can be used (multiple skins on a weapon model etc)... the entity is not visible to any other client. -//DP_GECKO_SUPPORT -//idea: Res2k, BlackHC -//darkplaces implementation: Res2k, BlackHC -//constant definitions: -float GECKO_BUTTON_DOWN = 0; -float GECKO_BUTTON_UP = 1; -// either use down and up or just press but not all of them! -float GECKO_BUTTON_PRESS = 2; -// use this for mouse events if needed? -float GECKO_BUTTON_DOUBLECLICK = 3; -//builtin definitions: -float(string name) gecko_create( string name ) = #487; -void(string name) gecko_destroy( string name ) = #488; -void(string name) gecko_navigate( string name, string URI ) = #489; -float(string name) gecko_keyevent( string name, float key, float eventtype ) = #490; -void gecko_mousemove( string name, float x, float y ) = #491; -void gecko_resize( string name, float w, float h ) = #492; -vector gecko_get_texture_extent( string name ) = #493; -//engine-called QC prototypes: -//string(string name, string query) Qecko_Query; -//description: -//provides an interface to the offscreengecko library and allows for internet browsing in games - //DP_GFX_EXTERNALTEXTURES //idea: LordHavoc //darkplaces implementation: LordHavoc @@ -1235,29 +1212,30 @@ float(string name, string value) registercvar = #93; //builtin definitions: void(entity e, float chan, string samp, float vol, float atten, float speed, float flags) sound7 = #8; float SOUNDFLAG_RELIABLE = 1; +float SOUNDFLAG_AUTO = 128; //description: //plays a sound, with some more flags //extensions to sound(): -//- channel may be in the range from -128 to +127; channels -128 to 0 are -// "automatic" channels, i.e. they can run multiple voices at once -// like CHAN_AUTO does +//- channel may be in the range from 0 to 127; channel 0 is NOT magic in any +// way //- a speed parameter has been reserved for later addition of pitch shifting. // it MUST be set to 0 for now, meaning "no pitch change" //- the flag SOUNDFLAG_RELIABLE can be specified, which makes the sound send // to MSG_ALL (reliable) instead of MSG_BROADCAST (unreliable, default); // similarily, SOUNDFLAG_RELIABLE_TO_ONE sends to MSG_ONE -//- channel 0 is controlled by snd_channel0volume; channels +1 and -1 are -// controlled by snd_channel1volume, etc. (so positive and negative same numbered -// channel use the same control cvar); however, the mod MUST define -// snd_channel8volume and upwards in default.cfg if they are to be used, -// as the engine does not create them to not litter the cvar list +//- the flag SOUNDFLAG_AUTO can be specified, which makes the sound not stop +// other sounds on the same channel, and not be stopped by other sounds on the +// same channel +//- channel 0 is controlled by snd_channel0volume; channel 1 by +// snd_channel1volume, etc.; however, the mod MUST define snd_channel8volume and +// upwards in default.cfg if they are to be used, as the engine does not create +// them to not litter the cvar list //- this extension applies to CSQC as well; CSQC_Event_Sound will get speed and // flags as extra 7th and 8th argument //- WIP2 ideas: SOUNDFLAG_RELIABLE_TO_ONE, SOUNDFLAG_NOPHS, SOUNDFLAG_FORCELOOP //- NOTE: to check for this, ALSO OR a check with DP_SND_SOUND7 to also support // the finished extension once done - //DP_SND_OGGVORBIS //idea: Transfusion //darkplaces implementation: Elric diff --git a/qcsrc/server/func_breakable.qc b/qcsrc/server/func_breakable.qc index 4a0e8d922..b4594f37c 100644 --- a/qcsrc/server/func_breakable.qc +++ b/qcsrc/server/func_breakable.qc @@ -162,7 +162,7 @@ void func_breakable_destroy() { func_breakable_destroyed(); if(self.noise) - sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM); + asound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); if(self.dmg) RadiusDamage(self, activator, self.dmg, self.dmg_edge, self.dmg_radius, self, self.dmg_force, DEATH_HURTTRIGGER, world); diff --git a/qcsrc/server/g_hook.qc b/qcsrc/server/g_hook.qc index 0437f8043..5dafc1055 100644 --- a/qcsrc/server/g_hook.qc +++ b/qcsrc/server/g_hook.qc @@ -66,7 +66,7 @@ void GrapplingHookThink(); void GrapplingHook_Stop() { pointparticles(particleeffectnum("grapple_impact"), self.origin, '0 0 0', 1); - sound (self, CH_SHOTS_SINGLE, "weapons/hook_impact.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "weapons/hook_impact.wav", VOL_BASE, ATTN_NORM); self.state = 1; self.think = GrapplingHookThink; @@ -300,7 +300,7 @@ void FireGrapplingHook (void) vs = hook_shotorigin[s]; // UGLY WORKAROUND: play this on CH_WEAPON_B so it can't cut off fire sounds - sound (self, CH_WEAPON_B, "weapons/hook_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_B, "weapons/hook_fire.wav", VOL_BASE, ATTN_NORM); org = self.origin + self.view_ofs + v_forward * vs_x + v_right * -vs_y + v_up * vs_z; tracebox(self.origin + self.view_ofs, '-3 -3 -3', '3 3 3', org, MOVE_NORMAL, self); diff --git a/qcsrc/server/g_triggers.qc b/qcsrc/server/g_triggers.qc index 2b96b967a..1d88d8389 100644 --- a/qcsrc/server/g_triggers.qc +++ b/qcsrc/server/g_triggers.qc @@ -171,7 +171,7 @@ void multi_trigger() } if (self.noise) - sound (self.enemy, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); + asound (self.enemy, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); // don't trigger again until reset self.takedamage = DAMAGE_NO; @@ -554,7 +554,7 @@ void trigger_heal_touch() { other.health = min(other.health + self.health, self.max_health); other.pauserothealth_finished = max(other.pauserothealth_finished, time + autocvar_g_balance_pause_health_rot); - sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); + asound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); } } } @@ -665,7 +665,7 @@ void trigger_gravity_touch() { other.gravity = g; if(self.noise != "") - sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); + asound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); UpdateCSQCProjectile(self.owner); } }; @@ -691,7 +691,7 @@ void spawnfunc_trigger_gravity() //============================================================================= -// TODO add a way to do looped sounds with sound(); then complete this entity +// TODO add a way to do looped sounds with csound(); then complete this entity .float volume, atten; void target_speaker_use_off(); void target_speaker_use_activator() @@ -721,7 +721,7 @@ void target_speaker_use_activator() else snd = self.noise; msg_entity = activator; - soundto(MSG_ONE, self, CH_TRIGGER_SINGLE, snd, VOL_BASE * self.volume, self.atten); + soundto(MSG_ONE, self, CH_TRIGGER, snd, VOL_BASE * self.volume, self.atten, 0, SOUNDFLAG_AUTO); } void target_speaker_use_on() { @@ -747,13 +747,13 @@ void target_speaker_use_on() } else snd = self.noise; - sound(self, CH_TRIGGER_SINGLE, snd, VOL_BASE * self.volume, self.atten); + csound(self, CH_TRIGGER, snd, VOL_BASE * self.volume, self.atten); if(self.spawnflags & 3) self.use = target_speaker_use_off; } void target_speaker_use_off() { - sound(self, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASE * self.volume, self.atten); + csound(self, CH_TRIGGER, "misc/null.wav", VOL_BASE * self.volume, self.atten); self.use = target_speaker_use_on; } void target_speaker_reset() diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index 697049997..ac8cf59b9 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -1344,25 +1344,41 @@ float sound_allowed(float dest, entity e) return TRUE; } +#undef asound +#undef csound #ifdef COMPAT_XON010_CHANNELS void(entity e, float chan, string samp, float vol, float atten) sound_builtin = #8; -void sound(entity e, float chan, string samp, float vol, float atten) +void asound(entity e, float chan, string samp, float vol, float atten) +{ + if (!sound_allowed(MSG_BROADCAST, e)) + return; + if(chan == CH_TRIGGER && e.flags & FL_CLIENT) + chan = 0; + sound_builtin(e, chan, samp, vol, atten); +} +void csound(entity e, float chan, string samp, float vol, float atten) { if (!sound_allowed(MSG_BROADCAST, e)) return; sound_builtin(e, chan, samp, vol, atten); } #else -#undef sound -void sound(entity e, float chan, string samp, float vol, float atten) +void asound(entity e, float chan, string samp, float vol, float atten) +{ + if (!sound_allowed(MSG_BROADCAST, e)) + return; + sound7(e, chan, samp, vol, atten, 0, SOUNDFLAG_AUTO); +} +void csound(entity e, float chan, string samp, float vol, float atten) { if (!sound_allowed(MSG_BROADCAST, e)) return; sound7(e, chan, samp, vol, atten, 0, 0); } #endif +#define sound DONOTUSE -void soundtoat(float dest, entity e, vector o, float chan, string samp, float vol, float atten) +void soundtoat(float dest, entity e, vector o, float chan, string samp, float vol, float atten, float pitchshift, float fl) { float entno, idx; @@ -1372,6 +1388,18 @@ void soundtoat(float dest, entity e, vector o, float chan, string samp, float vo entno = num_for_edict(e); idx = precache_sound_index(samp); + chan &~= 0x80; + if(fl & SOUNDFLAG_AUTO) + { + if(chan != 0) + chan |= 0x80; + } + else + { + if(chan == 0) + chan |= 0x80; + } + float sflags; sflags = 0; @@ -1411,7 +1439,7 @@ void soundtoat(float dest, entity e, vector o, float chan, string samp, float vo WriteCoord(dest, o_y); WriteCoord(dest, o_z); } -void soundto(float dest, entity e, float chan, string samp, float vol, float atten) +void soundto(float dest, entity e, float chan, string samp, float vol, float atten, float pitchshift, float pl) { vector o; @@ -1419,11 +1447,11 @@ void soundto(float dest, entity e, float chan, string samp, float vol, float att return; o = e.origin + 0.5 * (e.mins + e.maxs); - soundtoat(dest, e, o, chan, samp, vol, atten); + soundtoat(dest, e, o, chan, samp, vol, atten, pitchshift, pl); } -void soundat(entity e, vector o, float chan, string samp, float vol, float atten) +void soundat(entity e, vector o, float chan, string samp, float vol, float atten, float pitchshift, float pl) { - soundtoat(((chan & 8) ? MSG_ALL : MSG_BROADCAST), e, o, chan, samp, vol, atten); + soundtoat(((chan & 8) ? MSG_ALL : MSG_BROADCAST), e, o, chan, samp, vol, atten, pitchshift, pl); } void stopsoundto(float dest, entity e, float chan) { @@ -1472,7 +1500,7 @@ void play2(entity e, string filename) { //stuffcmd(e, strcat("play2 ", filename, "\n")); msg_entity = e; - soundtoat(MSG_ONE, world, '0 0 0', CH_INFO, filename, VOL_BASE, ATTN_NONE); + soundtoat(MSG_ONE, world, '0 0 0', CH_INFO, filename, VOL_BASE, ATTN_NONE, 0, SOUNDFLAG_AUTO); } // use this one if you might be causing spam (e.g. from touch functions that might get called more than once per frame) @@ -1485,7 +1513,7 @@ float spamsound(entity e, float chan, string samp, float vol, float atten) if (time > e.spamtime) { e.spamtime = time; - sound(e, chan, samp, vol, atten); + asound(e, chan, samp, vol, atten); return TRUE; } return FALSE; @@ -1510,7 +1538,7 @@ void play2all(string samp) if (autocvar_bot_sound_monopoly) return; - sound(world, CH_INFO, samp, VOL_BASE, ATTN_NONE); + asound(world, CH_INFO, samp, VOL_BASE, ATTN_NONE); } void PrecachePlayerSounds(string f); @@ -2814,7 +2842,7 @@ void SoundEntity_StartSound(entity pl, float chan, string samp, float vol, float p = pow(2, chan); if (pl.soundentity.cnt & p) return; - soundtoat(MSG_ALL, pl.soundentity, gettaginfo(pl.soundentity, 0), chan, samp, vol, attn); + soundtoat(MSG_ALL, pl.soundentity, gettaginfo(pl.soundentity, 0), chan, samp, vol, attn, 0, 0); pl.soundentity.cnt |= p; } diff --git a/qcsrc/server/mode_onslaught.qc b/qcsrc/server/mode_onslaught.qc index 5662f95bd..da2279809 100644 --- a/qcsrc/server/mode_onslaught.qc +++ b/qcsrc/server/mode_onslaught.qc @@ -384,7 +384,7 @@ void onslaught_generator_think() { // self.max_health / 300 gives 5 minutes of overtime. // control points reduce the overtime duration. - sound(self, CH_TRIGGER_SINGLE, "onslaught/generator_decay.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "onslaught/generator_decay.wav", VOL_BASE, ATTN_NORM); d = 1; e = findchain(classname, "onslaught_controlpoint"); while (e) @@ -455,7 +455,7 @@ void onslaught_generator_damage_think() if(random() < 0.01) { pointparticles(particleeffectnum("electro_ballexplode"), self.origin + randompos('-50 -50 -20', '50 50 50'), '0 0 0', 1); - sound(self, CH_TRIGGER_SINGLE, "onslaught/electricity_explode.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "onslaught/electricity_explode.wav", VOL_BASE, ATTN_NORM); } else pointparticles(particleeffectnum("torch_small"), self.origin + randompos('-60 -60 -20', '60 60 60'), '0 0 0', 1); @@ -484,7 +484,7 @@ void onslaught_generator_deaththink() if(self.count==40||self.count==20) { onslaught_generator_ring_spawn(self.origin); - sound(self, CH_TRIGGER_SINGLE, "onslaught/shockwave.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "onslaught/shockwave.wav", VOL_BASE, ATTN_NORM); } // Throw some gibs @@ -510,7 +510,7 @@ void onslaught_generator_deaththink() if(random() < 0.25) { te_explosion(self.origin); - sound(self, CH_TRIGGER_SINGLE, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM); } // Particles @@ -530,7 +530,7 @@ void onslaught_generator_deaththink() te_explosion(org); onslaught_generator_shockwave_spawn(org); pointparticles(particleeffectnum("onslaught_generator_finalexplosion"), org, '0 0 0', 1); - sound(self, CH_TRIGGER_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); } else self.nextthink = time + 0.05; @@ -631,7 +631,7 @@ void onslaught_generator_damage(entity inflictor, entity attacker, float damage, // Throw some flaming gibs on damage, more damage = more chance for gib if(random() < damage/220) { - sound(self, CH_TRIGGER_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); i = random(); if(i < 0.3) ons_throwgib(hitloc + '0 0 20', force * -1, "models/onslaught/gen_gib1.md3", 5, TRUE); @@ -647,9 +647,9 @@ void onslaught_generator_damage(entity inflictor, entity attacker, float damage, //sound on every hit if (random() < 0.5) - sound(self, CH_TRIGGER_SINGLE, "onslaught/ons_hit1.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "onslaught/ons_hit1.wav", VOL_BASE, ATTN_NORM); else - sound(self, CH_TRIGGER_SINGLE, "onslaught/ons_hit2.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "onslaught/ons_hit2.wav", VOL_BASE, ATTN_NORM); } //throw some gibs on damage @@ -977,13 +977,13 @@ void onslaught_controlpoint_icon_damage(entity inflictor, entity attacker, float pointparticles(particleeffectnum("sparks"), hitloc, force*-1, 1); //sound on every hit if (random() < 0.5) - sound(self, CH_TRIGGER_SINGLE, "onslaught/ons_hit1.wav", VOL_BASE+0.3, ATTN_NORM); + asound(self, CH_TRIGGER, "onslaught/ons_hit1.wav", VOL_BASE+0.3, ATTN_NORM); else - sound(self, CH_TRIGGER_SINGLE, "onslaught/ons_hit2.wav", VOL_BASE+0.3, ATTN_NORM); + asound(self, CH_TRIGGER, "onslaught/ons_hit2.wav", VOL_BASE+0.3, ATTN_NORM); if (self.health < 0) { - sound(self, CH_TRIGGER_SINGLE, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1); { string t; @@ -1104,9 +1104,9 @@ void onslaught_controlpoint_icon_think() pointparticles(particleeffectnum("electricity_sparks"), self.origin + randompos('-10 -10 -20', '10 10 20'), '0 0 0', 1); if(random() > 0.8) - sound(self, CH_PAIN, "onslaught/ons_spark1.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_PAIN, "onslaught/ons_spark1.wav", VOL_BASE, ATTN_NORM); else if (random() > 0.5) - sound(self, CH_PAIN, "onslaught/ons_spark2.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_PAIN, "onslaught/ons_spark2.wav", VOL_BASE, ATTN_NORM); } }; @@ -1129,7 +1129,7 @@ void onslaught_controlpoint_icon_buildthink() self.health = self.max_health; self.count = autocvar_g_onslaught_cp_regen * sys_frametime; // slow repair rate from now on self.think = onslaught_controlpoint_icon_think; - sound(self, CH_TRIGGER_SINGLE, "onslaught/controlpoint_built.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "onslaught/controlpoint_built.wav", VOL_BASE, ATTN_NORM); bprint(ColoredTeamName(self.team), " captured ", self.owner.message, " control point\n"); self.owner.iscaptured = TRUE; @@ -1192,7 +1192,7 @@ void onslaught_controlpoint_touch() e.think = onslaught_controlpoint_icon_buildthink; e.nextthink = time + sys_frametime; e.count = (e.max_health - e.health) * sys_frametime / autocvar_g_onslaught_cp_buildtime; // how long it takes to build - sound(e, CH_TRIGGER_SINGLE, "onslaught/controlpoint_build.wav", VOL_BASE, ATTN_NORM); + asound(e, CH_TRIGGER, "onslaught/controlpoint_build.wav", VOL_BASE, ATTN_NORM); self.team = e.team; self.colormap = e.colormap; WaypointSprite_UpdateBuildFinished(self.sprite, time + (e.max_health - e.health) / (e.count / sys_frametime)); diff --git a/qcsrc/server/monsters/ai.qc b/qcsrc/server/monsters/ai.qc index b7c775578..c3c25bb7b 100644 --- a/qcsrc/server/monsters/ai.qc +++ b/qcsrc/server/monsters/ai.qc @@ -117,7 +117,7 @@ void() t_movetarget = /* PLEASE FIX THE SOUND CHANNEL BEFORE ACTIVATING THIS if (self.classname == "monster_ogre") - sound (self, CHAN_VOICE, "ogre/ogdrag.wav", 1, ATTN_IDLE);// play chainsaw drag sound + asound (self, CHAN_VOICE, "ogre/ogdrag.wav", 1, ATTN_IDLE);// play chainsaw drag sound */ //dprint ("t_movetarget\n"); @@ -172,7 +172,7 @@ void() monster_wanderpathtouch = /* PLEASE FIX THE SOUND CHANNEL BEFORE ACTIVATING THIS if (other.classname == "monster_ogre") - sound (other, CHAN_VOICE, "ogre/ogdrag.wav", 1, ATTN_IDLE);// play chainsaw drag sound + asound (other, CHAN_VOICE, "ogre/ogdrag.wav", 1, ATTN_IDLE);// play chainsaw drag sound */ monster_wanderpaththink(); }; diff --git a/qcsrc/server/monsters/m_monsters.qc b/qcsrc/server/monsters/m_monsters.qc index ceb3f207c..98601b606 100644 --- a/qcsrc/server/monsters/m_monsters.qc +++ b/qcsrc/server/monsters/m_monsters.qc @@ -105,7 +105,7 @@ void(float a) monster_setalpha = { // blink for an instant, this causes the appear sound, alarming the player as if under attack /* PLEASE FIX THE SOUND CHANNEL BEFORE ACTIVATING THIS - sound(self, CHAN_AUTO, "wizard/wsight.wav", 1, ATTN_NORM); + asound(self, CHAN_AUTO, "wizard/wsight.wav", 1, ATTN_NORM); */ a = 1; } @@ -121,7 +121,7 @@ void(float a) monster_setalpha = // if unghosting, make sure we have an enemy, otherwise stay ghosted (even if blinking) so we can't be shot while blinking /* PLEASE FIX THE SOUND CHANNEL BEFORE ACTIVATING THIS if (self.solid != SOLID_SLIDEBOX) - sound(self, CHAN_AUTO, "wizard/wsight.wav", 1, ATTN_NORM); + asound(self, CHAN_AUTO, "wizard/wsight.wav", 1, ATTN_NORM); */ self.solid = SOLID_SLIDEBOX; self.takedamage = DAMAGE_AIM; diff --git a/qcsrc/server/mutators/gamemode_keepaway.qc b/qcsrc/server/mutators/gamemode_keepaway.qc index ac6d5dccd..b4c4b3391 100644 --- a/qcsrc/server/mutators/gamemode_keepaway.qc +++ b/qcsrc/server/mutators/gamemode_keepaway.qc @@ -78,7 +78,7 @@ void ka_RespawnBall() // runs whenever the ball needs to be relocated WaypointSprite_Spawn("ka-ball", 0, 0, self, '0 0 64', world, self.team, self, waypointsprite_attachedforcarrier, FALSE, RADARICON_FLAGCARRIER, '0 1 1'); WaypointSprite_Ping(self.waypointsprite_attachedforcarrier); - sound(self, CH_TRIGGER_SINGLE, "keepaway/respawn.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) + asound(self, CH_TRIGGER, "keepaway/respawn.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) } else { @@ -99,7 +99,7 @@ void ka_TouchEvent() // runs any time that the ball comes in contact with someth if(other.classname != "player") { // The ball just touched an object, most likely the world pointparticles(particleeffectnum("kaball_sparks"), self.origin, '0 0 0', 1); - sound(self, CH_TRIGGER_SINGLE, "keepaway/touch.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_TRIGGER, "keepaway/touch.wav", VOL_BASE, ATTN_NORM); return; } else if(self.wait > time) { return; } @@ -128,7 +128,7 @@ void ka_TouchEvent() // runs any time that the ball comes in contact with someth Send_KillNotification(other.netname, "", "", KA_PICKUPBALL, MSG_KA); WriteByte(MSG_BROADCAST, SVC_CENTERPRINT); WriteString(MSG_BROADCAST, strcat("\n\n", other.netname, "^7 has picked up the ball!\n")); - sound(self.owner, CH_TRIGGER, "keepaway/pickedup.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) + asound(self.owner, CH_TRIGGER, "keepaway/pickedup.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) // scoring PlayerScore_Add(other, SP_KEEPAWAY_PICKUPS, 1); @@ -170,7 +170,7 @@ void ka_DropEvent(entity plyr) // runs any time that a player is supposed to los Send_KillNotification(plyr.netname, "", "", KA_DROPBALL, MSG_KA); WriteByte(MSG_BROADCAST, SVC_CENTERPRINT); WriteString(MSG_BROADCAST, strcat("\n\n", plyr.netname, "^7 has dropped the ball!\n")); - sound(plyr, CH_TRIGGER, "keepaway/dropped.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) + asound(plyr, CH_TRIGGER, "keepaway/dropped.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) // scoring // PlayerScore_Add(plyr, SP_KEEPAWAY_DROPS, 1); Not anymore, this is 100% the same as pickups and is useless. diff --git a/qcsrc/server/mutators/gamemode_keyhunt.qc b/qcsrc/server/mutators/gamemode_keyhunt.qc index decada031..4667a6e52 100644 --- a/qcsrc/server/mutators/gamemode_keyhunt.qc +++ b/qcsrc/server/mutators/gamemode_keyhunt.qc @@ -413,7 +413,7 @@ void kh_Key_Damage(entity inflictor, entity attacker, float damage, float deatht void kh_Key_Collect(entity key, entity player) //a player picks up a dropped key { - sound(player, CH_TRIGGER, kh_sound_collect, VOL_BASE, ATTN_NORM); + asound(player, CH_TRIGGER, kh_sound_collect, VOL_BASE, ATTN_NORM); if(key.kh_dropperteam != player.team) { @@ -664,7 +664,7 @@ void kh_Key_Think() // runs all the time { if(self.siren_time < time) { - sound(self.owner, CH_TRIGGER, kh_sound_alarm, VOL_BASE, ATTN_NORM); // play a simple alarm + asound(self.owner, CH_TRIGGER, kh_sound_alarm, VOL_BASE, ATTN_NORM); // play a simple alarm self.siren_time = time + 2.5; // repeat every 2.5 seconds } @@ -799,7 +799,7 @@ void kh_Key_DropOne(entity key) key.pushltime = time + autocvar_g_balance_keyhunt_protecttime; key.kh_dropperteam = key.team; - sound(player, CH_TRIGGER, kh_sound_drop, VOL_BASE, ATTN_NORM); + asound(player, CH_TRIGGER, kh_sound_drop, VOL_BASE, ATTN_NORM); } void kh_Key_DropAll(entity player, float suicide) // runs whenever a player dies @@ -825,7 +825,7 @@ void kh_Key_DropAll(entity player, float suicide) // runs whenever a player dies if(suicide) key.kh_dropperteam = player.team; } - sound(player, CH_TRIGGER, kh_sound_drop, VOL_BASE, ATTN_NORM); + asound(player, CH_TRIGGER, kh_sound_drop, VOL_BASE, ATTN_NORM); } } diff --git a/qcsrc/server/nexball.qc b/qcsrc/server/nexball.qc index 3ee7b5597..8a26858b8 100644 --- a/qcsrc/server/nexball.qc +++ b/qcsrc/server/nexball.qc @@ -222,7 +222,7 @@ void InitBall (void) self.teamtime = 0; self.pusher = world; self.team = FALSE; - sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM); + asound (self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); WaypointSprite_Ping(self.waypointsprite_attachedforcarrier); LogNB("init", world); } @@ -262,7 +262,7 @@ void football_touch (void) if (other.solid == SOLID_BSP) { if (time > self.lastground + 0.1) { - sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM); + asound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); self.lastground = time; } if (vlen(self.velocity) && !self.cnt) @@ -308,7 +308,7 @@ void basketball_touch (void) LogNB("caught", other); GiveBall(other, self); } else if (other.solid == SOLID_BSP) { - sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM); + asound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); if (vlen(self.velocity) && !self.cnt) self.nextthink = min(time + g_nexball_delay_idle, self.teamtime); } @@ -366,7 +366,7 @@ void GoalTouch (void) pscore = 1; } - sound (ball, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NONE); + asound (ball, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE); if(ball.team && pscore) { @@ -604,7 +604,7 @@ void W_Nexball_Touch (void) if(!attacker.ballcarried) { LogNB("stole", attacker); - sound (other, CH_TRIGGER, ball.noise2, VOL_BASE, ATTN_NORM); + asound (other, CH_TRIGGER, ball.noise2, VOL_BASE, ATTN_NORM); if(attacker.team == other.team && time > attacker.teamkill_complain) { diff --git a/qcsrc/server/portals.qc b/qcsrc/server/portals.qc index af7e8b415..677013cb7 100644 --- a/qcsrc/server/portals.qc +++ b/qcsrc/server/portals.qc @@ -394,14 +394,14 @@ void Portal_Remove(entity portal, float killed) if(killed) { fixedmakevectors(portal.mangle); - sound(portal, CH_SHOTS_SINGLE, "porto/explode.wav", VOL_BASE, ATTN_NORM); + asound(portal, CH_SHOTS, "porto/explode.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("rocket_explode"), portal.origin + v_forward * 16, v_forward * 1024, 4); remove(portal); } else { Portal_MakeBrokenPortal(portal); - sound(portal, CH_SHOTS_SINGLE, "porto/expire.wav", VOL_BASE, ATTN_NORM); + asound(portal, CH_SHOTS, "porto/expire.wav", VOL_BASE, ATTN_NORM); SUB_SetFade(portal, time, 0.5); } } diff --git a/qcsrc/server/sv_main.qc b/qcsrc/server/sv_main.qc index d11a7e3fd..b63a0b6e8 100644 --- a/qcsrc/server/sv_main.qc +++ b/qcsrc/server/sv_main.qc @@ -43,7 +43,7 @@ void CreatureFrame (void) if (self.watersound_finished < time) { self.watersound_finished = time + 0.5; - sound (self, CH_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM); } Damage (self, world, world, 6 * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0'); } @@ -52,7 +52,7 @@ void CreatureFrame (void) if (self.watersound_finished < time) { self.watersound_finished = time + 0.5; - sound (self, CH_PLAYER, "player/slime.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_PLAYER, "player/slime.wav", VOL_BASE, ATTN_NORM); } Damage (self, world, world, 2 * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0'); } diff --git a/qcsrc/server/t_items.qc b/qcsrc/server/t_items.qc index 001063585..4be3044c4 100644 --- a/qcsrc/server/t_items.qc +++ b/qcsrc/server/t_items.qc @@ -146,11 +146,11 @@ void Item_Respawn (void) { Item_Show(self, 1); if(!g_minstagib && self.items == IT_STRENGTH) - sound (self, CH_TRIGGER_SINGLE, "misc/strength_respawn.wav", VOL_BASE, ATTN_NORM); // play respawn sound + asound (self, CH_TRIGGER, "misc/strength_respawn.wav", VOL_BASE, ATTN_NORM); // play respawn sound else if(!g_minstagib && self.items == IT_INVINCIBLE) - sound (self, CH_TRIGGER_SINGLE, "misc/shield_respawn.wav", VOL_BASE, ATTN_NORM); // play respawn sound + asound (self, CH_TRIGGER, "misc/shield_respawn.wav", VOL_BASE, ATTN_NORM); // play respawn sound else - sound (self, CH_TRIGGER_SINGLE, "misc/itemrespawn.wav", VOL_BASE, ATTN_NORM); // play respawn sound + asound (self, CH_TRIGGER, "misc/itemrespawn.wav", VOL_BASE, ATTN_NORM); // play respawn sound setorigin (self, self.origin); //pointparticles(particleeffectnum("item_respawn"), self.origin + self.mins_z * '0 0 1' + '0 0 48', '0 0 0', 1); @@ -203,7 +203,7 @@ void Item_RespawnCountdown (void) WaypointSprite_UpdateBuildFinished(self.waypointsprite_attached, time + ITEM_RESPAWN_TICKS); } } - sound (self, CH_TRIGGER_SINGLE, "misc/itemrespawncountdown.wav", VOL_BASE, ATTN_NORM); // play respawn sound + asound (self, CH_TRIGGER, "misc/itemrespawncountdown.wav", VOL_BASE, ATTN_NORM); // play respawn sound if(self.waypointsprite_attached) { WaypointSprite_Ping(self.waypointsprite_attached); @@ -447,7 +447,7 @@ float Item_GiveTo(entity item, entity player) if (!pickedup) return 0; - sound (player, CH_TRIGGER, item.item_pickupsound, VOL_BASE, ATTN_NORM); + asound (player, CH_TRIGGER, item.item_pickupsound, VOL_BASE, ATTN_NORM); if (_switchweapon) if (player.switchweapon != w_getbestweapon(player)) W_SwitchWeapon_Force(player, w_getbestweapon(player)); @@ -1532,12 +1532,12 @@ void GiveSound(entity e, float v0, float v1, float t, string snd_incr, string sn if(v1 <= v0 - t) { if(snd_decr != "") - sound (e, CH_TRIGGER, snd_decr, VOL_BASE, ATTN_NORM); + asound (e, CH_TRIGGER, snd_decr, VOL_BASE, ATTN_NORM); } else if(v0 >= v0 + t) { if(snd_incr != "") - sound (e, CH_TRIGGER, snd_incr, VOL_BASE, ATTN_NORM); + asound (e, CH_TRIGGER, snd_incr, VOL_BASE, ATTN_NORM); } } diff --git a/qcsrc/server/t_jumppads.qc b/qcsrc/server/t_jumppads.qc index 18dbef171..790de794c 100644 --- a/qcsrc/server/t_jumppads.qc +++ b/qcsrc/server/t_jumppads.qc @@ -155,7 +155,7 @@ void trigger_push_touch() { // flash when activated pointparticles(particleeffectnum("jumppad_activate"), other.origin, other.velocity, 1); - sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); + asound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); self.pushltime = time + 0.2; } local float ct; diff --git a/qcsrc/server/t_plats.qc b/qcsrc/server/t_plats.qc index 39d206696..e7d95281f 100644 --- a/qcsrc/server/t_plats.qc +++ b/qcsrc/server/t_plats.qc @@ -62,7 +62,7 @@ void plat_spawn_inside_trigger() void plat_hit_top() { - sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); self.state = 1; self.think = plat_go_down; self.nextthink = self.ltime + 3; @@ -70,20 +70,20 @@ void plat_hit_top() void plat_hit_bottom() { - sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); self.state = 2; }; void plat_go_down() { - sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); self.state = 3; SUB_CalcMove (self.pos2, self.speed, plat_hit_bottom); }; void plat_go_up() { - sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); self.state = 4; SUB_CalcMove (self.pos1, self.speed, plat_hit_top); }; @@ -246,7 +246,7 @@ void() train_next; void train_wait() { if(self.noise != "") - stopsoundto(MSG_BROADCAST, self, CH_TRIGGER_SINGLE); // send this as unreliable only, as the train will resume operation shortly anyway + stopsoundto(MSG_BROADCAST, self, CH_TRIGGER); // send this as unreliable only, as the train will resume operation shortly anyway if(self.wait < 0) { @@ -284,7 +284,7 @@ void train_next() SUB_CalcMove(targ.origin - self.mins, self.speed, train_wait); if(self.noise != "") - sound(self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE); + csound(self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE); }; void func_train_find() @@ -444,7 +444,7 @@ void spawnfunc_func_bobbing() if (self.noise != "") { precache_sound(self.noise); - soundto(MSG_INIT, self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE); + soundto(MSG_INIT, self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE, 0, 0); } if (!self.speed) self.speed = 4; @@ -521,7 +521,7 @@ void spawnfunc_func_pendulum() if (self.noise != "") { precache_sound(self.noise); - soundto(MSG_INIT, self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE); + soundto(MSG_INIT, self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE, 0, 0); } self.active = ACTIVE_ACTIVE; @@ -614,7 +614,7 @@ void button_fire() return; if (self.noise != "") - sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM); + asound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); self.state = STATE_UP; SUB_CalcMove (self.pos2, self.speed, button_wait); @@ -825,7 +825,7 @@ void door_blocked() void door_hit_top() { if (self.noise1 != "") - sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); self.state = STATE_TOP; if (self.spawnflags & DOOR_TOGGLE) return; // don't come down automatically @@ -842,14 +842,14 @@ void door_hit_top() void door_hit_bottom() { if (self.noise1 != "") - sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); self.state = STATE_BOTTOM; }; void door_go_down() { if (self.noise2 != "") - sound (self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM); if (self.max_health) { self.takedamage = DAMAGE_YES; @@ -872,7 +872,7 @@ void door_go_up() } if (self.noise2 != "") - sound (self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM); self.state = STATE_UP; SUB_CalcMove (self.pos2, self.speed, door_hit_top); @@ -1071,7 +1071,7 @@ void door_generic_plat_blocked() void door_rotating_hit_top() { if (self.noise1 != "") - sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); self.state = STATE_TOP; if (self.spawnflags & DOOR_TOGGLE) return; // don't come down automatically @@ -1082,7 +1082,7 @@ void door_rotating_hit_top() void door_rotating_hit_bottom() { if (self.noise1 != "") - sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); if (self.lip==666) // self.lip is used to remember reverse opening direction for door_rotating { self.pos2 = '0 0 0' - self.pos2; @@ -1094,7 +1094,7 @@ void door_rotating_hit_bottom() void door_rotating_go_down() { if (self.noise2 != "") - sound (self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM); if (self.max_health) { self.takedamage = DAMAGE_YES; @@ -1116,7 +1116,7 @@ void door_rotating_go_up() return; } if (self.noise2 != "") - sound (self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM); + csound (self, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM); self.state = STATE_UP; SUB_CalcAngleMove (self.pos2, self.speed, door_rotating_hit_top); @@ -1545,7 +1545,7 @@ void fd_secret_use() // Make a sound, wait a little... if (self.noise1 != "") - sound(self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM); + csound(self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); self.nextthink = self.ltime + 0.1; temp = 1 - (self.spawnflags & SECRET_1ST_LEFT); // 1 or -1 @@ -1570,7 +1570,7 @@ void fd_secret_use() self.dest2 = self.dest1 + v_forward * self.t_length; SUB_CalcMove(self.dest1, self.speed, fd_secret_move1); if (self.noise2 != "") - sound(self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM); + csound(self, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM); }; // Wait after first movement... @@ -1579,14 +1579,14 @@ void fd_secret_move1() self.nextthink = self.ltime + 1.0; self.think = fd_secret_move2; if (self.noise3 != "") - sound(self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NORM); + csound(self, CH_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM); }; // Start moving sideways w/sound... void fd_secret_move2() { if (self.noise2 != "") - sound(self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM); + csound(self, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM); SUB_CalcMove(self.dest2, self.speed, fd_secret_move3); }; @@ -1594,7 +1594,7 @@ void fd_secret_move2() void fd_secret_move3() { if (self.noise3 != "") - sound(self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NORM); + csound(self, CH_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM); if (!(self.spawnflags & SECRET_OPEN_ONCE)) { self.nextthink = self.ltime + self.wait; @@ -1606,7 +1606,7 @@ void fd_secret_move3() void fd_secret_move4() { if (self.noise2 != "") - sound(self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM); + csound(self, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM); SUB_CalcMove(self.dest1, self.speed, fd_secret_move5); }; @@ -1616,13 +1616,13 @@ void fd_secret_move5() self.nextthink = self.ltime + 1.0; self.think = fd_secret_move6; if (self.noise3 != "") - sound(self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NORM); + csound(self, CH_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM); }; void fd_secret_move6() { if (self.noise2 != "") - sound(self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM); + csound(self, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM); SUB_CalcMove(self.oldorigin, self.speed, fd_secret_done); }; @@ -1635,7 +1635,7 @@ void fd_secret_done() //self.th_pain = fd_secret_use; } if (self.noise3 != "") - sound(self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NORM); + csound(self, CH_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM); }; void secret_blocked() @@ -1784,7 +1784,7 @@ void spawnfunc_func_fourier() if (self.noise != "") { precache_sound(self.noise); - soundto(MSG_INIT, self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE); + soundto(MSG_INIT, self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE, 0, 0); } if (!self.speed) @@ -1930,7 +1930,7 @@ void spawnfunc_func_vectormamamam() if (self.noise != "") { precache_sound(self.noise); - soundto(MSG_INIT, self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE); + soundto(MSG_INIT, self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE, 0, 0); } if(!self.targetfactor) diff --git a/qcsrc/server/t_teleporters.qc b/qcsrc/server/t_teleporters.qc index 4d7bd92cf..fbc1afdeb 100644 --- a/qcsrc/server/t_teleporters.qc +++ b/qcsrc/server/t_teleporters.qc @@ -90,7 +90,7 @@ void TeleportPlayer(entity teleporter, entity player, vector to, vector to_angle if(self.pushltime < time) // only show one teleport effect per teleporter per 0.2 seconds, for better fps { if(tflags & TELEPORT_FLAG_SOUND) - sound (player, CH_TRIGGER, "misc/teleport.wav", VOL_BASE, ATTN_NORM); + asound (player, CH_TRIGGER, "misc/teleport.wav", VOL_BASE, ATTN_NORM); if(tflags & TELEPORT_FLAG_PARTICLES) { pointparticles(particleeffectnum("teleport"), player.origin, '0 0 0', 1); diff --git a/qcsrc/server/tturrets/units/unit_ewheel.qc b/qcsrc/server/tturrets/units/unit_ewheel.qc index 86f5c4402..8c5ae48c3 100644 --- a/qcsrc/server/tturrets/units/unit_ewheel.qc +++ b/qcsrc/server/tturrets/units/unit_ewheel.qc @@ -29,7 +29,7 @@ void ewheel_attack() { turret_do_updates(self); - sound (self, CH_WEAPON_A, "weapons/lasergun_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/lasergun_fire.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("laser_muzzleflash"), self.tur_shotorg, self.tur_shotdir_updated * 1000, 1); proj = spawn (); diff --git a/qcsrc/server/tturrets/units/unit_flac.qc b/qcsrc/server/tturrets/units/unit_flac.qc index e5360d887..f3d980fa5 100644 --- a/qcsrc/server/tturrets/units/unit_flac.qc +++ b/qcsrc/server/tturrets/units/unit_flac.qc @@ -9,7 +9,7 @@ void turret_flac_attack() turret_tag_fire_update(); - sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); proj = spawn (); setorigin(proj, self.tur_shotorg); setsize(proj, '0 0 0', '0 0 0'); diff --git a/qcsrc/server/tturrets/units/unit_hellion.qc b/qcsrc/server/tturrets/units/unit_hellion.qc index 84f8e9002..769462dd0 100644 --- a/qcsrc/server/tturrets/units/unit_hellion.qc +++ b/qcsrc/server/tturrets/units/unit_hellion.qc @@ -32,7 +32,7 @@ void turret_hellion_attack() else self.tur_shotorg = gettaginfo(self.tur_head, gettagindex(self.tur_head, "tag_fire2")); - sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); missile = spawn (); setorigin(missile, self.tur_shotorg); diff --git a/qcsrc/server/tturrets/units/unit_hk.qc b/qcsrc/server/tturrets/units/unit_hk.qc index 5ad222fa0..7e7a4d62b 100644 --- a/qcsrc/server/tturrets/units/unit_hk.qc +++ b/qcsrc/server/tturrets/units/unit_hk.qc @@ -85,7 +85,7 @@ void turret_hk_attack() local entity missile; //local entity flash2; - sound (self, CH_WEAPON_A, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM); missile = spawn (); missile.solid = SOLID_BBOX; diff --git a/qcsrc/server/tturrets/units/unit_mlrs.qc b/qcsrc/server/tturrets/units/unit_mlrs.qc index 990385fda..dff467d65 100644 --- a/qcsrc/server/tturrets/units/unit_mlrs.qc +++ b/qcsrc/server/tturrets/units/unit_mlrs.qc @@ -22,7 +22,7 @@ void turret_mlrs_attack() turret_tag_fire_update(); - sound (self, CH_WEAPON_A, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM); missile = spawn (); setsize (missile, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot diff --git a/qcsrc/server/tturrets/units/unit_phaser.qc b/qcsrc/server/tturrets/units/unit_phaser.qc index 7c32882db..2340b949c 100644 --- a/qcsrc/server/tturrets/units/unit_phaser.qc +++ b/qcsrc/server/tturrets/units/unit_phaser.qc @@ -40,7 +40,7 @@ void beam_think() self.owner.attack_finished_single = time + self.owner.shot_refire; self.owner.fireflag = 2; self.owner.tur_head.frame = 10; - sound (self, CH_SHOTS_SINGLE, "", VOL_BASE, ATTN_NORM); + csound (self, CH_SHOTS, "misc/null.wav", VOL_BASE, ATTN_NORM); remove(self); return; } @@ -50,7 +50,7 @@ void beam_think() if (time - self.shot_spread > 0) { self.shot_spread = time + 2; - sound (self, CH_SHOTS_SINGLE, "turrets/phaser.wav", VOL_BASE, ATTN_NORM); + csound (self, CH_SHOTS, "turrets/phaser.wav", VOL_BASE, ATTN_NORM); } @@ -94,7 +94,7 @@ void turret_phaser_attack() beam.enemy = self.enemy; beam.bot_dodge = TRUE; beam.bot_dodgerating = beam.shot_dmg; - sound (beam, CH_SHOTS_SINGLE, "turrets/phaser.wav", VOL_BASE, ATTN_NORM); + csound (beam, CH_SHOTS, "turrets/phaser.wav", VOL_BASE, ATTN_NORM); self.fireflag = 1; beam.attack_finished_single = self.attack_finished_single; @@ -102,7 +102,7 @@ void turret_phaser_attack() setattachment(beam,self.tur_head,"tag_fire"); - soundat (self, trace_endpos, CH_SHOTS_SINGLE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM); + soundat (self, trace_endpos, CH_SHOTS, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM, 0, 0); if (self.tur_head.frame == 0) self.tur_head.frame = 1; diff --git a/qcsrc/server/tturrets/units/unit_plasma.qc b/qcsrc/server/tturrets/units/unit_plasma.qc index 786731032..662937f6d 100644 --- a/qcsrc/server/tturrets/units/unit_plasma.qc +++ b/qcsrc/server/tturrets/units/unit_plasma.qc @@ -29,7 +29,7 @@ void turret_plasma_attack() { entity proj; - sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("laser_muzzleflash"), self.tur_shotorg, self.tur_shotdir_updated * 1000, 1); proj = spawn (); @@ -59,7 +59,7 @@ void turret_plasma_dual_attack() { entity proj; - sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); proj = spawn (); setorigin(proj, self.tur_shotorg); setsize(proj, '0 0 0', '0 0 0'); diff --git a/qcsrc/server/tturrets/units/unit_walker.qc b/qcsrc/server/tturrets/units/unit_walker.qc index a438229cf..71c25cf80 100644 --- a/qcsrc/server/tturrets/units/unit_walker.qc +++ b/qcsrc/server/tturrets/units/unit_walker.qc @@ -194,7 +194,7 @@ void walker_fire_rocket(vector org) rocket = spawn (); setorigin(rocket, org); - sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM); setsize (rocket, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot rocket.classname = "walker_rocket"; @@ -525,7 +525,7 @@ void walker_postthink() void walker_attack() { - sound (self, CH_WEAPON_A, "weapons/uzi_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/uzi_fire.wav", VOL_BASE, ATTN_NORM); fireBallisticBullet (self.tur_shotorg, self.tur_shotdir_updated, self.shot_spread, self.shot_speed, 5, self.shot_dmg, 0, self.shot_force, DEATH_TURRET_WALKER_GUN, 0, 1, autocvar_g_balance_uzi_bulletconstant); endFireBallisticBullet(); pointparticles(particleeffectnum("laser_muzzleflash"), self.tur_shotorg, self.tur_shotdir_updated * 1000, 1); diff --git a/qcsrc/server/vehicles/racer.qc b/qcsrc/server/vehicles/racer.qc index 9fbd6541f..9a81aa359 100644 --- a/qcsrc/server/vehicles/racer.qc +++ b/qcsrc/server/vehicles/racer.qc @@ -322,7 +322,7 @@ float racer_frame() { self.sounds = 1; self.sound_nexttime = time + 10.922667; //soundlength("vehicles/racer_move.wav"); - sound (self, CH_TRIGGER_SINGLE, "vehicles/racer_move.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self, CH_TRIGGER, "vehicles/racer_move.wav", VOL_VEHICLEENGINE, ATTN_NORM); } } else @@ -331,7 +331,7 @@ float racer_frame() { self.sounds = 0; self.sound_nexttime = time + 11.888604; //soundlength("vehicles/racer_idle.wav"); - sound (self, CH_TRIGGER_SINGLE, "vehicles/racer_idle.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self, CH_TRIGGER, "vehicles/racer_idle.wav", VOL_VEHICLEENGINE, ATTN_NORM); } } @@ -358,13 +358,13 @@ float racer_frame() { //self.sounds = 2; self.strength_finished = time + 10.922667; //soundlength("vehicles/racer_boost.wav"); - sound (self.tur_head, CH_TRIGGER_SINGLE, "vehicles/racer_boost.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self.tur_head, CH_TRIGGER, "vehicles/racer_boost.wav", VOL_VEHICLEENGINE, ATTN_NORM); } } else { self.strength_finished = 0; - sound (self.tur_head, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self.tur_head, CH_TRIGGER, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM); } @@ -505,7 +505,7 @@ void racer_exit(float eject) self.think = racer_think; self.nextthink = time; self.movetype = MOVETYPE_TOSS; - sound (self.tur_head, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self.tur_head, CH_TRIGGER, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM); if not (self.owner) return; diff --git a/qcsrc/server/vehicles/raptor.qc b/qcsrc/server/vehicles/raptor.qc index a233577a9..c59ec3c55 100644 --- a/qcsrc/server/vehicles/raptor.qc +++ b/qcsrc/server/vehicles/raptor.qc @@ -261,7 +261,7 @@ float raptor_takeoff() if(self.sound_nexttime < time) { self.sound_nexttime = time + 7.955812; //soundlength("vehicles/raptor_fly.wav"); - sound (self, CH_TRIGGER_SINGLE, "vehicles/raptor_speed.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self, CH_TRIGGER, "vehicles/raptor_speed.wav", VOL_VEHICLEENGINE, ATTN_NORM); } // Takeoff sequense @@ -325,15 +325,15 @@ float raptor_frame() if(self.sound_nexttime < time) { self.sound_nexttime = time + 7.955812; - //sound (self.tur_head, CH_TRIGGER_SINGLE, "vehicles/raptor_fly.wav", 1 - ftmp, ATTN_NORM ); - sound (self, CH_TRIGGER_SINGLE, "vehicles/raptor_speed.wav", 1, ATTN_NORM); + //csound (self.tur_head, CH_TRIGGER, "vehicles/raptor_fly.wav", 1 - ftmp, ATTN_NORM ); + csound (self, CH_TRIGGER, "vehicles/raptor_speed.wav", 1, ATTN_NORM); self.wait = ftmp; } /* else if(fabs(ftmp - self.wait) > 0.2) { - sound (self.tur_head, CH_TRIGGER_SINGLE, "", 1 - ftmp, ATTN_NORM ); - sound (self, CH_TRIGGER_SINGLE, "", ftmp, ATTN_NORM); + csound (self.tur_head, CH_TRIGGER, "", 1 - ftmp, ATTN_NORM ); + csound (self, CH_TRIGGER, "", ftmp, ATTN_NORM); self.wait = ftmp; } */ @@ -563,7 +563,7 @@ void raptor_diethink() { if(random() < 0.1) { - sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("explosion_small"), randomvec() * 80 + (self.origin + '0 0 100'), '0 0 0', 1); } self.nextthink = time + 0.1; diff --git a/qcsrc/server/vehicles/spiderbot.qc b/qcsrc/server/vehicles/spiderbot.qc index 81e1e5a1d..2a1621394 100644 --- a/qcsrc/server/vehicles/spiderbot.qc +++ b/qcsrc/server/vehicles/spiderbot.qc @@ -238,13 +238,13 @@ float spiderbot_frame() { if(spider.frame == 4 && self.tur_head.wait != 0) { - sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_land.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self, CH_TRIGGER, "vehicles/spiderbot_land.wav", VOL_VEHICLEENGINE, ATTN_NORM); spider.frame = 5; } if(player.BUTTON_JUMP && self.tur_head.wait < time) { - sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_jump.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self, CH_TRIGGER, "vehicles/spiderbot_jump.wav", VOL_VEHICLEENGINE, ATTN_NORM); //dprint("spiderbot_jump:", ftos(soundlength("vehicles/spiderbot_jump.wav")), "\n"); self.delay = 0; @@ -262,7 +262,7 @@ float spiderbot_frame() self.delay = 3; self.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_idle.wav"); //dprint("spiderbot_idle:", ftos(soundlength("vehicles/spiderbot_idle.wav")), "\n"); - sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_idle.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self, CH_TRIGGER, "vehicles/spiderbot_idle.wav", VOL_VEHICLEENGINE, ATTN_NORM); } movelib_beak_simple(autocvar_g_vehicle_spiderbot_speed_stop); spider.frame = 5; @@ -291,7 +291,7 @@ float spiderbot_frame() { self.delay = 1; self.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_walk.wav"); - sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_walk.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self, CH_TRIGGER, "vehicles/spiderbot_walk.wav", VOL_VEHICLEENGINE, ATTN_NORM); //dprint("spiderbot_walk:", ftos(soundlength("vehicles/spiderbot_walk.wav")), "\n"); } } @@ -312,7 +312,7 @@ float spiderbot_frame() { self.delay = 2; self.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_strafe.wav"); - sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_strafe.wav", VOL_VEHICLEENGINE, ATTN_NORM); + csound (self, CH_TRIGGER, "vehicles/spiderbot_strafe.wav", VOL_VEHICLEENGINE, ATTN_NORM); //dprint("spiderbot_strafe:", ftos(soundlength("vehicles/spiderbot_strafe.wav")), "\n"); } } @@ -342,7 +342,7 @@ float spiderbot_frame() fireBullet (v, v_forward, autocvar_g_vehicle_spiderbot_minigun_spread, autocvar_g_vehicle_spiderbot_minigun_damage, autocvar_g_vehicle_spiderbot_minigun_spread, DEATH_SBMINIGUN, 0); - sound (gun, CH_WEAPON_A, "weapons/uzi_fire.wav", VOL_BASE, ATTN_NORM); + asound (gun, CH_WEAPON_A, "weapons/uzi_fire.wav", VOL_BASE, ATTN_NORM); trailparticles(self, particleeffectnum("spiderbot_minigun_trail"), v, trace_endpos); pointparticles(particleeffectnum("spiderbot_minigun_muzzleflash"), v, v_forward * 2500, 1); @@ -508,7 +508,7 @@ void spiderbot_headfade() { if(self.alpha > 0.1) { - sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + csound (self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("explosion_big"), self.origin + '0 0 100', '0 0 0', 1); } remove(self); @@ -521,7 +521,7 @@ void spiderbot_blowup() { if(random() < 0.1) { - sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("explosion_small"), randomvec() * 80 + (self.origin + '0 0 100'), '0 0 0', 1); } self.nextthink = time + 0.1; diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index 901e68ff1..ba8edcc54 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -310,7 +310,7 @@ entity vehicles_projectile(string _mzlfx, string _mzlsound, proj.flags = FL_PROJECTILE | FL_NOTARGET; if(_mzlsound) - sound (self, CH_WEAPON_A, _mzlsound, VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, _mzlsound, VOL_BASE, ATTN_NORM); if(_mzlfx) pointparticles(particleeffectnum(_mzlfx), proj.origin, proj.velocity, 1); @@ -626,7 +626,7 @@ void vehicles_exit(float eject) setorigin(self.owner.flagcarried, FLAG_CARRY_POS); } - sound (self, CH_TRIGGER_SINGLE, "misc/null.wav", 1, ATTN_NORM); + csound (self, CH_TRIGGER, "misc/null.wav", 1, ATTN_NORM); self.vehicle_exit(eject); self.owner = world; diff --git a/qcsrc/server/w_common.qc b/qcsrc/server/w_common.qc index 1ceec920e..bd3ade4d5 100644 --- a/qcsrc/server/w_common.qc +++ b/qcsrc/server/w_common.qc @@ -117,7 +117,7 @@ void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, f if(!pseudoprojectile) pseudoprojectile = spawn(); // we need this so the sound uses the "entchannel4" volume - soundtoat(MSG_ONE, pseudoprojectile, beampos, CH_SHOTS_SINGLE, snd, VOL_BASE * f, ATTN_NONE); + soundtoat(MSG_ONE, pseudoprojectile, beampos, CH_SHOTS, snd, VOL_BASE * f, ATTN_NONE, 0, 0); } if(pseudoprojectile) diff --git a/qcsrc/server/w_crylink.qc b/qcsrc/server/w_crylink.qc index 2db4d6e84..ff78c388a 100644 --- a/qcsrc/server/w_crylink.qc +++ b/qcsrc/server/w_crylink.qc @@ -645,13 +645,13 @@ float w_crylink(float req) { pointparticles(particleeffectnum("crylink_impact"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/crylink_impact2.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/crylink_impact2.wav", VOL_BASE, ATTN_NORM); } else { pointparticles(particleeffectnum("crylink_impactbig"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/crylink_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/crylink_impact.wav", VOL_BASE, ATTN_NORM); } } else if(req == WR_PRECACHE) diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index e818fa550..e970d7cb4 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -68,7 +68,7 @@ void W_Plasma_Touch (void) W_Plasma_Explode (); } else { //UpdateCSQCProjectile(self); - spamsound (self, CH_SHOTS_SINGLE, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM); self.projectiledeathtype |= HITTYPE_BOUNCE; } } @@ -318,7 +318,7 @@ void W_Electro_Attack3 (void) { // only play fire sound if 0.5 sec has passed since player let go the fire button if(time - self.prevlgfire > 0.5) - sound (self, CH_WEAPON_A, "weapons/lgbeam_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/lgbeam_fire.wav", VOL_BASE, ATTN_NORM); entity beam, oldself; @@ -544,7 +544,7 @@ float w_electro(float req) { pointparticles(particleeffectnum("electro_ballexplode"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM); } else { @@ -553,13 +553,13 @@ float w_electro(float req) // this is sent as "primary (w_deathtype & HITTYPE_BOUNCE)" to distinguish it from (w_deathtype & HITTYPE_SECONDARY) bounced balls pointparticles(particleeffectnum("electro_combo"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/electro_impact_combo.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/electro_impact_combo.wav", VOL_BASE, ATTN_NORM); } else { pointparticles(particleeffectnum("electro_impact"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM); } } } diff --git a/qcsrc/server/w_fireball.qc b/qcsrc/server/w_fireball.qc index c5f749f56..e04e67ae9 100644 --- a/qcsrc/server/w_fireball.qc +++ b/qcsrc/server/w_fireball.qc @@ -197,7 +197,7 @@ void W_Fireball_Attack1_Frame0() W_DecreaseAmmo(ammo_fuel, autocvar_g_balance_fireball_primary_ammo, autocvar_g_balance_fireball_reload_ammo); W_Fireball_AttackEffect(0, '-1.25 -3.75 0'); - sound (self, CH_WEAPON_A, "weapons/fireball_prefire2.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/fireball_prefire2.wav", VOL_BASE, ATTN_NORM); weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_fireball_primary_animtime, W_Fireball_Attack1_Frame1); } @@ -404,7 +404,7 @@ float w_fireball(float req) org2 = w_org + w_backoff * 16; pointparticles(particleeffectnum("fireball_explode"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/fireball_impact2.wav", VOL_BASE, ATTN_NORM * 0.25); // long range boom + asound(self, CH_SHOTS, "weapons/fireball_impact2.wav", VOL_BASE, ATTN_NORM * 0.25); // long range boom } } else if(req == WR_PRECACHE) diff --git a/qcsrc/server/w_grenadelauncher.qc b/qcsrc/server/w_grenadelauncher.qc index 02c2b682f..0e03c953c 100644 --- a/qcsrc/server/w_grenadelauncher.qc +++ b/qcsrc/server/w_grenadelauncher.qc @@ -82,23 +82,23 @@ void W_Grenade_Touch1 (void) float r; r = random() * 6; if(r < 1) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM); else if(r < 2) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM); else if(r < 3) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM); else if(r < 4) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM); else if(r < 5) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM); else - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM); self.projectiledeathtype |= HITTYPE_BOUNCE; self.gl_bouncecnt += 1; } else if(autocvar_g_balance_grenadelauncher_primary_type == 2 && (!other || (other.takedamage != DAMAGE_AIM && other.movetype == MOVETYPE_NONE))) // stick { - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM); // let it stick whereever it is self.oldvelocity = self.velocity; @@ -126,23 +126,23 @@ void W_Grenade_Touch2 (void) float r; r = random() * 6; if(r < 1) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM); else if(r < 2) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM); else if(r < 3) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM); else if(r < 4) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM); else if(r < 5) - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM); else - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM); self.projectiledeathtype |= HITTYPE_BOUNCE; self.gl_bouncecnt += 1; } else if(autocvar_g_balance_grenadelauncher_secondary_type == 2 && (!other || (other.takedamage != DAMAGE_AIM && other.movetype == MOVETYPE_NONE))) // stick { - spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM); // let it stick whereever it is self.oldvelocity = self.velocity; @@ -310,7 +310,7 @@ float w_glauncher(float req) } } if(nadefound) - sound (self, CH_WEAPON_B, "weapons/rocket_det.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_B, "weapons/rocket_det.wav", VOL_BASE, ATTN_NORM); } else if (weapon_prepareattack(1, autocvar_g_balance_grenadelauncher_secondary_refire)) { @@ -367,7 +367,7 @@ float w_glauncher(float req) org2 = w_org + w_backoff * 12; pointparticles(particleeffectnum("grenade_explode"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM); } else if(req == WR_PRECACHE) { diff --git a/qcsrc/server/w_hagar.qc b/qcsrc/server/w_hagar.qc index 2715166f7..78847a7f4 100644 --- a/qcsrc/server/w_hagar.qc +++ b/qcsrc/server/w_hagar.qc @@ -203,7 +203,7 @@ void W_Hagar_Attack2_Load (void) // if we pressed primary fire while loading, unload all rockets and abort W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_hagar_secondary_ammo * self.hagar_load * -1, autocvar_g_balance_hagar_reload_ammo); // give back ammo self.hagar_load = 0; - sound(self, CH_WEAPON_A, "weapons/hagar_beep.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_WEAPON_A, "weapons/hagar_beep.wav", VOL_BASE, ATTN_NORM); // pause until we can load rockets again, once we re-press the alt fire button self.hagar_loadstep = time + autocvar_g_balance_hagar_secondary_load_speed; @@ -221,7 +221,7 @@ void W_Hagar_Attack2_Load (void) { W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_hagar_secondary_ammo, autocvar_g_balance_hagar_reload_ammo); self.hagar_load += 1; - sound(self, CH_WEAPON_B, "weapons/hagar_load.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_WEAPON_B, "weapons/hagar_load.wav", VOL_BASE, ATTN_NORM); self.hagar_loadstep = time + autocvar_g_balance_hagar_secondary_load_speed; } @@ -229,7 +229,7 @@ void W_Hagar_Attack2_Load (void) else if(!self.hagar_loadbeep && self.hagar_load) // prevents the beep from playing each frame { // if this is the last rocket we can load, play a beep sound to notify the player - sound(self, CH_WEAPON_A, "weapons/hagar_beep.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_WEAPON_A, "weapons/hagar_beep.wav", VOL_BASE, ATTN_NORM); self.hagar_loadbeep = TRUE; } } @@ -365,11 +365,11 @@ float w_hagar(float req) if(!w_issilent) { if (w_random<0.15) - sound(self, CH_SHOTS_SINGLE, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM); else if (w_random<0.7) - sound(self, CH_SHOTS_SINGLE, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM); else - sound(self, CH_SHOTS_SINGLE, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM); } } else if(req == WR_PRECACHE) diff --git a/qcsrc/server/w_hlac.qc b/qcsrc/server/w_hlac.qc index 4943bcbea..4f41a1658 100644 --- a/qcsrc/server/w_hlac.qc +++ b/qcsrc/server/w_hlac.qc @@ -230,7 +230,7 @@ float w_hlac(float req) org2 = w_org + w_backoff * 6; pointparticles(particleeffectnum("laser_impact"), org2, w_backoff * 1000, 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); } else if(req == WR_PRECACHE) { diff --git a/qcsrc/server/w_hook.qc b/qcsrc/server/w_hook.qc index a7f598466..5be008677 100644 --- a/qcsrc/server/w_hook.qc +++ b/qcsrc/server/w_hook.qc @@ -256,7 +256,7 @@ float w_hook(float req) org2 = w_org + w_backoff * 2; pointparticles(particleeffectnum("hookbomb_explode"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/hookbomb_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/hookbomb_impact.wav", VOL_BASE, ATTN_NORM); } else if(req == WR_PRECACHE) { diff --git a/qcsrc/server/w_laser.qc b/qcsrc/server/w_laser.qc index 83eb4ed0b..6feb6a5bd 100644 --- a/qcsrc/server/w_laser.qc +++ b/qcsrc/server/w_laser.qc @@ -177,7 +177,7 @@ void W_Laser_Attack2 () // only play fire sound if 0.5 sec has passed since player let go the fire button if(time - self.prevgauntletfire > 0.5) { - sound (self, CH_WEAPON_A, "weapons/gauntlet_fire.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_A, "weapons/gauntlet_fire.wav", VOL_BASE, ATTN_NORM); } entity beam, oldself; @@ -301,7 +301,7 @@ float w_laser(float req) org2 = w_org + w_backoff * 6; pointparticles(particleeffectnum("laser_impact"), org2, w_backoff * 1000, 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); } else if(req == WR_PRECACHE) { diff --git a/qcsrc/server/w_minelayer.qc b/qcsrc/server/w_minelayer.qc index aeeb2bb07..dc09c51ea 100644 --- a/qcsrc/server/w_minelayer.qc +++ b/qcsrc/server/w_minelayer.qc @@ -13,7 +13,7 @@ void spawnfunc_weapon_minelayer (void) void W_Mine_Stick (entity to) { - spamsound (self, CH_SHOTS_SINGLE, "weapons/mine_stick.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/mine_stick.wav", VOL_BASE, ATTN_NORM); // in order for mines to face properly when sticking to the ground, they must be a server side entity rather than a csqc projectile @@ -176,7 +176,7 @@ void W_Mine_Think (void) if ((time > self.cnt) && (!self.mine_time)) { if(autocvar_g_balance_minelayer_lifetime_countdown > 0) - spamsound (self, CH_SHOTS_SINGLE, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM); self.mine_time = time + autocvar_g_balance_minelayer_lifetime_countdown; self.mine_explodeanyway = 1; // make the mine super aggressive -- Samual: Rather, make it not care if a team mate is near. } @@ -199,7 +199,7 @@ void W_Mine_Think (void) if(head != self.realowner && IsDifferentTeam(head, self.realowner)) // don't trigger for team mates if(!self.mine_time) { - spamsound (self, CH_SHOTS_SINGLE, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM); + spamsound (self, CH_SHOTS, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM); self.mine_time = time + autocvar_g_balance_minelayer_time; } head = head.chain; @@ -459,7 +459,7 @@ float w_minelayer(float req) if (self.BUTTON_ATCK2) { if(W_PlacedMines(TRUE)) - sound (self, CH_WEAPON_B, "weapons/mine_det.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_B, "weapons/mine_det.wav", VOL_BASE, ATTN_NORM); } } else if (req == WR_PRECACHE) @@ -513,7 +513,7 @@ float w_minelayer(float req) org2 = w_org + w_backoff * 12; pointparticles(particleeffectnum("rocket_explode"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/mine_exp.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/mine_exp.wav", VOL_BASE, ATTN_NORM); } else if(req == WR_PRECACHE) { diff --git a/qcsrc/server/w_minstanex.qc b/qcsrc/server/w_minstanex.qc index c0376547a..a4bbaed11 100644 --- a/qcsrc/server/w_minstanex.qc +++ b/qcsrc/server/w_minstanex.qc @@ -280,7 +280,7 @@ float w_minstanex(float req) org2 = w_org + w_backoff * 6; pointparticles(particleeffectnum("nex_impact"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM); } else if(req == WR_PRECACHE) { diff --git a/qcsrc/server/w_nex.qc b/qcsrc/server/w_nex.qc index 59734f20c..95b2b3066 100644 --- a/qcsrc/server/w_nex.qc +++ b/qcsrc/server/w_nex.qc @@ -59,7 +59,7 @@ void W_Nex_Attack (float issecondary) W_SetupShot (self, TRUE, 5, "weapons/nexfire.wav", CH_WEAPON_A, mydmg); if(charge > autocvar_g_balance_nex_charge_animlimit && autocvar_g_balance_nex_charge_animlimit) // if the Nex is overcharged, we play an extra sound { - sound (self, CH_WEAPON_B, "weapons/nexcharge.wav", VOL_BASE * (charge - 0.5 * autocvar_g_balance_nex_charge_animlimit) / (1 - 0.5 * autocvar_g_balance_nex_charge_animlimit), ATTN_NORM); + asound (self, CH_WEAPON_B, "weapons/nexcharge.wav", VOL_BASE * (charge - 0.5 * autocvar_g_balance_nex_charge_animlimit) / (1 - 0.5 * autocvar_g_balance_nex_charge_animlimit), ATTN_NORM); } yoda = 0; @@ -243,7 +243,7 @@ float w_nex(float req) org2 = w_org + w_backoff * 6; pointparticles(particleeffectnum("nex_impact"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM); } else if(req == WR_PRECACHE) { diff --git a/qcsrc/server/w_porto.qc b/qcsrc/server/w_porto.qc index 0138c78a7..1183334e2 100644 --- a/qcsrc/server/w_porto.qc +++ b/qcsrc/server/w_porto.qc @@ -95,19 +95,19 @@ void W_Porto_Touch (void) if(self.realowner.playerid != self.playerid) { - sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); remove(self); } else if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_SLICK || trace_dphitcontents & DPCONTENTS_PLAYERCLIP) { - spamsound(self, CH_SHOTS_SINGLE, "porto/bounce.wav", VOL_BASE, ATTN_NORM); + spamsound(self, CH_SHOTS, "porto/bounce.wav", VOL_BASE, ATTN_NORM); // just reflect self.right_vector = self.right_vector - 2 * trace_plane_normal * (self.right_vector * trace_plane_normal); self.angles = vectoangles(self.velocity - 2 * trace_plane_normal * (self.velocity * trace_plane_normal)); } else if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT) { - sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); W_Porto_Fail(0); } else if(self.effects & EF_RED) @@ -115,7 +115,7 @@ void W_Porto_Touch (void) self.effects += EF_BLUE - EF_RED; if(Portal_SpawnInPortalAtTrace(self.realowner, self.right_vector, self.portal_id)) { - sound(self, CH_SHOTS_SINGLE, "porto/create.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "porto/create.wav", VOL_BASE, ATTN_NORM); trace_plane_normal = norm; centerprint(self.realowner, "^1In^7-portal created."); self.right_vector = self.right_vector - 2 * trace_plane_normal * (self.right_vector * norm); @@ -124,7 +124,7 @@ void W_Porto_Touch (void) } else { - sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); trace_plane_normal = norm; W_Porto_Fail(0); } @@ -135,20 +135,20 @@ void W_Porto_Touch (void) { if(Portal_SpawnOutPortalAtTrace(self.realowner, self.right_vector, self.portal_id)) { - sound(self, CH_SHOTS_SINGLE, "porto/create.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "porto/create.wav", VOL_BASE, ATTN_NORM); trace_plane_normal = norm; centerprint(self.realowner, "^4Out^7-portal created."); W_Porto_Success(); } else { - sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); W_Porto_Fail(0); } } else { - sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); W_Porto_Fail(0); } } diff --git a/qcsrc/server/w_rifle.qc b/qcsrc/server/w_rifle.qc index 8ce7427bc..5d789da55 100644 --- a/qcsrc/server/w_rifle.qc +++ b/qcsrc/server/w_rifle.qc @@ -214,11 +214,11 @@ float w_rifle(float req) if(!w_issilent) { if(w_random < 0.2) - sound(self, CH_SHOTS_SINGLE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/ric1.wav", VOL_BASE, ATTN_NORM); else if(w_random < 0.4) - sound(self, CH_SHOTS_SINGLE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/ric2.wav", VOL_BASE, ATTN_NORM); else if(w_random < 0.5) - sound(self, CH_SHOTS_SINGLE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/ric3.wav", VOL_BASE, ATTN_NORM); } } else if(req == WR_PRECACHE) diff --git a/qcsrc/server/w_rocketlauncher.qc b/qcsrc/server/w_rocketlauncher.qc index 249ddd293..60e947938 100644 --- a/qcsrc/server/w_rocketlauncher.qc +++ b/qcsrc/server/w_rocketlauncher.qc @@ -209,7 +209,7 @@ void W_Rocket_Think (void) { pointparticles(particleeffectnum("rocket_guide"), self.origin, self.velocity, 1); // TODO add a better sound here - sound (self.realowner, CH_WEAPON_B, "weapons/rocket_mode.wav", VOL_BASE, ATTN_NORM); + asound (self.realowner, CH_WEAPON_B, "weapons/rocket_mode.wav", VOL_BASE, ATTN_NORM); self.count = 1; } } @@ -433,7 +433,7 @@ float w_rlauncher(float req) } } if(rockfound) - sound (self, CH_WEAPON_B, "weapons/rocket_det.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_WEAPON_B, "weapons/rocket_det.wav", VOL_BASE, ATTN_NORM); } } } @@ -491,7 +491,7 @@ float w_rlauncher(float req) org2 = w_org + w_backoff * 12; pointparticles(particleeffectnum("rocket_explode"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); } else if(req == WR_PRECACHE) { diff --git a/qcsrc/server/w_seeker.qc b/qcsrc/server/w_seeker.qc index 479cb5b24..6837c18a9 100644 --- a/qcsrc/server/w_seeker.qc +++ b/qcsrc/server/w_seeker.qc @@ -615,17 +615,17 @@ float w_seeker(float req) if(!w_issilent) { if (w_random<0.15) - sound(self, CH_SHOTS_SINGLE, "weapons/tagexp1.wav", 1, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/tagexp1.wav", 1, ATTN_NORM); else if (w_random<0.7) - sound(self, CH_SHOTS_SINGLE, "weapons/tagexp2.wav", 1, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/tagexp2.wav", 1, ATTN_NORM); else - sound(self, CH_SHOTS_SINGLE, "weapons/tagexp3.wav", 1, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/tagexp3.wav", 1, ATTN_NORM); } } else if(w_deathtype & HITTYPE_HEADSHOT) { if(!w_issilent) - sound(self, CH_SHOTS_SINGLE, "weapons/tag_impact.wav", 1, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/tag_impact.wav", 1, ATTN_NORM); } else { @@ -633,11 +633,11 @@ float w_seeker(float req) if(!w_issilent) { if (w_random<0.15) - sound(self, CH_SHOTS_SINGLE, "weapons/seekerexp1.wav", 1, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/seekerexp1.wav", 1, ATTN_NORM); else if (w_random<0.7) - sound(self, CH_SHOTS_SINGLE, "weapons/seekerexp2.wav", 1, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/seekerexp2.wav", 1, ATTN_NORM); else - sound(self, CH_SHOTS_SINGLE, "weapons/seekerexp3.wav", 1, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/seekerexp3.wav", 1, ATTN_NORM); } } } diff --git a/qcsrc/server/w_shotgun.qc b/qcsrc/server/w_shotgun.qc index 46495fe64..12d6b911f 100644 --- a/qcsrc/server/w_shotgun.qc +++ b/qcsrc/server/w_shotgun.qc @@ -91,7 +91,7 @@ void shotgun_meleethink (void) void W_Shotgun_Attack2 (void) { - sound (self, CH_SHOTS_SINGLE, "weapons/shotgun_melee.wav", VOL_BASE, ATTN_NORM); + asound (self, CH_SHOTS, "weapons/shotgun_melee.wav", VOL_BASE, ATTN_NORM); weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_shotgun_secondary_animtime, w_ready); entity meleetemp; @@ -191,11 +191,11 @@ float w_shotgun(float req) if(!w_issilent && time - self.prevric > 0.25) { if(w_random < 0.0165) - sound(self, CH_SHOTS_SINGLE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/ric1.wav", VOL_BASE, ATTN_NORM); else if(w_random < 0.033) - sound(self, CH_SHOTS_SINGLE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/ric2.wav", VOL_BASE, ATTN_NORM); else if(w_random < 0.05) - sound(self, CH_SHOTS_SINGLE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/ric3.wav", VOL_BASE, ATTN_NORM); self.prevric = time; } } diff --git a/qcsrc/server/w_tuba.qc b/qcsrc/server/w_tuba.qc index 693612de9..67e99c573 100644 --- a/qcsrc/server/w_tuba.qc +++ b/qcsrc/server/w_tuba.qc @@ -160,7 +160,7 @@ void W_Tuba_Attack(float hittype) self.tuba_note.teleport_time = time + autocvar_g_balance_tuba_refire * 2; // so it can get prolonged safely - //sound(self, c, TUBA_NOTE(n), bound(0, VOL_BASE * cvar("g_balance_tuba_volume"), 1), autocvar_g_balance_tuba_attenuation); + //asound(self, c, TUBA_NOTE(n), bound(0, VOL_BASE * cvar("g_balance_tuba_volume"), 1), autocvar_g_balance_tuba_attenuation); RadiusDamage(self, self, autocvar_g_balance_tuba_damage, autocvar_g_balance_tuba_edgedamage, autocvar_g_balance_tuba_radius, world, autocvar_g_balance_tuba_force, hittype | WEP_TUBA, world); o = gettaginfo(self.exteriorweaponentity, 0); diff --git a/qcsrc/server/w_uzi.qc b/qcsrc/server/w_uzi.qc index 3e69a7da5..a04aeaba6 100644 --- a/qcsrc/server/w_uzi.qc +++ b/qcsrc/server/w_uzi.qc @@ -301,11 +301,11 @@ float w_uzi(float req) pointparticles(particleeffectnum("machinegun_impact"), org2, w_backoff * 1000, 1); if(!w_issilent) if(w_random < 0.05) - sound(self, CH_SHOTS_SINGLE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/ric1.wav", VOL_BASE, ATTN_NORM); else if(w_random < 0.1) - sound(self, CH_SHOTS_SINGLE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/ric2.wav", VOL_BASE, ATTN_NORM); else if(w_random < 0.2) - sound(self, CH_SHOTS_SINGLE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM); + asound(self, CH_SHOTS, "weapons/ric3.wav", VOL_BASE, ATTN_NORM); } else if(req == WR_PRECACHE) { -- 2.39.2