mirror of https://github.com/OpenTTD/OpenTTD
(svn r9919) -Codechange: prepare some more places for more road types.
parent
9060ab4af1
commit
d234e97f8b
|
@ -160,6 +160,9 @@ static void GenerateReplaceVehList(Window *w, bool draw_left)
|
||||||
/* This is for engines we can replace to and they should depend on what we selected to replace from */
|
/* This is for engines we can replace to and they should depend on what we selected to replace from */
|
||||||
if (!IsEngineBuildable(e, type, _local_player)) continue; // we need to be able to build the engine
|
if (!IsEngineBuildable(e, type, _local_player)) continue; // we need to be able to build the engine
|
||||||
if (!EnginesGotCargoInCommon(e, WP(w, replaceveh_d).sel_engine[0])) continue; // the engines needs to be able to carry the same cargo
|
if (!EnginesGotCargoInCommon(e, WP(w, replaceveh_d).sel_engine[0])) continue; // the engines needs to be able to carry the same cargo
|
||||||
|
|
||||||
|
/* Road vehicles can't be replaced by trams and vice-versa */
|
||||||
|
if (type == VEH_ROAD && HASBIT(EngInfo(WP(w, replaceveh_d).sel_engine[0])->misc_flags, EF_ROAD_TRAM) != HASBIT(EngInfo(e)->misc_flags, EF_ROAD_TRAM)) continue;
|
||||||
if (e == WP(w, replaceveh_d).sel_engine[0]) continue; // we can't replace an engine into itself (that would be autorenew)
|
if (e == WP(w, replaceveh_d).sel_engine[0]) continue; // we can't replace an engine into itself (that would be autorenew)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -957,6 +957,9 @@ static void RoadVehCheckOvertake(Vehicle *v, Vehicle *u)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Trams can't overtake other trams */
|
||||||
|
if (v->u.road.roadtype == ROADTYPE_TRAM) return;
|
||||||
|
|
||||||
if (v->direction != u->direction || !(v->direction & 1)) return;
|
if (v->direction != u->direction || !(v->direction & 1)) return;
|
||||||
|
|
||||||
/* Check if vehicle is in a road stop, depot, tunnel or bridge or not on a straight road */
|
/* Check if vehicle is in a road stop, depot, tunnel or bridge or not on a straight road */
|
||||||
|
|
|
@ -1048,6 +1048,10 @@ void DrawBridgeMiddle(const TileInfo* ti)
|
||||||
pal = psid->pal;
|
pal = psid->pal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GetRailType(rampsouth) == RAILTYPE_ELECTRIC) {
|
||||||
|
DrawCatenary(ti);
|
||||||
|
}
|
||||||
|
|
||||||
/* draw roof, the component of the bridge which is logically between the vehicle and the camera */
|
/* draw roof, the component of the bridge which is logically between the vehicle and the camera */
|
||||||
if (axis == AXIS_X) {
|
if (axis == AXIS_X) {
|
||||||
y += 12;
|
y += 12;
|
||||||
|
@ -1057,8 +1061,6 @@ void DrawBridgeMiddle(const TileInfo* ti)
|
||||||
if (image & SPRITE_MASK) AddSortableSpriteToDraw(image, pal, x, y, 1, 16, 0x28, z);
|
if (image & SPRITE_MASK) AddSortableSpriteToDraw(image, pal, x, y, 1, 16, 0x28, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GetRailType(rampsouth) == RAILTYPE_ELECTRIC) DrawCatenary(ti);
|
|
||||||
|
|
||||||
psid++;
|
psid++;
|
||||||
if (ti->z + 5 == z) {
|
if (ti->z + 5 == z) {
|
||||||
/* draw poles below for small bridges */
|
/* draw poles below for small bridges */
|
||||||
|
|
Loading…
Reference in New Issue