mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
Poprawka czytania zmiennych eimp_c [youBy]
Grupowanie jednostek sprzęgiem 128 (sprzęg depotowy) a nie 4 (ukrotnienie) [youBy]
This commit is contained in:
20
DynObj.cpp
20
DynObj.cpp
@@ -139,7 +139,7 @@ void TAnim::Parovoz(){
|
||||
// animowanie tłoka i rozrządu parowozu
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
TDynamicObject * TDynamicObject::FirstFind(int &coupler_nr)
|
||||
TDynamicObject * TDynamicObject::FirstFind(int &coupler_nr, int cf)
|
||||
{ // szukanie skrajnego połączonego pojazdu w pociagu
|
||||
// od strony sprzegu (coupler_nr) obiektu (start)
|
||||
TDynamicObject *temp = this;
|
||||
@@ -147,8 +147,8 @@ TDynamicObject * TDynamicObject::FirstFind(int &coupler_nr)
|
||||
{
|
||||
if (!temp)
|
||||
return NULL; // Ra: zabezpieczenie przed ewentaulnymi błędami sprzęgów
|
||||
if (temp->MoverParameters->Couplers[coupler_nr].CouplingFlag == 0)
|
||||
return temp; // nic nie ma już dalej podłączone
|
||||
if ((temp->MoverParameters->Couplers[coupler_nr].CouplingFlag & cf) != cf)
|
||||
return temp; // nic nie ma już dalej podłączone sprzęgiem cf
|
||||
if (coupler_nr == 0)
|
||||
{ // jeżeli szukamy od sprzęgu 0
|
||||
if (temp->PrevConnected) // jeśli mamy coś z przodu
|
||||
@@ -255,11 +255,11 @@ float TDynamicObject::GetEPP()
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
TDynamicObject * TDynamicObject::GetFirstDynamic(int cpl_type)
|
||||
TDynamicObject * TDynamicObject::GetFirstDynamic(int cpl_type, int cf)
|
||||
{ // Szukanie skrajnego połączonego pojazdu w pociagu
|
||||
// od strony sprzegu (cpl_type) obiektu szukajacego
|
||||
// Ra: wystarczy jedna funkcja do szukania w obu kierunkach
|
||||
return FirstFind(cpl_type); // używa referencji
|
||||
return FirstFind(cpl_type, cf); // używa referencji
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -2664,7 +2664,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
|
||||
// 2. ustal mozliwa do realizacji sile hamowania ED
|
||||
// - w szczegolnosci powinien brac pod uwage rozne sily hamowania
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0); p;
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0, 4); p;
|
||||
(kier ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||
{
|
||||
np++;
|
||||
@@ -2747,7 +2747,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
////ALGORYTM 2 - KAZDEMU PO ROWNO, ale nie wiecej niz eped * masa
|
||||
// 1. najpierw daj kazdemu tyle samo
|
||||
int i = 0;
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0); p;
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0, 4); p;
|
||||
(kier > 0 ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||
{
|
||||
float Nmax = ((p->MoverParameters->P2FTrans * p->MoverParameters->MaxBrakePress[0] -
|
||||
@@ -2775,7 +2775,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
test = false;
|
||||
i = 0;
|
||||
float przek = 0;
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0); p;
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0, 4); p;
|
||||
(kier > 0 ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||
{
|
||||
if ((FzEP[i] > 0.01) &&
|
||||
@@ -2801,7 +2801,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
}
|
||||
i = 0;
|
||||
przek = przek / (np - nPrzekrF);
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0); p;
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0, 4); p;
|
||||
(kier > 0 ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||
{
|
||||
if (!PrzekrF[i])
|
||||
@@ -2812,7 +2812,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
}
|
||||
}
|
||||
i = 0;
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0); p;
|
||||
for (TDynamicObject *p = GetFirstDynamic(MoverParameters->ActiveCab < 0 ? 1 : 0, 4); p;
|
||||
(kier > 0 ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||
{
|
||||
float Nmax = ((p->MoverParameters->P2FTrans * p->MoverParameters->MaxBrakePress[0] -
|
||||
|
||||
Reference in New Issue
Block a user