OpenTTD Source 20241224-master-gf74b0cf984
|
Generic functions for replacing base data (graphics, sounds). More...
#include "fileio_func.h"
#include "gfx_type.h"
#include "textfile_type.h"
#include "textfile_gui.h"
#include "3rdparty/md5/md5.h"
#include <unordered_map>
Go to the source code of this file.
Data Structures | |
struct | MD5File |
Structure holding filename and MD5 information about a single file. More... | |
struct | BaseSet< T, Tnum_files, Tsearch_in_tars > |
Information about a single base set. More... | |
class | BaseMedia< Tbase_set > |
Base for all base media (graphics, sounds) More... | |
struct | GraphicsSet |
All data of a graphics set. More... | |
class | BaseGraphics |
All data/functions related with replacing the base graphics. More... | |
struct | BaseGraphics::Ini |
Values loaded from config file. More... | |
struct | SoundsSet |
All data of a sounds set. More... | |
class | BaseSounds |
All data/functions related with replacing the base sounds. More... | |
struct | MusicSongInfo |
Metadata about a music track. More... | |
struct | MusicSet |
All data of a music set. More... | |
class | BaseMusic |
All data/functions related with replacing the base music. More... | |
Enumerations | |
enum | GraphicsFileType { GFT_BASE , GFT_LOGOS , GFT_ARCTIC , GFT_TROPICAL , GFT_TOYLAND , GFT_EXTRA , MAX_GFT } |
Types of graphics in the base graphics set. More... | |
enum | BlitterType { BLT_8BPP , BLT_32BPP } |
Blitter type for base graphics sets. More... | |
enum | MusicTrackType { MTT_STANDARDMIDI , MTT_MPSMIDI } |
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. | |
std::optional< std::string > | GetMusicCatEntryName (const std::string &filename, size_t entrynum) |
Read the name of a music CAT file entry. | |
std::optional< std::vector< uint8_t > > | GetMusicCatEntryData (const std::string &filename, size_t entrynum) |
Read the full data of a music CAT file entry. | |
Variables | |
static const uint | NUM_SONGS_CLASS = 10 |
Maximum number of songs in the 'class' playlists. | |
static const uint | NUM_SONG_CLASSES = 3 |
Number of classes for songs. | |
static const uint | NUM_SONGS_AVAILABLE = 1 + NUM_SONG_CLASSES * NUM_SONGS_CLASS |
Maximum number of songs in the full playlist; theme song + the classes. | |
static const uint | NUM_SONGS_PLAYLIST = 32 |
Maximum number of songs in the (custom) playlist. | |
Generic functions for replacing base data (graphics, sounds).
Definition in file base_media_base.h.
enum BlitterType |
Blitter type for base graphics sets.
Enumerator | |
---|---|
BLT_8BPP | Base set has 8 bpp sprites only. |
BLT_32BPP | Base set has both 8 bpp and 32 bpp sprites. |
Definition at line 252 of file base_media_base.h.
enum GraphicsFileType |
Types of graphics in the base graphics set.
Definition at line 241 of file base_media_base.h.
enum MusicTrackType |
Enumerator | |
---|---|
MTT_STANDARDMIDI | Standard MIDI file. |
MTT_MPSMIDI | MPS GM driver MIDI format (contained in a CAT file) |
Definition at line 319 of file base_media_base.h.
std::optional< std::vector< uint8_t > > GetMusicCatEntryData | ( | const std::string & | filename, |
size_t | entrynum | ||
) |
Read the full data of a music CAT file entry.
filename | Name of CAT file to read from. |
entrynum | Index of entry to read |
Definition at line 52 of file music.cpp.
References BASESET_DIR, FioCheckFileExists(), RandomAccessFile::ReadBlock(), RandomAccessFile::ReadByte(), RandomAccessFile::ReadDword(), RandomAccessFile::SeekTo(), and RandomAccessFile::SkipBytes().
Referenced by MidiFile::GetSMFFile().
std::optional< std::string > GetMusicCatEntryName | ( | const std::string & | filename, |
size_t | entrynum | ||
) |
Read the name of a music CAT file entry.
filename | Name of CAT file to read from |
entrynum | Index of entry whose name to read |
Definition at line 28 of file music.cpp.
References BASESET_DIR, FioCheckFileExists(), RandomAccessFile::ReadBlock(), RandomAccessFile::ReadByte(), RandomAccessFile::ReadDword(), RandomAccessFile::SeekTo(), and StrMakeValid().
const char * TryGetBaseSetFile | ( | const ContentInfo * | ci, |
bool | md5sum, | ||
const Tbase_set * | s | ||
) |
Check whether there's a base set matching some information.
ci | The content info to compare it to. |
md5sum | Should the MD5 checksum be tested as well? |
s | The list with sets. |
nullptr
if there is no match. Definition at line 319 of file base_media_func.h.
References MD5File::hash, ContentInfo::md5sum, and ContentInfo::unique_id.
Referenced by ContentInfo::GetTextfile(), and BaseMedia< Tbase_set >::HasSet().
|
static |
Number of classes for songs.
Definition at line 308 of file base_media_base.h.
|
static |
Maximum number of songs in the full playlist; theme song + the classes.
Definition at line 310 of file base_media_base.h.
Referenced by MusicSystem::BuildPlaylists().
|
static |
Maximum number of songs in the 'class' playlists.
Definition at line 306 of file base_media_base.h.
Referenced by MusicSystem::BuildPlaylists().
|
static |
Maximum number of songs in the (custom) playlist.
Definition at line 313 of file base_media_base.h.
Referenced by MusicSystem::BuildPlaylists(), MusicSystem::PlaylistAdd(), and MusicSystem::SaveCustomPlaylist().