aboutsummaryrefslogtreecommitdiffstats
path: root/al/auxeffectslot.cpp
Commit message (Collapse)AuthorAgeFilesLines
* AllocEffectSlot can't failChris Robinson2022-07-291-17/+3
|
* Use an intrusive_ptr to hold on to the EffectStateChris Robinson2022-07-291-5/+3
|
* Mark the EffectSlot in use after getting oneChris Robinson2022-07-261-0/+1
|
* [EAX_SOURCE] Fix source's occlusion and exclusion contributionBoris I. Bendovsky2022-07-171-2/+15
| | | | Source's oclussion and exclusion properties should be taken into account only for listener's environment (see p. 16, p. 56, pp. 62-63 and p. 64 of "EAX® 4.0 Programmer’s Guide").
* [EAX_FX_SLOT] Fix setting EAX5 flagsBoris I. Bendovsky2022-07-171-1/+1
|
* [EAX_FX_SLOT] Fix defaults for current propertiesBoris I. Bendovsky2022-07-171-14/+40
|
* [EAX_FX_SLOT] Fix EAXGet for EAX5Boris I. Bendovsky2022-07-171-1/+1
|
* Don't pass an EaxCall to initialize_fx_slotsChris Robinson2022-07-151-10/+2
|
* Allocate EffectSlots in clustersChris Robinson2022-07-151-4/+4
|
* Dynamically allocate EffectSlot objectsChris Robinson2022-07-151-9/+12
|
* Don't track dirty flags per EAX versionChris Robinson2022-07-131-39/+29
| | | | | Only the current version's flags are used, and they're all reset when changing versions, making it unnecessary to track non-current version flags.
* [EAX] Use separate FX slot state for each version (#730)Boris I. Bendovsky2022-07-121-510/+328
| | | | | | | * [EAX] Use separate FX slot state for each version [EAX] Don't defer FX slot properties * [EAX_FXSLOT] Use mPropsDirty to defer update [EAX_CONTEXT] Commit all updates on first initialization
* [EAX] Add separate effect state for each version (#705)Boris I. Bendovsky2022-05-241-110/+84
| | | | | * [EAX] Add separate effect state for each version * [EAX] Don't use EAX call as data member
* Move EAX files to their own sub-directoryChris Robinson2022-05-161-2/+2
|
* Replace a few asserts with actual checks or ASSUME()Chris Robinson2022-03-301-1/+1
|
* Inline a couple dispatch callsChris Robinson2022-03-261-7/+0
|
* Avoid a stateful unique_ptr deleterChris Robinson2022-03-051-12/+3
|
* Simplify committing EAX propertiesChris Robinson2022-03-051-22/+6
| | | | | | Based on DirectSound's EAX behavior, committing any EAX property commits *all* deferred property changes, not just the object being changed. So applying EAX changes can be handled in one place.
* Ensure deferred EAX effect properties are committedChris Robinson2022-03-041-21/+37
|
* Avoid more unnecessary atomicsChris Robinson2022-02-131-12/+10
|
* Fix sign of ALeffectslot::eax_get_eax_default_lock's return typeChris Robinson2022-02-081-1/+1
|
* EAX various fixes (#657)Boris I. Bendovsky2022-02-081-47/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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
* Avoid using ALeffect to manage EaxEffect objectsChris Robinson2022-02-071-42/+11
| | | | Effect slots can just use its EaxEffect directly.
* Don't pass an ALeffect to ALeffectslot::initEffectChris Robinson2022-02-071-10/+15
|
* Update the effectslot props with a function instead of a macroChris Robinson2022-02-061-27/+13
|
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-301-5/+3
| | | | And disable it by default for non-Windows targets
* Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632)Boris I. Bendovsky2022-01-301-0/+834
| | | | | | | | | | | | | | | * 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
* Make a construct_at method amd use itChris Robinson2021-10-081-1/+1
|
* Silence some static analysis warningsChris Robinson2021-10-031-0/+1
|
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-271-1/+1
|
* Rename alcmain.h to device.hChris Robinson2021-04-271-1/+1
|
* Update include headersChris Robinson2021-04-271-4/+4
| | | | Don't add alc/ to the include paths.
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-241-4/+4
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Force an effect slot update when implicitly startingChris Robinson2021-04-191-0/+4
|
* Don't flag the auxslot dirty when setting the current valueChris Robinson2021-04-191-0/+14
|
* Make an inverted atomic flag type and use itChris Robinson2021-04-151-5/+5
| | | | | | | | The inverted atomic flag replaces test_and_set+clear with test_and_clear+set, essentially inverting the flag status. This makes more logical sense for flagging dirty state, which is less confusing than flagging clean state. The one caveat is ATOMIC_FLAG_INIT (or default construction in C++20) initializes the state to true rather than false.
* Fix inverted check for updating deferred effectslot propertiesChris Robinson2021-04-131-1/+1
|
* Store buffer info in the queue entryChris Robinson2021-01-241-2/+9
|
* Make PopCount and CountTrailingZeros more standard-likeChris Robinson2021-01-221-4/+5
|
* Remove constexpr from a functionChris Robinson2021-01-171-6/+1
| | | | | Various versions of GCC have a problem with it, and it doesn't really add much benefit anyway.
* Move cpu_caps and fpu_ctrl to coreChris Robinson2020-12-311-1/+1
|
* Avoid ugly reinterpret_casts with offsetofChris Robinson2020-12-291-6/+12
|
* Combine multiple functions into oneChris Robinson2020-12-281-32/+22
|
* Return an intrusive_ptr from EffectStateFactory::createChris Robinson2020-12-281-2/+1
|
* Workaround a GCC 5 constexpr function bugChris Robinson2020-12-281-0/+5
|
* Move the WetBuffer reference to EffectSlotChris Robinson2020-12-271-3/+1
|
* Combine EffectState::deviceUpdate with setBufferChris Robinson2020-12-261-4/+2
|
* Avoid AL enums for the EffectSlot typeChris Robinson2020-12-261-8/+62
|
* Move alexcpt to coreChris Robinson2020-12-241-1/+1
|
* Move logging to coreChris Robinson2020-12-171-1/+1
|