Merge branch 'master' into LevelSystemAndSuch
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
@@ -20,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);
|
||||
@@ -30,19 +39,14 @@ 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();
|
||||
//ALuint buffer = LoadFile(event.path); //change to resourcemanager load
|
||||
//m_Source = CreateSource();
|
||||
Sound *sound = ResourceManager::Load<Sound>(event.path);
|
||||
ALuint buffer = sound->Buffer();
|
||||
|
||||
alSourcei(m_Source, AL_BUFFER, buffer);
|
||||
alSourcePlay(m_Source);
|
||||
}
|
||||
@@ -73,8 +77,3 @@ ALuint dd::Systems::SoundSystem::CreateSource()
|
||||
|
||||
return source;
|
||||
}
|
||||
|
||||
ALuint dd::Systems::SoundSystem::LoadFile(std::string path)
|
||||
{
|
||||
/*Moved code*/
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user