diff options
author | rubidium <rubidium@openttd.org> | 2009-08-20 17:02:44 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-08-20 17:02:44 +0000 |
commit | 2fd1b000e5d179418cb831a13392545d77ea3b48 (patch) | |
tree | b8349df74006922d7b819989e9e2e141beaef5b0 /src/sound.cpp | |
parent | 367ff2375af6a7eeac122186335a193361bf06f2 (diff) | |
download | openttd-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.cpp | 10 |
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; } |