OpenTTD Source
20240919-master-gdf0233f4c2
|
Go to the documentation of this file.
10 #ifndef BLITTER_32BPP_OPTIMIZED_HPP
11 #define BLITTER_32BPP_OPTIMIZED_HPP
27 std::string_view
GetName()
override {
return "32bpp-optimized"; }
BlitterMode
The modes of blitting we can do.
The most trivial 32 bpp blitter (without palette animation).
How all blitters should look like.
@ ZOOM_LVL_END
End for iteration.
The base factory, keeping track of all blitters.
Blitter * CreateInstance() override
Create an instance of this Blitter-class.
uint8_t data[]
Data, all zoomlevels.
Interface for something that can allocate memory for a sprite.
std::array< Sprite, ZOOM_LVL_END > SpriteCollection
Type defining a collection of sprites, one for each zoom level.
std::string_view GetName() override
Get the name of the blitter, the same as the Factory-instance returns.
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override
Draws a sprite to a (screen) buffer.
BlitterFactory(const char *name, const char *description, bool usable=true)
Construct the blitter, and register it.
uint32_t offset[ZOOM_LVL_END][2]
Offsets (from .data) to streams for different zoom levels, and the normal and remap image information...
Factory for the optimised 32 bpp blitter (without palette animation).
Parameters related to blitting.
Sprite * Encode(const SpriteLoader::SpriteCollection &sprite, SpriteAllocator &allocator) override
Convert a sprite from the loader to our own format.
Data stored about a (single) sprite.
Data structure describing a sprite.
The optimised 32 bpp blitter (without palette animation).
ZoomLevel
All zoom levels we know.