mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 17:29:18 +02:00
Next semaphor always look at this which have VelNext = 0
This commit is contained in:
33
Driver.cpp
33
Driver.cpp
@@ -1046,21 +1046,24 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
|
|||||||
moveSwitchFound; // rozjazd z przodu/pod ogranicza np. sens skanowania wstecz
|
moveSwitchFound; // rozjazd z przodu/pod ogranicza np. sens skanowania wstecz
|
||||||
else if (sSpeedTable[i].iFlags & spEvent) // W4 może się deaktywować
|
else if (sSpeedTable[i].iFlags & spEvent) // W4 może się deaktywować
|
||||||
{ // jeżeli event, może być potrzeba wysłania komendy, aby ruszył
|
{ // jeżeli event, może być potrzeba wysłania komendy, aby ruszył
|
||||||
//sprawdzanie eventów pasywnych miniętych
|
// sprawdzanie eventów pasywnych miniętych
|
||||||
if (sSpeedTable[i].fDist < 0.0 && sSemNext == &sSpeedTable[i])
|
if (sSpeedTable[i].fDist < 0.0 && sSemNext == &sSpeedTable[i])
|
||||||
{
|
{
|
||||||
WriteLog("TableUpdate: semaphor " + sSemNext->GetName() + " passed");
|
WriteLog("TableUpdate: semaphor " + sSemNext->GetName() + " passed");
|
||||||
sSemNext = NULL; // jeśli minęliśmy semafor od ograniczenia to go kasujemy ze
|
sSemNext = NULL; // jeśli minęliśmy semafor od ograniczenia to go kasujemy ze
|
||||||
// zmiennej sprawdzającej dla skanowania w przód
|
// zmiennej sprawdzającej dla skanowania w przód
|
||||||
}
|
}
|
||||||
if (sSpeedTable[i].fDist > 0.0 && !sSemNext &&
|
if (sSpeedTable[i].fDist > 0.0 &&
|
||||||
sSpeedTable[i].IsProperSemaphor(OrderCurrentGet()))
|
sSpeedTable[i].IsProperSemaphor(OrderCurrentGet()) &&
|
||||||
{
|
(!sSemNext ||
|
||||||
sSemNext = &sSpeedTable[i]; // jeśli jest mienięty poprzedni semafor a wcześniej
|
(sSemNext && sSemNext->fVelNext != 0 && sSpeedTable[i].fVelNext == 0)))
|
||||||
// byl nowy to go dorzucamy do zmiennej, żeby cały
|
{
|
||||||
// czas widział najbliższy
|
sSemNext = &sSpeedTable[i]; // jeśli jest mienięty poprzedni
|
||||||
WriteLog("TableUpdate: Next semaphor: " + sSemNext->GetName());
|
// semafor a wcześniej
|
||||||
}
|
// byl nowy to go dorzucamy do zmiennej, żeby cały
|
||||||
|
// czas widział najbliższy
|
||||||
|
WriteLog("TableUpdate: Next semaphor: " + sSemNext->GetName());
|
||||||
|
}
|
||||||
if (sSpeedTable[i].iFlags & spOutsideStation)
|
if (sSpeedTable[i].iFlags & spOutsideStation)
|
||||||
{ // jeśli W5, to reakcja zależna od trybu jazdy
|
{ // jeśli W5, to reakcja zależna od trybu jazdy
|
||||||
if (OrderCurrentGet() & Obey_train)
|
if (OrderCurrentGet() & Obey_train)
|
||||||
|
|||||||
Reference in New Issue
Block a user