|
|
|
@ -166,13 +166,13 @@ public: |
|
|
|
std::array<u8, 0xa0> raw; |
|
|
|
}; |
|
|
|
}; |
|
|
|
static_assert(sizeof(EffectInfo::InParams) == 0xc0, "InParams is an invalid size"); |
|
|
|
static_assert(sizeof(InParams) == 0xc0, "InParams is an invalid size"); |
|
|
|
|
|
|
|
struct OutParams { |
|
|
|
UsageStatus status{}; |
|
|
|
INSERT_PADDING_BYTES(15); |
|
|
|
}; |
|
|
|
static_assert(sizeof(EffectInfo::OutParams) == 0x10, "OutParams is an invalid size"); |
|
|
|
static_assert(sizeof(OutParams) == 0x10, "OutParams is an invalid size"); |
|
|
|
}; |
|
|
|
|
|
|
|
struct AuxAddress { |
|
|
|
@ -184,8 +184,8 @@ struct AuxAddress { |
|
|
|
|
|
|
|
class EffectBase { |
|
|
|
public: |
|
|
|
EffectBase(EffectType effect_type); |
|
|
|
~EffectBase(); |
|
|
|
explicit EffectBase(EffectType effect_type); |
|
|
|
virtual ~EffectBase(); |
|
|
|
|
|
|
|
virtual void Update(EffectInfo::InParams& in_params) = 0; |
|
|
|
virtual void UpdateForCommandGeneration() = 0; |
|
|
|
@ -206,8 +206,7 @@ protected: |
|
|
|
template <typename T> |
|
|
|
class EffectGeneric : public EffectBase { |
|
|
|
public: |
|
|
|
EffectGeneric(EffectType effect_type) : EffectBase::EffectBase(effect_type) {} |
|
|
|
~EffectGeneric() = default; |
|
|
|
explicit EffectGeneric(EffectType effect_type) : EffectBase(effect_type) {} |
|
|
|
|
|
|
|
T& GetParams() { |
|
|
|
return internal_params; |
|
|
|
@ -224,7 +223,7 @@ private: |
|
|
|
class EffectStubbed : public EffectBase { |
|
|
|
public: |
|
|
|
explicit EffectStubbed(); |
|
|
|
~EffectStubbed(); |
|
|
|
~EffectStubbed() override; |
|
|
|
|
|
|
|
void Update(EffectInfo::InParams& in_params) override; |
|
|
|
void UpdateForCommandGeneration() override; |
|
|
|
@ -233,7 +232,7 @@ public: |
|
|
|
class EffectI3dl2Reverb : public EffectGeneric<I3dl2ReverbParams> { |
|
|
|
public: |
|
|
|
explicit EffectI3dl2Reverb(); |
|
|
|
~EffectI3dl2Reverb(); |
|
|
|
~EffectI3dl2Reverb() override; |
|
|
|
|
|
|
|
void Update(EffectInfo::InParams& in_params) override; |
|
|
|
void UpdateForCommandGeneration() override; |
|
|
|
@ -245,7 +244,7 @@ private: |
|
|
|
class EffectBiquadFilter : public EffectGeneric<BiquadFilterParams> { |
|
|
|
public: |
|
|
|
explicit EffectBiquadFilter(); |
|
|
|
~EffectBiquadFilter(); |
|
|
|
~EffectBiquadFilter() override; |
|
|
|
|
|
|
|
void Update(EffectInfo::InParams& in_params) override; |
|
|
|
void UpdateForCommandGeneration() override; |
|
|
|
@ -254,14 +253,14 @@ public: |
|
|
|
class EffectAuxInfo : public EffectGeneric<AuxInfo> { |
|
|
|
public: |
|
|
|
explicit EffectAuxInfo(); |
|
|
|
~EffectAuxInfo(); |
|
|
|
~EffectAuxInfo() override; |
|
|
|
|
|
|
|
void Update(EffectInfo::InParams& in_params) override; |
|
|
|
void UpdateForCommandGeneration() override; |
|
|
|
const VAddr GetSendInfo() const; |
|
|
|
const VAddr GetSendBuffer() const; |
|
|
|
const VAddr GetRecvInfo() const; |
|
|
|
const VAddr GetRecvBuffer() const; |
|
|
|
VAddr GetSendInfo() const; |
|
|
|
VAddr GetSendBuffer() const; |
|
|
|
VAddr GetRecvInfo() const; |
|
|
|
VAddr GetRecvBuffer() const; |
|
|
|
|
|
|
|
private: |
|
|
|
VAddr send_info{}; |
|
|
|
@ -275,7 +274,7 @@ private: |
|
|
|
class EffectDelay : public EffectGeneric<DelayParams> { |
|
|
|
public: |
|
|
|
explicit EffectDelay(); |
|
|
|
~EffectDelay(); |
|
|
|
~EffectDelay() override; |
|
|
|
|
|
|
|
void Update(EffectInfo::InParams& in_params) override; |
|
|
|
void UpdateForCommandGeneration() override; |
|
|
|
@ -287,7 +286,7 @@ private: |
|
|
|
class EffectBufferMixer : public EffectGeneric<BufferMixerParams> { |
|
|
|
public: |
|
|
|
explicit EffectBufferMixer(); |
|
|
|
~EffectBufferMixer(); |
|
|
|
~EffectBufferMixer() override; |
|
|
|
|
|
|
|
void Update(EffectInfo::InParams& in_params) override; |
|
|
|
void UpdateForCommandGeneration() override; |
|
|
|
@ -296,7 +295,7 @@ public: |
|
|
|
class EffectReverb : public EffectGeneric<ReverbParams> { |
|
|
|
public: |
|
|
|
explicit EffectReverb(); |
|
|
|
~EffectReverb(); |
|
|
|
~EffectReverb() override; |
|
|
|
|
|
|
|
void Update(EffectInfo::InParams& in_params) override; |
|
|
|
void UpdateForCommandGeneration() override; |
|
|
|
|