r4034 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Aug 6 02:01:48 EDT 2008
Author: div0
Date: 2008-08-06 02:01:47 -0400 (Wed, 06 Aug 2008)
New Revision: 4034
Modified:
trunk/data/qcsrc/server/cl_client.qc
trunk/data/qcsrc/server/cl_physics.qc
trunk/data/qcsrc/server/cl_player.qc
trunk/data/qcsrc/server/cl_weaponsystem.qc
trunk/data/qcsrc/server/clientcommands.qc
trunk/data/qcsrc/server/constants.qh
trunk/data/qcsrc/server/ctf.qc
trunk/data/qcsrc/server/domination.qc
trunk/data/qcsrc/server/g_casings.qc
trunk/data/qcsrc/server/g_damage.qc
trunk/data/qcsrc/server/g_triggers.qc
trunk/data/qcsrc/server/g_violence.qc
trunk/data/qcsrc/server/g_world.qc
trunk/data/qcsrc/server/keyhunt.qc
trunk/data/qcsrc/server/miscfunctions.qc
trunk/data/qcsrc/server/mode_onslaught.qc
trunk/data/qcsrc/server/sv_main.qc
trunk/data/qcsrc/server/t_items.qc
trunk/data/qcsrc/server/t_plats.qc
trunk/data/qcsrc/server/t_teleporters.qc
trunk/data/qcsrc/server/w_electro.qc
trunk/data/qcsrc/server/w_grenadelauncher.qc
trunk/data/qcsrc/server/w_nex.qc
trunk/data/qcsrc/server/w_rocketlauncher.qc
Log:
reassign the sound channels in a more meaningful way (allows a global channel mixer in the engine)
Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/cl_client.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -701,7 +701,7 @@
//stuffcmd(self, "set viewsize $tmpviewsize \n");
if (cvar("g_spawnsound"))
- sound (self, CHAN_AUTO, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
if(g_assault) {
if(self.team == assault_attacker_team)
@@ -829,7 +829,7 @@
if(clienttype(self.owner) == CLIENTTYPE_REAL)
{
if(self.cnt <= 10)
- play2(self.owner, strcat("announcer/robotic/", ftos(self.cnt), ".ogg"));
+ announce(self.owner, strcat("announcer/robotic/", ftos(self.cnt), ".ogg"));
if(self.owner.killindicator_teamchange)
{
if(self.owner.killindicator_teamchange == -1)
@@ -1695,7 +1695,7 @@
{
self.respawn_countdown = number - 1;
if(ceil(self.death_time - (time + 0.5)) == number) // only say it if it is the same number even in 0.5s; to prevent overlapping sounds
- play2(self, strcat("announcer/robotic/", ftos(number), ".ogg"));
+ announce(self, strcat("announcer/robotic/", ftos(number), ".ogg"));
}
}
}
@@ -2170,7 +2170,7 @@
if(timeleft <= 0)
{
bprint("^3", self.netname, "^3 was kicked for idling.\n");
- play2(self, "announcer/robotic/terminated.ogg");
+ announce(self, "announcer/robotic/terminated.ogg");
dropclient(self);
return;
}
@@ -2179,7 +2179,7 @@
if(timeleft != self.idlekick_lasttimeleft)
{
centerprint_atprio(self, CENTERPRIO_IDLEKICK, strcat("^3Stop idling!\n^3Disconnecting in ", ftos(timeleft), "..."));
- play2(self, strcat("announcer/robotic/", ftos(timeleft), ".ogg"));
+ announce(self, strcat("announcer/robotic/", ftos(timeleft), ".ogg"));
}
}
else
Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/cl_physics.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -83,7 +83,7 @@
player_setanim(self.anim_jump, FALSE, TRUE, TRUE);
if(g_jump_grunt)
- PlayerSound(playersound_jump, CHAN_AUTO, 0);
+ PlayerSound(playersound_jump, CHAN_PLAYER, 0);
}
void CheckWaterJump()
@@ -249,9 +249,9 @@
if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
{
if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
- GlobalSound(globalsound_metalfall, CHAN_AUTO, 0);
+ GlobalSound(globalsound_metalfall, CHAN_PLAYER, 0);
else
- GlobalSound(globalsound_fall, CHAN_AUTO, 0);
+ GlobalSound(globalsound_fall, CHAN_PLAYER, 0);
}
}
}
Modified: trunk/data/qcsrc/server/cl_player.qc
===================================================================
--- trunk/data/qcsrc/server/cl_player.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/cl_player.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -267,11 +267,11 @@
take = bound(0, damage - save, damage);
if (save > 10)
- sound (self, CHAN_IMPACT, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
else if (take > 30)
- sound (self, CHAN_IMPACT, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
else if (take > 10)
- sound (self, CHAN_IMPACT, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM);
if(sv_gentle < 1) {
if (take > 50)
@@ -344,7 +344,7 @@
TossGib (world, "models/gibs/chunk.mdl", self.origin, self.velocity + randomvec() * 450,1);
TossGib (world, "models/gibs/chunk.mdl", self.origin, self.velocity + randomvec() * 450,1);
}
- sound (self, CHAN_VOICE, "misc/gib.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_PLAYER, "misc/gib.wav", VOL_BASE, ATTN_NORM);
}
}
}
@@ -379,11 +379,11 @@
}
if (save > 10)
- sound (self, CHAN_IMPACT, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
else if (take > 30)
- sound (self, CHAN_IMPACT, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
else if (take > 10)
- sound (self, CHAN_IMPACT, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); // FIXME possibly remove them?
+ sound (self, CHAN_BODY, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); // FIXME possibly remove them?
if (take > 50)
TossGib (world, "models/gibs/chunk.mdl", hitloc, force * -0.1,1);
@@ -413,13 +413,13 @@
// exclude pain sounds for laserjumps as long as you aren't REALLY low on health and would die of the next two
{
if(self.health > 75) // TODO make a "gentle" version?
- PlayerSound(playersound_pain100, CHAN_AUTO, 0);
+ PlayerSound(playersound_pain100, CHAN_PAIN, 0);
else if(self.health > 50)
- PlayerSound(playersound_pain75, CHAN_AUTO, 0);
+ PlayerSound(playersound_pain75, CHAN_PAIN, 0);
else if(self.health > 25)
- PlayerSound(playersound_pain50, CHAN_AUTO, 0);
+ PlayerSound(playersound_pain50, CHAN_PAIN, 0);
else if(self.health > 1)
- PlayerSound(playersound_pain25, CHAN_AUTO, 0);
+ PlayerSound(playersound_pain25, CHAN_PAIN, 0);
}
}
@@ -464,9 +464,9 @@
if(sv_gentle < 1) // TODO make a "gentle" version?
{
if(deathtype == DEATH_DROWN)
- PlayerSound(playersound_drown, CHAN_AUTO, 0);
+ PlayerSound(playersound_drown, CHAN_PAIN, 0);
else
- PlayerSound(playersound_death, CHAN_AUTO, 0);
+ PlayerSound(playersound_death, CHAN_PAIN, 0);
}
// get rid of kill indicator
Modified: trunk/data/qcsrc/server/cl_weaponsystem.qc
===================================================================
--- trunk/data/qcsrc/server/cl_weaponsystem.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/cl_weaponsystem.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -123,7 +123,7 @@
if (self.items & IT_STRENGTH)
if (!g_minstagib)
- sound (self, CHAN_AUTO, "weapons/strength_fire.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_POWERUP, "weapons/strength_fire.wav", VOL_BASE, ATTN_NORM);
};
void LaserTarget_Think()
Modified: trunk/data/qcsrc/server/clientcommands.qc
===================================================================
--- trunk/data/qcsrc/server/clientcommands.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/clientcommands.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -473,7 +473,7 @@
}
//play the prepareforbattle sound to everyone
- sound(world, CHAN_AUTO, "announcer/robotic/prepareforbattle.wav", VOL_BASE, ATTN_NONE);
+ play2all("announcer/robotic/prepareforbattle.wav");
//reset map immediately if this cvar is not set
if (!cvar("sv_ready_restart_after_countdown"))
@@ -541,7 +541,7 @@
centerprint(plr, s);
}
}
- sound(world, CHAN_AUTO, "announcer/robotic/begin.wav", VOL_BASE, ATTN_NONE);
+ play2all("announcer/robotic/begin.wav");
remove(self);
return;
@@ -555,7 +555,7 @@
}
if(self.cnt <= 3) {
- sound(world, CHAN_AUTO, strcat("announcer/robotic/", ftos(self.cnt), ".ogg"), VOL_BASE, ATTN_NONE);
+ play2all(strcat("announcer/robotic/", ftos(self.cnt), ".ogg"));
}
self.nextthink = time + 1;
self.cnt -= 1;
@@ -612,7 +612,7 @@
timeoutHandler.nextthink = time; //always let the entity think asap
//inform all connected clients about the timeout call
- sound(world, CHAN_AUTO, "announcer/robotic/timeoutcalled.wav", VOL_BASE, ATTN_NONE);
+ play2all("announcer/robotic/timeoutcalled.wav");
}
/**
Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/constants.qh 2008-08-06 06:01:47 UTC (rev 4034)
@@ -106,12 +106,14 @@
float TE_LAVASPLASH = 10;
float TE_TELEPORT = 11;
-float CHAN_AUTO = 0;
-float CHAN_WEAPON = 1;
-float CHAN_VOICE = 2;
-float CHAN_ITEM = 3;
-float CHAN_BODY = 4;
-float CHAN_IMPACT = 5;
+float CHAN_AUTO = 0; // announcer/feedback only
+float CHAN_WEAPON = 1; // firing only
+float CHAN_VOICE = 2; // player voice messages only
+float CHAN_ITEM = 3; // items only
+float CHAN_BODY = 4; // projectiles, or their impact on a player
+float CHAN_POWERUP = 5; // powerup effects
+float CHAN_PAIN = 6; // player pain only
+float CHAN_PLAYER = 7; // player body sounds only
float ATTN_NONE = 0;
float ATTN_NORM = 0.5;
Modified: trunk/data/qcsrc/server/ctf.qc
===================================================================
--- trunk/data/qcsrc/server/ctf.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/ctf.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -214,7 +214,7 @@
if (time > self.pain_finished)
{
bprint("The ", self.netname, " has returned to base\n");
- sound (e, CHAN_AUTO, self.noise3, VOL_BASE, ATTN_NONE);
+ sound (e, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NONE);
LogCTF("returned", self.team, world);
ReturnFlag(self);
}
@@ -294,7 +294,7 @@
if (head.team == self.team)
UpdateFrags(head, cvar("g_ctf_flagscore_capture_team"));
- sound (self, CHAN_AUTO, self.noise2, VOL_BASE, ATTN_NONE);
+ sound (self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NONE);
WaypointSprite_DetachCarrier(other);
if(self.speedrunning)
FakeTimeLimit(other, -1);
@@ -325,7 +325,7 @@
UpdateFrags(other, cvar("g_ctf_flagscore_pickup"));
PlayerScore_Add(other, SP_CTF_PICKUPS, 1);
LogCTF("steal", self.team, other);
- sound (self, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NONE);
+ sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NONE);
FOR_EACH_PLAYER(player)
if(player.team == self.team)
@@ -352,7 +352,7 @@
UpdateFrags(other, cvar("g_ctf_flagscore_return_rogue"));
PlayerScore_Add(other, SP_CTF_RETURNS, 1);
LogCTF("return", self.team, other);
- sound (self, CHAN_AUTO, self.noise1, VOL_BASE, ATTN_NONE);
+ sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NONE);
ReturnFlag(self);
}
else if (!other.flagcarried)
@@ -366,7 +366,7 @@
bprint(other.netname, "^7 picked up the ", self.netname, "\n");
UpdateFrags(other, cvar("g_ctf_flagscore_pickup"));
LogCTF("pickup", self.team, other);
- sound (self, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NONE);
+ sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NONE);
FOR_EACH_PLAYER(player)
if(player.team == self.team)
Modified: trunk/data/qcsrc/server/domination.qc
===================================================================
--- trunk/data/qcsrc/server/domination.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/domination.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -68,9 +68,9 @@
self.enemy = world;
if (head.noise != "")
- sound(self, CHAN_BODY, head.noise, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, head.noise, VOL_BASE, ATTN_NORM);
if (head.noise1 != "")
- sound(self, CHAN_VOICE, head.noise1, VOL_BASE, ATTN_NONE);
+ play2all(head.noise1);
//self.nextthink = time + cvar("g_domination_point_rate");
//self.think = dompointthink;
Modified: trunk/data/qcsrc/server/g_casings.qc
===================================================================
--- trunk/data/qcsrc/server/g_casings.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/g_casings.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -8,7 +8,7 @@
if (other.solid == SOLID_BSP)
if (vlen(self.velocity) >= 50)
if (time >= self.attack_finished_single)
- sound (self, CHAN_IMPACT, "weapons/tink1.wav", 0.5 * VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "weapons/tink1.wav", 0.5 * VOL_BASE, ATTN_NORM);
self.attack_finished_single = time + 0.2;
//self.touch = SUB_Null; // one tink is enough
//self.dest = self.origin - self.groundentity.origin;
Modified: trunk/data/qcsrc/server/g_damage.qc
===================================================================
--- trunk/data/qcsrc/server/g_damage.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/g_damage.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -1,17 +1,7 @@
float checkrules_firstblood;
-.float announcetime;
float yoda;
-void announce(entity player, string msg)
-{
- if(time > player.announcetime)
- if(clienttype(player) == CLIENTTYPE_REAL)
- {
- player.announcetime = time + 0.3;
- play2(player, msg);
- }
-}
float IsDifferentTeam(entity a, entity b)
{
@@ -226,7 +216,6 @@
else if (deathtype == DEATH_NOAMMO)
{
bprint ("^7",s, " ^7committed suicide. What's the point of living without ammo?\n");
- //sound (self, CHAN_BODY, "minstagib/mockery.wav", VOL_BASE, ATTN_NONE);
}
else if (deathtype == DEATH_CAMP)
bprint ("^1",s, "^1 thought he found a nice camping ground\n");
@@ -277,9 +266,6 @@
if (!checkrules_firstblood)
{
checkrules_firstblood = TRUE;
- //sound(world, CHAN_AUTO, "announcer/firstblood.wav", VOL_BASE, ATTN_NONE);
- //if (g_minstagib)
- //sound(world, CHAN_AUTO, "announce/male/mapkill1.wav", VOL_BASE, ATTN_NONE);
if(sv_gentle)
bprint("^1",a, "^1 was the first to score", "\n");
else
Modified: trunk/data/qcsrc/server/g_triggers.qc
===================================================================
--- trunk/data/qcsrc/server/g_triggers.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/g_triggers.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -56,7 +56,7 @@
{
centerprint (activator, self.message);
if (!self.noise)
- sound (activator, CHAN_VOICE, "misc/talk.wav", VOL_BASE, ATTN_NORM);
+ play2(activator, "misc/talk.wav");
}
//
@@ -140,7 +140,7 @@
}
if (self.noise)
- sound (self, CHAN_VOICE, self.noise, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
// don't trigger again until reset
self.takedamage = DAMAGE_NO;
@@ -458,7 +458,7 @@
}
-void target_speaker_use() {sound(self, CHAN_VOICE, self.noise, VOL_BASE, ATTN_NORM);}
+void target_speaker_use() {sound(self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);}
void spawnfunc_target_speaker()
{
Modified: trunk/data/qcsrc/server/g_violence.qc
===================================================================
--- trunk/data/qcsrc/server/g_violence.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/g_violence.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -3,13 +3,13 @@
float r;
r = random ();
if (r < 0.60)
- sound (self, CHAN_IMPACT, "misc/gib_splat01.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "misc/gib_splat01.wav", VOL_BASE, ATTN_NORM);
else if (r < 0.65)
- sound (self, CHAN_IMPACT, "misc/gib_splat02.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "misc/gib_splat02.wav", VOL_BASE, ATTN_NORM);
else if (r < 0.70)
- sound (self, CHAN_IMPACT, "misc/gib_splat03.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "misc/gib_splat03.wav", VOL_BASE, ATTN_NORM);
else if (r < 0.75)
- sound (self, CHAN_IMPACT, "misc/gib_splat04.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "misc/gib_splat04.wav", VOL_BASE, ATTN_NORM);
if(sv_gentle < 1)
pointparticles(particleeffectnum("blood"), self.origin + '0 0 1', '0 0 30', 10);
Modified: trunk/data/qcsrc/server/g_world.qc
===================================================================
--- trunk/data/qcsrc/server/g_world.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/g_world.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -98,7 +98,7 @@
}
}
if(remainingTimeoutTime == cvar("sv_timeout_resumetime")) { //play a warning sound when only <sv_timeout_resumetime> seconds are left
- sound(world, CHAN_AUTO, "announcer/robotic/prepareforbattle.wav", VOL_BASE, ATTN_NONE);
+ play2all("announcer/robotic/prepareforbattle.wav");
}
remainingTimeoutTime -= 1;
self.nextthink = time + TIMEOUT_SLOWMO_VALUE;
@@ -1603,7 +1603,7 @@
if(!checkrules_overtimewarning)
{
checkrules_overtimewarning = TRUE;
- //sound(world, CHAN_AUTO, "announcer/robotic/1minuteremains.wav", VOL_BASE, ATTN_NONE);
+ //announceall("announcer/robotic/1minuteremains.wav");
bcenterprint("^3Now playing ^1OVERTIME^3!\n\n^3Keep fragging until we have a ^1winner^3!");
}
}
@@ -1622,7 +1622,7 @@
if (!checkrules_oneminutewarning && timelimit > 0 && time > timelimit - 60)
{
checkrules_oneminutewarning = TRUE;
- sound(world, CHAN_AUTO, "announcer/robotic/1minuteremains.wav", VOL_BASE, ATTN_NONE);
+ play2all("announcer/robotic/1minuteremains.wav");
}
status = WinningCondition_RanOutOfSpawns();
Modified: trunk/data/qcsrc/server/keyhunt.qc
===================================================================
--- trunk/data/qcsrc/server/keyhunt.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/keyhunt.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -435,7 +435,7 @@
void kh_Key_Collect(entity key, entity player) //a player picks up a dropped key
{
- sound(player, CHAN_AUTO, kh_sound_collect, VOL_BASE, ATTN_NORM);
+ sound(player, CHAN_ITEM, kh_sound_collect, VOL_BASE, ATTN_NORM);
if(key.kh_dropperteam != player.team)
{
@@ -477,7 +477,7 @@
if(suicide)
key.kh_dropperteam = player.team;
}
- sound(player, CHAN_AUTO, kh_sound_drop, VOL_BASE, ATTN_NORM);
+ sound(player, CHAN_ITEM, kh_sound_drop, VOL_BASE, ATTN_NORM);
}
}
@@ -542,7 +542,7 @@
self.pusher = world;
kh_Scores_Event(self.owner, self, "dropkey", 0, 0);
bprint(self.owner.netname, "^7 dropped the ", self.netname, "\n");
- sound(self.owner, CHAN_AUTO, kh_sound_drop, VOL_BASE, ATTN_NORM);
+ sound(self.owner, CHAN_ITEM, kh_sound_drop, VOL_BASE, ATTN_NORM);
makevectors(self.owner.v_angle);
self.velocity = W_CalculateProjectileVelocity(self.owner.velocity, cvar("g_balance_keyhunt_throwvelocity") * v_forward);
kh_Key_AssignTo(self, world);
@@ -561,7 +561,7 @@
{
if(self.siren_time < time)
{
- sound(world, CHAN_AUTO, kh_sound_alarm, VOL_BASE, ATTN_NORM); // play a simple alarm
+ sound(self.owner, CHAN_ITEM, kh_sound_alarm, VOL_BASE, ATTN_NORM); // play a simple alarm
self.siren_time = time + 2.5; // repeat every 2.5 seconds
}
@@ -647,7 +647,7 @@
midpoint = midpoint * (1 / kh_teams);
te_customflash(midpoint, 1000, 1, TeamColor(teem) * 0.5 + '0.5 0.5 0.5'); // make the color >=0.5 in each component
- sound(world, CHAN_AUTO, kh_sound_capture, VOL_BASE, ATTN_NONE);
+ play2all(kh_sound_capture);
kh_FinishRound();
}
@@ -736,7 +736,7 @@
bprint("The ", ColoredTeamName(teem), "^7 could not take care of the ", lostkey.netname, "\n");
}
- sound(world, CHAN_AUTO, kh_sound_destroy, VOL_BASE, ATTN_NONE);
+ play2all(kh_sound_destroy);
te_tarexplosion(lostkey.origin);
kh_FinishRound();
Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/miscfunctions.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -951,9 +951,9 @@
o = e.origin + 0.5 * (e.mins + e.maxs);
soundtoat(dest, e, o, chan, samp, vol, atten);
}
-void soundat(vector o, string samp, float vol, float atten)
+void soundat(entity e, vector o, float chan, string samp, float vol, float atten)
{
- soundtoat(MSG_BROADCAST, world, o, CHAN_AUTO, samp, vol, atten);
+ soundtoat(MSG_BROADCAST, e, o, chan, samp, vol, atten);
}
void play2(entity e, string filename)
@@ -963,6 +963,17 @@
soundtoat(MSG_ONE, world, '0 0 0', CHAN_AUTO, filename, VOL_BASE, ATTN_NONE);
}
+.float announcetime;
+void announce(entity player, string msg)
+{
+ if(time > player.announcetime)
+ if(clienttype(player) == CLIENTTYPE_REAL)
+ {
+ player.announcetime = time + 0.3;
+ play2(player, msg);
+ }
+}
+
void play2team(float t, string filename)
{
local entity head;
@@ -973,6 +984,11 @@
}
}
+void play2all(string samp)
+{
+ sound(world, CHAN_AUTO, samp, VOL_BASE, ATTN_NONE);
+}
+
void PrecachePlayerSounds(string f);
void precache_all_models(string pattern)
{
Modified: trunk/data/qcsrc/server/mode_onslaught.qc
===================================================================
--- trunk/data/qcsrc/server/mode_onslaught.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/mode_onslaught.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -319,7 +319,7 @@
{
// self.max_health / 300 gives 5 minutes of overtime.
// control points reduce the overtime duration.
- sound(self, CHAN_AUTO, "sound/onslaught/generator_decay.wav", VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, "sound/onslaught/generator_decay.wav", VOL_BASE, ATTN_NORM);
d = 1;
e = findchain(classname, "onslaught_controlpoint");
while (e)
@@ -343,13 +343,13 @@
self.count = self.count - 1;
org = randompos(self.origin + self.mins + '8 8 8', self.origin + self.maxs + '-8 -8 -8');
pointparticles(particleeffectnum("onslaught_generator_smallexplosion"), org, '0 0 0', 1);
- sound(self, CHAN_AUTO, "sound/weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, "sound/weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
}
else
{
org = self.origin;
pointparticles(particleeffectnum("onslaught_generator_finalexplosion"), org, '0 0 0', 1);
- sound(self, CHAN_AUTO, "sound/weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, "sound/weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
}
};
@@ -622,7 +622,7 @@
self.colormod = '2 2 2';
if (self.health < 0)
{
- sound(self, CHAN_AUTO, "sound/weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, "sound/weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
pointparticles(particleeffectnum("onslaught_controlpoint_explosion"), self.origin, '0 0 0', 1);
{
string t;
@@ -672,7 +672,7 @@
self.health = self.max_health;
self.count = self.count * 0.2; // slow repair rate from now on
self.think = onslaught_controlpoint_icon_think;
- sound(self, CHAN_BODY, "sound/onslaught/controlpoint_built.wav", VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, "sound/onslaught/controlpoint_built.wav", VOL_BASE, ATTN_NORM);
bprint(ColoredTeamName(self.team), " captured ", self.owner.message, " control point\n");
self.owner.iscaptured = TRUE;
onslaught_updatelinks();
@@ -719,7 +719,7 @@
e.think = onslaught_controlpoint_icon_buildthink;
e.nextthink = time + 0.1;
e.count = e.max_health / 50; // how long it takes to build
- sound(e, CHAN_BODY, "sound/onslaught/controlpoint_build.wav", VOL_BASE, ATTN_NORM);
+ sound(e, CHAN_ITEM, "sound/onslaught/controlpoint_build.wav", VOL_BASE, ATTN_NORM);
self.team = e.team;
self.colormap = e.colormap;
};
Modified: trunk/data/qcsrc/server/sv_main.qc
===================================================================
--- trunk/data/qcsrc/server/sv_main.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/sv_main.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -13,19 +13,13 @@
{
if (!(self.flags & FL_INWATER))
{
- //if (self.watertype == CONTENT_LAVA)
- // sound (self, CHAN_BODY, "player/inlava.wav", VOL_BASE, ATTN_NORM);
- //if (self.watertype == CONTENT_WATER)
- // sound (self, CHAN_BODY, "player/inh2o.wav", VOL_BASE, ATTN_NORM);
- //if (self.watertype == CONTENT_SLIME)
- // sound (self, CHAN_BODY, "player/slimbrn2.wav", VOL_BASE, ATTN_NORM);
self.flags = self.flags + FL_INWATER;
self.dmgtime = 0;
}
if (self.waterlevel != 3)
{
if(self.air_finished < time + 9)
- PlayerSound(playersound_gasp, CHAN_AUTO, 0);
+ PlayerSound(playersound_gasp, CHAN_PLAYER, 0);
self.air_finished = time + 12;
self.dmg = 2;
}
@@ -46,7 +40,7 @@
if (self.watersound_finished < time)
{
self.watersound_finished = time + 0.5;
- sound (self, CHAN_BODY, "player/lava.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM);
}
Damage (self, world, world, 6 * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
}
@@ -55,7 +49,7 @@
if (self.watersound_finished < time)
{
self.watersound_finished = time + 0.5;
- sound (self, CHAN_BODY, "player/slime.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_PLAYER, "player/slime.wav", VOL_BASE, ATTN_NORM);
}
Damage (self, world, world, 2 * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
}
@@ -111,9 +105,9 @@
if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
{
if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
- GlobalSound(globalsound_metalstep, CHAN_AUTO, 0);
+ GlobalSound(globalsound_metalstep, CHAN_PLAYER, 0);
else
- GlobalSound(globalsound_step, CHAN_AUTO, 0);
+ GlobalSound(globalsound_step, CHAN_PLAYER, 0);
}
}
}
Modified: trunk/data/qcsrc/server/t_items.qc
===================================================================
--- trunk/data/qcsrc/server/t_items.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/t_items.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -5,7 +5,7 @@
{
self.model = self.mdl; // restore original model
self.solid = SOLID_TRIGGER; // allow it to be touched again
- sound (self, CHAN_VOICE, "misc/itemrespawn.wav", VOL_BASE, ATTN_NORM); // play respawn sound
+ sound (self, CHAN_ITEM, "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);
@@ -185,8 +185,7 @@
if (!pickedup)
return;
- sound (self, CHAN_BODY, self.noise, VOL_BASE, ATTN_NORM);
- sound (other, CHAN_AUTO, self.item_pickupsound, VOL_BASE, ATTN_NORM);
+ sound (other, CHAN_ITEM, self.item_pickupsound, VOL_BASE, ATTN_NORM);
oldself = self;
self = other;
@@ -414,7 +413,6 @@
self.bot_pickupevalfunc = pickupevalfunc;
self.bot_pickupbasevalue = pickupbasevalue;
self.mdl = itemmodel;
- //self.noise = pickupsound;
self.item_pickupsound = pickupsound;
// let mappers override respawntime
if (!self.respawntime)
Modified: trunk/data/qcsrc/server/t_plats.qc
===================================================================
--- trunk/data/qcsrc/server/t_plats.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/t_plats.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -49,7 +49,7 @@
void plat_hit_top()
{
- sound (self, CHAN_VOICE, self.noise1, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
self.state = 1;
self.think = plat_go_down;
self.nextthink = self.ltime + 3;
@@ -57,20 +57,20 @@
void plat_hit_bottom()
{
- sound (self, CHAN_VOICE, self.noise1, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
self.state = 2;
};
void plat_go_down()
{
- sound (self, CHAN_VOICE, self.noise, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
self.state = 3;
SUB_CalcMove (self.pos2, self.speed, plat_hit_bottom);
};
void plat_go_up()
{
- sound (self, CHAN_VOICE, self.noise, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
self.state = 4;
SUB_CalcMove (self.pos1, self.speed, plat_hit_top);
};
@@ -246,7 +246,7 @@
if (self.wait)
{
self.nextthink = self.ltime + self.wait;
- sound (self, CHAN_VOICE, self.noise, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
}
else
self.nextthink = self.ltime + 0.1;
@@ -266,7 +266,7 @@
self.wait = targ.wait;
else
self.wait = 0;
- sound (self, CHAN_VOICE, self.noise1, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
SUB_CalcMove (targ.origin - self.mins, self.speed, train_wait);
};
@@ -577,7 +577,7 @@
return;
if (self.noise != "")
- sound (self, CHAN_VOICE, self.noise, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
self.state = STATE_UP;
SUB_CalcMove (self.pos2, self.speed, button_wait);
@@ -754,7 +754,7 @@
void door_hit_top()
{
if (self.noise1 != "")
- sound (self, CHAN_VOICE, self.noise1, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
self.state = STATE_TOP;
if (self.spawnflags & DOOR_TOGGLE)
return; // don't come down automatically
@@ -765,14 +765,14 @@
void door_hit_bottom()
{
if (self.noise1 != "")
- sound (self, CHAN_VOICE, self.noise1, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
self.state = STATE_BOTTOM;
};
void door_go_down()
{
if (self.noise2 != "")
- sound (self, CHAN_VOICE, self.noise2, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
if (self.max_health)
{
self.takedamage = DAMAGE_YES;
@@ -795,7 +795,7 @@
}
if (self.noise2 != "")
- sound (self, CHAN_VOICE, self.noise2, VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
self.state = STATE_UP;
SUB_CalcMove (self.pos2, self.speed, door_hit_top);
@@ -920,7 +920,7 @@
{
if (other.flags & FL_CLIENT)
centerprint (other, self.owner.message);
- sound (other, CHAN_VOICE, "misc/talk.wav", VOL_BASE, ATTN_NORM);
+ play2(other, "misc/talk.wav");
}
};
@@ -1201,7 +1201,7 @@
// Make a sound, wait a little...
if (self.noise1 != "")
- sound(self, CHAN_VOICE, self.noise1, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
self.nextthink = self.ltime + 0.1;
temp = 1 - (self.spawnflags & SECRET_1ST_LEFT); // 1 or -1
@@ -1226,7 +1226,7 @@
self.dest2 = self.dest1 + v_forward * self.t_length;
SUB_CalcMove(self.dest1, self.speed, fd_secret_move1);
if (self.noise2 != "")
- sound(self, CHAN_VOICE, self.noise2, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
};
// Wait after first movement...
@@ -1235,14 +1235,14 @@
self.nextthink = self.ltime + 1.0;
self.think = fd_secret_move2;
if (self.noise3 != "")
- sound(self, CHAN_VOICE, self.noise3, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NORM);
};
// Start moving sideways w/sound...
void fd_secret_move2()
{
if (self.noise2 != "")
- sound(self, CHAN_VOICE, self.noise2, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
SUB_CalcMove(self.dest2, self.speed, fd_secret_move3);
};
@@ -1250,7 +1250,7 @@
void fd_secret_move3()
{
if (self.noise3 != "")
- sound(self, CHAN_VOICE, self.noise3, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NORM);
if (!(self.spawnflags & SECRET_OPEN_ONCE))
{
self.nextthink = self.ltime + self.wait;
@@ -1262,7 +1262,7 @@
void fd_secret_move4()
{
if (self.noise2 != "")
- sound(self, CHAN_VOICE, self.noise2, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
SUB_CalcMove(self.dest1, self.speed, fd_secret_move5);
};
@@ -1272,13 +1272,13 @@
self.nextthink = self.ltime + 1.0;
self.think = fd_secret_move6;
if (self.noise3 != "")
- sound(self, CHAN_VOICE, self.noise3, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NORM);
};
void fd_secret_move6()
{
if (self.noise2 != "")
- sound(self, CHAN_VOICE, self.noise2, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
SUB_CalcMove(self.oldorigin, self.speed, fd_secret_done);
};
@@ -1291,7 +1291,7 @@
//self.th_pain = fd_secret_use;
}
if (self.noise3 != "")
- sound(self, CHAN_VOICE, self.noise3, VOL_BASE, ATTN_NORM);
+ sound(self, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NORM);
};
void secret_blocked()
@@ -1322,7 +1322,7 @@
{
if (other.flags & FL_CLIENT)
centerprint (other, self.message);
- sound (other, CHAN_BODY, "misc/talk.wav", VOL_BASE, ATTN_NORM);
+ play2(other, "misc/talk.wav");
}
};
Modified: trunk/data/qcsrc/server/t_teleporters.qc
===================================================================
--- trunk/data/qcsrc/server/t_teleporters.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/t_teleporters.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -67,7 +67,7 @@
pointparticles(particleeffectnum("teleport"), other.origin, '0 0 0', 1);
// Make teleport effect where the player arrived
- sound (other, CHAN_ITEM, "misc/teleport.wav", VOL_BASE, ATTN_NORM);
+ sound (self.enemy, CHAN_ITEM, "misc/teleport.wav", VOL_BASE, ATTN_NORM);
makevectors (self.enemy.mangle);
pointparticles(particleeffectnum("teleport"), self.enemy.origin + v_forward * 32, '0 0 0', 1);
Modified: trunk/data/qcsrc/server/w_electro.qc
===================================================================
--- trunk/data/qcsrc/server/w_electro.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/w_electro.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -50,7 +50,7 @@
if(IsFlying(other))
announce(o, "announcer/male/electrobitch.ogg");
} else {
- sound (self, CHAN_IMPACT, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM);
}
}
Modified: trunk/data/qcsrc/server/w_grenadelauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_grenadelauncher.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/w_grenadelauncher.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -49,17 +49,17 @@
float r;
r = random() * 6;
if(r < 1)
- sound (self, CHAN_IMPACT, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
else if(r < 2)
- sound (self, CHAN_IMPACT, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
else if(r < 3)
- sound (self, CHAN_IMPACT, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
else if(r < 4)
- sound (self, CHAN_IMPACT, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
else if(r < 5)
- sound (self, CHAN_IMPACT, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
else
- sound (self, CHAN_IMPACT, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_BODY, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
}
}
Modified: trunk/data/qcsrc/server/w_nex.qc
===================================================================
--- trunk/data/qcsrc/server/w_nex.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/w_nex.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -29,7 +29,7 @@
if (trace_ent.solid == SOLID_BSP && !(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT))
pointparticles(particleeffectnum("nex_impact"), trace_endpos - w_shotdir * 6, '0 0 0', 1);
// play a sound
- soundat (trace_endpos, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
+ soundat (self, trace_endpos, CHAN_BODY, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
if (cvar("g_use_ammunition") && !g_instagib)
{
Modified: trunk/data/qcsrc/server/w_rocketlauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_rocketlauncher.qc 2008-08-05 21:47:41 UTC (rev 4033)
+++ trunk/data/qcsrc/server/w_rocketlauncher.qc 2008-08-06 06:01:47 UTC (rev 4034)
@@ -400,7 +400,7 @@
{
self.exteriorweaponentity.attack_finished_single = time + 0.4;
self.laser_on = !self.laser_on;
- sound (self, CHAN_AUTO, "weapons/tink1.wav", VOL_BASE, ATTN_NORM);
+ sound (self, CHAN_WEAPON, "weapons/tink1.wav", VOL_BASE, ATTN_NORM);
}
}
else if (req == WR_PRECACHE)
More information about the nexuiz-commits
mailing list