|
@@ -268,25 +268,24 @@ template <class Tbase_set>
|
|
|
} else {
|
|
|
p += seprintf(p, last, " (unusable: %i missing file%s)\n", missing, missing == 1 ? "" : "s");
|
|
|
}
|
|
|
} else {
|
|
|
p += seprintf(p, last, "\n");
|
|
|
}
|
|
|
}
|
|
|
p += seprintf(p, last, "\n");
|
|
|
|
|
|
return p;
|
|
|
}
|
|
|
|
|
|
#if defined(ENABLE_NETWORK)
|
|
|
#include "network/network_content.h"
|
|
|
|
|
|
template <class Tbase_set> const char *TryGetBaseSetFile(const ContentInfo *ci, bool md5sum, const Tbase_set *s)
|
|
|
{
|
|
|
for (; s != NULL; s = s->next) {
|
|
|
if (s->GetNumMissing() != 0) continue;
|
|
|
|
|
|
if (s->shortname != ci->unique_id) continue;
|
|
|
if (!md5sum) return s->files[0].filename;
|
|
|
|
|
|
byte md5[16];
|
|
|
memset(md5, 0, sizeof(md5));
|
|
@@ -298,40 +297,24 @@ template <class Tbase_set> const char *T
|
|
|
if (memcmp(md5, ci->md5sum, sizeof(md5)) == 0) return s->files[0].filename;
|
|
|
}
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
template <class Tbase_set>
|
|
|
/* static */ bool BaseMedia<Tbase_set>::HasSet(const ContentInfo *ci, bool md5sum)
|
|
|
{
|
|
|
return (TryGetBaseSetFile(ci, md5sum, BaseMedia<Tbase_set>::available_sets) != NULL) ||
|
|
|
(TryGetBaseSetFile(ci, md5sum, BaseMedia<Tbase_set>::duplicate_sets) != NULL);
|
|
|
}
|
|
|
|
|
|
#else
|
|
|
|
|
|
template <class Tbase_set>
|
|
|
const char *TryGetBaseSetFile(const ContentInfo *ci, bool md5sum, const Tbase_set *s)
|
|
|
{
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
template <class Tbase_set>
|
|
|
/* static */ bool BaseMedia<Tbase_set>::HasSet(const ContentInfo *ci, bool md5sum)
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
#endif /* ENABLE_NETWORK */
|
|
|
|
|
|
/**
|
|
|
* Count the number of available graphics sets.
|
|
|
* @return the number of sets
|
|
|
*/
|
|
|
template <class Tbase_set>
|
|
|
/* static */ int BaseMedia<Tbase_set>::GetNumSets()
|
|
|
{
|
|
|
int n = 0;
|
|
|
for (const Tbase_set *s = BaseMedia<Tbase_set>::available_sets; s != NULL; s = s->next) {
|
|
|
if (s != BaseMedia<Tbase_set>::used_set && s->GetNumMissing() != 0) continue;
|
|
|
n++;
|
|
|
}
|