mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-18 03:09:18 +02:00
Changed turbo modulation, AI can drive DMUs with constant speed
This commit is contained in:
committed by
tmj-fstate
parent
bbdc67c9b2
commit
bddb0575bf
16
Driver.cpp
16
Driver.cpp
@@ -3510,6 +3510,22 @@ void TController::SetTimeControllers()
|
||||
mvOccupied->ScndCtrlPos = 1;
|
||||
}
|
||||
}
|
||||
//5. Check Main Controller in Dizels
|
||||
if ((mvControlling->EngineType == TEngineType::DieselEngine)&&(mvControlling->hydro_TC))
|
||||
{
|
||||
int MaxPos = mvControlling->MainCtrlPosNo;
|
||||
int MinPos = MaxPos;
|
||||
for (int i = MaxPos; (i > 1) && (mvControlling->RList[i].Mn > 0); i--) MinPos = i;
|
||||
if ((MaxPos > MinPos)&&(mvControlling->MainCtrlPos>0)&&(AccDesired>0))
|
||||
{
|
||||
double Factor = 5 * (mvControlling->Vmax) / (mvControlling->Vmax + mvControlling->Vel);
|
||||
int DesiredPos = MinPos + (MaxPos - MinPos)*(VelDesired > mvControlling->Vel ? (VelDesired - mvControlling->Vel) / Factor : 0);
|
||||
if (DesiredPos > MaxPos) DesiredPos = MaxPos;
|
||||
if (DesiredPos < MinPos) DesiredPos = MinPos;
|
||||
while (mvControlling->MainCtrlPos > DesiredPos) mvControlling->DecMainCtrl(1);
|
||||
while (mvControlling->MainCtrlPos < DesiredPos) mvControlling->IncMainCtrl(1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void TController::CheckTimeControllers()
|
||||
|
||||
@@ -6624,7 +6624,8 @@ TDynamicObject::powertrain_sounds::render( TMoverParameters const &Vehicle, doub
|
||||
// youBy - przenioslem, bo diesel tez moze miec turbo
|
||||
if( Vehicle.TurboTest > 0 ) {
|
||||
// udawanie turbo:
|
||||
auto const goalpitch { std::max( 0.025, ( engine_volume + engine_turbo.m_frequencyoffset ) * engine_turbo.m_frequencyfactor ) };
|
||||
auto const pitch_diesel { Vehicle.EngineType == TEngineType::DieselEngine ? Vehicle.enrot / Vehicle.dizel_nmax : 0 };
|
||||
auto const goalpitch { std::max( 0.025, ( engine_volume + pitch_diesel + engine_turbo.m_frequencyoffset ) * engine_turbo.m_frequencyfactor ) };
|
||||
auto const goalvolume { (
|
||||
( ( Vehicle.MainCtrlPos >= Vehicle.TurboTest ) && ( Vehicle.enrot > 0.1 ) ) ?
|
||||
std::max( 0.0, ( engine_turbo_pitch + engine_turbo.m_amplitudeoffset ) * engine_turbo.m_amplitudefactor ) :
|
||||
|
||||
Reference in New Issue
Block a user