diff -r 7ba2940f7eb3 src/engine_type.h --- a/src/engine_type.h Thu Jun 23 17:45:06 2011 +0000 +++ b/src/engine_type.h Fri Jun 24 18:35:54 2011 +0200 @@ -138,11 +138,12 @@ * EngineInfo.misc_flags is a bitmask, with the following values */ enum EngineMiscFlags { - EF_RAIL_TILTS = 0, ///< Rail vehicle tilts in curves - EF_ROAD_TRAM = 0, ///< Road vehicle is a tram/light rail vehicle - EF_USES_2CC = 1, ///< Vehicle uses two company colours - EF_RAIL_IS_MU = 2, ///< Rail vehicle is a multiple-unit (DMU/EMU) - EF_RAIL_FLIPS = 3, ///< Rail vehicle can be flipped in the depot + EF_RAIL_TILTS = 0, ///< Rail vehicle tilts in curves + EF_ROAD_TRAM = 0, ///< Road vehicle is a tram/light rail vehicle + EF_USES_2CC = 1, ///< Vehicle uses two company colours + EF_RAIL_IS_MU = 2, ///< Rail vehicle is a multiple-unit (DMU/EMU) + EF_RAIL_FLIPS = 3, ///< Rail vehicle can be flipped in the depot + EF_NO_BREAKDOWN_SMOKE = 4, ///< Do not show black smoke during a breakdown }; /** diff -r 7ba2940f7eb3 src/vehicle.cpp --- a/src/vehicle.cpp Thu Jun 23 17:45:06 2011 +0000 +++ b/src/vehicle.cpp Fri Jun 24 18:35:54 2011 +0200 @@ -1102,7 +1102,7 @@ (this->type == VEH_TRAIN ? SND_3A_COMEDY_BREAKDOWN_2 : SND_35_COMEDY_BREAKDOWN), this); } - if (!(this->vehstatus & VS_HIDDEN)) { + if (!(this->vehstatus & VS_HIDDEN) && !HasBit(Engine::Get(this->engine_type)->flags, EF_NO_BREAKDOWN_SMOKE)) { EffectVehicle *u = CreateEffectVehicleRel(this, 4, 4, 5, EV_BREAKDOWN_SMOKE); if (u != NULL) u->animation_state = this->breakdown_delay * 2; }