diff --git a/Quake/cd_null.c b/Quake/cd_null.c index 3c9ec51f..c4ec957f 100644 --- a/Quake/cd_null.c +++ b/Quake/cd_null.c @@ -25,33 +25,53 @@ #include "quakedef.h" -void CDAudio_Play(byte track, qboolean looping) +void CDAudioBackend_Eject(void) { } -void CDAudio_Stop(void) +void CDAudioBackend_Play(byte track, qboolean looping) { } -void CDAudio_Pause(void) +qboolean CDAudioBackend_IsPlaying() +{ + return false; +} + +void CDAudioBackend_Stop(void) { } -void CDAudio_Resume(void) +void CDAudioBackend_Next(void) { } -void CDAudio_Update(void) +void CDAudioBackend_Prev(void) { } -int CDAudio_Init(void) +void CDAudioBackend_Pause(void) +{ +} + +void CDAudioBackend_Resume(void) +{ +} + +void CDAudioBackend_Info(void) +{ +} + +void CDAudioBackend_Update(void) +{ +} + +int CDAudioBackend_Init(void) { Con_Printf("CDAudio disabled at compile time\n"); return -1; } -void CDAudio_Shutdown(void) +void CDAudioBackend_Shutdown(void) { } - diff --git a/Quake/cd_shared.c b/Quake/cd_shared.c index b6d4d55e..306742e7 100644 --- a/Quake/cd_shared.c +++ b/Quake/cd_shared.c @@ -71,49 +71,73 @@ void CDAudio_PlayNamed(const char *name, qboolean looping) CDAudio_Stop(); - // copy the track name to playTrackName - if (CDAudio_IsNumberedTrack(name)) - { - int track = atoi(name); + int track = 0; + if (CDAudio_IsNumberedTrack(name)) + { + track = atoi(name); if (track < 100) { track = remap[track]; } - sprintf(playTrackName, "%02d", track); - } + q_snprintf(playTrackName, sizeof(playTrackName), "%03d", track); + } else { - if ((strlen(name) + 1) > MAX_QPATH) - { - return; - } - sprintf(playTrackName, "%s", name); + q_snprintf(playTrackName, sizeof(playTrackName), "%s", name); } - // First try to play a music file - - char fullTrackName[MAX_QPATH]; - sprintf(fullTrackName, "music/%s", playTrackName); + // First try to play a music file (path code from Darkplaces) + + char filename[MAX_QPATH]; - q_snprintf(fullTrackName, sizeof(fullTrackName), "music/%s", playTrackName); - if (CDAudio_TryPlayNamed(fullTrackName, looping)) return; - - q_snprintf(fullTrackName, sizeof(fullTrackName), "music/track%s", playTrackName); - if (CDAudio_TryPlayNamed(fullTrackName, looping)) return; - - q_snprintf(fullTrackName, sizeof(fullTrackName), "music/t%s", playTrackName); - if (CDAudio_TryPlayNamed(fullTrackName, looping)) return; - - Con_Printf("WARNING: Couldn't open music file %s\n", playTrackName); - - if (CDAudio_IsNumberedTrack(playTrackName)) + if (track > 0) // We were given a numbered track { - CDAudioBackend_Play(atoi(playTrackName), looping); + q_snprintf(filename, sizeof(filename), "sound/cdtracks/track%03u", track); + if (CDAudio_TryPlayNamed(filename, looping)) return; + + q_snprintf(filename, sizeof(filename), "sound/cdtracks/track%02u", track); + if (CDAudio_TryPlayNamed(filename, looping)) return; + + q_snprintf(filename, sizeof(filename), "music/cdtracks/track%03u", track);// added by motorsep + if (CDAudio_TryPlayNamed(filename, looping)) return; + + q_snprintf(filename, sizeof(filename), "music/cdtracks/track%02u", track);// added by motorsep + if (CDAudio_TryPlayNamed(filename, looping)) return; + + q_snprintf(filename, sizeof(filename), "music/track%03u", track);// added by motorsep + if (CDAudio_TryPlayNamed(filename, looping)) return; + + q_snprintf(filename, sizeof(filename), "music/track%02u", track);// added by motorsep + if (CDAudio_TryPlayNamed(filename, looping)) return; + + // No music file, so try using the hardware CD player + + CDAudioBackend_Play(track, looping); if (CDAudioBackend_IsPlaying()) { usingBackend = true; } + return; } + + // We were given a named track + + q_snprintf(filename, sizeof(filename), "%s", playTrackName); + if (CDAudio_TryPlayNamed(filename, looping)) return; + + q_snprintf(filename, sizeof(filename), "sound/%s", playTrackName); + if (CDAudio_TryPlayNamed(filename, looping)) return; + + q_snprintf(filename, sizeof(filename), "sound/cdtracks/%s", playTrackName); + if (CDAudio_TryPlayNamed(filename, looping)) return; + + q_snprintf(filename, sizeof(filename), "music/%s", playTrackName); + if (CDAudio_TryPlayNamed(filename, looping)) return; + + q_snprintf(filename, sizeof(filename), "music/cdtracks/%s", playTrackName); + if (CDAudio_TryPlayNamed(filename, looping)) return; + + Con_Printf("WARNING: Couldn't find music track \"%s\"\n", playTrackName); } void CDAudio_Play(byte track, qboolean looping) diff --git a/Quake/resample_sse.h b/Quake/resample_sse.h deleted file mode 100644 index 64be8a16..00000000 --- a/Quake/resample_sse.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright (C) 2007-2008 Jean-Marc Valin - * Copyright (C) 2008 Thorvald Natvig - */ -/** - @file resample_sse.h - @brief Resampler functions (SSE version) -*/ -/* - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - - Neither the name of the Xiph.org Foundation nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#define OVERRIDE_INNER_PRODUCT_SINGLE -static inline float inner_product_single(const float *a, const float *b, unsigned int len) -{ - int i; - float ret; - __m128 sum = _mm_setzero_ps(); - for (i=0;i -#define OVERRIDE_INNER_PRODUCT_DOUBLE - -static inline double inner_product_double(const float *a, const float *b, unsigned int len) -{ - int i; - double ret; - __m128d sum = _mm_setzero_pd(); - __m128 t; - for (i=0;i