OpenTTD Source 20260206-master-g4d4e37dbf1
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.

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: