]> de.git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
in v_flipped mode, invert the sense of snd_swapstereo
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 23 May 2007 11:31:54 +0000 (11:31 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 23 May 2007 11:31:54 +0000 (11:31 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@7346 d7cf8633-e32d-0410-b094-e92efae38249

snd_main.c

index e29b55eb060039efac85467658fed0c046705831..4dec22408f77b4d12a420c0c32cb133eac7e63d1 100644 (file)
@@ -173,6 +173,7 @@ cvar_t snd_soundradius = {0, "snd_soundradius", "2000", "radius of weapon sounds
 cvar_t _snd_mixahead = {CVAR_SAVE, "_snd_mixahead", "0.1", "how much sound to mix ahead of time"};
 cvar_t snd_streaming = { CVAR_SAVE, "snd_streaming", "1", "enables keeping compressed ogg sound files compressed, decompressing them only as needed, otherwise they will be decompressed completely at load (may use a lot of memory)"};
 cvar_t snd_swapstereo = {CVAR_SAVE, "snd_swapstereo", "0", "swaps left/right speakers for old ISA soundblaster cards"};
+extern cvar_t v_flipped;
 cvar_t snd_channellayout = {0, "snd_channellayout", "0", "channel layout. Can be 0 (auto - snd_restart needed), 1 (standard layout), or 2 (ALSA layout)"};
 
 // Local cvars
@@ -400,7 +401,7 @@ static void S_SetChannelLayout (void)
        listeners = snd_speakerlayout.listeners;
 
        // Swap the left and right channels if snd_swapstereo is set
-       if (snd_swapstereo.integer)
+       if (!!snd_swapstereo.integer ^ !!v_flipped.integer)
        {
                switch (snd_speakerlayout.channels)
                {
@@ -454,7 +455,7 @@ static void S_SetChannelLayout (void)
                                   (layout == SND_CHANNELLAYOUT_ALSA) ? "ALSA" : "standard");
        }
 
-       current_swapstereo = snd_swapstereo.integer;
+       current_swapstereo = !!snd_swapstereo.integer ^ !!v_flipped.integer;
        current_channellayout = snd_channellayout.integer;
        current_channellayout_used = layout;
 }
@@ -1524,7 +1525,7 @@ void S_Update(const matrix4x4_t *listenermatrix)
                return;
 
        // If snd_swapstereo or snd_channellayout has changed, recompute the channel layout
-       if (current_swapstereo != snd_swapstereo.integer ||
+       if (current_swapstereo != (!!snd_swapstereo.integer ^ !!v_flipped.integer) ||
                current_channellayout != snd_channellayout.integer)
                S_SetChannelLayout();