mirror of https://github.com/OpenTTD/OpenTTD
(svn r3983) Use existing functions to access tree and road info
parent
85da306049
commit
7b21893adb
|
@ -269,7 +269,6 @@ int32 CmdBuildSingleRail(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||||
{
|
{
|
||||||
TileIndex tile;
|
TileIndex tile;
|
||||||
uint tileh;
|
uint tileh;
|
||||||
uint m5; /* XXX: Used only as a cache, should probably be removed? */
|
|
||||||
Track track = (Track)p2;
|
Track track = (Track)p2;
|
||||||
TrackBits trackbit;
|
TrackBits trackbit;
|
||||||
int32 cost = 0;
|
int32 cost = 0;
|
||||||
|
@ -279,7 +278,6 @@ int32 CmdBuildSingleRail(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||||
|
|
||||||
tile = TileVirtXY(x, y);
|
tile = TileVirtXY(x, y);
|
||||||
tileh = GetTileSlope(tile, NULL);
|
tileh = GetTileSlope(tile, NULL);
|
||||||
m5 = _m[tile].m5;
|
|
||||||
trackbit = TrackToTrackBits(track);
|
trackbit = TrackToTrackBits(track);
|
||||||
|
|
||||||
SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION);
|
SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION);
|
||||||
|
@ -326,7 +324,7 @@ int32 CmdBuildSingleRail(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||||
|
|
||||||
if (flags & DC_EXEC) {
|
if (flags & DC_EXEC) {
|
||||||
_m[tile].m2 &= ~RAIL_MAP2LO_GROUND_MASK; // Bare land
|
_m[tile].m2 &= ~RAIL_MAP2LO_GROUND_MASK; // Bare land
|
||||||
_m[tile].m5 = m5 | trackbit;
|
_m[tile].m5 |= trackbit;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -341,8 +339,8 @@ int32 CmdBuildSingleRail(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||||
if (!EnsureNoVehicle(tile)) return CMD_ERROR;
|
if (!EnsureNoVehicle(tile)) return CMD_ERROR;
|
||||||
|
|
||||||
if (GetRoadType(tile) == ROAD_NORMAL && (
|
if (GetRoadType(tile) == ROAD_NORMAL && (
|
||||||
(track == TRACK_X && m5 == ROAD_Y) ||
|
(track == TRACK_X && GetRoadBits(tile) == ROAD_Y) ||
|
||||||
(track == TRACK_Y && m5 == ROAD_X) // correct direction?
|
(track == TRACK_Y && GetRoadBits(tile) == ROAD_X)
|
||||||
)) {
|
)) {
|
||||||
if (flags & DC_EXEC) {
|
if (flags & DC_EXEC) {
|
||||||
MakeRoadCrossing(tile, GetTileOwner(tile), _current_player, (track == TRACK_X ? AXIS_Y : AXIS_X), p1, _m[tile].m2);
|
MakeRoadCrossing(tile, GetTileOwner(tile), _current_player, (track == TRACK_X ? AXIS_Y : AXIS_X), p1, _m[tile].m2);
|
||||||
|
|
|
@ -286,9 +286,9 @@ static void DrawTile_Trees(TileInfo *ti)
|
||||||
uint i;
|
uint i;
|
||||||
|
|
||||||
/* put the trees to draw in a list */
|
/* put the trees to draw in a list */
|
||||||
i = (ti->map5 >> 6) + 1;
|
i = GetTreeCount(ti->tile) + 1;
|
||||||
do {
|
do {
|
||||||
uint32 image = s[0] + (--i == 0 ? GB(ti->map5, 0, 3) : 3);
|
uint32 image = s[0] + (--i == 0 ? GetTreeGrowth(ti->tile) : 3);
|
||||||
if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image);
|
if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image);
|
||||||
te[i].image = image;
|
te[i].image = image;
|
||||||
te[i].x = d->x;
|
te[i].x = d->x;
|
||||||
|
@ -302,7 +302,7 @@ static void DrawTile_Trees(TileInfo *ti)
|
||||||
byte min = 0xFF;
|
byte min = 0xFF;
|
||||||
TreeListEnt *tep = NULL;
|
TreeListEnt *tep = NULL;
|
||||||
|
|
||||||
i = (ti->map5 >> 6) + 1;
|
i = GetTreeCount(ti->tile) + 1;
|
||||||
do {
|
do {
|
||||||
if (te[--i].image != 0 && te[i].x + te[i].y < min) {
|
if (te[--i].image != 0 && te[i].x + te[i].y < min) {
|
||||||
min = te[i].x + te[i].y;
|
min = te[i].x + te[i].y;
|
||||||
|
|
Loading…
Reference in New Issue