From 6834874079349bb8aff9cc736a8d46f5cd11fa9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20Mr=C3=B3z?= Date: Mon, 18 Jun 2018 23:30:19 +0200 Subject: [PATCH] FS#124 Added sound entry for engine shutdown event. --- DynObj.cpp | 17 +++++++++++------ DynObj.h | 1 + 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/DynObj.cpp b/DynObj.cpp index 96287448..7ae51b33 100644 --- a/DynObj.cpp +++ b/DynObj.cpp @@ -5677,6 +5677,9 @@ void TDynamicObject::LoadMMediaFile( std::string BaseDir, std::string TypeName, // odpalanie silnika m_powertrainsounds.engine_ignition.deserialize( parser, sound_type::single ); m_powertrainsounds.engine_ignition.owner( this ); + } else if (token == "shutdown:") { + m_powertrainsounds.engine_shutdown.deserialize(parser, sound_type::single); + m_powertrainsounds.engine_shutdown.owner(this); } else if( token == "engageslippery:" ) { // tarcie tarcz sprzegla: @@ -6383,7 +6386,7 @@ TDynamicObject::powertrain_sounds::position( glm::vec3 const Location ) { std::vector enginesounds = { &inverter, &motor_relay, &dsbWejscie_na_bezoporow, &motor_parallel, &motor_shuntfield, &rsWentylator, - &engine, &engine_ignition, &engine_revving, &engine_turbo, &oil_pump, &radiator_fan, &radiator_fan_aux, + &engine, &engine_ignition, &engine_shutdown, &engine_revving, &engine_turbo, &oil_pump, &radiator_fan, &radiator_fan_aux, &transmission, &rsEngageSlippery }; for( auto sound : enginesounds ) { @@ -6414,19 +6417,21 @@ TDynamicObject::powertrain_sounds::render( TMoverParameters const &Vehicle, doub // engine sounds // ignition - if( engine_state_last != Vehicle.Mains ) { - - if( true == Vehicle.Mains ) { + if (engine_state_last != Vehicle.Mains) { + if (Vehicle.Mains) { // main circuit/engine activation // TODO: separate engine and main circuit + engine_shutdown.stop(); 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 ); - } - else { + } else { // main circuit/engine deactivation engine_ignition.stop(); + engine_shutdown.pitch( engine_shutdown.m_frequencyoffset + engine_shutdown.m_frequencyfactor * 1.f ) + .gain( engine_shutdown.m_amplitudeoffset + engine_shutdown.m_amplitudefactor * 1.f ) + .play( sound_flags::exclusive ); } engine_state_last = Vehicle.Mains; } diff --git a/DynObj.h b/DynObj.h index 585072cd..30ad38c0 100644 --- a/DynObj.h +++ b/DynObj.h @@ -335,6 +335,7 @@ private: sound_source rsWentylator { sound_placement::engine }; // McZapkie-030302 sound_source engine { sound_placement::engine }; // generally diesel engine sound_source engine_ignition { sound_placement::engine }; // moved from cab + sound_source engine_shutdown { sound_placement::engine }; bool engine_state_last { false }; // helper, cached previous state of the engine double engine_volume { 0.0 }; // MC: pomocnicze zeby gladziej silnik buczal sound_source engine_revving { sound_placement::engine }; // youBy