Increase the number of audio channels to PS2 count and some small audio fixes
This commit is contained in:
@@ -94,8 +94,8 @@ int32 nPedSlotSfx [MAX_PEDSFX];
|
||||
int32 nPedSlotSfxAddr[MAX_PEDSFX];
|
||||
uint8 nCurrentPedSlot;
|
||||
|
||||
CChannel aChannel[MAXCHANNELS+MAX2DCHANNELS];
|
||||
uint8 nChannelVolume[MAXCHANNELS+MAX2DCHANNELS];
|
||||
CChannel aChannel[NUM_CHANNELS];
|
||||
uint8 nChannelVolume[NUM_CHANNELS];
|
||||
|
||||
uint32 nStreamLength[TOTAL_STREAMED_SOUNDS];
|
||||
ALuint ALStreamSources[MAX_STREAMS][2];
|
||||
@@ -212,9 +212,8 @@ add_providers()
|
||||
static void
|
||||
release_existing()
|
||||
{
|
||||
for ( int32 i = 0; i < MAXCHANNELS; i++ )
|
||||
for ( int32 i = 0; i < NUM_CHANNELS; i++ )
|
||||
aChannel[i].Term();
|
||||
aChannel[CHANNEL2D].Term();
|
||||
|
||||
if ( IsFXSupported() )
|
||||
{
|
||||
@@ -283,7 +282,7 @@ set_new_provider(int index)
|
||||
_maxSamples = MAXCHANNELS;
|
||||
|
||||
ALCint attr[] = {ALC_FREQUENCY,MAX_FREQ,
|
||||
ALC_MONO_SOURCES, MAX_STREAMS * 2 + MAXCHANNELS,
|
||||
ALC_MONO_SOURCES, MAX_DIGITAL_MIXER_CHANNELS,
|
||||
0,
|
||||
};
|
||||
|
||||
@@ -370,7 +369,8 @@ set_new_provider(int index)
|
||||
|
||||
for ( int32 i = 0; i < MAXCHANNELS; i++ )
|
||||
aChannel[i].Init(i);
|
||||
aChannel[CHANNEL2D].Init(CHANNEL2D, true);
|
||||
for ( int32 i = 0; i < MAX2DCHANNELS; i++ )
|
||||
aChannel[MAXCHANNELS+i].Init(MAXCHANNELS+i, true);
|
||||
|
||||
if ( IsFXSupported() )
|
||||
{
|
||||
@@ -950,7 +950,7 @@ cSampleManager::Initialise(void)
|
||||
}
|
||||
|
||||
{
|
||||
for ( int32 i = 0; i < MAXCHANNELS+MAX2DCHANNELS; i++ )
|
||||
for ( int32 i = 0; i < NUM_CHANNELS; i++ )
|
||||
nChannelVolume[i] = 0;
|
||||
}
|
||||
|
||||
@@ -1153,7 +1153,7 @@ cSampleManager::UpdateEffectsVolume(void)
|
||||
{
|
||||
if ( _bSampmanInitialised )
|
||||
{
|
||||
for ( int32 i = 0; i < MAXCHANNELS+MAX2DCHANNELS; i++ )
|
||||
for ( int32 i = 0; i < NUM_CHANNELS; i++ )
|
||||
{
|
||||
if ( GetChannelUsedFlag(i) )
|
||||
{
|
||||
@@ -1461,7 +1461,7 @@ bool8 cSampleManager::UpdateReverb(void)
|
||||
void
|
||||
cSampleManager::SetChannelReverbFlag(uint32 nChannel, bool8 nReverbFlag)
|
||||
{
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
if ( usingEAX || _usingEFX )
|
||||
{
|
||||
@@ -1480,7 +1480,7 @@ cSampleManager::SetChannelReverbFlag(uint32 nChannel, bool8 nReverbFlag)
|
||||
bool8
|
||||
cSampleManager::InitialiseChannel(uint32 nChannel, uint32 nSfx, uint8 nBank)
|
||||
{
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
uintptr addr;
|
||||
|
||||
@@ -1521,8 +1521,7 @@ cSampleManager::InitialiseChannel(uint32 nChannel, uint32 nSfx, uint8 nBank)
|
||||
void
|
||||
cSampleManager::SetChannelEmittingVolume(uint32 nChannel, uint32 nVolume)
|
||||
{
|
||||
ASSERT( nChannel != CHANNEL2D );
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < MAXCHANNELS );
|
||||
|
||||
uint32 vol = nVolume;
|
||||
if ( vol > MAX_VOLUME ) vol = MAX_VOLUME;
|
||||
@@ -1544,8 +1543,7 @@ cSampleManager::SetChannelEmittingVolume(uint32 nChannel, uint32 nVolume)
|
||||
void
|
||||
cSampleManager::SetChannel3DPosition(uint32 nChannel, float fX, float fY, float fZ)
|
||||
{
|
||||
ASSERT( nChannel != CHANNEL2D );
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < MAXCHANNELS );
|
||||
|
||||
aChannel[nChannel].SetPosition(-fX, fY, fZ);
|
||||
}
|
||||
@@ -1553,18 +1551,17 @@ cSampleManager::SetChannel3DPosition(uint32 nChannel, float fX, float fY, float
|
||||
void
|
||||
cSampleManager::SetChannel3DDistances(uint32 nChannel, float fMax, float fMin)
|
||||
{
|
||||
ASSERT( nChannel != CHANNEL2D );
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < MAXCHANNELS );
|
||||
aChannel[nChannel].SetDistances(fMax, fMin);
|
||||
}
|
||||
|
||||
void
|
||||
cSampleManager::SetChannelVolume(uint32 nChannel, uint32 nVolume)
|
||||
{
|
||||
ASSERT( nChannel == CHANNEL2D );
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel >= MAXCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
if ( nChannel == CHANNEL2D )
|
||||
if ( nChannel == CHANNEL_POLICE_RADIO )
|
||||
{
|
||||
uint32 vol = nVolume;
|
||||
if ( vol > MAX_VOLUME ) vol = MAX_VOLUME;
|
||||
@@ -1586,10 +1583,10 @@ cSampleManager::SetChannelVolume(uint32 nChannel, uint32 nVolume)
|
||||
void
|
||||
cSampleManager::SetChannelPan(uint32 nChannel, uint32 nPan)
|
||||
{
|
||||
ASSERT(nChannel == CHANNEL2D);
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel >= MAXCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
if ( nChannel == CHANNEL2D )
|
||||
if ( nChannel == CHANNEL_POLICE_RADIO )
|
||||
{
|
||||
aChannel[nChannel].SetPan(nPan);
|
||||
}
|
||||
@@ -1598,7 +1595,7 @@ cSampleManager::SetChannelPan(uint32 nChannel, uint32 nPan)
|
||||
void
|
||||
cSampleManager::SetChannelFrequency(uint32 nChannel, uint32 nFreq)
|
||||
{
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
aChannel[nChannel].SetCurrentFreq(nFreq);
|
||||
}
|
||||
@@ -1606,7 +1603,7 @@ cSampleManager::SetChannelFrequency(uint32 nChannel, uint32 nFreq)
|
||||
void
|
||||
cSampleManager::SetChannelLoopPoints(uint32 nChannel, uint32 nLoopStart, int32 nLoopEnd)
|
||||
{
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
aChannel[nChannel].SetLoopPoints(nLoopStart / (DIGITALBITS / 8), nLoopEnd / (DIGITALBITS / 8));
|
||||
}
|
||||
@@ -1614,7 +1611,7 @@ cSampleManager::SetChannelLoopPoints(uint32 nChannel, uint32 nLoopStart, int32 n
|
||||
void
|
||||
cSampleManager::SetChannelLoopCount(uint32 nChannel, uint32 nLoopCount)
|
||||
{
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
aChannel[nChannel].SetLoopCount(nLoopCount);
|
||||
}
|
||||
@@ -1622,7 +1619,7 @@ cSampleManager::SetChannelLoopCount(uint32 nChannel, uint32 nLoopCount)
|
||||
bool8
|
||||
cSampleManager::GetChannelUsedFlag(uint32 nChannel)
|
||||
{
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
return aChannel[nChannel].IsUsed();
|
||||
}
|
||||
@@ -1630,7 +1627,7 @@ cSampleManager::GetChannelUsedFlag(uint32 nChannel)
|
||||
void
|
||||
cSampleManager::StartChannel(uint32 nChannel)
|
||||
{
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
aChannel[nChannel].Start();
|
||||
}
|
||||
@@ -1638,7 +1635,7 @@ cSampleManager::StartChannel(uint32 nChannel)
|
||||
void
|
||||
cSampleManager::StopChannel(uint32 nChannel)
|
||||
{
|
||||
ASSERT( nChannel < MAXCHANNELS+MAX2DCHANNELS );
|
||||
ASSERT( nChannel < NUM_CHANNELS );
|
||||
|
||||
aChannel[nChannel].Stop();
|
||||
}
|
||||
@@ -1961,7 +1958,7 @@ cSampleManager::Service(void)
|
||||
stream->Update();
|
||||
}
|
||||
int refCount = CChannel::channelsThatNeedService;
|
||||
for ( int32 i = 0; refCount && i < MAXCHANNELS+MAX2DCHANNELS; i++ )
|
||||
for ( int32 i = 0; refCount && i < NUM_CHANNELS; i++ )
|
||||
{
|
||||
if ( aChannel[i].Update() )
|
||||
refCount--;
|
||||
|
||||
Reference in New Issue
Block a user