Files
@ r14895:fb237f7e7f5b
Branch filter:
Location: cpp/openttd-patchpack/source/src/map_type.h - annotation
r14895:fb237f7e7f5b
2.9 KiB
text/x-c
(svn r19502) -Codechange: During NewGRF loading, store rail type labels in temporary data and process after loading has finished. This avoids deactivated rail vehicles being reactivated if the climate property is set after the rail type property.
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 r12180:76c85fa07336 r12180:76c85fa07336 r12180:76c85fa07336 r12180:76c85fa07336 r12180:76c85fa07336 r12180:76c85fa07336 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 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 */
enum {
MIN_MAP_SIZE_BITS = 6, ///< Minimal size of map is equal to 2 ^ MIN_MAP_SIZE_BITS
MAX_MAP_SIZE_BITS = 11, ///< Maximal size of map is equal to 2 ^ MAX_MAP_SIZE_BITS
MIN_MAP_SIZE = 1 << MIN_MAP_SIZE_BITS, ///< Minimal map size = 64
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
#endif /* MAP_TYPE_H */
|