(svn r21517) -Codechange: Add IsGroundVehicle function to the Engine class.

pull/155/head
terkhen 14 years ago
parent 47c9189002
commit 14100e9798

@ -108,7 +108,7 @@ CargoArray GetCapacityOfArticulatedParts(EngineID engine)
uint16 cargo_capacity = GetVehicleDefaultCapacity(engine, &cargo_type);
if (cargo_type < NUM_CARGO) capacity[cargo_type] = cargo_capacity;
if (e->type != VEH_TRAIN && e->type != VEH_ROAD) return capacity;
if (!e->IsGroundVehicle()) return capacity;
if (!HasBit(e->info.callback_mask, CBM_VEHICLE_ARTIC_ENGINE)) return capacity;
@ -133,7 +133,7 @@ bool IsArticulatedVehicleRefittable(EngineID engine)
if (IsEngineRefittable(engine)) return true;
const Engine *e = Engine::Get(engine);
if (e->type != VEH_TRAIN && e->type != VEH_ROAD) return false;
if (!e->IsGroundVehicle()) return false;
if (!HasBit(e->info.callback_mask, CBM_VEHICLE_ARTIC_ENGINE)) return false;
@ -161,7 +161,7 @@ void GetArticulatedRefitMasks(EngineID engine, bool include_initial_cargo_type,
*union_mask = veh_cargos;
*intersection_mask = (veh_cargos != 0) ? veh_cargos : UINT32_MAX;
if (e->type != VEH_TRAIN && e->type != VEH_ROAD) return;
if (!e->IsGroundVehicle()) return;
if (!HasBit(e->info.callback_mask, CBM_VEHICLE_ARTIC_ENGINE)) return;
for (uint i = 1; i < MAX_ARTICULATED_PARTS; i++) {

@ -87,6 +87,15 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> {
uint GetDisplayWeight() const;
uint GetDisplayMaxTractiveEffort() const;
Date GetLifeLengthInDays() const;
/**
* Check if the engine is a ground vehicle.
* @return True iff the engine is a train or a road vehicle.
*/
FORCEINLINE bool IsGroundVehicle() const
{
return this->type == VEH_TRAIN || this->type == VEH_ROAD;
}
};
struct EngineIDMapping {

Loading…
Cancel
Save