Files
@ r17167:68f47a8db1b5
Branch filter:
Location: cpp/openttd-patchpack/source/src/map_type.h - annotation
r17167:68f47a8db1b5
3.1 KiB
text/x-c
(svn r21916) -Fix [FS#4442]: the minimum speed needed for (realistic) acceleration to work properly can sometimes be more than the (temporary) maximum speed causing Clamp to "fail". Make sure that the minimum speed always overrules the maximum speed
r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r12180:76c85fa07336 r15173:a59afd6301a6 r15173:a59afd6301a6 r15173:a59afd6301a6 r15173:a59afd6301a6 r12180:76c85fa07336 r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r8139:4fc34c1bc2fb r16750:d175f523b128 r16750:d175f523b128 r16750:d175f523b128 r16750:d175f523b128 r16750:d175f523b128 r16750:d175f523b128 r16750:d175f523b128 r8139:4fc34c1bc2fb | /* $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 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
};
/** Minimal and maximal map width and height */
static const uint MIN_MAP_SIZE_BITS = 6; ///< Minimal size of map is equal to 2 ^ MIN_MAP_SIZE_BITS
static const uint MAX_MAP_SIZE_BITS = 11; ///< Maximal size of map is equal to 2 ^ MAX_MAP_SIZE_BITS
static const uint MIN_MAP_SIZE = 1 << MIN_MAP_SIZE_BITS; ///< Minimal map size = 64
static const uint MAX_MAP_SIZE = 1 << MAX_MAP_SIZE_BITS; ///< Maximal map size = 2048
/**
* 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
/** Argument for CmdLevelLand describing what to do. */
enum LevelMode {
LM_LEVEL, ///< Level the land.
LM_LOWER, ///< Lower the land.
LM_RAISE, ///< Raise the land.
};
#endif /* MAP_TYPE_H */
|