16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-19 19:09:20 +02:00

Przewijanie do prawidłowego przystanku

This commit is contained in:
firleju
2017-07-20 19:30:59 +02:00
parent 6c0333dbfd
commit 8e6eee1b21
3 changed files with 37 additions and 1 deletions

View File

@@ -764,7 +764,14 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
// first 19 chars of the command is expected to be "PassengerStopPoint:" so we skip them
if ( ToLower(sSpeedTable[i].evEvent->CommandGet()).compare( 19, sizeof(asNextStop), ToLower(asNextStop)) != 0 )
{ // jeśli nazwa nie jest zgodna
if( sSpeedTable[ i ].fDist < -fLength ) {
if (sSpeedTable[i].fDist < 300.0 && sSpeedTable[i].fDist > 0) // tylko jeśli W4 jest blisko, przy dwóch może zaczać szaleć
{
// porównuje do następnej stacji, więc trzeba przewinąć do poprzedniej
// nastepnie ustawić następną na aktualną tak żeby prawidłowo ją obsłużył w następnym kroku
TrainParams->RewindTimeTable(sSpeedTable[i].evEvent->CommandGet());
asNextStop = TrainParams->NextStop();
}
else if( sSpeedTable[ i ].fDist < -fLength ) {
// jeśli został przejechany
sSpeedTable[ i ].iFlags = 0; // to można usunąć (nie mogą być usuwane w skanowaniu)
}