OpenTTD Source 20260311-master-g511d3794ce
SpriteLoader Class Referenceabstract

Interface for the loader of our sprites. More...

#include <spriteloader.hpp>

Inheritance diagram for SpriteLoader:
SpriteLoaderGrf SpriteLoaderMakeIndexed

Data Structures

struct  CommonPixel
 Definition of a common pixel in OpenTTD's realm. More...
struct  Sprite
 Structure for passing information from the sprite loader to the blitter. More...

Public Types

using SpriteCollection = SpriteCollMap<Sprite>
 Type defining a collection of sprites, one for each zoom level.

Public Member Functions

virtual ZoomLevels LoadSprite (SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, SpriteCacheCtrlFlags control_flags, ZoomLevels &avail_8bpp, ZoomLevels &avail_32bpp)=0
 Load a sprite from the disk and return a sprite struct which is the same for all loaders.
virtual ~SpriteLoader ()=default
 Ensure the destructor of the sub classes are called as well.

Detailed Description

Interface for the loader of our sprites.

Definition at line 45 of file spriteloader.hpp.

Member Typedef Documentation

◆ SpriteCollection

Type defining a collection of sprites, one for each zoom level.

Definition at line 84 of file spriteloader.hpp.

Member Function Documentation

◆ LoadSprite()

virtual ZoomLevels SpriteLoader::LoadSprite ( SpriteLoader::SpriteCollection & sprite,
SpriteFile & file,
size_t file_pos,
SpriteType sprite_type,
bool load_32bpp,
SpriteCacheCtrlFlags control_flags,
ZoomLevels & avail_8bpp,
ZoomLevels & avail_32bpp )
pure virtual

Load a sprite from the disk and return a sprite struct which is the same for all loaders.

Parameters
[out]spriteThe sprites to fill with data.
fileThe file "descriptor" of the file we read from.
file_posThe position within the file the image begins.
sprite_typeThe type of sprite we're trying to load.
load_32bppTrue if 32bpp sprites should be loaded, false for a 8bpp sprite.
control_flagsControl flags, see SpriteCacheCtrlFlags.
[out]avail_8bppAvailable 8bpp sprites.
[out]avail_32bppAvailable 32bpp sprites.
Returns
Available sprites matching load_32bpp.

Implemented in SpriteLoaderGrf, and SpriteLoaderMakeIndexed.


The documentation for this class was generated from the following file: