Merge branch 'tmj-dev'

This commit is contained in:
milek7
2018-03-18 15:15:24 +01:00
3 changed files with 18 additions and 9 deletions

View File

@@ -4842,7 +4842,7 @@ void TDynamicObject::LoadMMediaFile( std::string BaseDir, std::string TypeName,
auto const amplitudedivisor = static_cast<float>( (
MoverParameters->EngineType == DieselEngine ? 1 :
MoverParameters->EngineType == DieselElectric ? MoverParameters->Power * 3 :
MoverParameters->EngineType == DieselElectric ? 1 :
MoverParameters->nmax * 60 + MoverParameters->Power * 3 ) );
m_powertrainsounds.engine.m_amplitudefactor /= amplitudedivisor;
}
@@ -5915,10 +5915,12 @@ TDynamicObject::powertrain_sounds::render( TMoverParameters const &Vehicle, doub
switch( Vehicle.EngineType ) {
// TODO: check calculated values
case DieselElectric: {
volume =
engine.m_amplitudeoffset
+ engine.m_amplitudefactor * ( Vehicle.EnginePower / 1000 / Vehicle.Power )
+ 0.2 * ( Vehicle.enrot * 60 ) / ( Vehicle.DElist[ Vehicle.MainCtrlPosNo ].RPM );
+ engine.m_amplitudefactor * (
0.25 * ( Vehicle.EnginePower / Vehicle.Power )
+ 0.75 * ( Vehicle.enrot * 60 ) / ( Vehicle.DElist[ Vehicle.MainCtrlPosNo ].RPM ) );
break;
}
case DieselEngine: {
@@ -5926,7 +5928,7 @@ TDynamicObject::powertrain_sounds::render( TMoverParameters const &Vehicle, doub
volume = (
Vehicle.EnginePower > 0 ?
engine.m_amplitudeoffset + engine.m_amplitudefactor * Vehicle.dizel_fill :
engine.m_amplitudeoffset * 0.9f + engine.m_amplitudefactor * std::fabs( Vehicle.enrot / Vehicle.dizel_nmax ) );
engine.m_amplitudeoffset + engine.m_amplitudefactor * std::fabs( Vehicle.enrot / Vehicle.dizel_nmax ) );
}
break;
}
@@ -6046,7 +6048,10 @@ TDynamicObject::powertrain_sounds::render( TMoverParameters const &Vehicle, doub
|| ( Vehicle.EngineType == DieselElectric ) ) {
if( true == Vehicle.dizel_enginestart ) {
engine_ignition.play( sound_flags::exclusive );
engine_ignition
.pitch( engine_ignition.m_frequencyoffset + engine_ignition.m_frequencyfactor * 1.f )
.gain( engine_ignition.m_amplitudeoffset + engine_ignition.m_amplitudefactor * 1.f )
.play( sound_flags::exclusive );
}
}

View File

@@ -817,7 +817,7 @@ event_manager::FindEvent( std::string const &Name ) {
bool
event_manager::AddToQuery( TEvent *Event, TDynamicObject *Owner, double delay ) {
if( ( false == Event->m_ignored ) && ( true == Event->bEnabled ) ) {
if( true == Event->bEnabled ) {
// jeśli może być dodany do kolejki (nie używany w skanowaniu)
if( !Event->iQueued ) // jeśli nie dodany jeszcze do kolejki
{ // kolejka eventów jest posortowana względem (fStartTime)
@@ -827,10 +827,13 @@ event_manager::AddToQuery( TEvent *Event, TDynamicObject *Owner, double delay )
// eventy AddValues trzeba wykonywać natychmiastowo, inaczej kolejka może zgubić jakieś dodawanie
// Ra: kopiowanie wykonania tu jest bez sensu, lepiej by było wydzielić funkcję
// wykonującą eventy i ją wywołać
if( EventConditon( Event ) ) { // teraz mogą być warunki do tych eventów
if( ( false == Event->m_ignored )
&& ( true == EventConditon( Event ) ) ) { // teraz mogą być warunki do tych eventów
Event->Params[ 5 ].asMemCell->UpdateValues(
Event->Params[ 0 ].asText, Event->Params[ 1 ].asdouble,
Event->Params[ 2 ].asdouble, Event->iFlags );
if( Event->Params[ 6 ].asTrack ) { // McZapkie-100302 - updatevalues oprocz zmiany wartosci robi putcommand dla
// wszystkich 'dynamic' na danym torze
for( auto dynamic : Event->Params[ 6 ].asTrack->Dynamics ) {
@@ -861,7 +864,8 @@ event_manager::AddToQuery( TEvent *Event, TDynamicObject *Owner, double delay )
&& ( ( false == Event->bEnabled )
|| ( Event->iQueued > 0 ) ) );
}
if( Event != nullptr ) {
if( ( Event != nullptr )
&& ( false == Event->m_ignored ) ) {
// standardowe dodanie do kolejki
++Event->iQueued; // zabezpieczenie przed podwójnym dodaniem do kolejki
WriteLog( "EVENT ADDED TO QUEUE" + ( Owner ? ( " by " + Owner->asName ) : "" ) + ": " + Event->asName );

View File

@@ -1,5 +1,5 @@
#pragma once
#define VERSION_MAJOR 18
#define VERSION_MINOR 313
#define VERSION_MINOR 318
#define VERSION_REVISION 0