OpenAL fixed. CMake path set correctly.
This commit is contained in:
@@ -40,9 +40,9 @@ private:
|
|||||||
bool OnContact(const dd::Events::Contact &event);
|
bool OnContact(const dd::Events::Contact &event);
|
||||||
ALuint CreateSource();
|
ALuint CreateSource();
|
||||||
|
|
||||||
//std::map<Component*, ALuint> m_Sources;
|
std::map<Component*, ALuint> m_Sources;
|
||||||
|
|
||||||
|
|
||||||
|
//std::list<ALuint>
|
||||||
//Temp
|
//Temp
|
||||||
ALuint m_Source;
|
ALuint m_Source;
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ find_package(ZLIB REQUIRED)
|
|||||||
find_package(PNG REQUIRED)
|
find_package(PNG REQUIRED)
|
||||||
find_package(BGFX REQUIRED)
|
find_package(BGFX REQUIRED)
|
||||||
find_package(liquidfun 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)
|
find_package(OpenAL REQUIRED)
|
||||||
|
|
||||||
# GLM
|
# GLM
|
||||||
|
|||||||
@@ -21,9 +21,17 @@ void dd::Systems::SoundSystem::Initialize()
|
|||||||
}
|
}
|
||||||
|
|
||||||
alGetError();
|
alGetError();
|
||||||
|
|
||||||
|
//Create source
|
||||||
|
m_Source = CreateSource();
|
||||||
|
|
||||||
alSpeedOfSound(340.29f); // Speed of sound m/s
|
alSpeedOfSound(340.29f); // Speed of sound m/s
|
||||||
alDistanceModel(AL_INVERSE_DISTANCE_CLAMPED);
|
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
|
//Subscribe to events
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EContact, &SoundSystem::OnContact);
|
EVENT_SUBSCRIBE_MEMBER(m_EContact, &SoundSystem::OnContact);
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EPlaySFX, &SoundSystem::OnPlaySFX);
|
EVENT_SUBSCRIBE_MEMBER(m_EPlaySFX, &SoundSystem::OnPlaySFX);
|
||||||
@@ -31,15 +39,12 @@ void dd::Systems::SoundSystem::Initialize()
|
|||||||
|
|
||||||
void dd::Systems::SoundSystem::Update(double dt)
|
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)
|
bool dd::Systems::SoundSystem::OnPlaySFX(const dd::Events::PlaySFX &event)
|
||||||
{
|
{
|
||||||
m_Source = CreateSource();
|
//m_Source = CreateSource();
|
||||||
Sound *sound = ResourceManager::Load<Sound>(event.path);
|
Sound *sound = ResourceManager::Load<Sound>(event.path);
|
||||||
ALuint buffer = sound->Buffer();
|
ALuint buffer = sound->Buffer();
|
||||||
alSourcei(m_Source, AL_BUFFER, buffer);
|
alSourcei(m_Source, AL_BUFFER, buffer);
|
||||||
|
|||||||
Reference in New Issue
Block a user