mirror of
https://github.com/whoahq/whoa.git
synced 2026-02-01 00:02:45 +03:00
feat(sound): set fade in and fade out in SI2::PlaySoundKit
This commit is contained in:
parent
611bf14fde
commit
0f9a2afe2a
@ -599,6 +599,22 @@ void SESound::Play() {
|
||||
}
|
||||
}
|
||||
|
||||
void SESound::SetFadeInTime(float fadeInTime) {
|
||||
if (!this->m_internal) {
|
||||
return;
|
||||
}
|
||||
|
||||
this->m_internal->m_fadeInTime = fadeInTime;
|
||||
}
|
||||
|
||||
void SESound::SetFadeOutTime(float fadeOutTime) {
|
||||
if (!this->m_internal) {
|
||||
return;
|
||||
}
|
||||
|
||||
this->m_internal->m_fadeOutTime = fadeOutTime;
|
||||
}
|
||||
|
||||
void SESound::SetUserData(SEUserData* userData) {
|
||||
if (!this->m_internal) {
|
||||
return;
|
||||
|
||||
@ -40,6 +40,8 @@ class SESound {
|
||||
bool IsPlaying();
|
||||
int32_t Load(const char* filename, int32_t a3, FMOD::SoundGroup* soundGroup1, FMOD::SoundGroup* soundGroup2, bool a6, bool a7, uint32_t a8, int32_t a9, uint32_t a10);
|
||||
void Play();
|
||||
void SetFadeInTime(float fadeInTime);
|
||||
void SetFadeOutTime(float fadeOutTime);
|
||||
void SetUserData(SEUserData* userData);
|
||||
|
||||
private:
|
||||
|
||||
@ -31,6 +31,12 @@ class SESoundInternal : public TSLinkedNode<SESoundInternal> {
|
||||
FMOD::Channel* m_fmodChannel = nullptr;
|
||||
SESound* m_sound = nullptr;
|
||||
SEUserData* m_userData = nullptr;
|
||||
float m_volume = 1.0f;
|
||||
float m_fadeVolume = 0.0f;
|
||||
float m_fadeInTime = 0.0f;
|
||||
float m_fadeOutTime = 0.0f;
|
||||
uint8_t m_fadeIn = 0;
|
||||
uint8_t m_fadeOut = 0;
|
||||
// TODO
|
||||
int32_t m_useCache = 0;
|
||||
int32_t m_type = 0;
|
||||
|
||||
@ -426,6 +426,16 @@ int32_t SI2::PlaySoundKit(int32_t id, int32_t a2, SOUNDKITOBJECT* object, SoundK
|
||||
|
||||
// TODO
|
||||
|
||||
if (properties->m_fadeInTime >= 0.0f) {
|
||||
sound->SetFadeInTime(properties->m_fadeInTime);
|
||||
}
|
||||
|
||||
if (properties->m_fadeOutTime >= 0.0f) {
|
||||
sound->SetFadeOutTime(properties->m_fadeOutTime);
|
||||
}
|
||||
|
||||
// TODO
|
||||
|
||||
sound->CompleteLoad();
|
||||
|
||||
// TODO
|
||||
|
||||
@ -8,6 +8,9 @@ void SoundKitProperties::ResetToDefaults() {
|
||||
|
||||
// TODO
|
||||
|
||||
this->m_fadeInTime = 0.0f;
|
||||
this->m_fadeOutTime = 0.0f;
|
||||
|
||||
this->m_type = 0;
|
||||
|
||||
// TODO
|
||||
|
||||
@ -8,6 +8,9 @@ class SoundKitProperties {
|
||||
// Member variables
|
||||
uint32_t m_type;
|
||||
// TODO
|
||||
float m_fadeInTime;
|
||||
float m_fadeOutTime;
|
||||
// TODO
|
||||
int32_t int20;
|
||||
uint32_t uint24;
|
||||
uint32_t uint28;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user