From f7dbe0f57dfdb649b6a56ef513598f472da40f91 Mon Sep 17 00:00:00 2001 From: div0 Date: Sun, 8 Mar 2009 10:51:02 +0000 Subject: [PATCH] r6077 | div0 | 2009-03-07 23:06:34 +0100 (Sat, 07 Mar 2009) | 2 lines fix mapvote "keeptwo" feature (wasn't display disappearing maps) git-svn-id: svn://svn.icculus.org/nexuiz/branches/nexuiz-2.0@6078 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- .patchsets | 2 +- data/qcsrc/client/mapvoting.qc | 15 +++++++++++++++ data/qcsrc/menu/nexuiz/dialog_settings_audio.c | 1 + data/qcsrc/server/g_world.qc | 7 +++---- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/.patchsets b/.patchsets index 6718248e1..3ab274ff6 100644 --- a/.patchsets +++ b/.patchsets @@ -1,2 +1,2 @@ master = svn://svn.icculus.org/nexuiz/trunk -revisions_applied = 1-6039,6044-6074 +revisions_applied = 1-6039,6044-6077 diff --git a/data/qcsrc/client/mapvoting.qc b/data/qcsrc/client/mapvoting.qc index 158e8d50d..20d5c20d2 100644 --- a/data/qcsrc/client/mapvoting.qc +++ b/data/qcsrc/client/mapvoting.qc @@ -266,6 +266,8 @@ void MapVote_Init() float i, power; string map, pk3, ssdir; + precache_sound ("misc/invshot.wav"); + registercmd("+showscores"); registercmd("-showscores"); @@ -323,10 +325,23 @@ void MapVote_Init() void MapVote_UpdateMask() { + float i, power; + float oldmask; + + oldmask = mv_maps_mask; if(mv_num_maps <= 8) mv_maps_mask = ReadByte(); else mv_maps_mask = ReadShort(); + + if(oldmask & mv_maps_mask != oldmask) + if(oldmask & mv_maps_mask == mv_maps_mask) + sound(world, CHAN_AUTO, "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) + if not(mv_maps_mask & power) + mv_votes[i] = -1; } void MapVote_UpdateVotes() diff --git a/data/qcsrc/menu/nexuiz/dialog_settings_audio.c b/data/qcsrc/menu/nexuiz/dialog_settings_audio.c index 49dec707c..ab67ea2a6 100644 --- a/data/qcsrc/menu/nexuiz/dialog_settings_audio.c +++ b/data/qcsrc/menu/nexuiz/dialog_settings_audio.c @@ -43,6 +43,7 @@ void fillNexuizAudioSettingsTab(entity me) me.TDempty(me, 0.2); s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_worldchannel0volume"); me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Info:")); + makeMulti(s, "snd_csqcchannel0volume"); me.TD(me, 1, 2, s); setDependentStringNotEqual(e, "volume", "0"); setDependentStringNotEqual(s, "volume", "0"); diff --git a/data/qcsrc/server/g_world.qc b/data/qcsrc/server/g_world.qc index dcb67d6b9..694315943 100644 --- a/data/qcsrc/server/g_world.qc +++ b/data/qcsrc/server/g_world.qc @@ -2112,6 +2112,9 @@ float MapVote_SendEntity(entity to, float sf) string mapfile, pakfile; float i, o; + if(sf & 1) + sf &~= 2; // if we send 1, we don't need to also send 2 + WriteByte(MSG_ENTITY, ENT_CLIENT_MAPVOTE); WriteByte(MSG_ENTITY, sf); @@ -2335,10 +2338,6 @@ void MapVote_Tick() } } - // notify about keep-two - if(keeptwo != 0 && mapvote_keeptwotime == 0) - play2(other, "misc/invshot.wav"); - // clear possibly invalid votes if(mapvote_maps[other.mapvote - 1] == "") other.mapvote = 0; -- 2.39.2