OpenTTD Source: SpriteLoader::Sprite Struct Reference

OpenTTD Source 13.1

Public Member Functions | Data Fields | Static Private Attributes
SpriteLoader::Sprite Struct Reference

Structure for passing information from the sprite loader to the blitter. More...

`#include <spriteloader.hpp>`

## Public Member Functions
void | AllocateData (ZoomLevel zoom, size_t size)
| Allocate the sprite data of this sprite. More...

## Data Fields
uint16 | height
| Height of the sprite.
uint16 | width
| Width of the sprite.
int16 | x_offs
| The x-offset of where the sprite will be drawn.
int16 | y_offs
| The y-offset of where the sprite will be drawn.
SpriteType | type
| The sprite type.
SpriteColourComponent | colours
| The colour components of the sprite with useful information.
SpriteLoader::CommonPixel * | data
| The sprite itself.

## Static Private Attributes
static ReusableBuffer< SpriteLoader::CommonPixel > | buffer [ZOOM_LVL_COUNT]
| Allocated memory to pass sprite data around.

## Detailed Description

Structure for passing information from the sprite loader to the blitter.

You can only use this struct once at a time when using AllocateData to allocate the memory as that will always return the same memory address. This to prevent thousands of malloc + frees just to load a sprite.

Definition at line 48 of file spriteloader.hpp.

## Member Function Documentation

## ◆ AllocateData()

void SpriteLoader::Sprite::AllocateData | ( | ZoomLevel | zoom,
|  | size_t | size
| ) |  |
| inline

Allocate the sprite data of this sprite.

Parameters

  zoom | Zoom level to allocate the data for.
  size | the minimum size of the data field.

Definition at line 62 of file spriteloader.hpp.

Referenced by DecodeSingleSprite().

The documentation for this struct was generated from the following files:

- src/spriteloader/spriteloader.hpp
- src/spritecache.cpp