mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 09:19:18 +02:00
build 200506. emergency brake warning signal
This commit is contained in:
43
DynObj.cpp
43
DynObj.cpp
@@ -4259,23 +4259,32 @@ void TDynamicObject::RenderSounds() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// horns
|
// horns
|
||||||
if( TestFlag( MoverParameters->WarningSignal, 1 ) ) {
|
{
|
||||||
sHorn1.play( sound_flags::exclusive | sound_flags::looping );
|
// for moving vehicle combine regular horn activation flag with emergency brake horn activation flag, if the brake is active
|
||||||
}
|
auto const warningsignal { (
|
||||||
else {
|
( MoverParameters->Vel > 0.5 ) && ( MoverParameters->AlarmChainFlag ) ?
|
||||||
sHorn1.stop();
|
MoverParameters->EmergencyBrakeWarningSignal :
|
||||||
}
|
0 )
|
||||||
if( TestFlag( MoverParameters->WarningSignal, 2 ) ) {
|
| ( MoverParameters->WarningSignal ) };
|
||||||
sHorn2.play( sound_flags::exclusive | sound_flags::looping );
|
|
||||||
}
|
if( TestFlag( warningsignal, 1 ) ) {
|
||||||
else {
|
sHorn1.play( sound_flags::exclusive | sound_flags::looping );
|
||||||
sHorn2.stop();
|
}
|
||||||
}
|
else {
|
||||||
if( TestFlag( MoverParameters->WarningSignal, 4 ) ) {
|
sHorn1.stop();
|
||||||
sHorn3.play( sound_flags::exclusive | sound_flags::looping );
|
}
|
||||||
}
|
if( TestFlag( warningsignal, 2 ) ) {
|
||||||
else {
|
sHorn2.play( sound_flags::exclusive | sound_flags::looping );
|
||||||
sHorn3.stop();
|
}
|
||||||
|
else {
|
||||||
|
sHorn2.stop();
|
||||||
|
}
|
||||||
|
if( TestFlag( warningsignal, 4 ) ) {
|
||||||
|
sHorn3.play( sound_flags::exclusive | sound_flags::looping );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sHorn3.stop();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// szum w czasie jazdy
|
// szum w czasie jazdy
|
||||||
if( ( GetVelocity() > 0.5 )
|
if( ( GetVelocity() > 0.5 )
|
||||||
|
|||||||
@@ -1128,6 +1128,7 @@ public:
|
|||||||
bool MBrake = false; /*Czy jest hamulec reczny*/
|
bool MBrake = false; /*Czy jest hamulec reczny*/
|
||||||
double StopBrakeDecc = 0.0;
|
double StopBrakeDecc = 0.0;
|
||||||
TSecuritySystem SecuritySystem;
|
TSecuritySystem SecuritySystem;
|
||||||
|
int EmergencyBrakeWarningSignal{ 0 }; // combined with basic WarningSignal when manual emergency brake is active
|
||||||
TUniversalCtrlTable UniCtrlList; /*lista pozycji uniwersalnego nastawnika*/
|
TUniversalCtrlTable UniCtrlList; /*lista pozycji uniwersalnego nastawnika*/
|
||||||
int UniCtrlListSize = 0; /*wielkosc listy pozycji uniwersalnego nastawnika*/
|
int UniCtrlListSize = 0; /*wielkosc listy pozycji uniwersalnego nastawnika*/
|
||||||
bool UniCtrlIntegratedBrakePNCtrl = false; /*zintegrowany nastawnik JH obsluguje hamulec PN*/
|
bool UniCtrlIntegratedBrakePNCtrl = false; /*zintegrowany nastawnik JH obsluguje hamulec PN*/
|
||||||
|
|||||||
@@ -10301,6 +10301,8 @@ void TMoverParameters::LoadFIZ_Security( std::string const &line ) {
|
|||||||
extract_value( SecuritySystem.SoundSignalDelay, "SoundSignalDelay", line, "" );
|
extract_value( SecuritySystem.SoundSignalDelay, "SoundSignalDelay", line, "" );
|
||||||
extract_value( SecuritySystem.EmergencyBrakeDelay, "EmergencyBrakeDelay", line, "" );
|
extract_value( SecuritySystem.EmergencyBrakeDelay, "EmergencyBrakeDelay", line, "" );
|
||||||
extract_value( SecuritySystem.RadioStop, "RadioStop", line, "" );
|
extract_value( SecuritySystem.RadioStop, "RadioStop", line, "" );
|
||||||
|
|
||||||
|
extract_value( EmergencyBrakeWarningSignal, "EmergencyBrakeWarningSignal", line, "" );
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMoverParameters::LoadFIZ_Clima( std::string const &line ) {
|
void TMoverParameters::LoadFIZ_Clima( std::string const &line ) {
|
||||||
|
|||||||
12
Train.cpp
12
Train.cpp
@@ -5744,14 +5744,14 @@ void TTrain::OnCommand_cabchangeforward( TTrain *Train, command_data const &Comm
|
|||||||
movedirection > 0 ?
|
movedirection > 0 ?
|
||||||
end::front :
|
end::front :
|
||||||
end::rear ) };
|
end::rear ) };
|
||||||
if( TestFlag( Train->DynamicObject->MoverParameters->Couplers[ exitdirection ].CouplingFlag, coupling::gangway ) ) {
|
if( TestFlag( Train->mvOccupied->Couplers[ exitdirection ].CouplingFlag, coupling::gangway ) ) {
|
||||||
// przejscie do nastepnego pojazdu
|
// przejscie do nastepnego pojazdu
|
||||||
auto *targetvehicle = (
|
auto *targetvehicle = (
|
||||||
exitdirection == end::front ?
|
exitdirection == end::front ?
|
||||||
Train->DynamicObject->PrevConnected() :
|
Train->DynamicObject->PrevConnected() :
|
||||||
Train->DynamicObject->NextConnected() );
|
Train->DynamicObject->NextConnected() );
|
||||||
targetvehicle->MoverParameters->CabOccupied = (
|
targetvehicle->MoverParameters->CabOccupied = (
|
||||||
Train->DynamicObject->MoverParameters->Neighbours[ exitdirection ].vehicle_end ?
|
Train->mvOccupied->Neighbours[ exitdirection ].vehicle_end ?
|
||||||
-1 :
|
-1 :
|
||||||
1 );
|
1 );
|
||||||
Train->MoveToVehicle( targetvehicle );
|
Train->MoveToVehicle( targetvehicle );
|
||||||
@@ -5778,14 +5778,14 @@ void TTrain::OnCommand_cabchangebackward( TTrain *Train, command_data const &Com
|
|||||||
movedirection > 0 ?
|
movedirection > 0 ?
|
||||||
end::front :
|
end::front :
|
||||||
end::rear ) };
|
end::rear ) };
|
||||||
if( TestFlag( Train->DynamicObject->MoverParameters->Couplers[ exitdirection ].CouplingFlag, coupling::gangway ) ) {
|
if( TestFlag( Train->mvOccupied->Couplers[ exitdirection ].CouplingFlag, coupling::gangway ) ) {
|
||||||
// przejscie do nastepnego pojazdu
|
// przejscie do nastepnego pojazdu
|
||||||
auto *targetvehicle = (
|
auto *targetvehicle = (
|
||||||
exitdirection == end::front ?
|
exitdirection == end::front ?
|
||||||
Train->DynamicObject->PrevConnected() :
|
Train->DynamicObject->PrevConnected() :
|
||||||
Train->DynamicObject->NextConnected() );
|
Train->DynamicObject->NextConnected() );
|
||||||
targetvehicle->MoverParameters->CabOccupied = (
|
targetvehicle->MoverParameters->CabOccupied = (
|
||||||
Train->DynamicObject->MoverParameters->Neighbours[ exitdirection ].vehicle_end ?
|
Train->mvOccupied->Neighbours[ exitdirection ].vehicle_end ?
|
||||||
-1 :
|
-1 :
|
||||||
1 );
|
1 );
|
||||||
Train->MoveToVehicle( targetvehicle );
|
Train->MoveToVehicle( targetvehicle );
|
||||||
@@ -7016,8 +7016,8 @@ bool TTrain::Update( double const Deltatime )
|
|||||||
ggMotorBlowersAllOffButton.Update();
|
ggMotorBlowersAllOffButton.Update();
|
||||||
|
|
||||||
// wyprowadzenie sygnałów dla haslera na PoKeys (zaznaczanie na taśmie)
|
// wyprowadzenie sygnałów dla haslera na PoKeys (zaznaczanie na taśmie)
|
||||||
btHaslerBrakes.Turn(DynamicObject->MoverParameters->BrakePress > 0.4); // ciśnienie w cylindrach
|
btHaslerBrakes.Turn(mvOccupied->BrakePress > 0.4); // ciśnienie w cylindrach
|
||||||
btHaslerCurrent.Turn(DynamicObject->MoverParameters->Im != 0.0); // prąd na silnikach
|
btHaslerCurrent.Turn(mvOccupied->Im != 0.0); // prąd na silnikach
|
||||||
|
|
||||||
// calculate current level of interior illumination
|
// calculate current level of interior illumination
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user