From 2786d789a15990a27b73c0a4fbceb429e7dac953 Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 26 Dec 2007 11:45:43 +0000 Subject: (svn r11701) -Codechange: removal unnecessary inclusions of map.h (and split map.h). --- src/map_type.h | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/map_type.h (limited to 'src/map_type.h') diff --git a/src/map_type.h b/src/map_type.h new file mode 100644 index 000000000..7098ad762 --- /dev/null +++ b/src/map_type.h @@ -0,0 +1,65 @@ +/* $Id$ */ + +/** @file map_type.h Types related to maps. */ + +#ifndef MAP_TYPE_H +#define MAP_TYPE_H + +/** + * Data that is stored per tile. Also used TileExtended for this. + * Look at docs/landscape.html for the exact meaning of the members. + */ +struct Tile { + byte type_height; ///< The type (bits 4..7) and height of the northern corner + byte m1; ///< Primarily used for ownership information + uint16 m2; ///< Primarily used for indices to towns, industries and stations + byte m3; ///< General purpose + byte m4; ///< General purpose + byte m5; ///< General purpose + byte m6; ///< Primarily used for bridges and rainforest/desert +}; + +/** + * Data that is stored per tile. Also used Tile for this. + * Look at docs/landscape.html for the exact meaning of the members. + */ +struct TileExtended { + byte m7; ///< Primarily used for newgrf support +}; + +/** + * An offset value between to tiles. + * + * This value is used fro the difference between + * to tiles. It can be added to a tileindex to get + * the resulting tileindex of the start tile applied + * with this saved difference. + * + * @see TileDiffXY(int, int) + */ +typedef int32 TileIndexDiff; + +/** + * A pair-construct of a TileIndexDiff. + * + * This can be used to save the difference between to + * tiles as a pair of x and y value. + */ +struct TileIndexDiffC { + int16 x; ///< The x value of the coordinate + int16 y; ///< The y value of the coordinate +}; + +/** + * Approximation of the length of a straight track, relative to a diagonal + * track (ie the size of a tile side). + * + * #defined instead of const so it can + * stay integer. (no runtime float operations) Is this needed? + * Watch out! There are _no_ brackets around here, to prevent intermediate + * rounding! Be careful when using this! + * This value should be sqrt(2)/2 ~ 0.7071 + */ +#define STRAIGHT_TRACK_LENGTH 7071/10000 + +#endif /* MAP_TYPE_H */ -- cgit v1.2.3-54-g00ecf