aboutsummaryrefslogtreecommitdiffstats
path: root/al/eax_effect.h
diff options
context:
space:
mode:
authorBoris I. Bendovsky <[email protected]>2022-01-30 14:47:32 +0200
committerGitHub <[email protected]>2022-01-30 04:47:32 -0800
commit19ed994dc30ed84ea7cbbb5152577669fc25caf6 (patch)
treef68933bf8f778806618bd6c0b1bf9ced1b0ccf08 /al/eax_effect.h
parent619249371a40f03cf988d1f5750d643df797c485 (diff)
Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632)
* Add EAX extensions (EAX 2.0-5.0, X-RAM) * Comment out C++17 leftovers * Remove everything related to patching * Update alsoftrc.sample * Rewrite integration * Fix GCC compilation under Linux * Always reset EAX effect properties when loading it into FX slot
Diffstat (limited to 'al/eax_effect.h')
-rw-r--r--al/eax_effect.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/al/eax_effect.h b/al/eax_effect.h
new file mode 100644
index 00000000..23dbb73e
--- /dev/null
+++ b/al/eax_effect.h
@@ -0,0 +1,28 @@
+#ifndef EAX_EFFECT_INCLUDED
+#define EAX_EFFECT_INCLUDED
+
+
+#include <memory>
+
+#include "eax_eax_call.h"
+
+
+class EaxEffect
+{
+public:
+ EaxEffect() = default;
+
+ virtual ~EaxEffect() = default;
+
+
+ // Returns "true" if any immediated property was changed.
+ // [[nodiscard]]
+ virtual bool dispatch(
+ const EaxEaxCall& eax_call) = 0;
+}; // EaxEffect
+
+
+using EaxEffectUPtr = std::unique_ptr<EaxEffect>;
+
+
+#endif // !EAX_EFFECT_INCLUDED