mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 23:19:19 +02:00
PassengerStopPoint GuardSignal bug
GuardSignal used ontime when even number is used. Do not wait for VelNext > 0
This commit is contained in:
30
Driver.cpp
30
Driver.cpp
@@ -3923,9 +3923,9 @@ bool TController::UpdateSituation(double dt)
|
|||||||
TrainParams
|
TrainParams
|
||||||
->TTVmax); // jesli nie spozniony to nie przekraczać rozkladowej
|
->TTVmax); // jesli nie spozniony to nie przekraczać rozkladowej
|
||||||
if (VelDesired > 0.0)
|
if (VelDesired > 0.0)
|
||||||
if (VelNext > 0.0)
|
if (VelNext > 0.0 || (iDrivigFlags & moveStopHere)==0)
|
||||||
{ // jeśli można jechać, to odpalić dźwięk kierownika oraz zamknąć drzwi w
|
{ // jeśli można jechać, to odpalić dźwięk kierownika oraz zamknąć drzwi w
|
||||||
// składzie
|
// składzie, jeśli nie mamy czekać na sygnał też trzeba odpalić
|
||||||
if (iDrivigFlags & moveGuardSignal)
|
if (iDrivigFlags & moveGuardSignal)
|
||||||
{ // komunikat od kierownika tu, bo musi być wolna droga i odczekany czas
|
{ // komunikat od kierownika tu, bo musi być wolna droga i odczekany czas
|
||||||
// stania
|
// stania
|
||||||
@@ -4096,19 +4096,19 @@ bool TController::UpdateSituation(double dt)
|
|||||||
// if (iDrivigFlags&moveStopHere) //to nie dotyczy podczepiania
|
// if (iDrivigFlags&moveStopHere) //to nie dotyczy podczepiania
|
||||||
// if ((VelNext>0.0)||(ActualProximityDist>fMaxProximityDist*1.2))
|
// if ((VelNext>0.0)||(ActualProximityDist>fMaxProximityDist*1.2))
|
||||||
if (VelNext > 0.0)
|
if (VelNext > 0.0)
|
||||||
AccDesired = AccPreferred; // można jechać
|
AccDesired = AccPreferred; // można jechać
|
||||||
else // jeśli daleko jechać nie można
|
else // jeśli daleko jechać nie można
|
||||||
if (ActualProximityDist >
|
if (ActualProximityDist >
|
||||||
fMaxProximityDist) // ale ma kawałek do sygnalizatora
|
fMaxProximityDist) // ale ma kawałek do sygnalizatora
|
||||||
{ // if ((iDrivigFlags&moveStopHere)?false:AccPreferred>0)
|
{ // if ((iDrivigFlags&moveStopHere)?false:AccPreferred>0)
|
||||||
if (AccPreferred > 0)
|
if (AccPreferred > 0)
|
||||||
AccDesired = AccPreferred; // dociagnij do semafora;
|
AccDesired = AccPreferred; // dociagnij do semafora;
|
||||||
else
|
else
|
||||||
VelDesired = 0.0; //,AccDesired=-fabs(fAccGravity); //stoj (hamuj z siłą
|
VelDesired = 0.0; //,AccDesired=-fabs(fAccGravity); //stoj (hamuj z siłą
|
||||||
// równą składowej stycznej grawitacji)
|
// równą składowej stycznej grawitacji)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
VelDesired = 0.0; // VelNext=0 i stoi bliżej niż fMaxProximityDist
|
VelDesired = 0.0; // VelNext=0 i stoi bliżej niż fMaxProximityDist
|
||||||
}
|
}
|
||||||
else // gdy jedzie wolniej niż potrzeba, albo nie ma przeszkód na drodze
|
else // gdy jedzie wolniej niż potrzeba, albo nie ma przeszkód na drodze
|
||||||
AccDesired = (VelDesired != 0.0 ? AccPreferred : -0.01); // normalna jazda
|
AccDesired = (VelDesired != 0.0 ? AccPreferred : -0.01); // normalna jazda
|
||||||
|
|||||||
Reference in New Issue
Block a user