mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-13 07:10:57 +00:00
(svn r27222) -Fix [FS#6278]: Use the current maximum speed as limited by bridges, orders etc. for all vehicle types alike when considering increased smoke emissions of vehicles.
This commit is contained in:
parent
983abcef4e
commit
55f42eaa1f
@ -2414,7 +2414,9 @@ void Vehicle::ShowVisualEffect() const
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint max_speed = this->vcache.cached_max_speed;
|
/* Use the speed as limited by underground and orders. */
|
||||||
|
uint max_speed = this->GetCurrentMaxSpeed();
|
||||||
|
|
||||||
if (this->type == VEH_TRAIN) {
|
if (this->type == VEH_TRAIN) {
|
||||||
const Train *t = Train::From(this);
|
const Train *t = Train::From(this);
|
||||||
/* For trains, do not show any smoke when:
|
/* For trains, do not show any smoke when:
|
||||||
@ -2423,14 +2425,10 @@ void Vehicle::ShowVisualEffect() const
|
|||||||
*/
|
*/
|
||||||
if (HasBit(t->flags, VRF_REVERSING) ||
|
if (HasBit(t->flags, VRF_REVERSING) ||
|
||||||
(IsRailStationTile(t->tile) && t->IsFrontEngine() && t->current_order.ShouldStopAtStation(t, GetStationIndex(t->tile)) &&
|
(IsRailStationTile(t->tile) && t->IsFrontEngine() && t->current_order.ShouldStopAtStation(t, GetStationIndex(t->tile)) &&
|
||||||
t->cur_speed >= t->Train::GetCurrentMaxSpeed())) {
|
t->cur_speed >= max_speed)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
max_speed = min(max_speed, t->gcache.cached_max_track_speed);
|
|
||||||
max_speed = min(max_speed, this->current_order.GetMaxSpeed());
|
|
||||||
}
|
}
|
||||||
if (this->type == VEH_ROAD || this->type == VEH_SHIP) max_speed = min(max_speed, this->current_order.GetMaxSpeed() * 2);
|
|
||||||
|
|
||||||
const Vehicle *v = this;
|
const Vehicle *v = this;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user