From f6fe215e9f9df05b9078cbb4aebc6134595acba6 Mon Sep 17 00:00:00 2001 From: bibendovsky Date: Fri, 17 May 2013 08:34:19 +0300 Subject: [PATCH] Fixed screen twitches. Video sample (not mine): http://www.youtube.com/watch?v=ZUohifAbPW0 --- neo/sound/snd_cache.cpp | 50 ----------------------------------------- 1 file changed, 50 deletions(-) diff --git a/neo/sound/snd_cache.cpp b/neo/sound/snd_cache.cpp index e0f1001a..59e23210 100644 --- a/neo/sound/snd_cache.cpp +++ b/neo/sound/snd_cache.cpp @@ -496,28 +496,6 @@ void idSoundSample::Load( void ) { if ( alGetError() != AL_NO_ERROR ) { common->Error( "idSoundCache: error loading data into OpenAL hardware buffer" ); } else { - // Compute amplitude block size - int blockSize = 512 * objectInfo.nSamplesPerSec / 44100 ; - - // Allocate amplitude data array - amplitudeData = (byte *)soundCacheAllocator.Alloc( ( objectSize / blockSize + 1 ) * 2 * sizeof( short) ); - - // Creating array of min/max amplitude pairs per blockSize samples - int i; - for ( i = 0; i < objectSize; i+=blockSize ) { - short min = 32767; - short max = -32768; - - int j; - for ( j = 0; j < Min( objectSize - i, blockSize ); j++ ) { - min = ((short *)nonCacheData)[ i + j ] < min ? ((short *)nonCacheData)[ i + j ] : min; - max = ((short *)nonCacheData)[ i + j ] > max ? ((short *)nonCacheData)[ i + j ] : max; - } - - ((short *)amplitudeData)[ ( i / blockSize ) * 2 ] = min; - ((short *)amplitudeData)[ ( i / blockSize ) * 2 + 1 ] = max; - } - hardwareBuffer = true; } } @@ -571,28 +549,6 @@ void idSoundSample::Load( void ) { if ( alGetError() != AL_NO_ERROR ) common->Error( "idSoundCache: error loading data into OpenAL hardware buffer" ); else { - // Compute amplitude block size - int blockSize = 512 * objectInfo.nSamplesPerSec / 44100 ; - - // Allocate amplitude data array - amplitudeData = (byte *)soundCacheAllocator.Alloc( ( objectSize / blockSize + 1 ) * 2 * sizeof( short ) ); - - // Creating array of min/max amplitude pairs per blockSize samples - int i; - for ( i = 0; i < objectSize; i+=blockSize ) { - short min = 32767; - short max = -32768; - - int j; - for ( j = 0; j < Min( objectSize - i, blockSize ); j++ ) { - min = ((short *)destData)[ i + j ] < min ? ((short *)destData)[ i + j ] : min; - max = ((short *)destData)[ i + j ] > max ? ((short *)destData)[ i + j ] : max; - } - - ((short *)amplitudeData)[ ( i / blockSize ) * 2 ] = min; - ((short *)amplitudeData)[ ( i / blockSize ) * 2 + 1 ] = max; - } - hardwareBuffer = true; } @@ -601,12 +557,6 @@ void idSoundSample::Load( void ) { } } } - - // Free memory if sample was loaded into hardware - if ( hardwareBuffer ) { - soundCacheAllocator.Free( nonCacheData ); - nonCacheData = NULL; - } } fh.Close();