diff options
author | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 17:39:27 +0000 |
---|---|---|
committer | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 17:39:27 +0000 |
commit | 6bf20c78f5b69d40bcc4931df93d29198435ab67 (patch) | |
tree | e3eda937a05d7db42de725b7013bd0344b987f34 /code/client/snd_local.h | |
parent | 872d4d7f55af706737ffb361bb76ad13e7496770 (diff) | |
download | ioquake3-aero-6bf20c78f5b69d40bcc4931df93d29198435ab67.tar.gz ioquake3-aero-6bf20c78f5b69d40bcc4931df93d29198435ab67.zip |
newlines fixed
git-svn-id: svn://svn.icculus.org/quake3/trunk@6 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/client/snd_local.h')
-rwxr-xr-x | code/client/snd_local.h | 408 |
1 files changed, 204 insertions, 204 deletions
diff --git a/code/client/snd_local.h b/code/client/snd_local.h index 5b0c97a..466c52b 100755 --- a/code/client/snd_local.h +++ b/code/client/snd_local.h @@ -1,204 +1,204 @@ -/*
-===========================================================================
-Copyright (C) 1999-2005 Id Software, Inc.
-
-This file is part of Quake III Arena source code.
-
-Quake III Arena source code is free software; you can redistribute it
-and/or modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the License,
-or (at your option) any later version.
-
-Quake III Arena source code is distributed in the hope that it will be
-useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Foobar; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-===========================================================================
-*/
-// snd_local.h -- private sound definations
-
-
-#include "../game/q_shared.h"
-#include "../qcommon/qcommon.h"
-#include "snd_public.h"
-
-#define PAINTBUFFER_SIZE 4096 // this is in samples
-
-#define SND_CHUNK_SIZE 1024 // samples
-#define SND_CHUNK_SIZE_FLOAT (SND_CHUNK_SIZE/2) // floats
-#define SND_CHUNK_SIZE_BYTE (SND_CHUNK_SIZE*2) // floats
-
-typedef struct {
- int left; // the final values will be clamped to +/- 0x00ffff00 and shifted down
- int right;
-} portable_samplepair_t;
-
-typedef struct adpcm_state {
- short sample; /* Previous output value */
- char index; /* Index into stepsize table */
-} adpcm_state_t;
-
-typedef struct sndBuffer_s {
- short sndChunk[SND_CHUNK_SIZE];
- struct sndBuffer_s *next;
- int size;
- adpcm_state_t adpcm;
-} sndBuffer;
-
-typedef struct sfx_s {
- sndBuffer *soundData;
- qboolean defaultSound; // couldn't be loaded, so use buzz
- qboolean inMemory; // not in Memory
- qboolean soundCompressed; // not in Memory
- int soundCompressionMethod;
- int soundLength;
- char soundName[MAX_QPATH];
- int lastTimeUsed;
- struct sfx_s *next;
-} sfx_t;
-
-typedef struct {
- int channels;
- int samples; // mono samples in buffer
- int submission_chunk; // don't mix less than this #
- int samplebits;
- int speed;
- byte *buffer;
-} dma_t;
-
-#define START_SAMPLE_IMMEDIATE 0x7fffffff
-
-typedef struct loopSound_s {
- vec3_t origin;
- vec3_t velocity;
- sfx_t *sfx;
- int mergeFrame;
- qboolean active;
- qboolean kill;
- qboolean doppler;
- float dopplerScale;
- float oldDopplerScale;
- int framenum;
-} loopSound_t;
-
-typedef struct
-{
- int allocTime;
- int startSample; // START_SAMPLE_IMMEDIATE = set immediately on next mix
- int entnum; // to allow overriding a specific sound
- int entchannel; // to allow overriding a specific sound
- int leftvol; // 0-255 volume after spatialization
- int rightvol; // 0-255 volume after spatialization
- int master_vol; // 0-255 volume before spatialization
- float dopplerScale;
- float oldDopplerScale;
- vec3_t origin; // only use if fixed_origin is set
- qboolean fixed_origin; // use origin instead of fetching entnum's origin
- sfx_t *thesfx; // sfx structure
- qboolean doppler;
-} channel_t;
-
-
-#define WAV_FORMAT_PCM 1
-
-
-typedef struct {
- int format;
- int rate;
- int width;
- int channels;
- int samples;
- int dataofs; // chunk starts this many bytes from file start
-} wavinfo_t;
-
-
-/*
-====================================================================
-
- SYSTEM SPECIFIC FUNCTIONS
-
-====================================================================
-*/
-
-// initializes cycling through a DMA buffer and returns information on it
-qboolean SNDDMA_Init(void);
-
-// gets the current DMA position
-int SNDDMA_GetDMAPos(void);
-
-// shutdown the DMA xfer.
-void SNDDMA_Shutdown(void);
-
-void SNDDMA_BeginPainting (void);
-
-void SNDDMA_Submit(void);
-
-//====================================================================
-
-#define MAX_CHANNELS 96
-
-extern channel_t s_channels[MAX_CHANNELS];
-extern channel_t loop_channels[MAX_CHANNELS];
-extern int numLoopChannels;
-
-extern int s_paintedtime;
-extern int s_rawend;
-extern vec3_t listener_forward;
-extern vec3_t listener_right;
-extern vec3_t listener_up;
-extern dma_t dma;
-
-#define MAX_RAW_SAMPLES 16384
-extern portable_samplepair_t s_rawsamples[MAX_RAW_SAMPLES];
-
-extern cvar_t *s_volume;
-extern cvar_t *s_nosound;
-extern cvar_t *s_khz;
-extern cvar_t *s_show;
-extern cvar_t *s_mixahead;
-
-extern cvar_t *s_testsound;
-extern cvar_t *s_separation;
-
-qboolean S_LoadSound( sfx_t *sfx );
-
-void SND_free(sndBuffer *v);
-sndBuffer* SND_malloc();
-void SND_setup();
-
-void S_PaintChannels(int endtime);
-
-void S_memoryLoad(sfx_t *sfx);
-portable_samplepair_t *S_GetRawSamplePointer();
-
-// spatializes a channel
-void S_Spatialize(channel_t *ch);
-
-// adpcm functions
-int S_AdpcmMemoryNeeded( const wavinfo_t *info );
-void S_AdpcmEncodeSound( sfx_t *sfx, short *samples );
-void S_AdpcmGetSamples(sndBuffer *chunk, short *to);
-
-// wavelet function
-
-#define SENTINEL_MULAW_ZERO_RUN 127
-#define SENTINEL_MULAW_FOUR_BIT_RUN 126
-
-void S_FreeOldestSound();
-
-#define NXStream byte
-
-void encodeWavelet(sfx_t *sfx, short *packets);
-void decodeWavelet( sndBuffer *stream, short *packets);
-
-void encodeMuLaw( sfx_t *sfx, short *packets);
-extern short mulawToShort[256];
-
-extern short *sfxScratchBuffer;
-extern sfx_t *sfxScratchPointer;
-extern int sfxScratchIndex;
-
+/* +=========================================================================== +Copyright (C) 1999-2005 Id Software, Inc. + +This file is part of Quake III Arena source code. + +Quake III Arena source code is free software; you can redistribute it +and/or modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of the License, +or (at your option) any later version. + +Quake III Arena source code is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Foobar; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +=========================================================================== +*/ +// snd_local.h -- private sound definations + + +#include "../game/q_shared.h" +#include "../qcommon/qcommon.h" +#include "snd_public.h" + +#define PAINTBUFFER_SIZE 4096 // this is in samples + +#define SND_CHUNK_SIZE 1024 // samples +#define SND_CHUNK_SIZE_FLOAT (SND_CHUNK_SIZE/2) // floats +#define SND_CHUNK_SIZE_BYTE (SND_CHUNK_SIZE*2) // floats + +typedef struct { + int left; // the final values will be clamped to +/- 0x00ffff00 and shifted down + int right; +} portable_samplepair_t; + +typedef struct adpcm_state { + short sample; /* Previous output value */ + char index; /* Index into stepsize table */ +} adpcm_state_t; + +typedef struct sndBuffer_s { + short sndChunk[SND_CHUNK_SIZE]; + struct sndBuffer_s *next; + int size; + adpcm_state_t adpcm; +} sndBuffer; + +typedef struct sfx_s { + sndBuffer *soundData; + qboolean defaultSound; // couldn't be loaded, so use buzz + qboolean inMemory; // not in Memory + qboolean soundCompressed; // not in Memory + int soundCompressionMethod; + int soundLength; + char soundName[MAX_QPATH]; + int lastTimeUsed; + struct sfx_s *next; +} sfx_t; + +typedef struct { + int channels; + int samples; // mono samples in buffer + int submission_chunk; // don't mix less than this # + int samplebits; + int speed; + byte *buffer; +} dma_t; + +#define START_SAMPLE_IMMEDIATE 0x7fffffff + +typedef struct loopSound_s { + vec3_t origin; + vec3_t velocity; + sfx_t *sfx; + int mergeFrame; + qboolean active; + qboolean kill; + qboolean doppler; + float dopplerScale; + float oldDopplerScale; + int framenum; +} loopSound_t; + +typedef struct +{ + int allocTime; + int startSample; // START_SAMPLE_IMMEDIATE = set immediately on next mix + int entnum; // to allow overriding a specific sound + int entchannel; // to allow overriding a specific sound + int leftvol; // 0-255 volume after spatialization + int rightvol; // 0-255 volume after spatialization + int master_vol; // 0-255 volume before spatialization + float dopplerScale; + float oldDopplerScale; + vec3_t origin; // only use if fixed_origin is set + qboolean fixed_origin; // use origin instead of fetching entnum's origin + sfx_t *thesfx; // sfx structure + qboolean doppler; +} channel_t; + + +#define WAV_FORMAT_PCM 1 + + +typedef struct { + int format; + int rate; + int width; + int channels; + int samples; + int dataofs; // chunk starts this many bytes from file start +} wavinfo_t; + + +/* +==================================================================== + + SYSTEM SPECIFIC FUNCTIONS + +==================================================================== +*/ + +// initializes cycling through a DMA buffer and returns information on it +qboolean SNDDMA_Init(void); + +// gets the current DMA position +int SNDDMA_GetDMAPos(void); + +// shutdown the DMA xfer. +void SNDDMA_Shutdown(void); + +void SNDDMA_BeginPainting (void); + +void SNDDMA_Submit(void); + +//==================================================================== + +#define MAX_CHANNELS 96 + +extern channel_t s_channels[MAX_CHANNELS]; +extern channel_t loop_channels[MAX_CHANNELS]; +extern int numLoopChannels; + +extern int s_paintedtime; +extern int s_rawend; +extern vec3_t listener_forward; +extern vec3_t listener_right; +extern vec3_t listener_up; +extern dma_t dma; + +#define MAX_RAW_SAMPLES 16384 +extern portable_samplepair_t s_rawsamples[MAX_RAW_SAMPLES]; + +extern cvar_t *s_volume; +extern cvar_t *s_nosound; +extern cvar_t *s_khz; +extern cvar_t *s_show; +extern cvar_t *s_mixahead; + +extern cvar_t *s_testsound; +extern cvar_t *s_separation; + +qboolean S_LoadSound( sfx_t *sfx ); + +void SND_free(sndBuffer *v); +sndBuffer* SND_malloc(); +void SND_setup(); + +void S_PaintChannels(int endtime); + +void S_memoryLoad(sfx_t *sfx); +portable_samplepair_t *S_GetRawSamplePointer(); + +// spatializes a channel +void S_Spatialize(channel_t *ch); + +// adpcm functions +int S_AdpcmMemoryNeeded( const wavinfo_t *info ); +void S_AdpcmEncodeSound( sfx_t *sfx, short *samples ); +void S_AdpcmGetSamples(sndBuffer *chunk, short *to); + +// wavelet function + +#define SENTINEL_MULAW_ZERO_RUN 127 +#define SENTINEL_MULAW_FOUR_BIT_RUN 126 + +void S_FreeOldestSound(); + +#define NXStream byte + +void encodeWavelet(sfx_t *sfx, short *packets); +void decodeWavelet( sndBuffer *stream, short *packets); + +void encodeMuLaw( sfx_t *sfx, short *packets); +extern short mulawToShort[256]; + +extern short *sfxScratchBuffer; +extern sfx_t *sfxScratchPointer; +extern int sfxScratchIndex; + |