1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-17 01:12:39 +01:00

Codechange: split GetRoadDir as bays have DiagDir and drive throughs have Axis

This commit is contained in:
Rubidium
2024-10-22 23:25:07 +02:00
committed by rubidium42
parent d6aa09f96a
commit c9819f8957
11 changed files with 100 additions and 56 deletions

View File

@@ -791,7 +791,7 @@ CommandCost CmdBuildRoad(DoCommandFlag flags, TileIndex tile, RoadBits pieces, R
if ((GetAnyRoadBits(tile, rtt) & pieces) == pieces) return_cmd_error(STR_ERROR_ALREADY_BUILT);
if (!IsDriveThroughStopTile(tile)) goto do_clear;
RoadBits curbits = AxisToRoadBits(DiagDirToAxis(GetRoadStopDir(tile)));
RoadBits curbits = AxisToRoadBits(GetDriveThroughStopAxis(tile));
if (pieces & ~curbits) goto do_clear;
pieces = curbits; // we need to pay for both roadbits
@@ -1463,10 +1463,10 @@ void DrawRoadCatenary(const TileInfo *ti)
} else if (IsTileType(ti->tile, MP_STATION)) {
if (IsAnyRoadStop(ti->tile)) {
if (IsDriveThroughStopTile(ti->tile)) {
Axis axis = GetRoadStopDir(ti->tile) == DIAGDIR_NE ? AXIS_X : AXIS_Y;
Axis axis = GetDriveThroughStopAxis(ti->tile);
tram = road = (axis == AXIS_X ? ROAD_X : ROAD_Y);
} else {
tram = road = DiagDirToRoadBits(GetRoadStopDir(ti->tile));
tram = road = DiagDirToRoadBits(GetBayRoadStopDir(ti->tile));
}
}
} else {