mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
Merge branch 'tmj-dev'
This commit is contained in:
@@ -3508,7 +3508,7 @@ TController::UpdateSituation(double dt) {
|
||||
// if (mvOccupied->BrakePress<0.08) //to wystarczy, że zadziałają liniowe (nie ma ich jeszcze!!!)
|
||||
if (fReady < 0.8) // delikatniejszy warunek, obejmuje wszystkie wagony
|
||||
Ready = true; //żeby uznać za odhamowany
|
||||
// second pass, for diesel engines verify the engines are fully started
|
||||
// second pass, for diesel engines verify the (live) engines are fully started
|
||||
// TODO: cache presence of diesel engines in the consist, to skip this test if there isn't any
|
||||
p = pVehicles[ 0 ]; // pojazd na czole składu
|
||||
while( ( true == Ready )
|
||||
@@ -3520,7 +3520,8 @@ TController::UpdateSituation(double dt) {
|
||||
|| ( vehicle->EngineType == DieselElectric ) ) {
|
||||
|
||||
Ready = (
|
||||
( vehicle->Vel > 0.5 )
|
||||
( vehicle->Vel > 0.5 ) // already moving
|
||||
|| ( false == vehicle->Mains ) // deadweight vehicle
|
||||
|| ( vehicle->enrot > 0.8 * (
|
||||
vehicle->EngineType == DieselEngine ?
|
||||
vehicle->dizel_nmin :
|
||||
|
||||
@@ -4762,8 +4762,6 @@ void TDynamicObject::LoadMMediaFile( std::string BaseDir, std::string TypeName,
|
||||
// szum podczas jazdy:
|
||||
m_wheelflat.deserialize( parser, sound_type::single, sound_parameters::frequency );
|
||||
m_wheelflat.owner( this );
|
||||
|
||||
m_wheelflat.m_amplitudefactor /= ( 1 + MoverParameters->Vmax );
|
||||
}
|
||||
|
||||
} while( ( token != "" )
|
||||
@@ -4926,8 +4924,6 @@ void TDynamicObject::LoadMMediaFile( std::string BaseDir, std::string TypeName,
|
||||
if( true == m_wheelflat.empty() ) {
|
||||
m_wheelflat.deserialize( "lomotpodkucia.wav 0.23 0.0", sound_type::single, sound_parameters::frequency );
|
||||
m_wheelflat.owner( this );
|
||||
|
||||
m_wheelflat.m_amplitudefactor /= ( 1 + MoverParameters->Vmax );
|
||||
}
|
||||
if( true == rscurve.empty() ) {
|
||||
// hunter-111211: domyslne, gdy brak
|
||||
|
||||
107
Train.cpp
107
Train.cpp
@@ -3817,8 +3817,15 @@ bool TTrain::Update( double const Deltatime )
|
||||
|| (true == mvControlled->Mains) ) ?
|
||||
true :
|
||||
false ) );
|
||||
// NOTE: 'off' variant uses the same test, but opposite resulting states
|
||||
btLampkaWylSzybkiOff.Turn(
|
||||
( ( ( m_linebreakerstate > 0 )
|
||||
|| ( true == mvControlled->Mains ) ) ?
|
||||
false :
|
||||
true ) );
|
||||
|
||||
btLampkaPrzetw.Turn( !mvControlled->ConverterFlag );
|
||||
btLampkaPrzetw.Turn( mvControlled->ConverterFlag );
|
||||
btLampkaPrzetwOff.Turn( false == mvControlled->ConverterFlag );
|
||||
btLampkaNadmPrzetw.Turn( mvControlled->ConvOvldFlag );
|
||||
|
||||
btLampkaOpory.Turn(
|
||||
@@ -3864,6 +3871,7 @@ bool TTrain::Update( double const Deltatime )
|
||||
|
||||
btLampkaNapNastHam.Turn(mvControlled->ActiveDir != 0); // napiecie na nastawniku hamulcowym
|
||||
btLampkaSprezarka.Turn(mvControlled->CompressorFlag); // mutopsitka dziala
|
||||
btLampkaSprezarkaOff.Turn( false == mvControlled->CompressorFlag );
|
||||
// boczniki
|
||||
unsigned char scp; // Ra: dopisałem "unsigned"
|
||||
// Ra: w SU45 boczniki wchodzą na MainCtrlPos, a nie na MainCtrlActualPos
|
||||
@@ -3884,23 +3892,11 @@ bool TTrain::Update( double const Deltatime )
|
||||
btLampkaBocznik3.Turn( false );
|
||||
btLampkaBocznik4.Turn( false );
|
||||
}
|
||||
/*
|
||||
{ //sprezarka w drugim wozie
|
||||
bool comptemp=false;
|
||||
if (DynamicObject->NextConnected)
|
||||
if
|
||||
(TestFlag(mvControlled->Couplers[1].CouplingFlag,ctrain_controll))
|
||||
comptemp=DynamicObject->NextConnected->MoverParameters->CompressorFlag;
|
||||
if ((DynamicObject->PrevConnected) && (!comptemp))
|
||||
if
|
||||
(TestFlag(mvControlled->Couplers[0].CouplingFlag,ctrain_controll))
|
||||
comptemp=DynamicObject->PrevConnected->MoverParameters->CompressorFlag;
|
||||
btLampkaSprezarkaB.Turn(comptemp);
|
||||
*/
|
||||
}
|
||||
else {
|
||||
// wylaczone
|
||||
btLampkaWylSzybki.Turn( false );
|
||||
btLampkaWylSzybkiOff.Turn( false );
|
||||
btLampkaWysRozr.Turn( false );
|
||||
btLampkaOpory.Turn( false );
|
||||
btLampkaStyczn.Turn( false );
|
||||
@@ -3909,8 +3905,10 @@ bool TTrain::Update( double const Deltatime )
|
||||
btLampkaBoczniki.Turn( false );
|
||||
btLampkaNapNastHam.Turn( false );
|
||||
btLampkaPrzetw.Turn( false );
|
||||
btLampkaPrzetwOff.Turn( false );
|
||||
btLampkaNadmPrzetw.Turn( false );
|
||||
btLampkaSprezarka.Turn( false );
|
||||
btLampkaSprezarkaOff.Turn( false );
|
||||
btLampkaBezoporowa.Turn( false );
|
||||
}
|
||||
if (mvControlled->Signalling == true) {
|
||||
@@ -3950,6 +3948,7 @@ bool TTrain::Update( double const Deltatime )
|
||||
if ( mvControlled->Battery || mvControlled->ConverterFlag ) {
|
||||
|
||||
btLampkaWylSzybkiB.Turn( tmp->MoverParameters->Mains );
|
||||
btLampkaWylSzybkiBOff.Turn( false == tmp->MoverParameters->Mains );
|
||||
|
||||
btLampkaOporyB.Turn(tmp->MoverParameters->ResistorsFlagCheck());
|
||||
btLampkaBezoporowaB.Turn(
|
||||
@@ -3988,8 +3987,8 @@ bool TTrain::Update( double const Deltatime )
|
||||
btLampkaPoslizg.Turn(tmp->MoverParameters->SlippingWheels);
|
||||
//-----------------
|
||||
|
||||
btLampkaSprezarkaB.Turn(
|
||||
tmp->MoverParameters->CompressorFlag); // mutopsitka dziala
|
||||
btLampkaSprezarkaB.Turn( tmp->MoverParameters->CompressorFlag ); // mutopsitka dziala
|
||||
btLampkaSprezarkaBOff.Turn( false == tmp->MoverParameters->CompressorFlag );
|
||||
if ((tmp->MoverParameters->BrakePress >= 0.145f * 10) &&
|
||||
(mvControlled->Battery == true) && (mvControlled->Signalling == true))
|
||||
{
|
||||
@@ -4000,39 +3999,46 @@ bool TTrain::Update( double const Deltatime )
|
||||
{
|
||||
btLampkaHamowanie2zes.Turn( false );
|
||||
}
|
||||
btLampkaNadmPrzetwB.Turn(
|
||||
tmp->MoverParameters->ConvOvldFlag); // nadmiarowy przetwornicy?
|
||||
btLampkaPrzetwB.Turn(
|
||||
!tmp->MoverParameters->ConverterFlag); // zalaczenie przetwornicy
|
||||
btLampkaNadmPrzetwB.Turn( tmp->MoverParameters->ConvOvldFlag ); // nadmiarowy przetwornicy?
|
||||
btLampkaPrzetwB.Turn( tmp->MoverParameters->ConverterFlag ); // zalaczenie przetwornicy
|
||||
btLampkaPrzetwBOff.Turn( false == tmp->MoverParameters->ConverterFlag );
|
||||
}
|
||||
else // wylaczone
|
||||
{
|
||||
btLampkaWylSzybkiB.Turn( false );
|
||||
btLampkaWylSzybkiBOff.Turn( false );
|
||||
btLampkaOporyB.Turn( false );
|
||||
btLampkaStycznB.Turn( false );
|
||||
btLampkaSprezarkaB.Turn( false );
|
||||
btLampkaSprezarkaBOff.Turn( false );
|
||||
btLampkaBezoporowaB.Turn( false );
|
||||
btLampkaHamowanie2zes.Turn( false );
|
||||
btLampkaNadmPrzetwB.Turn( false );
|
||||
btLampkaPrzetwB.Turn( false );
|
||||
btLampkaPrzetwBOff.Turn( false );
|
||||
}
|
||||
}
|
||||
|
||||
if( mvControlled->Battery || mvControlled->ConverterFlag )
|
||||
{
|
||||
switch (mvControlled->TrainType)
|
||||
{ // zależnie od typu lokomotywy
|
||||
case dt_EZT:
|
||||
btLampkaHamienie.Turn((mvControlled->BrakePress >= 0.2) &&
|
||||
mvControlled->Signalling);
|
||||
break;
|
||||
case dt_ET41: // odhamowanie drugiego członu
|
||||
if (mvSecond) // bo może komuś przyjść do głowy jeżdżenie jednym członem
|
||||
btLampkaHamienie.Turn(mvSecond->BrakePress < 0.4);
|
||||
break;
|
||||
default:
|
||||
btLampkaHamienie.Turn((mvOccupied->BrakePress >= 0.1) ||
|
||||
mvControlled->DynamicBrakeFlag);
|
||||
if( mvControlled->Battery || mvControlled->ConverterFlag ) {
|
||||
switch (mvControlled->TrainType) {
|
||||
// zależnie od typu lokomotywy
|
||||
case dt_EZT: {
|
||||
btLampkaHamienie.Turn( ( mvControlled->BrakePress >= 0.2 ) && mvControlled->Signalling );
|
||||
break;
|
||||
}
|
||||
case dt_ET41: {
|
||||
// odhamowanie drugiego członu
|
||||
if( mvSecond ) {
|
||||
// bo może komuś przyjść do głowy jeżdżenie jednym członem
|
||||
btLampkaHamienie.Turn( mvSecond->BrakePress < 0.4 );
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
btLampkaHamienie.Turn( ( mvOccupied->BrakePress >= 0.1 ) || mvControlled->DynamicBrakeFlag );
|
||||
btLampkaBrakingOff.Turn( ( mvOccupied->BrakePress < 0.1 ) && ( false == mvControlled->DynamicBrakeFlag ) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
// KURS90
|
||||
btLampkaMaxSila.Turn(abs(mvControlled->Im) >= 350);
|
||||
@@ -4063,6 +4069,7 @@ bool TTrain::Update( double const Deltatime )
|
||||
else
|
||||
{ // gdy bateria wyłączona
|
||||
btLampkaHamienie.Turn( false );
|
||||
btLampkaBrakingOff.Turn( false );
|
||||
btLampkaMaxSila.Turn( false );
|
||||
btLampkaPrzekrMaxSila.Turn( false );
|
||||
btLampkaRadio.Turn( false );
|
||||
@@ -6063,20 +6070,24 @@ void TTrain::clear_cab_controls()
|
||||
// Numer 14 jest używany dla buczka SHP w innym miejscu
|
||||
btLampkaPoslizg.Clear(6);
|
||||
btLampkaStyczn.Clear(5);
|
||||
btLampkaNadmPrzetw.Clear((mvControlled->TrainType & (dt_EZT)) ? -1 :
|
||||
7); // EN57 nie ma tej lampki
|
||||
btLampkaPrzetw.Clear((mvControlled->TrainType & (dt_EZT)) ? 7 : -1); // za to ma tę
|
||||
btLampkaNadmPrzetw.Clear(((mvControlled->TrainType & dt_EZT) != 0) ? -1 : 7); // EN57 nie ma tej lampki
|
||||
btLampkaPrzetw.Clear();
|
||||
btLampkaPrzetwOff.Clear(((mvControlled->TrainType & dt_EZT) != 0) ? 7 : -1 ); // za to ma tę
|
||||
btLampkaPrzetwB.Clear();
|
||||
btLampkaPrzetwBOff.Clear();
|
||||
btLampkaPrzekRozn.Clear();
|
||||
btLampkaPrzekRoznPom.Clear();
|
||||
btLampkaNadmSil.Clear(4);
|
||||
btLampkaUkrotnienie.Clear();
|
||||
btLampkaHamPosp.Clear();
|
||||
btLampkaWylSzybki.Clear(3);
|
||||
btLampkaWylSzybkiOff.Clear();
|
||||
btLampkaWylSzybkiB.Clear();
|
||||
btLampkaWylSzybkiBOff.Clear();
|
||||
btLampkaNadmWent.Clear(9);
|
||||
btLampkaNadmSpr.Clear(8);
|
||||
btLampkaOpory.Clear(2);
|
||||
btLampkaWysRozr.Clear((mvControlled->TrainType & (dt_ET22)) ? -1 :
|
||||
10); // ET22 nie ma tej lampki
|
||||
btLampkaWysRozr.Clear(((mvControlled->TrainType & dt_ET22) != 0) ? -1 : 10); // ET22 nie ma tej lampki
|
||||
btLampkaBezoporowa.Clear();
|
||||
btLampkaBezoporowaB.Clear();
|
||||
btLampkaMaxSila.Clear();
|
||||
@@ -6100,15 +6111,16 @@ void TTrain::clear_cab_controls()
|
||||
btLampkaBocznik4.Clear();
|
||||
btLampkaRadiotelefon.Clear();
|
||||
btLampkaHamienie.Clear();
|
||||
btLampkaBrakingOff.Clear();
|
||||
btLampkaSprezarka.Clear();
|
||||
btLampkaSprezarkaB.Clear();
|
||||
btLampkaSprezarkaOff.Clear();
|
||||
btLampkaSprezarkaBOff.Clear();
|
||||
btLampkaNapNastHam.Clear();
|
||||
btLampkaStycznB.Clear();
|
||||
btLampkaHamowanie1zes.Clear();
|
||||
btLampkaHamowanie2zes.Clear();
|
||||
btLampkaNadmPrzetwB.Clear();
|
||||
btLampkaPrzetwB.Clear();
|
||||
btLampkaWylSzybkiB.Clear();
|
||||
btLampkaForward.Clear();
|
||||
btLampkaBackward.Clear();
|
||||
// light indicators
|
||||
@@ -6343,12 +6355,18 @@ bool TTrain::initialize_button(cParser &Parser, std::string const &Label, int co
|
||||
{ "i-contactors:", btLampkaStyczn },
|
||||
{ "i-conv_ovld:", btLampkaNadmPrzetw },
|
||||
{ "i-converter:", btLampkaPrzetw },
|
||||
{ "i-converteroff:", btLampkaPrzetwOff },
|
||||
{ "i-converterb:", btLampkaPrzetwB },
|
||||
{ "i-converterboff:", btLampkaPrzetwBOff },
|
||||
{ "i-diff_relay:", btLampkaPrzekRozn },
|
||||
{ "i-diff_relay2:", btLampkaPrzekRoznPom },
|
||||
{ "i-motor_ovld:", btLampkaNadmSil },
|
||||
{ "i-train_controll:", btLampkaUkrotnienie },
|
||||
{ "i-brake_delay_r:", btLampkaHamPosp },
|
||||
{ "i-mainbreaker:", btLampkaWylSzybki },
|
||||
{ "i-mainbreakerb:", btLampkaWylSzybkiB },
|
||||
{ "i-mainbreakeroff:", btLampkaWylSzybkiOff },
|
||||
{ "i-mainbreakerboff:", btLampkaWylSzybkiBOff },
|
||||
{ "i-vent_ovld:", btLampkaNadmWent },
|
||||
{ "i-comp_ovld:", btLampkaNadmSpr },
|
||||
{ "i-resistors:", btLampkaOpory },
|
||||
@@ -6369,17 +6387,18 @@ bool TTrain::initialize_button(cParser &Parser, std::string const &Label, int co
|
||||
{ "i-scnd3:", btLampkaBocznik3 },
|
||||
{ "i-scnd4:", btLampkaBocznik4 },
|
||||
{ "i-braking:", btLampkaHamienie },
|
||||
{ "i-brakingoff:", btLampkaBrakingOff },
|
||||
{ "i-dynamicbrake:", btLampkaED },
|
||||
{ "i-braking-ezt:", btLampkaHamowanie1zes },
|
||||
{ "i-braking-ezt2:", btLampkaHamowanie2zes },
|
||||
{ "i-compressor:", btLampkaSprezarka },
|
||||
{ "i-compressorb:", btLampkaSprezarkaB },
|
||||
{ "i-compressoroff:", btLampkaSprezarkaOff },
|
||||
{ "i-compressorboff:", btLampkaSprezarkaBOff },
|
||||
{ "i-voltbrake:", btLampkaNapNastHam },
|
||||
{ "i-mainbreakerb:", btLampkaWylSzybkiB },
|
||||
{ "i-resistorsb:", btLampkaOporyB },
|
||||
{ "i-contactorsb:", btLampkaStycznB },
|
||||
{ "i-conv_ovldb:", btLampkaNadmPrzetwB },
|
||||
{ "i-converterb:", btLampkaPrzetwB },
|
||||
{ "i-forward:", btLampkaForward },
|
||||
{ "i-backward:", btLampkaBackward },
|
||||
{ "i-upperlight:", btLampkaUpperLight },
|
||||
|
||||
7
Train.h
7
Train.h
@@ -311,18 +311,22 @@ public: // reszta może by?publiczna
|
||||
TButton btLampkaStyczn;
|
||||
TButton btLampkaNadmPrzetw;
|
||||
TButton btLampkaPrzetw;
|
||||
TButton btLampkaPrzetwOff;
|
||||
TButton btLampkaPrzekRozn;
|
||||
TButton btLampkaPrzekRoznPom;
|
||||
TButton btLampkaNadmSil;
|
||||
TButton btLampkaWylSzybki;
|
||||
TButton btLampkaWylSzybkiOff;
|
||||
TButton btLampkaNadmWent;
|
||||
TButton btLampkaNadmSpr;
|
||||
// yB: drugie lampki dla EP05 i ET42
|
||||
TButton btLampkaOporyB;
|
||||
TButton btLampkaStycznB;
|
||||
TButton btLampkaWylSzybkiB;
|
||||
TButton btLampkaWylSzybkiBOff;
|
||||
TButton btLampkaNadmPrzetwB;
|
||||
TButton btLampkaPrzetwB;
|
||||
TButton btLampkaPrzetwBOff;
|
||||
// KURS90 lampki jazdy bezoporowej dla EU04
|
||||
TButton btLampkaBezoporowaB;
|
||||
TButton btLampkaBezoporowa;
|
||||
@@ -345,12 +349,15 @@ public: // reszta może by?publiczna
|
||||
TButton btLampkaNapNastHam;
|
||||
TButton btLampkaSprezarka;
|
||||
TButton btLampkaSprezarkaB;
|
||||
TButton btLampkaSprezarkaOff;
|
||||
TButton btLampkaSprezarkaBOff;
|
||||
TButton btLampkaBocznik1;
|
||||
TButton btLampkaBocznik2;
|
||||
TButton btLampkaBocznik3;
|
||||
TButton btLampkaBocznik4;
|
||||
TButton btLampkaRadiotelefon;
|
||||
TButton btLampkaHamienie;
|
||||
TButton btLampkaBrakingOff;
|
||||
TButton btLampkaED; // Stele 161228 hamowanie elektrodynamiczne
|
||||
// KURS90
|
||||
TButton btLampkaBoczniki;
|
||||
|
||||
@@ -425,7 +425,9 @@ opengl_renderer::Render_pass( rendermode const Mode ) {
|
||||
// run shadowmaps pass before color
|
||||
Timer::subsystem.gfx_shadows.start();
|
||||
Render_pass( rendermode::shadows );
|
||||
Render_pass( rendermode::cabshadows );
|
||||
if( false == FreeFlyModeFlag ) {
|
||||
Render_pass( rendermode::cabshadows );
|
||||
}
|
||||
Timer::subsystem.gfx_shadows.stop();
|
||||
m_debugtimestext += "shadows: " + to_string( Timer::subsystem.gfx_shadows.average(), 2 ) + " msec (" + std::to_string( m_cellqueue.size() ) + " sectors) ";
|
||||
#ifdef EU07_USE_DEBUG_SHADOWMAP
|
||||
@@ -758,7 +760,7 @@ opengl_renderer::setup_pass( renderpass_config &Config, rendermode const Mode, f
|
||||
switch( Mode ) {
|
||||
case rendermode::color: { Config.draw_range = Global::BaseDrawRange; break; }
|
||||
case rendermode::shadows: { Config.draw_range = Global::BaseDrawRange * 0.5f; break; }
|
||||
case rendermode::cabshadows: { Config.draw_range = 10.f; break; }
|
||||
case rendermode::cabshadows: { Config.draw_range = ( Global::pWorld->train()->Dynamic()->MoverParameters->ActiveCab != 0 ? 10.f : 20.f ); break; }
|
||||
case rendermode::reflections: { Config.draw_range = Global::BaseDrawRange; break; }
|
||||
case rendermode::pickcontrols: { Config.draw_range = 50.f; break; }
|
||||
case rendermode::pickscenery: { Config.draw_range = Global::BaseDrawRange * 0.5f; break; }
|
||||
|
||||
Reference in New Issue
Block a user