diff --git a/McZapkie/MOVER.h b/McZapkie/MOVER.h index 2702aee1..c550b76f 100644 --- a/McZapkie/MOVER.h +++ b/McZapkie/MOVER.h @@ -1196,6 +1196,7 @@ public: bool ReleaseParkingBySpringBrakeWhenDoorIsOpen{ false }; bool SpringBrakeCutsOffDrive { true }; double SpringBrakeDriveEmergencyVel { -1 }; + bool HideDirStatusWhenMoving { false }; TSecuritySystem SecuritySystem; int EmergencyBrakeWarningSignal{ 0 }; // combined with basic WarningSignal when manual emergency brake is active TUniversalCtrlTable UniCtrlList; /*lista pozycji uniwersalnego nastawnika*/ diff --git a/McZapkie/Mover.cpp b/McZapkie/Mover.cpp index ae3180f5..66a78eff 100644 --- a/McZapkie/Mover.cpp +++ b/McZapkie/Mover.cpp @@ -10576,6 +10576,7 @@ void TMoverParameters::LoadFIZ_Cntrl( std::string const &line ) { extract_value( SpringBrakeCutsOffDrive, "SpringBrakeCutsOffDrive", line, ""); extract_value( SpringBrakeDriveEmergencyVel, "SpringBrakeDriveEmergencyVel", line, ""); + extract_value(HideDirStatusWhenMoving "HideDirStatusWhenMoving", line, ""); std::map starts { { "Disabled", start_t::disabled }, { "Manual", start_t::manual }, diff --git a/Train.cpp b/Train.cpp index 12a23d7e..e05903df 100644 --- a/Train.cpp +++ b/Train.cpp @@ -7507,8 +7507,16 @@ bool TTrain::Update( double const Deltatime ) btLampkaDoorLockOff.Turn( false == mvOccupied->Doors.lock_enabled ); btLampkaDepartureSignal.Turn( mvControlled->DepartureSignal ); btLampkaNapNastHam.Turn((mvControlled->DirActive != 0) && (mvOccupied->EpFuse)); // napiecie na nastawniku hamulcowym - btLampkaForward.Turn(mvControlled->DirActive > 0); // jazda do przodu - btLampkaBackward.Turn(mvControlled->DirActive < 0); // jazda do tyłu + // Wylaczanie lampek kierunku gdy jedziemy + // Feature uruchamiany z fiz z sekcji Ctrl. wpisem HideDirStatusWhenMoving=Yes (domyslnie No) + if (mvOccupied->HideDirStatusWhenMoving && mvOccupied->Vel > 1) { + btLampkaForward.Turn(false); + btLampkaBackward.Turn(false); + } + else { + btLampkaForward.Turn(mvControlled->DirActive > 0); // jazda do przodu + btLampkaBackward.Turn(mvControlled->DirActive < 0); // jazda do tyłu + } btLampkaED.Turn(mvControlled->DynamicBrakeFlag); // hamulec ED btLampkaBrakeProfileG.Turn( TestFlag( mvOccupied->BrakeDelayFlag, bdelay_G ) ); btLampkaBrakeProfileP.Turn( TestFlag( mvOccupied->BrakeDelayFlag, bdelay_P ) );