Files
@ r7596:afd285ff90bb
Branch filter:
Location: cpp/openttd-patchpack/source/src/tile.cpp - annotation
r7596:afd285ff90bb
1.4 KiB
text/x-c
(svn r11123) -Update: WebTranslator2 update to 2007-09-17 12:45:29
afrikaans - 47 fixed, 52 changed by TrueTenacity (99)
brazilian_portuguese - 23 changed by fukumori (23)
bulgarian - 14 fixed by thetitan (14)
catalan - 3 changed by arnaullv (3)
croatian - 6 fixed, 12 changed by knovak (15), tperic (3)
danish - 20 fixed by ThomasA (20)
finnish - 20 fixed by habazi (20)
german - 10 fixed by Timwi (10)
hungarian - 1 fixed by miham (1)
italian - 1 fixed by lorenzodv (1)
japanese - 6 fixed by ickoonite (6)
norwegian_nynorsk - 6 fixed by pollux (6)
piglatin - 20 fixed by adammw (20)
russian - 20 fixed by Smoky555 (20)
slovak - 1 fixed by lengyel (1)
slovenian - 7 fixed by Necrolyte (7)
spanish - 1 changed by Cabu (1)
traditional_chinese - 21 fixed by xbddc (21)
afrikaans - 47 fixed, 52 changed by TrueTenacity (99)
brazilian_portuguese - 23 changed by fukumori (23)
bulgarian - 14 fixed by thetitan (14)
catalan - 3 changed by arnaullv (3)
croatian - 6 fixed, 12 changed by knovak (15), tperic (3)
danish - 20 fixed by ThomasA (20)
finnish - 20 fixed by habazi (20)
german - 10 fixed by Timwi (10)
hungarian - 1 fixed by miham (1)
italian - 1 fixed by lorenzodv (1)
japanese - 6 fixed by ickoonite (6)
norwegian_nynorsk - 6 fixed by pollux (6)
piglatin - 20 fixed by adammw (20)
russian - 20 fixed by Smoky555 (20)
slovak - 1 fixed by lengyel (1)
slovenian - 7 fixed by Necrolyte (7)
spanish - 1 changed by Cabu (1)
traditional_chinese - 21 fixed by xbddc (21)
r5584:545d748cc681 r5584:545d748cc681 r6422:5983361e241a r6422:5983361e241a r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5587:034e5e185dc2 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r7323:a531c9f4c784 r5584:545d748cc681 r7323:a531c9f4c784 r5584:545d748cc681 r7323:a531c9f4c784 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5587:034e5e185dc2 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r5584:545d748cc681 r7324:414a78d605b6 r5584:545d748cc681 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r7323:a531c9f4c784 r5584:545d748cc681 | /* $Id$ */
/** @file tile.cpp */
#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 SLOPE_FLAT;
}
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 (Slope)r;
}
uint GetTileZ(TileIndex tile)
{
if (TileX(tile) == MapMaxX() || TileY(tile) == MapMaxY()) return 0;
uint h = TileHeight(tile);
h = min(h, TileHeight(tile + TileDiffXY(1, 0)));
h = min(h, TileHeight(tile + TileDiffXY(0, 1)));
h = min(h, TileHeight(tile + TileDiffXY(1, 1)));
return h * TILE_HEIGHT;
}
uint GetTileMaxZ(TileIndex t)
{
if (TileX(t) == MapMaxX() || TileY(t) == MapMaxY()) return 0;
uint h = TileHeight(t);
h = max(h, TileHeight(t + TileDiffXY(1, 0)));
h = max(h, TileHeight(t + TileDiffXY(0, 1)));
h = max(h, TileHeight(t + TileDiffXY(1, 1)));
return h * TILE_HEIGHT;
}
|