engine: client: allocate everything related to sounds in the sound pool

This commit is contained in:
Alibek Omarov 2025-01-22 13:48:13 +03:00
parent a5c88bdda9
commit cac6206984
5 changed files with 7 additions and 6 deletions

View file

@ -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

View file

@ -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;

View file

@ -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++;

View file

@ -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;

View file

@ -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;