X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=snd_mem.c;h=1f7e7e3574ad2b30c246ae078b332283baba10df;hb=8ab97f14802d188732143d3ba77ab8ab6660b01e;hp=9c355a12db7409fc32abd53a603962b3921ce63c;hpb=cca6f0cbe16bbb8d62d264bed54da2e6e6a7ed75;p=xonotic%2Fdarkplaces.git diff --git a/snd_mem.c b/snd_mem.c index 9c355a12..1f7e7e35 100644 --- a/snd_mem.c +++ b/snd_mem.c @@ -21,8 +21,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "quakedef.h" -qbyte *S_Alloc (int size); - /* ================ ResampleSfx @@ -48,6 +46,7 @@ void ResampleSfx (sfxcache_t *sc, qbyte *data, char *name) if (fracstep == 256) { + // fast case for direct transfer if (sc->width == 1) // 8bit for (i = 0;i < srclength;i++) ((signed char *)sc->data)[i] = ((unsigned char *)data)[i] - 128; @@ -57,7 +56,7 @@ void ResampleSfx (sfxcache_t *sc, qbyte *data, char *name) } else { -// general case + // general case Con_DPrintf("ResampleSfx: resampling sound %s\n", name); samplefrac = 0; if ((fracstep & 255) == 0) // skipping points on perfect multiple @@ -201,7 +200,7 @@ void ResampleSfx (sfxcache_t *sc, qbyte *data, char *name) } // LordHavoc: use this for testing if it ever becomes useful again -// COM_WriteFile (va("sound/%s.pcm", name), sc->data, (sc->length << sc->stereo) * sc->width); + //COM_WriteFile (va("sound/%s.pcm", name), sc->data, (sc->length << sc->stereo) * sc->width); } //============================================================================= @@ -213,30 +212,31 @@ S_LoadSound */ sfxcache_t *S_LoadSound (sfx_t *s, int complain) { - char namebuffer[256]; - qbyte *data; - wavinfo_t info; - int len; - sfxcache_t *sc; + char namebuffer[256]; + qbyte *data; + wavinfo_t info; + int len; + sfxcache_t *sc; -// see if still in memory + // see if still in memory if (s->sfxcache) return s->sfxcache; -// load it in + // load it in strcpy(namebuffer, "sound/"); strcat(namebuffer, s->name); - data = COM_LoadFile(namebuffer, false); + data = FS_LoadFile(namebuffer, false); if (!data) { + s->silentlymissing = !complain; if (complain) Con_Printf ("Couldn't load %s\n", namebuffer); return NULL; } - info = GetWavinfo (s->name, data, com_filesize); + info = GetWavinfo (s->name, data, fs_filesize); // LordHavoc: stereo sounds are now allowed (intended for music) if (info.channels < 1 || info.channels > 2) { @@ -283,11 +283,11 @@ WAV loading */ -qbyte *data_p; -qbyte *iff_end; -qbyte *last_chunk; -qbyte *iff_data; -int iff_chunk_len; +qbyte *data_p; +qbyte *iff_end; +qbyte *last_chunk; +qbyte *iff_data; +int iff_chunk_len; short GetLittleShort(void) @@ -345,8 +345,8 @@ void FindChunk(char *name) void DumpChunks(void) { - char str[5]; - + char str[5]; + str[4] = 0; data_p=iff_data; do @@ -366,10 +366,10 @@ GetWavinfo */ wavinfo_t GetWavinfo (char *name, qbyte *wav, int wavlength) { - wavinfo_t info; - int i; - int format; - int samples; + wavinfo_t info; + int i; + int format; + int samples; memset (&info, 0, sizeof(info)); @@ -379,7 +379,7 @@ wavinfo_t GetWavinfo (char *name, qbyte *wav, int wavlength) iff_data = wav; iff_end = wav + wavlength; -// find "RIFF" chunk + // find "RIFF" chunk FindChunk("RIFF"); if (!(data_p && !strncmp(data_p+8, "WAVE", 4))) { @@ -387,9 +387,9 @@ wavinfo_t GetWavinfo (char *name, qbyte *wav, int wavlength) return info; } -// get "fmt " chunk + // get "fmt " chunk iff_data = data_p + 12; -// DumpChunks (); + //DumpChunks (); FindChunk("fmt "); if (!data_p) @@ -410,14 +410,14 @@ wavinfo_t GetWavinfo (char *name, qbyte *wav, int wavlength) data_p += 4+2; info.width = GetLittleShort() / 8; -// get cue chunk + // get cue chunk FindChunk("cue "); if (data_p) { data_p += 32; info.loopstart = GetLittleLong(); - // if the next chunk is a LIST chunk, look for a cue length marker + // if the next chunk is a LIST chunk, look for a cue length marker FindNextChunk ("LIST"); if (data_p) { @@ -432,7 +432,7 @@ wavinfo_t GetWavinfo (char *name, qbyte *wav, int wavlength) else info.loopstart = -1; -// find data chunk + // find data chunk FindChunk("data"); if (!data_p) {