diff --git a/src/audio/AudioLogic.cpp b/src/audio/AudioLogic.cpp index b04030dc..60989aba 100644 --- a/src/audio/AudioLogic.cpp +++ b/src/audio/AudioLogic.cpp @@ -366,12 +366,26 @@ cAudioManager::ProcessEntity(int32 id) ProcessWeather(id); } break; +/* case AUDIOTYPE_CRANE: + if (!m_nUserPause) { + m_sQueueSample.m_bReverbFlag = true; + ProcessCrane(); + } + break;*/ case AUDIOTYPE_SCRIPTOBJECT: if (!m_nUserPause) { m_sQueueSample.m_bReverbFlag = true; ProcessScriptObject(id); } break; +#ifdef GTA_BRIDGE + case AUDIOTYPE_BRIDGE: + if (!m_nUserPause) { + m_sQueueSample.m_bReverbFlag = true; + ProcessBridge(); + } + break; +#endif case AUDIOTYPE_FRONTEND: m_sQueueSample.m_bReverbFlag = false; ProcessFrontEnd(); @@ -4973,9 +4987,9 @@ cAudioManager::ProcessEscalators() float distance; for (int i = 0; i < CEscalators::NumEscalators; i++) { - if (!CEscalators::aEscalators[i].m_bIsActive) + if (!CEscalators::GetEscalator(i).IsActive()) continue; - m_sQueueSample.m_vecPos = CEscalators::aEscalators[i].m_midPoint; + m_sQueueSample.m_vecPos = CEscalators::GetEscalator(i).GetPosition(); distance = GetDistanceSquared(m_sQueueSample.m_vecPos); if (distance < SQR(SOUND_INTENSITY)) { if (distance > 0.0f) diff --git a/src/render/Fluff.h b/src/render/Fluff.h index 5a4458a8..460c12a8 100644 --- a/src/render/Fluff.h +++ b/src/render/Fluff.h @@ -90,30 +90,33 @@ class CEscalator CVector m_pos2; CVector m_pos3; CMatrix m_matrix; + bool m_bIsActive; bool m_bIsMovingDown; int32 m_stepsCount; float m_lowerEnd; float m_upperEnd; + CVector m_midPoint; float m_radius; CObject *m_pSteps[24]; public: - bool m_bIsActive;//TODO also recheck! - CVector m_midPoint; CEscalator(); void Update(void); void SwitchOff(void); void AddThisOne(CVector pos0, CVector pos1, CVector pos2, CVector pos3, bool b_isMovingDown); + bool IsActive() { return m_bIsActive; }; + CVector GetPosition() { return m_midPoint; }; }; class CEscalators { + static CEscalator aEscalators[NUM_ESCALATORS]; public: - static CEscalator aEscalators[NUM_ESCALATORS];//TODO need recheck this! static int32 NumEscalators; static void Init(void); static void Update(void); static void AddOne(CVector pos0, CVector pos1, CVector pos2, CVector pos3, bool b_isMovingDown); static void Shutdown(void); + static CEscalator GetEscalator(int ind) { return aEscalators[ind]; }; }; class CMovingThing