diff --git a/Makefile b/Makefile index 3b80905422..318b122557 100644 --- a/Makefile +++ b/Makefile @@ -624,6 +624,7 @@ C_SOURCES += strings.c C_SOURCES += subsidy_gui.c C_SOURCES += terraform_gui.c C_SOURCES += texteff.c +C_SOURCES += tile.c C_SOURCES += town_cmd.c C_SOURCES += town_gui.c C_SOURCES += train_cmd.c diff --git a/functions.h b/functions.h index 36a8e6295b..e39e27d386 100644 --- a/functions.h +++ b/functions.h @@ -14,8 +14,6 @@ int GetTileZ(uint tile); void DoClearSquare(uint tile); void CDECL ModifyTile(uint tile, uint flags, ...); -void SetMapExtraBits(uint tile, byte flags); -uint GetMapExtraBits(uint tile); void RunTileLoop(void); uint GetPartialZ(int x, int y, int corners); diff --git a/landscape.c b/landscape.c index 4e14682fd8..993badea82 100644 --- a/landscape.c +++ b/landscape.c @@ -430,17 +430,6 @@ void CDECL ModifyTile(uint tile, uint flags, ...) MarkTileDirtyByTile(tile); } -void SetMapExtraBits(uint tile, byte bits) -{ - _map_extra_bits[tile >> 2] &= ~(3 << ((tile&3)*2)); - _map_extra_bits[tile >> 2] |= (bits&3) << ((tile&3)*2); -} - -uint GetMapExtraBits(uint tile) -{ - assert(tile < MapSize()); - return (_map_extra_bits[tile >> 2] >> (tile & 3) * 2) & 3; -} #define TILELOOP_BITS 4 #define TILELOOP_SIZE (1 << TILELOOP_BITS) diff --git a/tile.c b/tile.c new file mode 100644 index 0000000000..f8641ca985 --- /dev/null +++ b/tile.c @@ -0,0 +1,14 @@ +#include "tile.h" + +void SetMapExtraBits(TileIndex tile, byte bits) +{ + assert(tile < MapSize()); + _map_extra_bits[tile >> 2] &= ~(3 << ((tile & 3) * 2)); + _map_extra_bits[tile >> 2] |= (bits&3) << ((tile & 3) * 2); +} + +uint GetMapExtraBits(TileIndex tile) +{ + assert(tile < MapSize()); + return (_map_extra_bits[tile >> 2] >> (tile & 3) * 2) & 3; +} diff --git a/tile.h b/tile.h index 0019397dd8..ec274d62f8 100644 --- a/tile.h +++ b/tile.h @@ -3,6 +3,9 @@ #include "map.h" +void SetMapExtraBits(TileIndex tile, byte flags); +uint GetMapExtraBits(TileIndex tile); + static inline uint TileHeight(TileIndex tile) { assert(tile < MapSize());