Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/B/BSISoundOutputModel.h
T
2026-05-30 18:33:24 +12:00

36 lines
2.7 KiB
C++

#pragma once
namespace RE
{
class BSIAudioEffectChain;
class __declspec(novtable) BSISoundOutputModel
{
public:
static constexpr auto RTTI{ RTTI::BSISoundOutputModel };
static constexpr auto VTABLE{ VTABLE::BSISoundOutputModel };
class BSIAttenuationCharacteristics;
virtual ~BSISoundOutputModel() = default; // 00
// add
virtual bool DoGetUsesHRTF() const = 0; // 01
virtual bool DoGetHasSpeakerBias() const = 0; // 02
virtual bool DoGetSpeakerBias(std::uint32_t a_srcChannels, std::uint32_t a_channel, float (&a_levels)[8]) const = 0; // 03
virtual bool DoGetAttenuatesWithDistance() const = 0; // 04
virtual bool DoGetUseDoppler() const = 0; // 05
virtual bool DoGetUseSoSDelay() const = 0; // 06
virtual bool DoGetAudibility(float a_distance) const = 0; // 07
virtual std::uint32_t DoGetSupportedInputChannels() const = 0; // 08
virtual const BSIAttenuationCharacteristics* DoGetAttenuation() const = 0; // 09
virtual float DoGetReverbSendLevel() const = 0; // 0A
virtual bool DoGetSupportsMonitor(std::uint32_t a_monitorID) const = 0; // 0B
virtual std::uint16_t DoGetStaticAttenuation() const = 0; // 0C
virtual const BSIAudioEffectChain* DoGetEffectChain() const = 0; // 0D
virtual const char* DoGetDebugID() const = 0; // 0E
virtual bool DoGetTryPlayThroughController() const = 0; // 0F
};
static_assert(sizeof(BSISoundOutputModel) == 0x8);
}