From f344b37b403577ec927e59d7ac20658d9ba7f277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=B3lik=20Uszasty?= Date: Sat, 25 Sep 2021 20:16:34 +0200 Subject: [PATCH] Additional ED brake factor for broken vehicles --- DynObj.cpp | 2 +- McZapkie/MOVER.h | 3 ++- McZapkie/Mover.cpp | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/DynObj.cpp b/DynObj.cpp index ced62243..a442b760 100644 --- a/DynObj.cpp +++ b/DynObj.cpp @@ -3204,7 +3204,7 @@ bool TDynamicObject::Update(double dt, double dt1) if ((MoverParameters->BrakeCtrlPos == MoverParameters->Handle->GetPos(bh_EB)) && (MoverParameters->eimc[eimc_p_abed] < 0.001)) FzadED = 0; //pętla bezpieczeństwa - bez ED - auto const FzadPN = Fzad - FrED; + auto const FzadPN = Fzad - FrED * MoverParameters->MED_FrED_factor; //np = 0; // BUG: likely memory leak, allocation per inner loop, deleted only once outside // TODO: sort this shit out diff --git a/McZapkie/MOVER.h b/McZapkie/MOVER.h index cfd63bb1..badb39de 100644 --- a/McZapkie/MOVER.h +++ b/McZapkie/MOVER.h @@ -1312,7 +1312,8 @@ public: bool MED_EPVC = 0; // czy korekcja sily hamowania EP, gdy nie ma dostepnego ED double MED_EPVC_Time = 7; // czas korekcji sily hamowania EP, gdy nie ma dostepnego ED bool MED_Ncor = 0; // czy korekcja sily hamowania z uwzglednieniem nacisku - double MED_MinBrakeReqED = 0; + double MED_MinBrakeReqED = 0; // minimalne zadanie sily hamowania uruchamiajace ED - ponizej tylko EP + double MED_FrED_factor = 1; // mnoznik sily hamowania ED do korekty blendingu int DCEMUED_CC { 0 }; //na którym sprzęgu sprawdzać działanie ED double DCEMUED_EP_max_Vel{ 0.0 }; //maksymalna prędkość, przy której działa EP przy włączonym ED w jednostce (dla tocznych) diff --git a/McZapkie/Mover.cpp b/McZapkie/Mover.cpp index de88ebc1..8839c4f3 100644 --- a/McZapkie/Mover.cpp +++ b/McZapkie/Mover.cpp @@ -10533,6 +10533,7 @@ void TMoverParameters::LoadFIZ_Blending(std::string const &line) { extract_value(MED_EPVC, "MED_EPVC", line, ""); extract_value(MED_Ncor, "MED_Ncor", line, ""); extract_value(MED_MinBrakeReqED, "MED_MinBrakeReqED", line, ""); + extract_value(MED_FrED_factor, "MED_FrEDFactor", line, ""); } void TMoverParameters::LoadFIZ_DCEMUED(std::string const &line) {