forked from mirror/OpenTTD
(svn r16719) -Codechange: make IsArticulatedPart(), IsTrainEngine(), IsTrainWagon(), IsMultiheaded(), EngineHasArticPart() and IsRearDualheaded() members of Train
This commit is contained in:
@@ -481,8 +481,8 @@ bool IsEngineCountable(const Vehicle *v)
|
||||
switch (v->type) {
|
||||
case VEH_AIRCRAFT: return IsNormalAircraft(v); // don't count plane shadows and helicopter rotors
|
||||
case VEH_TRAIN:
|
||||
return !IsArticulatedPart(v) && // tenders and other articulated parts
|
||||
!IsRearDualheaded(v); // rear parts of multiheaded engines
|
||||
return !Train::From(v)->IsArticulatedPart() && // tenders and other articulated parts
|
||||
!Train::From(v)->IsRearDualheaded(); // rear parts of multiheaded engines
|
||||
case VEH_ROAD: return IsRoadVehFront(v);
|
||||
case VEH_SHIP: return true;
|
||||
default: return false; // Only count company buildable vehicles
|
||||
@@ -518,7 +518,7 @@ void Vehicle::PreDestructor()
|
||||
}
|
||||
}
|
||||
|
||||
if (this->type != VEH_TRAIN || (this->type == VEH_TRAIN && (Train::From(this)->IsFrontEngine() || IsFreeWagon(this)))) {
|
||||
if (this->Previous() == NULL) {
|
||||
InvalidateWindowData(WC_VEHICLE_DEPOT, this->tile);
|
||||
}
|
||||
|
||||
@@ -601,7 +601,7 @@ void CallVehicleTicks()
|
||||
case VEH_ROAD:
|
||||
case VEH_AIRCRAFT:
|
||||
case VEH_SHIP:
|
||||
if (v->type == VEH_TRAIN && IsTrainWagon(v)) continue;
|
||||
if (v->type == VEH_TRAIN && Train::From(v)->IsWagon()) continue;
|
||||
if (v->type == VEH_AIRCRAFT && v->subtype != AIR_HELICOPTER) continue;
|
||||
if (v->type == VEH_ROAD && !IsRoadVehFront(v)) continue;
|
||||
|
||||
@@ -1277,7 +1277,7 @@ const Livery *GetEngineLivery(EngineID engine_type, CompanyID company, EngineID
|
||||
default: NOT_REACHED();
|
||||
case VEH_TRAIN: {
|
||||
const RailVehicleInfo *rvi = RailVehInfo(engine_type);
|
||||
if (v != NULL && parent_engine_type != INVALID_ENGINE && (UsesWagonOverride(v) || (IsArticulatedPart(v) && rvi->railveh_type != RAILVEH_WAGON))) {
|
||||
if (v != NULL && parent_engine_type != INVALID_ENGINE && (UsesWagonOverride(v) || (Train::From(v)->IsArticulatedPart() && rvi->railveh_type != RAILVEH_WAGON))) {
|
||||
/* Wagonoverrides use the coloir scheme of the front engine.
|
||||
* Articulated parts use the colour scheme of the first part. (Not supported for articulated wagons) */
|
||||
engine_type = parent_engine_type;
|
||||
|
Reference in New Issue
Block a user