diff --git a/include/Sound/SoundSystem.h b/include/Sound/SoundSystem.h index 8c6cb97..26d02e1 100644 --- a/include/Sound/SoundSystem.h +++ b/include/Sound/SoundSystem.h @@ -40,9 +40,9 @@ private: bool OnContact(const dd::Events::Contact &event); ALuint CreateSource(); - //std::map m_Sources; - + std::map m_Sources; + //std::list //Temp ALuint m_Source; diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt index 562dad8..f608d66 100755 --- a/src/game/CMakeLists.txt +++ b/src/game/CMakeLists.txt @@ -9,6 +9,8 @@ find_package(ZLIB REQUIRED) find_package(PNG REQUIRED) find_package(BGFX REQUIRED) find_package(liquidfun REQUIRED) +# Because FindOpenAL is retarded +set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${CMAKE_SOURCE_DIR}/deps/include/AL") find_package(OpenAL REQUIRED) # GLM diff --git a/src/game/Sound/SoundSystem.cpp b/src/game/Sound/SoundSystem.cpp index 9599952..8b25cea 100644 --- a/src/game/Sound/SoundSystem.cpp +++ b/src/game/Sound/SoundSystem.cpp @@ -21,9 +21,17 @@ void dd::Systems::SoundSystem::Initialize() } alGetError(); + + //Create source + m_Source = CreateSource(); + alSpeedOfSound(340.29f); // Speed of sound m/s alDistanceModel(AL_INVERSE_DISTANCE_CLAMPED); + const ALfloat pos[3] = {0, 0, 0}; + alListenerfv(AL_POSITION, pos); + alSourcefv(m_Source, AL_POSITION, pos); + //Subscribe to events EVENT_SUBSCRIBE_MEMBER(m_EContact, &SoundSystem::OnContact); EVENT_SUBSCRIBE_MEMBER(m_EPlaySFX, &SoundSystem::OnPlaySFX); @@ -31,15 +39,12 @@ void dd::Systems::SoundSystem::Initialize() void dd::Systems::SoundSystem::Update(double dt) { - const ALfloat pos[3] = {0, 0, 0}; - alListenerfv(AL_POSITION, pos); - alSourcefv(m_Source, AL_POSITION, pos); } bool dd::Systems::SoundSystem::OnPlaySFX(const dd::Events::PlaySFX &event) { - m_Source = CreateSource(); + //m_Source = CreateSource(); Sound *sound = ResourceManager::Load(event.path); ALuint buffer = sound->Buffer(); alSourcei(m_Source, AL_BUFFER, buffer);