aboutsummaryrefslogtreecommitdiffstats
path: root/al/eax_fx_slots.cpp
diff options
context:
space:
mode:
authorBoris I. Bendovsky <[email protected]>2022-02-08 18:20:46 +0200
committerGitHub <[email protected]>2022-02-08 08:20:46 -0800
commitd42077680890fee9e8f150e99bc259435bbe5d44 (patch)
tree0606b99eba2a09c18a8b82a2b5aafe11557eba91 /al/eax_fx_slots.cpp
parentf23c7fe8ba77d4d406d37c60501f961313db7d1a (diff)
EAX various fixes (#657)
* [EAX] Fix effect GUID validation Only NULL and REVERB was valid. * [EAX] Fix default FX slot flags EAX4 and EAX5 both sets to ENVIRONMENT. * [EAX] Set default values for legacy FX slots in the initialization * [EAX] Fix FX slot locking policy Fail on attempt to load an effect or change a lock for EAX4 "set" call. Unlock legacy FX slots on any EAX5 call. * [EAX] Allow DEFER flag for "get" calls. * [EAX] Make speaker configuration read-only * [EAX] Initialize speaker configuration * [EAX] Commit EAX source on a 3D source parameter call Reference: EAX 4.0 Programmer's Guide * [EAX] Commit EAX source on a 3D listener parameter call Reference: EAX 4.0 Programmer's Guide * [EAX] Commit source when it begins to play Reference: EAX 4.0 Programmer's Guide
Diffstat (limited to 'al/eax_fx_slots.cpp')
-rw-r--r--al/eax_fx_slots.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/al/eax_fx_slots.cpp b/al/eax_fx_slots.cpp
index f2db3ede..61d5e168 100644
--- a/al/eax_fx_slots.cpp
+++ b/al/eax_fx_slots.cpp
@@ -60,6 +60,11 @@ ALeffectslot& EaxFxSlots::get(
return const_cast<ALeffectslot&>(const_cast<const EaxFxSlots*>(this)->get(index));
}
+void EaxFxSlots::unlock_legacy() noexcept
+{
+ fx_slots_[0]->eax_unlock_legacy();
+ fx_slots_[1]->eax_unlock_legacy();
+}
[[noreturn]]
void EaxFxSlots::fail(