OpenTTD
Macros | Functions
base_media_func.h File Reference

Generic function implementations for base data (graphics, sounds). More...

#include "base_media_base.h"
#include "debug.h"
#include "ini_type.h"
#include "string_func.h"
#include "network/network_content.h"

Go to the source code of this file.

Macros

#define fetch_metadata(name)
 Try to read a single piece of metadata and return false if it doesn't exist. More...
 
#define INSTANTIATE_BASE_MEDIA_METHODS(repl_type, set_type)
 Force instantiation of methods so we don't get linker errors. More...
 

Functions

template<class Tbase_set >
const char * TryGetBaseSetFile (const ContentInfo *ci, bool md5sum, const Tbase_set *s)
 Check whether there's a base set matching some information. More...
 

Detailed Description

Generic function implementations for base data (graphics, sounds).

Note
You should never include this file due to the SET_TYPE define.

Definition in file base_media_func.h.

Macro Definition Documentation

◆ fetch_metadata

#define fetch_metadata (   name)
Value:
item = metadata->GetItem(name, false); \
if (item == NULL || StrEmpty(item->value)) { \
DEBUG(grf, 0, "Base " SET_TYPE "set detail loading: %s field missing.", name); \
DEBUG(grf, 0, " Is %s readable for the user running OpenTTD?", full_filename); \
return false; \
}
#define SET_TYPE
The type of set we&#39;re replacing.
Definition: music.cpp:15
static bool StrEmpty(const char *s)
Check if a string buffer is empty.
Definition: string_func.h:59

Try to read a single piece of metadata and return false if it doesn't exist.

Parameters
namethe name of the item to fetch.

Definition at line 29 of file base_media_func.h.

Referenced by BaseSet< GraphicsSet, MAX_GFT, true >::FillSetDetails().

◆ INSTANTIATE_BASE_MEDIA_METHODS

#define INSTANTIATE_BASE_MEDIA_METHODS (   repl_type,
  set_type 
)
Value:
template const char *repl_type::ini_set; \
template const char *repl_type::GetExtension(); \
template bool repl_type::AddFile(const char *filename, size_t pathlength, const char *tar_filename); \
template bool repl_type::HasSet(const struct ContentInfo *ci, bool md5sum); \
template bool repl_type::SetSet(const char *name); \
template char *repl_type::GetSetsList(char *p, const char *last); \
template int repl_type::GetNumSets(); \
template int repl_type::GetIndexOfUsedSet(); \
template const set_type *repl_type::GetSet(int index); \
template const set_type *repl_type::GetUsedSet(); \
template bool repl_type::DetermineBestSet(); \
template set_type *repl_type::GetAvailableSets(); \
template const char *TryGetBaseSetFile(const ContentInfo *ci, bool md5sum, const set_type *s);
const char * TryGetBaseSetFile(const ContentInfo *ci, bool md5sum, const Tbase_set *s)
Check whether there&#39;s a base set matching some information.
Container for all important information about a piece of content.
Definition: tcp_content.h:58

Force instantiation of methods so we don't get linker errors.

Parameters
repl_typethe type of the BaseMedia to instantiate
set_typethe type of the BaseSet to instantiate

Definition at line 400 of file base_media_func.h.

Referenced by BaseMedia< GraphicsSet >::GetExtension().

Function Documentation

◆ TryGetBaseSetFile()

template<class Tbase_set >
const char* TryGetBaseSetFile ( const ContentInfo ci,
bool  md5sum,
const Tbase_set *  s 
)

Check whether there's a base set matching some information.

Parameters
ciThe content info to compare it to.
md5sumShould the MD5 checksum be tested as well?
sThe list with sets.
Returns
The filename of the first file of the base set, or NULL if there is no match.

Definition at line 286 of file base_media_func.h.

References ContentInfo::md5sum, and ContentInfo::unique_id.

Referenced by BaseMedia< GraphicsSet >::FindSets(), and BaseMedia< GraphicsSet >::HasSet().