changeset 11942:3fa2aa1973c2 draft

(svn r16345) -Codechange: replace the Sound(Entry) pool with a simple vector of SoundEntries.
author rubidium <rubidium@openttd.org>
date Sun, 17 May 2009 19:36:28 +0000
parents 7261f92d2ebc
children 3f265ea6e0ad
files src/newgrf_sound.cpp
diffstat 1 files changed, 7 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf_sound.cpp
+++ b/src/newgrf_sound.cpp
@@ -8,26 +8,21 @@
 #include "newgrf_sound.h"
 #include "vehicle_base.h"
 #include "sound_func.h"
+#include "core/smallvec_type.hpp"
 
-static uint _sound_count = 0;
-STATIC_OLD_POOL(SoundInternal, SoundEntry, 3, 1000, NULL, NULL)
+static SmallVector<SoundEntry, ORIGINAL_SAMPLE_COUNT> _sounds;
 
 
 /* Allocate a new Sound */
 SoundEntry *AllocateSound()
 {
-	if (_sound_count == GetSoundInternalPoolSize()) {
-		if (!_SoundInternal_pool.AddBlockToPool()) return NULL;
-	}
-
-	return GetSoundInternal(_sound_count++);
+	return _sounds.Append();
 }
 
 
 void InitializeSoundPool()
 {
-	_SoundInternal_pool.CleanPool();
-	_sound_count = 0;
+	_sounds.Clear();
 
 	/* Copy original sound data to the pool */
 	SndCopyToPool();
@@ -36,14 +31,14 @@
 
 SoundEntry *GetSound(SoundID index)
 {
-	if (index >= GetNumSounds()) return NULL;
-	return GetSoundInternal(index);
+	if (index >= _sounds.Length()) return NULL;
+	return &_sounds[index];
 }
 
 
 uint GetNumSounds()
 {
-	return _sound_count;
+	return _sounds.Length();
 }