# BaseSet< T, Tnum_files, Tsubdir > Struct Template Reference

Information about a single base set. More...

`#include <base_media_base.h>`

## Public Types

typedef SmallMap< const char *, const char * > | TranslatedStrings

## Public Member Functions

| ~BaseSet ()
| Free everything we allocated.
int | GetNumMissing () const
| Get the number of missing files.
int | GetNumInvalid () const
| Get the number of invalid files.
bool | FillSetDetails (IniFile *ini, const char *path)
| Read the set information from a loaded ini.
const char * | GetDescription (const char *isocode=NULL) const
| Get the description for the given ISO code.

## Data Fields

const char * | 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.
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 Subdirectory | SUBDIR = Tsubdir
| The sub directory to search for the files.
static const char *const * | file_names = _graphics_file_names
| Internal names of the files in this set.

## Detailed Description

### template<class T, size_t Tnum_files, Subdirectory Tsubdir>
struct BaseSet< T, Tnum_files, Tsubdir >

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
  | Tsubdir | the subdirectory where to find the files

Definition at line 46 of file base_media_base.h.

## Member Function Documentation

template<class T, size_t Tnum_files, Subdirectory Tsubdir>

int BaseSet< T, Tnum_files, Tsubdir >::GetNumMissing | ( |  | ) | const`[inline]`

Get the number of missing files.

Returns:
  the number

Definition at line 91 of file base_media_base.h.

template<class T, size_t Tnum_files, Subdirectory Tsubdir>

int BaseSet< T, Tnum_files, Tsubdir >::GetNumInvalid | ( |  | ) | const`[inline]`

Get the number of invalid files.

Note:
  a missing file is invalid too!

Returns:
  the number

Definition at line 101 of file base_media_base.h.

Referenced by CheckExternalFiles().

template<class T, size_t Tnum_files, Subdirectory Tsubdir>

bool BaseSet< T, Tnum_files, Tsubdir >::FillSetDetails | ( | IniFile * | ini,
|  | const char * | path |
| ) |  |  | `[inline]`

Read the set information from a loaded ini.

Parameters:

  | ini | the ini to read from
  | path | the path to this ini file (for filenames)

Returns:
  true if loading was successful.

Reimplemented in GraphicsSet, and MusicSet.

Definition at line 32 of file base_media_func.h.

References MD5File::CheckMD5(), MD5File::CR_MATCH, MD5File::CR_MISMATCH, MD5File::CR_NO_FILE, BaseSet< T, Tnum_files, Tsubdir >::description, fetch_metadata, MD5File::filename, BaseSet< T, Tnum_files, Tsubdir >::files, BaseSet< T, Tnum_files, Tsubdir >::found_files, IniFile::GetGroup(), IniGroup::GetItem(), MD5File::hash, IniGroup::item, MD5File::missing_warning, IniItem::name, BaseSet< T, Tnum_files, Tsubdir >::name, IniItem::next, BaseSet< T, Tnum_files, Tsubdir >::shortname, BaseSet< T, Tnum_files, Tsubdir >::valid_files, IniItem::value, and BaseSet< T, Tnum_files, Tsubdir >::version.

Referenced by MusicSet::FillSetDetails(), and GraphicsSet::FillSetDetails().

template<class T, size_t Tnum_files, Subdirectory Tsubdir>

const char* BaseSet< T, Tnum_files, Tsubdir >::GetDescription | ( | const char * | isocode = `NULL` | ) | 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 122 of file base_media_base.h.

## Field Documentation

template<class T, size_t Tnum_files, Subdirectory Tsubdir>

const char *const * BaseSet< T, Tnum_files, Tsubdir >::file_names = _graphics_file_names `[inline, static]`

Internal names of the files in this set.

Implementation.

Definition at line 56 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