engine: client: allocate everything related to sounds in the sound pool
This commit is contained in:
parent
a5c88bdda9
commit
cac6206984
5 changed files with 7 additions and 6 deletions
|
@ -312,7 +312,7 @@ static int DLY_Init( int idelay, float delay )
|
||||||
|
|
||||||
cur = &rgsxdly[idelay];
|
cur = &rgsxdly[idelay];
|
||||||
cur->cdelaysamplesmax = ((int)(delay * idsp_dma_speed) << sxhires) + 1;
|
cur->cdelaysamplesmax = ((int)(delay * idsp_dma_speed) << sxhires) + 1;
|
||||||
cur->lpdelayline = (int *)Z_Calloc( cur->cdelaysamplesmax * sizeof( int ));
|
cur->lpdelayline = (int *)Mem_Calloc( sndpool, cur->cdelaysamplesmax * sizeof( int ));
|
||||||
cur->xfade = 0;
|
cur->xfade = 0;
|
||||||
|
|
||||||
// init modulation
|
// init modulation
|
||||||
|
|
|
@ -1954,14 +1954,15 @@ qboolean S_Init( void )
|
||||||
Cmd_AddCommand( "spk", S_SayReliable_f, "reliable play a specified sententce" );
|
Cmd_AddCommand( "spk", S_SayReliable_f, "reliable play a specified sententce" );
|
||||||
Cmd_AddCommand( "speak", S_Say_f, "playing a specified sententce" );
|
Cmd_AddCommand( "speak", S_Say_f, "playing a specified sententce" );
|
||||||
|
|
||||||
|
sndpool = Mem_AllocPool( "Sound Zone" );
|
||||||
dma.backendName = "None";
|
dma.backendName = "None";
|
||||||
if( !SNDDMA_Init( ))
|
if( !SNDDMA_Init( ))
|
||||||
{
|
{
|
||||||
Con_Printf( "Audio: sound system can't be initialized\n" );
|
Con_Printf( "Audio: sound system can't be initialized\n" );
|
||||||
|
Mem_FreePool( &sndpool );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
sndpool = Mem_AllocPool( "Sound Zone" );
|
|
||||||
soundtime = 0;
|
soundtime = 0;
|
||||||
paintedtime = 0;
|
paintedtime = 0;
|
||||||
|
|
||||||
|
|
|
@ -557,7 +557,7 @@ static void VOX_ReadSentenceFile_( byte *buf, fs_offset_t size )
|
||||||
int index = cszrawsentences;
|
int index = cszrawsentences;
|
||||||
int size = strlen( name ) + strlen( value ) + 2;
|
int size = strlen( name ) + strlen( value ) + 2;
|
||||||
|
|
||||||
rgpszrawsentence[index] = Mem_Malloc( host.mempool, size );
|
rgpszrawsentence[index] = Mem_Malloc( sndpool, size );
|
||||||
memcpy( rgpszrawsentence[index], name, size );
|
memcpy( rgpszrawsentence[index], name, size );
|
||||||
rgpszrawsentence[index][size - 1] = 0;
|
rgpszrawsentence[index][size - 1] = 0;
|
||||||
cszrawsentences++;
|
cszrawsentences++;
|
||||||
|
|
|
@ -184,7 +184,7 @@ qboolean SNDDMA_Init( void )
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
dma.buffer = Z_Malloc( samples * 2 ); //allocate pcm frame buffer
|
dma.buffer = Mem_Malloc( sndpool, samples * 2 ); //allocate pcm frame buffer
|
||||||
dma.samplepos = 0;
|
dma.samplepos = 0;
|
||||||
dma.samples = samples;
|
dma.samples = samples;
|
||||||
dma.format.width = 2;
|
dma.format.width = 2;
|
||||||
|
|
|
@ -175,7 +175,7 @@ qboolean SNDDMA_Init( void )
|
||||||
if( !samplecount )
|
if( !samplecount )
|
||||||
samplecount = 0x8000;
|
samplecount = 0x8000;
|
||||||
dma.samples = samplecount * obtained.channels;
|
dma.samples = samplecount * obtained.channels;
|
||||||
dma.buffer = Z_Calloc( dma.samples * 2 );
|
dma.buffer = Mem_Malloc( sndpool, dma.samples * 2 );
|
||||||
dma.samplepos = 0;
|
dma.samplepos = 0;
|
||||||
|
|
||||||
sdl_format = obtained.format;
|
sdl_format = obtained.format;
|
||||||
|
|
Loading…
Add table
Reference in a new issue