feat(sound): add SESound::SetVolume

This commit is contained in:
fallenoak 2025-11-26 23:33:37 -06:00
parent 08dc4513af
commit 775c1cbce8
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
2 changed files with 14 additions and 0 deletions

View File

@ -4,6 +4,7 @@
#include "util/SFile.hpp"
#include <storm/Memory.hpp>
#include <storm/String.hpp>
#include <algorithm>
#include <cstdlib>
#define LOG_WRITE(result, ...) \
@ -622,3 +623,15 @@ void SESound::SetUserData(SEUserData* userData) {
this->m_internal->m_userData = userData;
}
void SESound::SetVolume(float volume) {
if (!this->m_internal) {
return;
}
this->m_internal->m_volume = std::min(std::max(volume, 0.0f), 1.0f);
if (this->m_internal->m_fmodChannel) {
this->m_internal->m_fmodChannel->setVolume(this->m_internal->GetVolume());
}
}

View File

@ -43,6 +43,7 @@ class SESound {
void SetFadeInTime(float fadeInTime);
void SetFadeOutTime(float fadeOutTime);
void SetUserData(SEUserData* userData);
void SetVolume(float volume);
private:
// Private static functions