summaryrefslogtreecommitdiff
path: root/src/base_media_func.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2011-11-14 19:24:22 +0000
committerrubidium <rubidium@openttd.org>2011-11-14 19:24:22 +0000
commit15f671279df2696aad13aca3d431ee4a988694f3 (patch)
treea5e7c7e76c564885310f30ef3372819d30e0b2a7 /src/base_media_func.h
parenta06443774fb8cc21631a3e76bca4d1c03913303b (diff)
downloadopenttd-15f671279df2696aad13aca3d431ee4a988694f3.tar.xz
(svn r23214) -Codechange: for base media sets pass the "search in tars" parameter to determine what to do
Diffstat (limited to 'src/base_media_func.h')
-rw-r--r--src/base_media_func.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/base_media_func.h b/src/base_media_func.h
index 8834c6d4f..c5b07fb4c 100644
--- a/src/base_media_func.h
+++ b/src/base_media_func.h
@@ -39,8 +39,8 @@ template <class Tbase_set> /* static */ Tbase_set *BaseMedia<Tbase_set>::duplica
* @param allow_empty_filename empty filenames are valid
* @return true if loading was successful.
*/
-template <class T, size_t Tnum_files, Subdirectory Tsubdir>
-bool BaseSet<T, Tnum_files, Tsubdir>::FillSetDetails(IniFile *ini, const char *path, const char *full_filename, bool allow_empty_filename)
+template <class T, size_t Tnum_files, bool Tsearch_in_tars>
+bool BaseSet<T, Tnum_files, Tsearch_in_tars>::FillSetDetails(IniFile *ini, const char *path, const char *full_filename, bool allow_empty_filename)
{
memset(this, 0, sizeof(*this));
@@ -78,9 +78,9 @@ bool BaseSet<T, Tnum_files, Tsubdir>::FillSetDetails(IniFile *ini, const char *p
for (uint i = 0; i < Tnum_files; i++) {
MD5File *file = &this->files[i];
/* Find the filename first. */
- item = files->GetItem(BaseSet<T, Tnum_files, Tsubdir>::file_names[i], false);
+ item = files->GetItem(BaseSet<T, Tnum_files, Tsearch_in_tars>::file_names[i], false);
if (item == NULL || (item->value == NULL && !allow_empty_filename)) {
- DEBUG(grf, 0, "No " SET_TYPE " file for: %s (in %s)", BaseSet<T, Tnum_files, Tsubdir>::file_names[i], full_filename);
+ DEBUG(grf, 0, "No " SET_TYPE " file for: %s (in %s)", BaseSet<T, Tnum_files, Tsearch_in_tars>::file_names[i], full_filename);
return false;
}
@@ -131,7 +131,7 @@ bool BaseSet<T, Tnum_files, Tsubdir>::FillSetDetails(IniFile *ini, const char *p
file->missing_warning = strdup(item->value);
}
- switch (file->CheckMD5(Tsubdir)) {
+ switch (file->CheckMD5(Tsearch_in_tars ? BASESET_DIR : GM_DIR)) {
case MD5File::CR_MATCH:
this->valid_files++;
/* FALL THROUGH */
@@ -155,7 +155,7 @@ bool BaseMedia<Tbase_set>::AddFile(const char *filename, size_t basepath_length,
Tbase_set *set = new Tbase_set();
IniFile *ini = new IniFile();
- ini->LoadFromDisk(filename, Tbase_set::SUBDIR);
+ ini->LoadFromDisk(filename, Tbase_set::SEARCH_IN_TARS ? BASESET_DIR : GM_DIR);
char *path = strdup(filename + basepath_length);
char *psep = strrchr(path, PATHSEPCHAR);