mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 20:59:19 +02:00
Small fix for AI driving DieselEngine - better cruising in SN61 too
This commit is contained in:
10
Driver.cpp
10
Driver.cpp
@@ -3511,7 +3511,7 @@ void TController::SetTimeControllers()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//5. Check Main Controller in Dizels
|
//5. Check Main Controller in Dizels
|
||||||
if ((mvControlling->EngineType == TEngineType::DieselEngine)&&(mvControlling->hydro_TC))
|
if ((mvControlling->EngineType == TEngineType::DieselEngine)&&(mvControlling->Vmax>30))
|
||||||
{
|
{
|
||||||
int MaxPos = mvControlling->MainCtrlPosNo;
|
int MaxPos = mvControlling->MainCtrlPosNo;
|
||||||
int MinPos = MaxPos;
|
int MinPos = MaxPos;
|
||||||
@@ -3522,8 +3522,12 @@ void TController::SetTimeControllers()
|
|||||||
int DesiredPos = MinPos + (MaxPos - MinPos)*(VelDesired > mvControlling->Vel ? (VelDesired - mvControlling->Vel) / Factor : 0);
|
int DesiredPos = MinPos + (MaxPos - MinPos)*(VelDesired > mvControlling->Vel ? (VelDesired - mvControlling->Vel) / Factor : 0);
|
||||||
if (DesiredPos > MaxPos) DesiredPos = MaxPos;
|
if (DesiredPos > MaxPos) DesiredPos = MaxPos;
|
||||||
if (DesiredPos < MinPos) DesiredPos = MinPos;
|
if (DesiredPos < MinPos) DesiredPos = MinPos;
|
||||||
while (mvControlling->MainCtrlPos > DesiredPos) mvControlling->DecMainCtrl(1);
|
if (!mvControlling->SlippingWheels)
|
||||||
while (mvControlling->MainCtrlPos < DesiredPos) mvControlling->IncMainCtrl(1);
|
{
|
||||||
|
while (mvControlling->MainCtrlPos > DesiredPos) mvControlling->DecMainCtrl(1);
|
||||||
|
if (mvControlling->Vel>mvControlling->dizel_minVelfullengage)
|
||||||
|
while (mvControlling->MainCtrlPos < DesiredPos) mvControlling->IncMainCtrl(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user