Mercurial > hg > openttd
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(); }