From c3430f5e9445b28c88d88c3608ffe52ba1b1b574 Mon Sep 17 00:00:00 2001 From: antonisauren Date: Tue, 3 May 2016 19:27:10 +0200 Subject: [PATCH] Dzwieki piasecznicy i odluzniacza jako skladane AdvancedSound. --- DynObj.cpp | 22 ++++++++++++++++++++-- DynObj.h | 2 ++ Globals.cpp | 2 +- Train.cpp | 19 ++++++++++--------- 4 files changed, 33 insertions(+), 12 deletions(-) diff --git a/DynObj.cpp b/DynObj.cpp index 439d4ef8..e071ed48 100644 --- a/DynObj.cpp +++ b/DynObj.cpp @@ -3858,7 +3858,17 @@ void TDynamicObject::RenderSounds() else rsPisk.Stop(); } - + + if (MoverParameters->SandDose) // Dzwiek piasecznicy + sSand.TurnOn(MechInside, GetPosition()); + else + sSand.TurnOff(MechInside, GetPosition()); + sSand.Update(MechInside, GetPosition()); + if (MoverParameters->Hamulec->GetStatus() & b_rls) // Dzwiek odluzniacza + sReleaser.TurnOn(MechInside, GetPosition()); + else + sReleaser.TurnOff(MechInside, GetPosition()); + sReleaser.Update(MechInside, GetPosition()); // if ((MoverParameters->ConverterFlag==false) && // (MoverParameters->TrainType!=dt_ET22)) // if @@ -5187,7 +5197,15 @@ void TDynamicObject::LoadMMediaFile(AnsiString BaseDir, AnsiString TypeName, rsDoorClose.FM = 1.0; rsDoorClose.FA = 0.0; } - } + else if (str == AnsiString("sand:")) // pliki z piasecznica + { + sSand.Load(Parser, GetPosition()); + } + else if (str == AnsiString("releaser:")) // pliki z odluzniaczem + { + sReleaser.Load(Parser, GetPosition()); + } + } else if (str == AnsiString("internaldata:")) // dalej nie czytaj { while (!Parser->EndOfFile) diff --git a/DynObj.h b/DynObj.h index 6a25eabe..273de04e 100644 --- a/DynObj.h +++ b/DynObj.h @@ -287,6 +287,8 @@ class TDynamicObject TAdvancedSound sSmallCompressor; TAdvancedSound sDepartureSignal; TAdvancedSound sTurbo; + TAdvancedSound sSand; + TAdvancedSound sReleaser; // Winger 010304 // TRealSound rsPanTup; //PSound sPantUp; diff --git a/Globals.cpp b/Globals.cpp index 9322e7dd..5f8704f3 100644 --- a/Globals.cpp +++ b/Globals.cpp @@ -51,7 +51,7 @@ HWND Global::hWnd = NULL; // uchwyt okna int Global::iCameraLast = -1; AnsiString Global::asRelease = "15.4.1171.475"; AnsiString Global::asVersion = - "Compilation 2016-03-14, release " + Global::asRelease + "."; // tutaj, bo wysyłany + "Compilation 2016-05-03, release " + Global::asRelease + "."; // tutaj, bo wysyłany int Global::iViewMode = 0; // co aktualnie widać: 0-kabina, 1-latanie, 2-sprzęgi, 3-dokumenty int Global::iTextMode = 0; // tryb pracy wyświetlacza tekstowego int Global::iScreenMode[12] = {0, 0, 0, 0, 0, 0, diff --git a/Train.cpp b/Train.cpp index 37bcd202..538c572c 100644 --- a/Train.cpp +++ b/Train.cpp @@ -499,8 +499,8 @@ void TTrain::OnKeyDown(int cKey) if (ggSandButton.SubModel != NULL) { ggSandButton.PutValue(1); - dsbPneumaticRelay->SetVolume(-80); - dsbPneumaticRelay->Play(0, 0, 0); + // dsbPneumaticRelay->SetVolume(-80); + // dsbPneumaticRelay->Play(0, 0, 0); } } } @@ -1600,11 +1600,12 @@ void TTrain::OnKeyDown(int cKey) if (mvOccupied->BrakeCtrlPosNo > 0) { ggReleaserButton.PutValue(1); - if (mvOccupied->BrakeReleaser(1)) - { - dsbPneumaticRelay->SetVolume(-80); - dsbPneumaticRelay->Play(0, 0, 0); - } + mvOccupied->BrakeReleaser(1); + // if (mvOccupied->BrakeReleaser(1)) + // { + // dsbPneumaticRelay->SetVolume(-80); + // dsbPneumaticRelay->Play(0, 0, 0); + // } } } } @@ -4302,8 +4303,8 @@ bool TTrain::Update() { if (mvControlled->TrainType != dt_EZT && ggSandButton.SubModel != NULL) { - dsbPneumaticRelay->SetVolume(-30); - dsbPneumaticRelay->Play(0,0,0); + // dsbPneumaticRelay->SetVolume(-30); + // dsbPneumaticRelay->Play(0,0,0); ggSandButton.PutValue(1); mvControlled->SandDose = true; // mvControlled->SandDoseOn(true);