Files
@ r17613:a9b2554a5d79
Branch filter:
Location: cpp/openttd-patchpack/source/src/tile_type.h - annotation
r17613:a9b2554a5d79
3.4 KiB
text/x-c
(svn r22387) -Fix-ish [FS#4601]: Windows' recv seems to return "graceful closed" before having passed the remaining buffer which causes OpenTTD to think all connections are "incorrectly" terminated, i.e. without the "I'm leaving" packet from the client. So let the client wait a tiny bit after sending the "I'm leaving" packet and before gracefully closing the connection
r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r15177:0d7bc2637487 r17129:19a89bbda22e r17129:19a89bbda22e r15177:0d7bc2637487 r15177:0d7bc2637487 r8108:1d5bdeea7e20 r15177:0d7bc2637487 r8108:1d5bdeea7e20 r15177:0d7bc2637487 r15177:0d7bc2637487 r15177:0d7bc2637487 r8138:f851b4cbdad1 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r10233:f4b6f7cfa2ac r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r15734:ae8e2e185874 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8450:2a49877e9e0c r8450:2a49877e9e0c r8450:2a49877e9e0c r8450:2a49877e9e0c r8450:2a49877e9e0c r8450:2a49877e9e0c r8450:2a49877e9e0c r8450:2a49877e9e0c r8450:2a49877e9e0c r8450:2a49877e9e0c r8450:2a49877e9e0c r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8450:2a49877e9e0c r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8108:1d5bdeea7e20 r8138:f851b4cbdad1 r8138:f851b4cbdad1 r8138:f851b4cbdad1 r8138:f851b4cbdad1 r8138:f851b4cbdad1 r8108:1d5bdeea7e20 | /* $Id$ */
/*
* This file is part of OpenTTD.
* 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.
* 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.
* 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/>.
*/
/** @file tile_type.h Types related to tiles. */
#ifndef TILE_TYPE_H
#define TILE_TYPE_H
static const uint TILE_SIZE = 16; ///< Tiles are 16x16 "units" in size
static const uint HALF_TILE_SIZE = TILE_SIZE / 2; ///< Half of tile size, to get centre of a tile.
static const uint TILE_UNIT_MASK = TILE_SIZE - 1; ///< For masking in/out the inner-tile units.
static const uint TILE_PIXELS = 32; ///< a tile is 32x32 pixels
static const uint TILE_HEIGHT = 8; ///< The standard height-difference between tiles on two levels is 8 (z-diff 8)
static const uint MAX_TILE_HEIGHT = 15; ///< Maximum allowed tile height
static const uint MIN_SNOWLINE_HEIGHT = 2; ///< Minimum snowline height
static const uint DEF_SNOWLINE_HEIGHT = 7; ///< Default snowline height
static const uint MAX_SNOWLINE_HEIGHT = (MAX_TILE_HEIGHT - 2); ///< Maximum allowed snowline height
/**
* The different types of tiles.
*
* Each tile belongs to one type, according whatever is build on it.
*
* @note A railway with a crossing street is marked as MP_ROAD.
*/
enum TileType {
MP_CLEAR, ///< A tile without any structures, i.e. grass, rocks, farm fields etc.
MP_RAILWAY, ///< A railway
MP_ROAD, ///< A tile with road (or tram tracks)
MP_HOUSE, ///< A house by a town
MP_TREES, ///< Tile got trees
MP_STATION, ///< A tile of a station
MP_WATER, ///< Water tile
MP_VOID, ///< Invisible tiles at the SW and SE border
MP_INDUSTRY, ///< Part of an industry
MP_TUNNELBRIDGE, ///< Tunnel entry/exit and bridge heads
MP_OBJECT, ///< Contains objects such as transmitters and owned land
};
/**
* Additional infos of a tile on a tropic game.
*
* The tropiczone is not modified during gameplay. It mainly affects tree growth. (desert tiles are visible though)
*
* In randomly generated maps:
* TROPICZONE_DESERT: Generated everywhere, if there is neither water nor mountains (TileHeight >= 4) in a certain distance from the tile.
* TROPICZONE_RAINFOREST: Genereated everywhere, if there is no desert in a certain distance from the tile.
* TROPICZONE_NORMAL: Everywhere else, i.e. between desert and rainforest and on sea (if you clear the water).
*
* In scenarios:
* TROPICZONE_NORMAL: Default value.
* TROPICZONE_DESERT: Placed manually.
* TROPICZONE_RAINFOREST: Placed if you plant certain rainforest-trees.
*/
enum TropicZone {
TROPICZONE_NORMAL = 0, ///< Normal tropiczone
TROPICZONE_DESERT = 1, ///< Tile is desert
TROPICZONE_RAINFOREST = 2, ///< Rainforest tile
};
/**
* The index/ID of a Tile.
*/
typedef uint32 TileIndex;
/**
* The very nice invalid tile marker
*/
static const TileIndex INVALID_TILE = (TileIndex)-1;
#endif /* TILE_TYPE_H */
|