mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-19 19:09:20 +02:00
Merge branch 'milek-dev' into gfx-work
This commit is contained in:
45
DynObj.cpp
45
DynObj.cpp
@@ -2689,10 +2689,11 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
if (v == 0.0) {
|
||||
v = MoverParameters->PantFrontVolt;
|
||||
if( v == 0.0 ) {
|
||||
if( MoverParameters->TrainType & ( dt_EZT | dt_ET40 | dt_ET41 | dt_ET42 ) ) {
|
||||
// if( MoverParameters->TrainType & ( dt_EZT | dt_ET40 | dt_ET41 | dt_ET42 ) ) {
|
||||
// dwuczłony mogą mieć sprzęg WN
|
||||
// NOTE: condition disabled, other vehicles types can have power cables as well
|
||||
v = MoverParameters->GetTrainsetVoltage(); // ostatnia szansa
|
||||
}
|
||||
// }
|
||||
}
|
||||
}
|
||||
if (v != 0.0)
|
||||
@@ -2745,7 +2746,14 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
if (Mechanik)
|
||||
{ // Ra 2F3F: do Driver.cpp to przenieść?
|
||||
MoverParameters->EqvtPipePress = GetEPP(); // srednie cisnienie w PG
|
||||
if( ( Mechanik->Primary() )
|
||||
if ((Mechanik->Primary())
|
||||
&& (MoverParameters->EngineType == TEngineType::DieselEngine)
|
||||
&& (MoverParameters->EIMCtrlType > 0)) {
|
||||
MoverParameters->CheckEIMIC(dt1);
|
||||
MoverParameters->eimic_real = MoverParameters->eimic;
|
||||
MoverParameters->SendCtrlToNext("EIMIC", MoverParameters->eimic, MoverParameters->CabNo);
|
||||
}
|
||||
if( ( Mechanik->Primary() )
|
||||
&& ( MoverParameters->EngineType == TEngineType::ElectricInductionMotor ) ) {
|
||||
// jesli glowny i z asynchronami, to niech steruje hamulcem i napedem lacznie dla calego pociagu/ezt
|
||||
auto const kier = (DirectionGet() * MoverParameters->ActiveCab > 0);
|
||||
@@ -5774,23 +5782,28 @@ TDynamicObject::LoadMMediaFile_mdload( std::string const &Name ) const {
|
||||
TModel3d *loadmodel { nullptr };
|
||||
|
||||
// check if we don't have model override for this load type
|
||||
auto const lookup { LoadModelOverrides.find( Name ) };
|
||||
if( lookup != LoadModelOverrides.end() ) {
|
||||
loadmodel = TModelsManager::GetModel( asBaseDir + lookup->second, true );
|
||||
// if the override was succesfully loaded call it a day
|
||||
if( loadmodel != nullptr ) { return loadmodel; }
|
||||
{
|
||||
auto const lookup { LoadModelOverrides.find( Name ) };
|
||||
if( lookup != LoadModelOverrides.end() ) {
|
||||
loadmodel = TModelsManager::GetModel( asBaseDir + lookup->second, true );
|
||||
// if the override was succesfully loaded call it a day
|
||||
if( loadmodel != nullptr ) { return loadmodel; }
|
||||
}
|
||||
}
|
||||
// regular routine if there's no override or it couldn't be loaded
|
||||
// try first specialized version of the load model, vehiclename_loadname
|
||||
auto const specializedloadfilename { asBaseDir + MoverParameters->TypeName + "_" + Name };
|
||||
if( ( true == FileExists( specializedloadfilename + ".e3d" ) )
|
||||
|| ( true == FileExists( specializedloadfilename + ".t3d" ) ) ) {
|
||||
loadmodel = TModelsManager::GetModel( specializedloadfilename, true );
|
||||
{
|
||||
auto const specializedloadfilename { asBaseDir + MoverParameters->TypeName + "_" + Name };
|
||||
loadmodel = TModelsManager::GetModel( specializedloadfilename, true, false );
|
||||
if( loadmodel != nullptr ) { return loadmodel; }
|
||||
}
|
||||
if( loadmodel == nullptr ) {
|
||||
// if this fails, try generic load model
|
||||
loadmodel = TModelsManager::GetModel( asBaseDir + Name, true );
|
||||
// try generic version of the load model next, loadname
|
||||
{
|
||||
auto const genericloadfilename { asBaseDir + Name };
|
||||
loadmodel = TModelsManager::GetModel( genericloadfilename, true, false );
|
||||
if( loadmodel != nullptr ) { return loadmodel; }
|
||||
}
|
||||
// if we're still here, give up
|
||||
return loadmodel;
|
||||
}
|
||||
|
||||
@@ -6622,7 +6635,7 @@ TDynamicObject::powertrain_sounds::render( TMoverParameters const &Vehicle, doub
|
||||
// youBy - przenioslem, bo diesel tez moze miec turbo
|
||||
if( Vehicle.TurboTest > 0 ) {
|
||||
// udawanie turbo:
|
||||
auto const pitch_diesel { Vehicle.EngineType == TEngineType::DieselEngine ? Vehicle.enrot / Vehicle.dizel_nmax : 0 };
|
||||
auto const pitch_diesel { Vehicle.EngineType == TEngineType::DieselEngine ? Vehicle.enrot / Vehicle.dizel_nmax : 1 };
|
||||
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 ) ) ?
|
||||
|
||||
Reference in New Issue
Block a user