diff options
author | rubidium <rubidium@openttd.org> | 2011-11-14 19:24:22 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2011-11-14 19:24:22 +0000 |
commit | 15f671279df2696aad13aca3d431ee4a988694f3 (patch) | |
tree | a5e7c7e76c564885310f30ef3372819d30e0b2a7 /src/base_media_func.h | |
parent | a06443774fb8cc21631a3e76bca4d1c03913303b (diff) | |
download | openttd-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.h | 12 |
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); |