mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-16 00:12:51 +00:00
(svn r8320) -Fix
Simplify TrainPowerChanged() somewhat by eleminating code duplication
This commit is contained in:
parent
60864af5d1
commit
5438336102
@ -65,22 +65,14 @@ void TrainPowerChanged(Vehicle* v)
|
|||||||
uint32 max_te = 0;
|
uint32 max_te = 0;
|
||||||
|
|
||||||
for (u = v; u != NULL; u = u->next) {
|
for (u = v; u != NULL; u = u->next) {
|
||||||
const RailVehicleInfo *rvi_u;
|
|
||||||
bool engine_has_power = true;
|
|
||||||
bool wagon_has_power = true;
|
|
||||||
|
|
||||||
/* Power is not added for articulated parts */
|
/* Power is not added for articulated parts */
|
||||||
if (IsArticulatedPart(u)) continue;
|
if (IsArticulatedPart(u)) continue;
|
||||||
|
|
||||||
if (IsLevelCrossingTile(u->tile)) {
|
RailType railtype = (IsLevelCrossingTile(u->tile) ? GetRailTypeCrossing(u->tile) : GetRailType(u->tile));
|
||||||
if (!HasPowerOnRail(u->u.rail.railtype, GetRailTypeCrossing(u->tile))) engine_has_power = false;
|
bool engine_has_power = HasPowerOnRail(u->u.rail.railtype, railtype);
|
||||||
if (!HasPowerOnRail(v->u.rail.railtype, GetRailTypeCrossing(u->tile))) wagon_has_power = false;
|
bool wagon_has_power = HasPowerOnRail(v->u.rail.railtype, railtype);
|
||||||
} else {
|
|
||||||
if (!HasPowerOnRail(u->u.rail.railtype, GetRailType(u->tile))) engine_has_power = false;
|
|
||||||
if (!HasPowerOnRail(v->u.rail.railtype, GetRailType(u->tile))) wagon_has_power = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
rvi_u = RailVehInfo(u->engine_type);
|
const RailVehicleInfo *rvi_u = RailVehInfo(u->engine_type);
|
||||||
|
|
||||||
if (engine_has_power && rvi_u->power != 0) {
|
if (engine_has_power && rvi_u->power != 0) {
|
||||||
power += rvi_u->power;
|
power += rvi_u->power;
|
||||||
|
Loading…
Reference in New Issue
Block a user