# BaseMedia< Tbase_set > Class Template Reference

Base for all base media (graphics, sounds). More...

`#include <base_media_base.h>`

Inheritance diagram for BaseMedia< Tbase_set >:

## Static Public Member Functions
static bool | DetermineBestSet ()
| Determine the graphics pack that has to be used.
static uint | FindSets ()
| Do the scan for files.
static bool | SetSet (const char *name)
| Set the set to be used.
static char * | GetSetsList (char *p, const char *last)
| Returns a list with the sets.
static int | GetNumSets ()
| Count the number of available graphics sets.
static int | GetIndexOfUsedSet ()
| Get the index of the currently active graphics set.
static const Tbase_set * | GetSet (int index)
| Get the name of the graphics set at the specified index.
static const Tbase_set * | GetUsedSet ()
| Return the used set.
static bool | HasSet (const ContentInfo *ci, bool md5sum)
| Check whether we have an set with the exact characteristics as ci.
## Static Public Attributes
static const char * | ini_set
| The set as saved in the config file.
## Protected Member Functions
bool | AddFile (const char *filename, size_t basepath_length)
| Add a file with the given filename.
## Static Protected Member Functions
static const char * | GetExtension ()
| Get the extension that is used to identify this set.
## Static Protected Attributes
static Tbase_set * | available_sets
| All available sets.
static Tbase_set * | duplicate_sets
| All sets that aren't available, but needed for not downloading base sets when a newer version than the one on BaNaNaS is loaded.
static const Tbase_set * | used_set
| The currently used set.

## Detailed Description

### template<class Tbase_set>
class BaseMedia< Tbase_set >

Base for all base media (graphics, sounds).

Template Parameters:

  | Tbase_set | the real set we're going to be

Definition at line 147 of file base_media_base.h.

## Member Function Documentation

template<class Tbase_set >

bool BaseMedia< Tbase_set >::AddFile | ( | const char * | filename,
|  | size_t | basepath_length |
| ) |  |  | `[inline, protected, virtual]`

Add a file with the given filename.

Parameters:

  | filename | the full path to the file to read
  | basepath_length | amount of characters to chop of before to get a filename relative to the search path.

Returns:
  true if the file is added.

Implements FileScanner.

Definition at line 143 of file base_media_func.h.

References IniFile::LoadFromDisk().

template<class Tbase_set >

bool BaseMedia< Tbase_set >::DetermineBestSet | ( |  | ) | `[inline, static]`

Determine the graphics pack that has to be used.

The one with the most correct files wins.

Returns:
  true if a best set has been found.

Definition at line 291 of file gfxinit.cpp.

References _use_palette.

template<class Tbase_set>

static uint BaseMedia< Tbase_set >::FindSets | ( |  | ) | `[inline, static]`

Do the scan for files.

Definition at line 172 of file base_media_base.h.

template<class Tbase_set >

const char * BaseMedia< Tbase_set >::GetExtension | ( |  | ) | `[inline, static, protected]`

Get the extension that is used to identify this set.

Returns:
  the extension

Definition at line 315 of file gfxinit.cpp.

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

template<class Tbase_set >

int BaseMedia< Tbase_set >::GetIndexOfUsedSet | ( |  | ) | `[inline, static]`

Get the index of the currently active graphics set.

Returns:
  the current set's index

Definition at line 308 of file base_media_func.h.

template<class Tbase_set >

int BaseMedia< Tbase_set >::GetNumSets | ( |  | ) | `[inline, static]`

Count the number of available graphics sets.

Returns:
  the number of sets

Definition at line 297 of file base_media_func.h.

template<class Tbase_set >

const Tbase_set * BaseMedia< Tbase_set >::GetSet | ( | int | index | ) | `[inline, static]`

Get the name of the graphics set at the specified index.

Returns:
  the name of the set

Definition at line 320 of file base_media_func.h.

References error().

template<class Tbase_set >

char * BaseMedia< Tbase_set >::GetSetsList | ( | char * | p,
|  | const char * | last |
| ) |  |  | `[inline, static]`

Returns a list with the sets.

Parameters:

  | p | where to print to
  | last | the last character to print to

Returns:
  the last printed character

Definition at line 233 of file base_media_func.h.

References seprintf().

template<class Tbase_set >

const Tbase_set * BaseMedia< Tbase_set >::GetUsedSet | ( |  | ) | `[inline, static]`

Return the used set.

Returns:
  the used set.

Definition at line 331 of file base_media_func.h.

template<class Tbase_set >

bool BaseMedia< Tbase_set >::HasSet | ( | const ContentInfo * | ci,
|  | bool | md5sum |
| ) |  |  | `[inline, static]`

Check whether we have an set with the exact characteristics as ci.

Parameters:

  | ci | the characteristics to search on (shortname and md5sum)
  | md5sum | whether to check the MD5 checksum

Returns:
  true iff we have an set matching.

Definition at line 280 of file base_media_func.h.

template<class Tbase_set >

bool BaseMedia< Tbase_set >::SetSet | ( | const char * | name | ) | `[inline, static]`

Set the set to be used.

Parameters:

  | name | of the set to use

Returns:
  true if it could be loaded

Definition at line 212 of file base_media_func.h.

References CheckExternalFiles(), and StrEmpty().

## Field Documentation

template<class Tbase_set>

const char * BaseMedia< Tbase_set >::ini_set`[inline, static]`

The set as saved in the config file.

Definition at line 162 of file base_media_base.h.

The documentation for this class 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