OpenTTD Source: AnimationBase< Tbase, Tspec, Tobj, Textra, GetCallback > Struct Template Reference

OpenTTD Source 13.1

Static Public Member Functions
AnimationBase< Tbase, Tspec, Tobj, Textra, GetCallback > Struct Template Reference

Helper class for a unified approach to NewGRF animation. More...

`#include <newgrf_animation_base.h>`

## Static Public Member Functions
static void | AnimateTile (const Tspec *spec, Tobj *obj, TileIndex tile, bool random_animation, Textra extra_data=0)
| Animate a single tile. More...
static void | ChangeAnimationFrame (CallbackID cb, const Tspec *spec, Tobj *obj, TileIndex tile, uint32 random_bits, uint32 trigger, Textra extra_data=0)
| Check a callback to determine what the next animation step is and execute that step. More...

## Detailed Description

### template<typename Tbase, typename Tspec, typename Tobj, typename Textra, uint16(*)(CallbackID callback, uint32 param1, uint32 param2, const Tspec *statspec, Tobj *st, TileIndex tile, Textra extra_data) GetCallback>
struct AnimationBase< Tbase, Tspec, Tobj, Textra, GetCallback >

Helper class for a unified approach to NewGRF animation.

Template Parameters

  Tbase | Instantiation of this class.
  Tspec | NewGRF specification related to the animated tile.
  Tobj | Object related to the animated tile.
  Textra | Custom extra callback data.
  GetCallback | The callback function pointer.

Definition at line 29 of file newgrf_animation_base.h.

## Member Function Documentation

## ◆ AnimateTile()

template<typename Tbase , typename Tspec , typename Tobj , typename Textra , uint16(*)(CallbackID callback, uint32 param1, uint32 param2, const Tspec *statspec, Tobj *st, TileIndex tile, Textra extra_data) GetCallback>

static void AnimationBase< Tbase, Tspec, Tobj, Textra, GetCallback >::AnimateTile | ( | const Tspec * | spec,
|  | Tobj * | obj,
|  | TileIndex | tile,
|  | bool | random_animation,
|  | Textra | extra_data = `0`
| ) |  |
| inlinestatic

Animate a single tile.

Parameters

  spec | Specification related to the tile.
  obj | Object related to the tile.
  tile | Tile to animate changes for.
  random_animation | Whether to pass random bits to the "next frame" callback.
  extra_data | Custom extra callback data.

Definition at line 38 of file newgrf_animation_base.h.

## ◆ ChangeAnimationFrame()

template<typename Tbase , typename Tspec , typename Tobj , typename Textra , uint16(*)(CallbackID callback, uint32 param1, uint32 param2, const Tspec *statspec, Tobj *st, TileIndex tile, Textra extra_data) GetCallback>

static void AnimationBase< Tbase, Tspec, Tobj, Textra, GetCallback >::ChangeAnimationFrame | ( | CallbackID | cb,
|  | const Tspec * | spec,
|  | Tobj * | obj,
|  | TileIndex | tile,
|  | uint32 | random_bits,
|  | uint32 | trigger,
|  | Textra | extra_data = `0`
| ) |  |
| inlinestatic

Check a callback to determine what the next animation step is and execute that step.

This includes stopping and starting animations as well as updating animation frames and playing sounds.

Parameters

  cb | The callback to actually call.
  spec | Specification related to the tile.
  obj | Object related to the tile.
  tile | Tile to consider animation changes for.
  random_bits | Random bits for this update. To be passed as parameter to the NewGRF.
  trigger | What triggered this update? To be passed as parameter to the NewGRF.
  extra_data | Custom extra data for callback processing.

Definition at line 117 of file newgrf_animation_base.h.

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

- src/newgrf_animation_base.h