Merge phase separated mixing from nuq. Still has bugs, but defaults off.

This commit is contained in:
Ragnvald Maartmann-Moe IV 2000-12-19 19:02:37 +00:00
parent 36ddd0670e
commit ea76f45bc6
4 changed files with 131 additions and 36 deletions

View file

@ -89,11 +89,13 @@
#define ch_pos 16
#define ch_looping 20
#define ch_entnum 24
#define ch_entchannel 28
#define ch_entchannel 28
#define ch_origin 32
#define ch_dist_mult 44
#define ch_master_vol 48
#define ch_size 52
#define ch_dist_mult 44
#define ch_master_vol 48
#define ch_phase 52
#define ch_oldphase 56
#define ch_size 60
// portable_samplepair_t structure
// !!! if this is changed, it much be changed in sound.h too !!!
@ -102,4 +104,3 @@
#define psp_size 8
#endif

View file

@ -34,7 +34,7 @@
#include "cvar.h"
#include "zone.h"
// !!! if this is changed, it much be changed in asm_i386.h too !!!
// !!! if this is changed, it must be changed in asm_i386.h too !!!
typedef struct
{
int left;
@ -79,13 +79,15 @@ typedef struct
int leftvol; // 0-255 volume
int rightvol; // 0-255 volume
int end; // end time in global paintsamples
int pos; // sample position in sfx
int pos; // sample position in sfx
int looping; // where to loop, -1 = no looping
int entnum; // to allow overriding a specific sound
int entchannel; //
vec3_t origin; // origin of sound effect
vec_t dist_mult; // distance multiplier (attenuation/clipK)
int master_vol; // 0-255 master volume
int master_vol; // 0-255 master volume
int phase; // phase shift between l-r in samples
int oldphase; // phase shift between l-r in samples
} channel_t;
typedef struct
@ -137,7 +139,7 @@ void SNDDMA_Shutdown(void);
// User-setable variables
// ====================================================================
#define MAX_CHANNELS 128
#define MAX_CHANNELS 256
#define MAX_DYNAMIC_CHANNELS 8
extern channel_t channels[MAX_CHANNELS];
@ -170,6 +172,7 @@ extern cvar_t *bgmvolume;
extern cvar_t *volume;
extern cvar_t *snd_interp;
extern cvar_t *snd_stereo_phase_separation;
extern qboolean snd_initialized;