mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-21 13:39:18 +02:00
Merge pull request #4 from antonisauren/lcd_python
Poprawka czytania zmiennych eimp_c [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
|
// 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
|
{ // szukanie skrajnego połączonego pojazdu w pociagu
|
||||||
// od strony sprzegu (coupler_nr) obiektu (start)
|
// od strony sprzegu (coupler_nr) obiektu (start)
|
||||||
TDynamicObject *temp = this;
|
TDynamicObject *temp = this;
|
||||||
@@ -147,8 +147,8 @@ TDynamicObject * TDynamicObject::FirstFind(int &coupler_nr)
|
|||||||
{
|
{
|
||||||
if (!temp)
|
if (!temp)
|
||||||
return NULL; // Ra: zabezpieczenie przed ewentaulnymi błędami sprzęgów
|
return NULL; // Ra: zabezpieczenie przed ewentaulnymi błędami sprzęgów
|
||||||
if (temp->MoverParameters->Couplers[coupler_nr].CouplingFlag == 0)
|
if ((temp->MoverParameters->Couplers[coupler_nr].CouplingFlag & cf) != cf)
|
||||||
return temp; // nic nie ma już dalej podłączone
|
return temp; // nic nie ma już dalej podłączone sprzęgiem cf
|
||||||
if (coupler_nr == 0)
|
if (coupler_nr == 0)
|
||||||
{ // jeżeli szukamy od sprzęgu 0
|
{ // jeżeli szukamy od sprzęgu 0
|
||||||
if (temp->PrevConnected) // jeśli mamy coś z przodu
|
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
|
{ // Szukanie skrajnego połączonego pojazdu w pociagu
|
||||||
// od strony sprzegu (cpl_type) obiektu szukajacego
|
// od strony sprzegu (cpl_type) obiektu szukajacego
|
||||||
// Ra: wystarczy jedna funkcja do szukania w obu kierunkach
|
// 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
|
// 2. ustal mozliwa do realizacji sile hamowania ED
|
||||||
// - w szczegolnosci powinien brac pod uwage rozne sily hamowania
|
// - 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)))
|
(kier ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||||
{
|
{
|
||||||
np++;
|
np++;
|
||||||
@@ -2747,7 +2747,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
|||||||
////ALGORYTM 2 - KAZDEMU PO ROWNO, ale nie wiecej niz eped * masa
|
////ALGORYTM 2 - KAZDEMU PO ROWNO, ale nie wiecej niz eped * masa
|
||||||
// 1. najpierw daj kazdemu tyle samo
|
// 1. najpierw daj kazdemu tyle samo
|
||||||
int i = 0;
|
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)))
|
(kier > 0 ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||||
{
|
{
|
||||||
float Nmax = ((p->MoverParameters->P2FTrans * p->MoverParameters->MaxBrakePress[0] -
|
float Nmax = ((p->MoverParameters->P2FTrans * p->MoverParameters->MaxBrakePress[0] -
|
||||||
@@ -2775,7 +2775,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
|||||||
test = false;
|
test = false;
|
||||||
i = 0;
|
i = 0;
|
||||||
float przek = 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)))
|
(kier > 0 ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||||
{
|
{
|
||||||
if ((FzEP[i] > 0.01) &&
|
if ((FzEP[i] > 0.01) &&
|
||||||
@@ -2801,7 +2801,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
|||||||
}
|
}
|
||||||
i = 0;
|
i = 0;
|
||||||
przek = przek / (np - nPrzekrF);
|
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)))
|
(kier > 0 ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||||
{
|
{
|
||||||
if (!PrzekrF[i])
|
if (!PrzekrF[i])
|
||||||
@@ -2812,7 +2812,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
i = 0;
|
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)))
|
(kier > 0 ? p = p->NextC(4) : p = p->PrevC(4)))
|
||||||
{
|
{
|
||||||
float Nmax = ((p->MoverParameters->P2FTrans * p->MoverParameters->MaxBrakePress[0] -
|
float Nmax = ((p->MoverParameters->P2FTrans * p->MoverParameters->MaxBrakePress[0] -
|
||||||
|
|||||||
4
DynObj.h
4
DynObj.h
@@ -371,7 +371,7 @@ class TDynamicObject
|
|||||||
|
|
||||||
TDynamicObject * ABuScanNearestObject(TTrack *Track, double ScanDir, double ScanDist,
|
TDynamicObject * ABuScanNearestObject(TTrack *Track, double ScanDir, double ScanDist,
|
||||||
int &CouplNr);
|
int &CouplNr);
|
||||||
TDynamicObject * GetFirstDynamic(int cpl_type);
|
TDynamicObject * GetFirstDynamic(int cpl_type, int cf = 1);
|
||||||
// TDynamicObject* GetFirstCabDynamic(int cpl_type);
|
// TDynamicObject* GetFirstCabDynamic(int cpl_type);
|
||||||
void ABuSetModelShake(vector3 mShake);
|
void ABuSetModelShake(vector3 mShake);
|
||||||
|
|
||||||
@@ -487,7 +487,7 @@ class TDynamicObject
|
|||||||
void Damage(char flag);
|
void Damage(char flag);
|
||||||
void RaLightsSet(int head, int rear);
|
void RaLightsSet(int head, int rear);
|
||||||
// void RaAxleEvent(TEvent *e);
|
// void RaAxleEvent(TEvent *e);
|
||||||
TDynamicObject * FirstFind(int &coupler_nr);
|
TDynamicObject * FirstFind(int &coupler_nr, int cf = 1);
|
||||||
float GetEPP(); // wyliczanie sredniego cisnienia w PG
|
float GetEPP(); // wyliczanie sredniego cisnienia w PG
|
||||||
int DirectionSet(int d); // ustawienie kierunku w składzie
|
int DirectionSet(int d); // ustawienie kierunku w składzie
|
||||||
int DirectionGet()
|
int DirectionGet()
|
||||||
|
|||||||
@@ -49,9 +49,9 @@ double Global::fLuminance = 1.0; // jasno
|
|||||||
int Global::iReCompile = 0; // zwiêkszany, gdy trzeba odœwie¿yæ siatki
|
int Global::iReCompile = 0; // zwiêkszany, gdy trzeba odœwie¿yæ siatki
|
||||||
HWND Global::hWnd = NULL; // uchwyt okna
|
HWND Global::hWnd = NULL; // uchwyt okna
|
||||||
int Global::iCameraLast = -1;
|
int Global::iCameraLast = -1;
|
||||||
AnsiString Global::asRelease = "15.4.1171.474";
|
AnsiString Global::asRelease = "15.4.1171.475";
|
||||||
AnsiString Global::asVersion =
|
AnsiString Global::asVersion =
|
||||||
"Compilation 2015-11-15, release " + Global::asRelease + "."; // tutaj, bo wysy³any
|
"Compilation 2016-03-14, release " + Global::asRelease + "."; // tutaj, bo wysy³any
|
||||||
int Global::iViewMode = 0; // co aktualnie widaæ: 0-kabina, 1-latanie, 2-sprzêgi, 3-dokumenty
|
int Global::iViewMode = 0; // co aktualnie widaæ: 0-kabina, 1-latanie, 2-sprzêgi, 3-dokumenty
|
||||||
int Global::iTextMode = 0; // tryb pracy wyœwietlacza tekstowego
|
int Global::iTextMode = 0; // tryb pracy wyœwietlacza tekstowego
|
||||||
int Global::iScreenMode[12] = {0, 0, 0, 0, 0, 0,
|
int Global::iScreenMode[12] = {0, 0, 0, 0, 0, 0,
|
||||||
|
|||||||
@@ -2670,7 +2670,7 @@ bool TTrain::Update()
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool kier = (DynamicObject->DirectionGet()*mvOccupied->ActiveCab > 0);
|
bool kier = (DynamicObject->DirectionGet()*mvOccupied->ActiveCab > 0);
|
||||||
TDynamicObject *p = DynamicObject->GetFirstDynamic(mvOccupied->ActiveCab < 0 ? 1 : 0);
|
TDynamicObject *p = DynamicObject->GetFirstDynamic(mvOccupied->ActiveCab < 0 ? 1 : 0, 4);
|
||||||
int in = 0;
|
int in = 0;
|
||||||
fEIMParams[0][6] = 0;
|
fEIMParams[0][6] = 0;
|
||||||
iCarNo = 0;
|
iCarNo = 0;
|
||||||
@@ -2735,7 +2735,7 @@ bool TTrain::Update()
|
|||||||
iPowerNo = in;
|
iPowerNo = in;
|
||||||
}
|
}
|
||||||
// p = p->NextC(4); //prev
|
// p = p->NextC(4); //prev
|
||||||
if ((kier ? p->NextC(16) : p->PrevC(16)) != (kier ? p->NextC(4) : p->PrevC(4)))
|
if ((kier ? p->NextC(128) : p->PrevC(128)) != (kier ? p->NextC(4) : p->PrevC(4)))
|
||||||
iUnitNo++;
|
iUnitNo++;
|
||||||
p = (kier ? p->NextC(4) : p->PrevC(4));
|
p = (kier ? p->NextC(4) : p->PrevC(4));
|
||||||
iCarNo = i + 1;
|
iCarNo = i + 1;
|
||||||
@@ -6093,7 +6093,7 @@ void TTrain::Silence()
|
|||||||
|
|
||||||
void TTrain::SetLights()
|
void TTrain::SetLights()
|
||||||
{
|
{
|
||||||
TDynamicObject *p = DynamicObject->GetFirstDynamic(mvOccupied->ActiveCab < 0 ? 1 : 0);
|
TDynamicObject *p = DynamicObject->GetFirstDynamic(mvOccupied->ActiveCab < 0 ? 1 : 0, 4);
|
||||||
bool kier = (DynamicObject->DirectionGet() * mvOccupied->ActiveCab > 0);
|
bool kier = (DynamicObject->DirectionGet() * mvOccupied->ActiveCab > 0);
|
||||||
int xs = (kier ? 0 : 1);
|
int xs = (kier ? 0 : 1);
|
||||||
if (kier ? p->NextC(1) : p->PrevC(1)) // jesli jest nastepny, to tylko przod
|
if (kier ? p->NextC(1) : p->PrevC(1)) // jesli jest nastepny, to tylko przod
|
||||||
|
|||||||
Reference in New Issue
Block a user