diff --git a/source/main/physics/Actor.cpp b/source/main/physics/Actor.cpp index 1680eb6853..c2b01a1fe4 100644 --- a/source/main/physics/Actor.cpp +++ b/source/main/physics/Actor.cpp @@ -3186,7 +3186,7 @@ void Actor::updateVisual(float dt) // update exhausts // TODO: Move to GfxActor, don't forget dt*m_simulation_speed - if (!m_disable_smoke && ar_engine && exhausts.size() > 0) + if (ar_engine && exhausts.size() > 0) { std::vector::iterator it; for (it = exhausts.begin(); it != exhausts.end(); it++) @@ -3198,7 +3198,7 @@ void Actor::updateVisual(float dt) ParticleEmitter* emit = it->smoker->getEmitter(0); it->smokeNode->setPosition(ar_nodes[it->emitterNode].AbsPosition); emit->setDirection(dir); - if (ar_engine->GetSmoke() != -1.0) + if (!m_disable_smoke && ar_engine->GetSmoke() != -1.0) { emit->setEnabled(true); emit->setColour(ColourValue(0.0, 0.0, 0.0, 0.02 + ar_engine->GetSmoke() * 0.06)); diff --git a/source/main/physics/ActorSpawner.cpp b/source/main/physics/ActorSpawner.cpp index a58a77ae5e..6aaff83bbb 100644 --- a/source/main/physics/ActorSpawner.cpp +++ b/source/main/physics/ActorSpawner.cpp @@ -657,6 +657,10 @@ void ActorSpawner::ProcessTurbojet(RigDef::Turbojet & def) tj->tjet_visual.SetNodes(front, back, ref); tj->tjet_visual.SetupVisuals(def, m_actor->ar_num_aeroengines, propname, nozzle_ent, afterburn_ent); + if (!m_actor->m_disable_smoke) + { + tj->tjet_visual.SetVisible(true); + } m_actor->ar_aeroengines[m_actor->ar_num_aeroengines]=tj; m_actor->ar_driveable=AIRPLANE;