EnumClassIndexContainer< std::array< T, to_underlying(N)>, Index > EnumIndexArray
A typedef for EnumClassIndexContainer using std::array as the backing container type.
uint32_t SpriteID
The number of a sprite, without mapping bits and colourtables.
Base for the NewGRF implementation.
EnumBitSet< CanalFeatureFlag, uint8_t > CanalFeatureFlags
CanalFeatureFlag bitmask.
CanalFeature
List of different canal 'features'.
Callbacks that NewGRFs could implement.
EnumBitSet< CanalCallbackMask, uint8_t > CanalCallbackMasks
Bitset of CanalCallbackMask elements.
EnumIndexArray< WaterFeature, CanalFeature, CanalFeature::End > _water_feature
Table of canal 'feature' sprite groups.
uint GetCanalSpriteOffset(CanalFeature feature, TileIndex tile, uint cur_offset)
Get the new sprite offset for a water tile.
SpriteID GetCanalSprite(CanalFeature feature, TileIndex tile)
Lookup the base sprite to use for a canal.
Dynamic data of a loaded NewGRF.
Common wrapper for all the different sprite group types.
Information about a water feature.
CanalFeatureFlags flags
Flags controlling display.
const SpriteGroup * group
Sprite group to start resolving.
const GRFFile * grffile
NewGRF where 'group' belongs to.
CanalCallbackMasks callback_mask
Bitmask of canal callbacks that have to be called.
StrongType::Typedef< uint32_t, struct TileIndexTag, StrongType::Compare, StrongType::Integer, StrongType::Compatible< int32_t >, StrongType::Compatible< int64_t > > TileIndex
The index/ID of a Tile.