Files
@ r4381:c965d1f3016a
Branch filter:
Location: cpp/openttd-patchpack/source/tile.c - annotation
r4381:c965d1f3016a
1.1 KiB
text/x-c
(svn r6131) -Codechange : Complete all missing _ttdpatch_flags entries
-Feature : both unifiedmaglevmode are now set.
Maglev and monorail are not allowed to run on each other tracks and will not be.
Setting those flags will allow grfsets as the Norvegian one to be loaded
-Codechange : link the TTDPatch's irregularstations with OTTD's nonuniform_stations
-Codechange : Reformat the whole array (thanks Rubidium, it sure looks better now)
-Feature : both unifiedmaglevmode are now set.
Maglev and monorail are not allowed to run on each other tracks and will not be.
Setting those flags will allow grfsets as the Norvegian one to be loaded
-Codechange : link the TTDPatch's irregularstations with OTTD's nonuniform_stations
-Codechange : Reformat the whole array (thanks Rubidium, it sure looks better now)
r2186:5ee653b1b5e1 r2186:5ee653b1b5e1 r1213:669b5bbfb6c5 r1211:0ff891861c37 r1211:0ff891861c37 r3636:a8e0c73aca96 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r4067:a9c6af704de1 r4067:a9c6af704de1 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r4067:a9c6af704de1 r1981:addba4bccc89 r4067:a9c6af704de1 r1981:addba4bccc89 r4067:a9c6af704de1 r1981:addba4bccc89 r4067:a9c6af704de1 r1335:da4955366538 r4067:a9c6af704de1 r4067:a9c6af704de1 r4067:a9c6af704de1 r4067:a9c6af704de1 r4067:a9c6af704de1 r4067:a9c6af704de1 r4067:a9c6af704de1 r4067:a9c6af704de1 r4067:a9c6af704de1 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r1335:da4955366538 r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a r3773:96ded2ebf46a | /* $Id$ */
#include "stdafx.h"
#include "tile.h"
Slope GetTileSlope(TileIndex tile, uint *h)
{
uint a;
uint b;
uint c;
uint d;
uint min;
uint r;
assert(tile < MapSize());
if (TileX(tile) == MapMaxX() || TileY(tile) == MapMaxY()) {
if (h != NULL) *h = 0;
return 0;
}
min = a = TileHeight(tile);
b = TileHeight(tile + TileDiffXY(1, 0));
if (min >= b) min = b;
c = TileHeight(tile + TileDiffXY(0, 1));
if (min >= c) min = c;
d = TileHeight(tile + TileDiffXY(1, 1));
if (min >= d) min = d;
r = SLOPE_FLAT;
if ((a -= min) != 0) r += (--a << 4) + SLOPE_N;
if ((c -= min) != 0) r += (--c << 4) + SLOPE_E;
if ((d -= min) != 0) r += (--d << 4) + SLOPE_S;
if ((b -= min) != 0) r += (--b << 4) + SLOPE_W;
if (h != NULL) *h = min * TILE_HEIGHT;
return r;
}
uint GetTileZ(TileIndex tile)
{
uint h;
GetTileSlope(tile, &h);
return h;
}
uint GetTileMaxZ(TileIndex t)
{
uint max;
uint h;
h = TileHeight(t);
max = h;
h = TileHeight(t + TileDiffXY(1, 0));
if (h > max) max = h;
h = TileHeight(t + TileDiffXY(0, 1));
if (h > max) max = h;
h = TileHeight(t + TileDiffXY(1, 1));
if (h > max) max = h;
return max * 8;
}
|