summaryrefslogtreecommitdiff
path: root/src/sound.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-08-20 17:02:44 +0000
committerrubidium <rubidium@openttd.org>2009-08-20 17:02:44 +0000
commit2fd1b000e5d179418cb831a13392545d77ea3b48 (patch)
treeb8349df74006922d7b819989e9e2e141beaef5b0 /src/sound.cpp
parent367ff2375af6a7eeac122186335a193361bf06f2 (diff)
downloadopenttd-2fd1b000e5d179418cb831a13392545d77ea3b48.tar.xz
(svn r17241) -Change: make a distinction between missing and corrupted data files. If (at least) one data file is missing do not consider the set to be useable. Do also no autodetect sets with missing files.
Diffstat (limited to 'src/sound.cpp')
-rw-r--r--src/sound.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/sound.cpp b/src/sound.cpp
index 130841154..7449225b8 100644
--- a/src/sound.cpp
+++ b/src/sound.cpp
@@ -281,10 +281,14 @@ template <class Tbase_set>
{
if (BaseMedia<Tbase_set>::used_set != NULL) return true;
- const Tbase_set *best = BaseMedia<Tbase_set>::available_sets;
+ const Tbase_set *best = NULL;
for (const Tbase_set *c = BaseMedia<Tbase_set>::available_sets; c != NULL; c = c->next) {
- if (best->found_files < c->found_files ||
- (best->found_files == c->found_files &&
+ /* Skip unuseable sets */
+ if (c->GetNumMissing() != 0) continue;
+
+ if (best == NULL ||
+ best->valid_files < c->valid_files ||
+ (best->valid_files == c->valid_files &&
(best->shortname == c->shortname && best->version < c->version))) {
best = c;
}