Add: Slope-aware and roadtype-specific one-way sprites. (#10282)

This commit is contained in:
Francis Herne
2022-12-26 21:06:21 +01:00
committed by GitHub
parent 7a18631291
commit 6caed5f15e
7 changed files with 46 additions and 11 deletions

View File

@@ -1606,7 +1606,17 @@ static void DrawRoadBits(TileInfo *ti)
if (road_rti != nullptr) {
DisallowedRoadDirections drd = GetDisallowedRoadDirections(ti->tile);
if (drd != DRD_NONE) {
DrawGroundSpriteAt(SPR_ONEWAY_BASE + drd - 1 + ((road == ROAD_X) ? 0 : 3), PAL_NONE, 8, 8, GetPartialPixelZ(8, 8, ti->tileh));
SpriteID oneway = GetCustomRoadSprite(road_rti, ti->tile, ROTSG_ONEWAY);
if (oneway == 0) oneway = SPR_ONEWAY_BASE;
if ((ti->tileh == SLOPE_NE) || (ti->tileh == SLOPE_NW)) {
oneway += SPR_ONEWAY_SLOPE_N_OFFSET;
} else if ((ti->tileh == SLOPE_SE) || (ti->tileh == SLOPE_SW)) {
oneway += SPR_ONEWAY_SLOPE_S_OFFSET;
}
DrawGroundSpriteAt(oneway + drd - 1 + ((road == ROAD_X) ? 0 : 3), PAL_NONE, 8, 8, GetPartialPixelZ(8, 8, ti->tileh));
}
}