mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-20 10:19:19 +02:00
Merge branch 'tmj-dev' into milek-dev
This commit is contained in:
47
DynObj.cpp
47
DynObj.cpp
@@ -2956,7 +2956,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
p->MoverParameters->BrakeCylNo * p->MoverParameters->BrakeRigEff;
|
||||
FmaxPN += Nmax * p->MoverParameters->Hamulec->GetFC(
|
||||
Nmax / (p->MoverParameters->NAxles * p->MoverParameters->NBpA),
|
||||
p->MoverParameters->Vmax) *
|
||||
p->MoverParameters->MED_Vref) *
|
||||
1000; // sila hamowania pn
|
||||
FmaxED += ((p->MoverParameters->Mains) && (p->MoverParameters->ActiveDir != 0) &&
|
||||
(p->MoverParameters->eimc[eimc_p_Fh] * p->MoverParameters->NPoweredAxles >
|
||||
@@ -2975,7 +2975,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
osie += p->MoverParameters->NAxles;
|
||||
}
|
||||
|
||||
auto const amax = FmaxPN / masamax;
|
||||
auto const amax = std::min(FmaxPN / masamax, MoverParameters->MED_amax);
|
||||
if ((MoverParameters->Vel < 0.5) && (MoverParameters->BrakePress > 0.2) ||
|
||||
(dDoorMoveL > 0.001) || (dDoorMoveR > 0.001))
|
||||
{
|
||||
@@ -3045,7 +3045,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
FmaxEP[i] = Nmax *
|
||||
p->MoverParameters->Hamulec->GetFC(
|
||||
Nmax / (p->MoverParameters->NAxles * p->MoverParameters->NBpA),
|
||||
p->MoverParameters->Vmax) *
|
||||
p->MoverParameters->MED_Vref) *
|
||||
1000; // sila hamowania pn
|
||||
|
||||
PrzekrF[i] = false;
|
||||
@@ -3107,10 +3107,10 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
p->MoverParameters->BrakeCylMult[0] -
|
||||
p->MoverParameters->BrakeSlckAdj) *
|
||||
p->MoverParameters->BrakeCylNo * p->MoverParameters->BrakeRigEff;
|
||||
float VelC = ((FrED > 0.1) || p->MoverParameters->MED_EPVC ? clamp(p->MoverParameters->Vel, p->MoverParameters->MED_Vmin, p->MoverParameters->MED_Vmax) : p->MoverParameters->MED_Vref);//korekcja EP po prędkości
|
||||
float FmaxPoj = Nmax *
|
||||
p->MoverParameters->Hamulec->GetFC(
|
||||
Nmax / (p->MoverParameters->NAxles * p->MoverParameters->NBpA),
|
||||
p->MoverParameters->Vel) *
|
||||
Nmax / (p->MoverParameters->NAxles * p->MoverParameters->NBpA), VelC) *
|
||||
1000; // sila hamowania pn
|
||||
p->MoverParameters->LocalBrakePosA = (p->MoverParameters->SlippingWheels ? 0 : FzEP[i] / FmaxPoj);
|
||||
if (p->MoverParameters->LocalBrakePosA>0.009)
|
||||
@@ -6121,40 +6121,31 @@ TDynamicObject::powertrain_sounds::render( TMoverParameters const &Vehicle, doub
|
||||
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 goalvolume { std::max( 0.0, ( engine_turbo_pitch + engine_turbo.m_amplitudeoffset ) * engine_turbo.m_amplitudefactor ) };
|
||||
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 ) :
|
||||
0.0 ) };
|
||||
auto const currentvolume { engine_turbo.gain() };
|
||||
auto const changerate { 0.4 * Deltatime };
|
||||
|
||||
if( ( Vehicle.MainCtrlPos >= Vehicle.TurboTest )
|
||||
&& ( Vehicle.enrot > 0.1 ) ) {
|
||||
engine_turbo_pitch = (
|
||||
engine_turbo_pitch > goalpitch ?
|
||||
std::max( goalpitch, engine_turbo_pitch - changerate * 0.5 ) :
|
||||
std::min( goalpitch, engine_turbo_pitch + changerate ) );
|
||||
|
||||
engine_turbo_pitch = (
|
||||
engine_turbo_pitch > goalpitch ?
|
||||
std::max( goalpitch, engine_turbo_pitch - changerate * 0.5 ) :
|
||||
std::min( goalpitch, engine_turbo_pitch + changerate ) );
|
||||
|
||||
volume = (
|
||||
currentvolume > goalvolume ?
|
||||
std::max( goalvolume, currentvolume - changerate ) :
|
||||
std::min( goalvolume, currentvolume + changerate ) );
|
||||
volume = (
|
||||
currentvolume > goalvolume ?
|
||||
std::max( goalvolume, currentvolume - changerate ) :
|
||||
std::min( goalvolume, currentvolume + changerate ) );
|
||||
|
||||
if( volume > 0.05 ) {
|
||||
engine_turbo
|
||||
.pitch( 0.4 + engine_turbo_pitch * 0.4 )
|
||||
.gain( volume )
|
||||
.play( sound_flags::exclusive | sound_flags::looping );
|
||||
}
|
||||
else {
|
||||
engine_turbo_pitch = std::max( goalpitch, engine_turbo_pitch - changerate * 0.5 );
|
||||
volume = std::max( 0.0, engine_turbo.gain() - 2.0 * Deltatime );
|
||||
if( volume > 0.05 ) {
|
||||
engine_turbo
|
||||
.pitch( 0.4 + engine_turbo_pitch * 0.4 )
|
||||
.gain( volume );
|
||||
}
|
||||
else {
|
||||
engine_turbo.stop();
|
||||
engine_turbo_pitch = goalpitch;
|
||||
}
|
||||
engine_turbo.stop();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user