From 7e9e19039c254c1ab547843772bc63de8b330921 Mon Sep 17 00:00:00 2001 From: Stiffly Date: Mon, 21 Sep 2015 14:49:47 +0200 Subject: [PATCH 1/2] removing unnecessary print --- include/Sound/SoundSystem.h | 9 --------- src/game/Sound/Sound.cpp | 2 -- src/game/Sound/SoundSystem.cpp | 10 ++-------- 3 files changed, 2 insertions(+), 19 deletions(-) diff --git a/include/Sound/SoundSystem.h b/include/Sound/SoundSystem.h index 254b989..8c6cb97 100644 --- a/include/Sound/SoundSystem.h +++ b/include/Sound/SoundSystem.h @@ -27,14 +27,7 @@ public: : System(world, eventBroker) { } ~SoundSystem(); void Initialize() override; - - //void UpdateEntity(double dt, EntityID entity, EntityID parent) override; void Update(double dt) override; - //void OnComponentCreated(std::string type, std::shared_ptr component) override; - //void OnComponentRemoved(std::string type, Component* component) override; - //void PlaySound(Components::SoundEmitter* emitter, std::string path); // Use if you want to play a temporary .wav file not from component - //void PlaySound(std::shared_ptr emitter); // Use if you want to play .wav file from component - //void StopSound(std::shared_ptr emitter); @@ -45,8 +38,6 @@ private: dd::EventRelay m_EContact; bool OnPlaySFX(const dd::Events::PlaySFX &event); bool OnContact(const dd::Events::Contact &event); - - ALuint LoadFile(std::string fileName); ALuint CreateSource(); //std::map m_Sources; diff --git a/src/game/Sound/Sound.cpp b/src/game/Sound/Sound.cpp index f38ddf7..d2012c3 100644 --- a/src/game/Sound/Sound.cpp +++ b/src/game/Sound/Sound.cpp @@ -7,8 +7,6 @@ dd::Sound::Sound(std::string path) ALuint dd::Sound::LoadFile(std::string path) { - - LOG_ERROR("Detta meddelande ska du bara få 1 gång! -----------------------------"); if (m_BufferCache.find(path) != m_BufferCache.end()) { return m_BufferCache[path]; } diff --git a/src/game/Sound/SoundSystem.cpp b/src/game/Sound/SoundSystem.cpp index 9ba277f..9599952 100644 --- a/src/game/Sound/SoundSystem.cpp +++ b/src/game/Sound/SoundSystem.cpp @@ -3,7 +3,8 @@ dd::Systems::SoundSystem::~SoundSystem() { - //alDeleteSources(1, m_Source); + alSourcei(m_Source, AL_BUFFER, 0); + alDeleteSources(1, &m_Source); } void dd::Systems::SoundSystem::Initialize() @@ -39,10 +40,8 @@ void dd::Systems::SoundSystem::Update(double dt) bool dd::Systems::SoundSystem::OnPlaySFX(const dd::Events::PlaySFX &event) { m_Source = CreateSource(); - //ALuint buffer = LoadFile(event.path); //change to resourcemanager load Sound *sound = ResourceManager::Load(event.path); ALuint buffer = sound->Buffer(); - alSourcei(m_Source, AL_BUFFER, buffer); alSourcePlay(m_Source); } @@ -73,8 +72,3 @@ ALuint dd::Systems::SoundSystem::CreateSource() return source; } - -ALuint dd::Systems::SoundSystem::LoadFile(std::string path) -{ - /*Moved code*/ -} From 3f4ede4b7d2012cd1e16059474474c253d40f9cb Mon Sep 17 00:00:00 2001 From: Stiffly Date: Tue, 22 Sep 2015 14:32:04 +0200 Subject: [PATCH 2/2] OpenAL fixed. CMake path set correctly. --- include/Sound/SoundSystem.h | 4 ++-- src/game/CMakeLists.txt | 2 ++ src/game/Sound/SoundSystem.cpp | 13 +++++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) 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);