r5483 - in trunk/data: . qcsrc/menu/nexuiz qcsrc/server qcsrc/server/tturrets/units
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sat Jan 10 13:10:33 EST 2009
Author: div0
Date: 2009-01-10 13:10:33 -0500 (Sat, 10 Jan 2009)
New Revision: 5483
Modified:
trunk/data/defaultNexuiz.cfg
trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c
trunk/data/qcsrc/menu/nexuiz/dialog_settings_audio.c
trunk/data/qcsrc/menu/nexuiz/dialog_settings_effects.c
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/defs.qh
trunk/data/qcsrc/server/pathlib.qc
trunk/data/qcsrc/server/sv_main.qc
trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc
Log:
make voice sounds a bit louder again
Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/defaultNexuiz.cfg 2009-01-10 18:10:33 UTC (rev 5483)
@@ -124,7 +124,7 @@
// taunts and voices
seta cl_autotaunt 0.65
-seta cl_voice_directional 1 // 0 = all voices are non-directional, 1 = all voices are directional
+seta cl_voice_directional 1 // 0 = all voices are non-directional, 1 = all voices are directional, 2 = only taunts are directional
seta cl_voice_directional_taunt_attenuation 0.5
// server settings
Modified: trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c 2009-01-10 18:10:33 UTC (rev 5483)
@@ -108,6 +108,7 @@
me.TR(me);
me.TDempty(me, 0.2);
me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Bot skill:"));
+ setDependent(e, "bot_number", 0, -1);
me.TD(me, 1, 2, e = makeNexuizTextSlider("skill"));
e.addValue(e, "Botlike", "0");
e.addValue(e, "Beginner", "1");
Modified: trunk/data/qcsrc/menu/nexuiz/dialog_settings_audio.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_settings_audio.c 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_settings_audio.c 2009-01-10 18:10:33 UTC (rev 5483)
@@ -127,10 +127,14 @@
setDependent(e, "snd_channels", 1.5, 0.5);
me.TR(me);
me.TR(me);
- me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "cl_voice_directional", "Play voice messages directionally"));
+ me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Directional voices:"));
+ me.TD(me, 1, 2/3, e = makeNexuizRadioButton(1, "cl_voice_directional", "0", "None"));
+ me.TD(me, 1, 2/3, e = makeNexuizRadioButton(1, "cl_voice_directional", "2", "Taunts"));
+ me.TD(me, 1, 2/3, e = makeNexuizRadioButton(1, "cl_voice_directional", "1", "All"));
me.TR(me);
me.TDempty(me, 0.2);
me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Taunt range:"));
+ setDependent(e, "cl_voice_directional", 0.5, -0.5);
me.TD(me, 1, 1.8, e = makeNexuizTextSlider("cl_voice_directional_taunt_attenuation"));
e.addValue(e, "Very short", "3");
e.addValue(e, "Short", "2");
@@ -138,6 +142,7 @@
e.addValue(e, "Long", "0.25");
e.addValue(e, "Full", "0.015625");
e.configureNexuizTextSliderValues(e);
+ setDependent(e, "cl_voice_directional", 0.5, -0.5);
me.TR(me);
sl = makeNexuizSlider(0.15, 1, 0.05, "cl_autotaunt");
sl.valueDisplayMultiplier = 100;
Modified: trunk/data/qcsrc/menu/nexuiz/dialog_settings_effects.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_settings_effects.c 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_settings_effects.c 2009-01-10 18:10:33 UTC (rev 5483)
@@ -76,11 +76,13 @@
me.TR(me);
me.TDempty(me, 0.2);
me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Distance:"));
+ setDependent(e, "cl_decals", 1, 1);
me.TD(me, 1, 2, e = makeNexuizSlider(200, 500, 20, "r_drawdecals_drawdistance"));
setDependent(e, "cl_decals", 1, 1);
me.TR(me);
me.TDempty(me, 0.2);
me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Time:"));
+ setDependent(e, "cl_decals", 1, 1);
me.TD(me, 1, 2, e = makeNexuizSlider(1, 20, 1, "cl_decals_time"));
setDependent(e, "cl_decals", 1, 1);
@@ -158,10 +160,9 @@
me.TD(me, 1, 2, e = makeNexuizSlider(0, 0.5, 0.05, "v_kicktime"));
me.TR(me);
-
- me.TR(me);
if(cvar("developer"))
me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "r_showsurfaces", "Show surfaces"));
+ e.yesValue = 3;
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "sendcvar cl_nogibs; r_restart", COMMANDBUTTON_APPLY));
Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/cl_client.qc 2009-01-10 18:10:33 UTC (rev 5483)
@@ -2299,7 +2299,7 @@
oldself = self; self = self.teamkill_soundsource;
oldpusher = self.pusher; self.pusher = oldself;
- PlayerSound(playersound_teamshoot, CHAN_VOICE, 3);
+ PlayerSound(playersound_teamshoot, CHAN_VOICE, VOICETYPE_LASTATTACKER_ONLY);
self.pusher = oldpusher;
self = oldself;
@@ -2309,7 +2309,7 @@
if(time > self.taunt_soundtime)
{
self.taunt_soundtime = 0;
- PlayerSound(playersound_taunt, CHAN_VOICE, 4);
+ PlayerSound(playersound_taunt, CHAN_VOICE, VOICETYPE_AUTOTAUNT);
}
target_voicescript_next(self);
Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/cl_physics.qc 2009-01-10 18:10:33 UTC (rev 5483)
@@ -85,7 +85,7 @@
player_setanim(self.anim_jump, FALSE, TRUE, TRUE);
if(g_jump_grunt)
- PlayerSound(playersound_jump, CHAN_PLAYER, 0);
+ PlayerSound(playersound_jump, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
}
void CheckWaterJump()
@@ -497,9 +497,9 @@
if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
{
if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
- GlobalSound(globalsound_metalfall, CHAN_PLAYER, 0);
+ GlobalSound(globalsound_metalfall, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
else
- GlobalSound(globalsound_fall, CHAN_PLAYER, 0);
+ GlobalSound(globalsound_fall, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
}
}
}
Modified: trunk/data/qcsrc/server/cl_player.qc
===================================================================
--- trunk/data/qcsrc/server/cl_player.qc 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/cl_player.qc 2009-01-10 18:10:33 UTC (rev 5483)
@@ -431,13 +431,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_PAIN, 0);
+ PlayerSound(playersound_pain100, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
else if(self.health > 50)
- PlayerSound(playersound_pain75, CHAN_PAIN, 0);
+ PlayerSound(playersound_pain75, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
else if(self.health > 25)
- PlayerSound(playersound_pain50, CHAN_PAIN, 0);
+ PlayerSound(playersound_pain50, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
else if(self.health > 1)
- PlayerSound(playersound_pain25, CHAN_PAIN, 0);
+ PlayerSound(playersound_pain25, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
}
}
@@ -482,9 +482,9 @@
if(sv_gentle < 1) // TODO make a "gentle" version?
{
if(deathtype == DEATH_DROWN)
- PlayerSound(playersound_drown, CHAN_PAIN, 0);
+ PlayerSound(playersound_drown, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
else
- PlayerSound(playersound_death, CHAN_PAIN, 0);
+ PlayerSound(playersound_death, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
}
// get rid of kill indicator
@@ -896,13 +896,13 @@
strunzone(msgstr);
}
-float GetVoiceMessageTeamsayType(string type)
+float GetVoiceMessageVoiceType(string type)
{
if(type == "taunt")
- return 5;
+ return VOICETYPE_TAUNT;
if(type == "teamshoot")
- return 2;
- return 1;
+ return VOICETYPE_LASTATTACKER;
+ return VOICETYPE_TEAMRADIO;
}
string allvoicesamples;
@@ -1025,9 +1025,10 @@
LoadPlayerSounds(strcat(self.model, ".sounds"), 0);
}
-void GlobalSound(string sample, float chan, float teamsay)
+void GlobalSound(string sample, float chan, float voicetype)
{
float n;
+ float tauntrand;
if(sample == "")
return;
@@ -1039,90 +1040,82 @@
else
sample = strcat(argv(0), ".wav"); // randomization
- if(teamsay == 3) // only to last attacker
+ switch(voicetype)
{
- if(self.pusher)
- if(self.pusher.team == self.team)
- {
- msg_entity = self.pusher;
- if(clienttype(msg_entity) == CLIENTTYPE_REAL)
+ case VOICETYPE_LASTATTACKER_ONLY:
+ if(self.pusher)
+ if(self.pusher.team == self.team)
{
- if(msg_entity.cvar_cl_voice_directional)
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_MIN);
- else
+ msg_entity = self.pusher;
+ if(clienttype(msg_entity) == CLIENTTYPE_REAL)
+ {
+ if(msg_entity.cvar_cl_voice_directional == 1)
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN);
+ else
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
+ }
+ }
+ break;
+ case VOICETYPE_LASTATTACKER:
+ if(self.pusher)
+ if(self.pusher.team == self.team)
+ {
+ msg_entity = self.pusher;
+ if(clienttype(msg_entity) == CLIENTTYPE_REAL)
+ {
+ if(msg_entity.cvar_cl_voice_directional == 1)
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN);
+ else
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
+ }
+ msg_entity = self;
+ if(clienttype(msg_entity) == CLIENTTYPE_REAL)
soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
}
- }
- }
- else if(teamsay == 2) // only to last attacker and self
- {
- if(self.pusher)
- if(self.pusher.team == self.team)
- {
- msg_entity = self.pusher;
- if(clienttype(msg_entity) == CLIENTTYPE_REAL)
+ break;
+ case VOICETYPE_TEAMRADIO:
+ FOR_EACH_REALCLIENT(msg_entity)
+ if(!teams_matter || msg_entity.team == self.team)
{
- if(msg_entity.cvar_cl_voice_directional)
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_MIN);
+ if(msg_entity.cvar_cl_voice_directional == 1)
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN);
else
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
}
- msg_entity = self;
- if(clienttype(msg_entity) == CLIENTTYPE_REAL)
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
- }
- }
- else if(teamsay == 0) // to everyone
- {
- // note: player sound
- // broadcast the sound, but it's directional
- sound(self, chan, sample, VOL_BASE, ATTN_NORM);
- }
- else if(teamsay == 1) // to the same team
- {
- entity e;
- FOR_EACH_REALCLIENT(e)
- if(!teams_matter || e.team == self.team)
+ break;
+ case VOICETYPE_AUTOTAUNT:
+ tauntrand = random();
+ FOR_EACH_REALCLIENT(msg_entity)
+ 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));
+ else
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
+ }
+ break;
+ case VOICETYPE_TAUNT:
+ FOR_EACH_REALCLIENT(msg_entity)
{
- msg_entity = e;
- if(msg_entity.cvar_cl_voice_directional)
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_MIN);
+ 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));
else
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
}
+ case VOICETYPE_PLAYERSOUND:
+ sound(self, chan, sample, VOL_BASE, ATTN_NORM);
+ break;
+ default:
+ backtrace("Invalid voice type!");
+ break;
}
- else if(teamsay == 4) // auto taunt
- {
- float tauntrand;
- tauntrand = random();
- FOR_EACH_REALCLIENT(e)
- if (tauntrand < e.cvar_cl_autotaunt)
- {
- msg_entity = e;
- if (e.cvar_cl_voice_directional)
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));
- else
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
- }
- }
- else if(teamsay == 5) // manual taunt
- {
- FOR_EACH_REALCLIENT(e)
- {
- msg_entity = e;
- if (e.cvar_cl_voice_directional)
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));
- else
- soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
- }
- }
}
-void PlayerSound(.string samplefield, float chan, float teamsay)
+void PlayerSound(.string samplefield, float chan, float voicetype)
{
string sample;
sample = self.samplefield;
- GlobalSound(sample, chan, teamsay);
+ GlobalSound(sample, chan, voicetype);
}
.float floodcontrol_voice;
@@ -1130,7 +1123,7 @@
void VoiceMessage(string type, string msg)
{
var .string sample;
- var float teamsay, ownteam;
+ var float voicetype, ownteam;
sample = GetVoiceMessageSampleField(type);
if(GetPlayerSoundSampleField_notFound)
@@ -1139,8 +1132,8 @@
return;
}
- teamsay = GetVoiceMessageTeamsayType(type);
- ownteam = (teamsay == 1);
+ voicetype = GetVoiceMessageVoiceType(type);
+ ownteam = (voicetype == VOICETYPE_TEAMRADIO);
float flood;
float flood_spv;
@@ -1167,5 +1160,5 @@
Say(self, ownteam, msg, 0);
if (!flood)
- PlayerSound(sample, CHAN_VOICE, teamsay);
+ PlayerSound(sample, CHAN_VOICE, voicetype);
}
Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/defs.qh 2009-01-10 18:10:33 UTC (rev 5483)
@@ -13,6 +13,7 @@
#define BUTTON_USE buttonuse
#define VOL_BASE 0.7
+#define VOL_BASEVOICE 1.0
// Globals
@@ -467,12 +468,20 @@
string globalsound_metalfall;
string globalsound_step;
string globalsound_metalstep;
+
+#define VOICETYPE_PLAYERSOUND 10
+#define VOICETYPE_TEAMRADIO 11
+#define VOICETYPE_LASTATTACKER 12
+#define VOICETYPE_LASTATTACKER_ONLY 13
+#define VOICETYPE_AUTOTAUNT 14
+#define VOICETYPE_TAUNT 15
+
void PrecachePlayerSounds(string f);
void PrecacheGlobalSound(string samplestring);
void UpdatePlayerSounds();
void ClearPlayerSounds();
-void PlayerSound(.string samplefield, float channel, float teamsay); // 0 is normal, 1 is team, 2 is last attacker
-void GlobalSound(string samplestring, float channel, float teamsay); // 0 is normal, 1 is team, 2 is last attacker
+void PlayerSound(.string samplefield, float channel, float voicetype);
+void GlobalSound(string samplestring, float channel, float voicetype);
void VoiceMessage(string type, string message);
// autotaunt system
Modified: trunk/data/qcsrc/server/pathlib.qc
===================================================================
--- trunk/data/qcsrc/server/pathlib.qc 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/pathlib.qc 2009-01-10 18:10:33 UTC (rev 5483)
@@ -265,7 +265,6 @@
case PT_ASTAR:
dprint("Pathlib error: A* pathing not implemented!\n");
return 0;
- break;
default:
subpath_point = pathlib_subpath_quickstar(start,end,start.owner.path_subpathing_size);
dprint("Pathlib warning: unknown pathing method, using quickstar!\n");
Modified: trunk/data/qcsrc/server/sv_main.qc
===================================================================
--- trunk/data/qcsrc/server/sv_main.qc 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/sv_main.qc 2009-01-10 18:10:33 UTC (rev 5483)
@@ -19,7 +19,7 @@
if (self.waterlevel != 3)
{
if(self.air_finished < time + 9)
- PlayerSound(playersound_gasp, CHAN_PLAYER, 0);
+ PlayerSound(playersound_gasp, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
self.air_finished = time + 12;
self.dmg = 2;
}
@@ -107,9 +107,9 @@
if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
{
if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
- GlobalSound(globalsound_metalstep, CHAN_PLAYER, 0);
+ GlobalSound(globalsound_metalstep, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
else
- GlobalSound(globalsound_step, CHAN_PLAYER, 0);
+ GlobalSound(globalsound_step, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
}
}
}
Modified: trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc 2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc 2009-01-10 18:10:33 UTC (rev 5483)
@@ -26,7 +26,7 @@
vector v;
float f,i;
- for (i=0;i<1;i++)
+ for (i=0;i<1;++i)
{
f = gettagindex(self.tur_head,"tag_fire");
v = gettaginfo(self.tur_head,f);
More information about the nexuiz-commits
mailing list