OpenTTD Source: BaseSet< T, Tnum_files, Tsearch_in_tars > Struct Template Reference

OpenTTD Source 13.2.1

Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Static Public Attributes
BaseSet< T, Tnum_files, Tsearch_in_tars > Struct Template Reference

Information about a single base set. More...

`#include <base_media_base.h>`

## Public Types
typedef std::unordered_map< std::string, std::string > | TranslatedStrings

## Public Member Functions
| ~BaseSet ()
| Free everything we allocated.
int | GetNumMissing () const
| Get the number of missing files. More...
int | GetNumInvalid () const
| Get the number of invalid files. More...
bool | FillSetDetails (IniFile *ini, const char *path, const char *full_filename, bool allow_empty_filename=true)
| Read the set information from a loaded ini. More...
const char * | GetDescription (const std::string &isocode) const
| Get the description for the given ISO code. More...
const char * | GetTextfile (TextfileType type) const
| Search a textfile file next to this base media. More...

## Static Public Member Functions
static MD5File::ChecksumResult | CheckMD5 (const MD5File *file, Subdirectory subdir)
| Calculate and check the MD5 hash of the supplied file. More...

## Data Fields
std::string | name
| The name of the base set.
TranslatedStrings | description
| Description of the base set.
uint32 | shortname
| Four letter short variant of the name.
uint32 | version
| The version of this base set.
bool | fallback
| This set is a fallback set, i.e. it should be used only as last resort.
MD5File | files [NUM_FILES]
| All files part of this set.
uint | found_files
| Number of the files that could be found.
uint | valid_files
| Number of the files that could be found and are valid.
T * | next
| The next base set in this list.

## Static Public Attributes
static const size_t | NUM_FILES = Tnum_files
| Number of files in this set.
static const bool | SEARCH_IN_TARS = Tsearch_in_tars
| Whether to search in the tars or not.
static const char *const * | file_names = _graphics_file_names
| Internal names of the files in this set. More...

## Detailed Description

### template<class T, size_t Tnum_files, bool Tsearch_in_tars>
struct BaseSet< T, Tnum_files, Tsearch_in_tars >

Information about a single base set.

Template Parameters

  T | the real class we're going to be
  Tnum_files | the number of files in the set
  Tsearch_in_tars | whether to search in the tars or not

Definition at line 49 of file base_media_base.h.

## Member Function Documentation

## ◆ CheckMD5()

template<class T , size_t Tnum_files, bool Tsearch_in_tars>

static MD5File::ChecksumResult BaseSet< T, Tnum_files, Tsearch_in_tars >::CheckMD5 | ( | const MD5File * | file,
|  | Subdirectory | subdir
| ) |  |
| inlinestatic

Calculate and check the MD5 hash of the supplied file.

Parameters

  file | The file get the hash of.
  subdir | The sub directory to get the files from.

Returns
  - #CR_MATCH if the MD5 hash matches
  - #CR_MISMATCH if the MD5 does not match
  - #CR_NO_FILE if the file misses

Definition at line 137 of file base_media_base.h.

## ◆ FillSetDetails()

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 = `true`
| ) |  |

Read the set information from a loaded ini.

Parameters

  ini | the ini to read from
  path | the path to this ini file (for filenames)
  full_filename | the full filename of the loaded file (for error reporting purposes)
  allow_empty_filename | empty filenames are valid

Returns
  true if loading was successful.

Definition at line 39 of file base_media_func.h.

## ◆ GetDescription()

template<class T , size_t Tnum_files, bool Tsearch_in_tars>

const char* BaseSet< T, Tnum_files, Tsearch_in_tars >::GetDescription | ( | const std::string & | isocode | ) | const
| inline

Get the description for the given ISO code.

It falls back to the first two characters of the ISO code in case no match could be made with the full ISO code. If even then the matching fails the default is returned.

Parameters

  isocode | the isocode to search for

Returns
  the description

Definition at line 113 of file base_media_base.h.

## ◆ GetNumInvalid()

template<class T , size_t Tnum_files, bool Tsearch_in_tars>

int BaseSet< T, Tnum_files, Tsearch_in_tars >::GetNumInvalid | ( |  | ) | const
| inline

Get the number of invalid files.

Note
  a missing file is invalid too!

Returns
  the number

Definition at line 98 of file base_media_base.h.

Referenced by CheckExternalFiles(), and GameOptionsWindow::UpdateWidgetSize().

## ◆ GetNumMissing()

template<class T , size_t Tnum_files, bool Tsearch_in_tars>

int BaseSet< T, Tnum_files, Tsearch_in_tars >::GetNumMissing | ( |  | ) | const
| inline

Get the number of missing files.

Returns
  the number

Definition at line 88 of file base_media_base.h.

## ◆ GetTextfile()

template<class T , size_t Tnum_files, bool Tsearch_in_tars>

const char* BaseSet< T, Tnum_files, Tsearch_in_tars >::GetTextfile | ( | TextfileType | type | ) | const
| inline

Search a textfile file next to this base media.

Parameters

  type | The type of the textfile to search for.

Returns
  The filename for the textfile, `nullptr` otherwise.

Definition at line 147 of file base_media_base.h.

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

## Field Documentation

## ◆ file_names

template<class T , size_t Tnum_files, bool Tsearch_in_tars>

const char *const * BaseSet< T, Tnum_files, Tsearch_in_tars >::file_names = _graphics_file_names
| static

Internal names of the files in this set.

Make sure we aren't messing things up.

Implementation.

Definition at line 59 of file base_media_base.h.

The documentation for this struct was generated from the following files:

- src/base_media_base.h
- src/base_media_func.h
- src/gfxinit.cpp
- src/music.cpp
- src/sound.cpp