src/map_type.h
author translators
Thu, 27 Nov 2008 18:49:00 +0000
changeset 10388 ea6c13c8b6bc
parent 8139 4e91c448c409
permissions -rw-r--r--
(svn r14639) -Update: WebTranslator2 update to 2008-11-27 18:48:40
brazilian_portuguese - 4 fixed by tucalipe (4)
catalan - 1 fixed by arnaullv (1)
dutch - 1 fixed, 7 changed by Excel20 (8)
finnish - 4 fixed by UltimateSephiroth (1), jpx_ (3)
french - 1 fixed by glx (1)
greek - 10 fixed by Dimi (10)
hungarian - 8 fixed, 49 changed by IPG (57)
italian - 1 fixed by lorenzodv (1)
japanese - 1 fixed, 41 changed by bve255 (42)
korean - 3 fixed by dlunch (3)
lithuanian - 99 fixed, 16 changed by Domas (115)
norwegian_nynorsk - 35 fixed, 1 changed by mkrwii (36)
persian - 38 fixed by ali sattari (38)
polish - 20 fixed by coolik (14), xaxa (6)
romanian - 8 fixed by stykat (8)
slovak - 1 fixed by James (1)
welsh - 2 fixed by welshdragon (2)
/* $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 */