104 lines
1.6 KiB
C
104 lines
1.6 KiB
C
#ifndef SOUNDALIAS_H
|
|
#define SOUNDALIAS_H
|
|
|
|
#include "soundcurve.h"
|
|
#include "loadedsound.h"
|
|
|
|
struct StreamFileNameRaw
|
|
{
|
|
const char *dir;
|
|
const char *name;
|
|
};
|
|
|
|
struct StreamFileNamePacked
|
|
{
|
|
unsigned int offset;
|
|
unsigned int length;
|
|
};
|
|
|
|
union StreamFileInfo
|
|
{
|
|
StreamFileNameRaw raw;
|
|
StreamFileNamePacked packed;
|
|
};
|
|
|
|
struct StreamFileName
|
|
{
|
|
unsigned int fileIndex;
|
|
StreamFileInfo info;
|
|
};
|
|
|
|
struct StreamedSound
|
|
{
|
|
StreamFileName filename;
|
|
};
|
|
|
|
union SoundFileRef
|
|
{
|
|
LoadedSound *loadSnd;
|
|
StreamedSound streamSnd;
|
|
};
|
|
|
|
struct SoundFile
|
|
{
|
|
unsigned __int8 type;
|
|
unsigned __int8 exists;
|
|
SoundFileRef u;
|
|
};
|
|
|
|
struct XAUDIOCHANNELMAPENTRY
|
|
{
|
|
unsigned __int8 InputChannel;
|
|
unsigned __int8 OutputChannel;
|
|
float Volume;
|
|
};
|
|
|
|
struct XAUDIOCHANNELMAP
|
|
{
|
|
unsigned __int8 EntryCount;
|
|
XAUDIOCHANNELMAPENTRY *paEntries;
|
|
};
|
|
|
|
struct SpeakerMap
|
|
{
|
|
bool isDefault;
|
|
const char *name;
|
|
XAUDIOCHANNELMAP channelMaps[2][2];
|
|
};
|
|
|
|
struct snd_alias_t
|
|
{
|
|
const char *aliasName;
|
|
const char *subtitle;
|
|
const char *secondaryAliasName;
|
|
const char *chainAliasName;
|
|
SoundFile *soundFile;
|
|
int sequence;
|
|
float volMin;
|
|
float volMax;
|
|
float pitchMin;
|
|
float pitchMax;
|
|
float distMin;
|
|
float distMax;
|
|
int flags;
|
|
float slavePercentage;
|
|
float probability;
|
|
float lfePercentage;
|
|
float centerPercentage;
|
|
int startDelay;
|
|
SoundCurve *volumeFalloffCurve;
|
|
float envelopMin;
|
|
float envelopMax;
|
|
float envelopPercentage;
|
|
SpeakerMap *speakerMap;
|
|
};
|
|
|
|
struct SoundAliasList
|
|
{
|
|
const char *aliasName;
|
|
snd_alias_t *head;
|
|
int count;
|
|
};
|
|
|
|
#endif // SOUNDALIAS_H
|