OpenTTD Source  20240919-master-gdf0233f4c2
newgrf_canal.h
Go to the documentation of this file.
1 /*
2  * This file is part of OpenTTD.
3  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6  */
7 
10 #ifndef NEWGRF_CANAL_H
11 #define NEWGRF_CANAL_H
12 
13 #include "newgrf.h"
14 #include "tile_type.h"
15 
19 };
20 
22 struct WaterFeature {
23  const SpriteGroup *group;
24  const GRFFile *grffile;
25  uint8_t callback_mask;
26  uint8_t flags;
27 };
28 
29 
31 extern WaterFeature _water_feature[CF_END];
32 
33 
35 
36 uint GetCanalSpriteOffset(CanalFeature feature, TileIndex tile, uint cur_offset);
37 
38 #endif /* NEWGRF_CANAL_H */
WaterFeature
Information about a water feature.
Definition: newgrf_canal.h:22
GetCanalSprite
SpriteID GetCanalSprite(CanalFeature feature, TileIndex tile)
Lookup the base sprite to use for a canal.
Definition: newgrf_canal.cpp:140
CFF_HAS_FLAT_SPRITE
@ CFF_HAS_FLAT_SPRITE
Additional flat ground sprite in the beginning.
Definition: newgrf_canal.h:18
StrongType::Typedef< uint32_t, struct TileIndexTag, StrongType::Compare, StrongType::Integer, StrongType::Compatible< int32_t >, StrongType::Compatible< int64_t > >
_water_feature
WaterFeature _water_feature[CF_END]
Table of canal 'feature' sprite groups.
Definition: newgrf_canal.cpp:21
WaterFeature::callback_mask
uint8_t callback_mask
Bitmask of canal callbacks that have to be called.
Definition: newgrf_canal.h:25
SpriteID
uint32_t SpriteID
The number of a sprite, without mapping bits and colourtables.
Definition: gfx_type.h:18
WaterFeature::grffile
const GRFFile * grffile
NewGRF where 'group' belongs to.
Definition: newgrf_canal.h:24
tile_type.h
newgrf.h
WaterFeature::flags
uint8_t flags
Flags controlling display.
Definition: newgrf_canal.h:26
GetCanalSpriteOffset
uint GetCanalSpriteOffset(CanalFeature feature, TileIndex tile, uint cur_offset)
Get the new sprite offset for a water tile.
Definition: newgrf_canal.cpp:171
SpriteGroup
Definition: newgrf_spritegroup.h:57
GRFFile
Dynamic data of a loaded NewGRF.
Definition: newgrf.h:108
WaterFeature::group
const SpriteGroup * group
Sprite group to start resolving.
Definition: newgrf_canal.h:23
CanalFeatureFlag
CanalFeatureFlag
Flags controlling the display of canals.
Definition: newgrf_canal.h:17
CanalFeature
CanalFeature
List of different canal 'features'.
Definition: newgrf.h:26