Files
@ r5222:671cdc6f4c1e
Branch filter:
Location: cpp/openttd-patchpack/source/tile.c - annotation
r5222:671cdc6f4c1e
1.1 KiB
text/x-c
(svn r7337) -Feature: [win32] Add font selection by specifying a font-name, ala Fontconfig. Pretty
messy if you ask me, but this is what you get when MS hides the font API in the deepest
depths... thanks Rubidium for testing.
messy if you ask me, but this is what you get when MS hides the font API in the deepest
depths... thanks Rubidium for testing.
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;
}
|