]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_main.h
I don't think anyone needs my user files for the xcode project
[xonotic/darkplaces.git] / snd_main.h
index 07cc6e114afe269b2b9b160fd06c621d3858fd31..c7c631f88f6b17e0af5b38c782552711858e1817 100644 (file)
@@ -84,8 +84,8 @@ struct sfx_s
 
 typedef struct channel_s
 {
-       short                   listener_volume [SND_LISTENERS];        // 0-255 volume per speaker
-       int                             master_vol;             // 0-255 master volume
+       int                     listener_volume [SND_LISTENERS];        // 0-65536 volume per speaker
+       int                             master_vol;             // 0-65536 master volume
        sfx_t                   *sfx;                   // sfx number
        unsigned int    flags;                  // cf CHANNELFLAG_* defines
        int                             pos;                    // sample position in sfx, negative values delay the start of the sound playback
@@ -94,6 +94,7 @@ typedef struct channel_s
        vec3_t                  origin;                 // origin of sound effect
        vec_t                   dist_mult;              // distance multiplier (attenuation/clipK)
        void                    *fetcher_data;  // Per-channel data for the sound fetching function
+       int                             prologic_invert;// whether a sound is played on the surround channels in prologic
 } channel_t;
 
 // Sound fetching functions
@@ -110,12 +111,6 @@ struct snd_fetcher_s
        snd_fetcher_getfmt_t    getfmt;
 };
 
-// 0 to NUM_AMBIENTS - 1 = water, etc
-// NUM_AMBIENTS to NUM_AMBIENTS + MAX_DYNAMIC_CHANNELS - 1 = normal entity sounds
-// NUM_AMBIENTS + MAX_DYNAMIC_CHANNELS to total_channels = static sounds
-#define        MAX_DYNAMIC_CHANNELS    512
-#define        MAX_CHANNELS                    1028
-
 extern unsigned int total_channels;
 extern channel_t channels[MAX_CHANNELS];
 
@@ -142,6 +137,15 @@ extern mempool_t *snd_mempool;
 extern qboolean simsound;
 
 
+#define STREAM_BUFFER_DURATION 0.3f // in seconds
+#define STREAM_BUFFER_FILL 0.2f // in seconds
+#define STREAM_BUFFER_SIZE(format_ptr) ((int)ceil (STREAM_BUFFER_DURATION * (format_ptr)->speed) * (format_ptr)->width * (format_ptr)->channels)
+
+// We work with 1 sec sequences, so this buffer must be able to contain
+// 1 sec of sound of the highest quality (48 KHz, 16 bit samples, stereo)
+extern unsigned char resampling_buffer [48000 * 2 * 2];
+
+
 // ====================================================================
 //         Architecture-independent functions
 // ====================================================================
@@ -192,8 +196,6 @@ typedef struct portable_samplepair_s
 {
        int sample[SND_LISTENERS];
 } portable_sampleframe_t;
-// LordHavoc: was 512, expanded to 2048
-#define        PAINTBUFFER_SIZE 2048
 
 typedef struct listener_s
 {