Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Avoid using a macro to wrap standard attributes | Chris Robinson | 2022-12-06 | 1 | -56/+56 |
| | |||||
* | Use standard likely/unlikely attributes when available | Chris Robinson | 2022-12-05 | 1 | -56/+56 |
| | |||||
* | AllocEffectSlot can't fail | Chris Robinson | 2022-07-29 | 1 | -17/+3 |
| | |||||
* | Use an intrusive_ptr to hold on to the EffectState | Chris Robinson | 2022-07-29 | 1 | -5/+3 |
| | |||||
* | Mark the EffectSlot in use after getting one | Chris Robinson | 2022-07-26 | 1 | -0/+1 |
| | |||||
* | [EAX_SOURCE] Fix source's occlusion and exclusion contribution | Boris I. Bendovsky | 2022-07-17 | 1 | -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 flags | Boris I. Bendovsky | 2022-07-17 | 1 | -1/+1 |
| | |||||
* | [EAX_FX_SLOT] Fix defaults for current properties | Boris I. Bendovsky | 2022-07-17 | 1 | -14/+40 |
| | |||||
* | [EAX_FX_SLOT] Fix EAXGet for EAX5 | Boris I. Bendovsky | 2022-07-17 | 1 | -1/+1 |
| | |||||
* | Don't pass an EaxCall to initialize_fx_slots | Chris Robinson | 2022-07-15 | 1 | -10/+2 |
| | |||||
* | Allocate EffectSlots in clusters | Chris Robinson | 2022-07-15 | 1 | -4/+4 |
| | |||||
* | Dynamically allocate EffectSlot objects | Chris Robinson | 2022-07-15 | 1 | -9/+12 |
| | |||||
* | Don't track dirty flags per EAX version | Chris Robinson | 2022-07-13 | 1 | -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. Bendovsky | 2022-07-12 | 1 | -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. Bendovsky | 2022-05-24 | 1 | -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-directory | Chris Robinson | 2022-05-16 | 1 | -2/+2 |
| | |||||
* | Replace a few asserts with actual checks or ASSUME() | Chris Robinson | 2022-03-30 | 1 | -1/+1 |
| | |||||
* | Inline a couple dispatch calls | Chris Robinson | 2022-03-26 | 1 | -7/+0 |
| | |||||
* | Avoid a stateful unique_ptr deleter | Chris Robinson | 2022-03-05 | 1 | -12/+3 |
| | |||||
* | Simplify committing EAX properties | Chris Robinson | 2022-03-05 | 1 | -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 committed | Chris Robinson | 2022-03-04 | 1 | -21/+37 |
| | |||||
* | Avoid more unnecessary atomics | Chris Robinson | 2022-02-13 | 1 | -12/+10 |
| | |||||
* | Fix sign of ALeffectslot::eax_get_eax_default_lock's return type | Chris Robinson | 2022-02-08 | 1 | -1/+1 |
| | |||||
* | EAX various fixes (#657) | Boris I. Bendovsky | 2022-02-08 | 1 | -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 objects | Chris Robinson | 2022-02-07 | 1 | -42/+11 |
| | | | | Effect slots can just use its EaxEffect directly. | ||||
* | Don't pass an ALeffect to ALeffectslot::initEffect | Chris Robinson | 2022-02-07 | 1 | -10/+15 |
| | |||||
* | Update the effectslot props with a function instead of a macro | Chris Robinson | 2022-02-06 | 1 | -27/+13 |
| | |||||
* | Move ALSOFT_EAX definition to config.h | Chris Robinson | 2022-01-30 | 1 | -5/+3 |
| | | | | And disable it by default for non-Windows targets | ||||
* | Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632) | Boris I. Bendovsky | 2022-01-30 | 1 | -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 it | Chris Robinson | 2021-10-08 | 1 | -1/+1 |
| | |||||
* | Silence some static analysis warnings | Chris Robinson | 2021-10-03 | 1 | -0/+1 |
| | |||||
* | Rename alcontext.h and move some functions to context.cpp | Chris Robinson | 2021-04-27 | 1 | -1/+1 |
| | |||||
* | Rename alcmain.h to device.h | Chris Robinson | 2021-04-27 | 1 | -1/+1 |
| | |||||
* | Update include headers | Chris Robinson | 2021-04-27 | 1 | -4/+4 |
| | | | | Don't add alc/ to the include paths. | ||||
* | Create a base the ALCdevice and ALCcontext structs | Chris Robinson | 2021-04-24 | 1 | -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 starting | Chris Robinson | 2021-04-19 | 1 | -0/+4 |
| | |||||
* | Don't flag the auxslot dirty when setting the current value | Chris Robinson | 2021-04-19 | 1 | -0/+14 |
| | |||||
* | Make an inverted atomic flag type and use it | Chris Robinson | 2021-04-15 | 1 | -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 properties | Chris Robinson | 2021-04-13 | 1 | -1/+1 |
| | |||||
* | Store buffer info in the queue entry | Chris Robinson | 2021-01-24 | 1 | -2/+9 |
| | |||||
* | Make PopCount and CountTrailingZeros more standard-like | Chris Robinson | 2021-01-22 | 1 | -4/+5 |
| | |||||
* | Remove constexpr from a function | Chris Robinson | 2021-01-17 | 1 | -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 core | Chris Robinson | 2020-12-31 | 1 | -1/+1 |
| | |||||
* | Avoid ugly reinterpret_casts with offsetof | Chris Robinson | 2020-12-29 | 1 | -6/+12 |
| | |||||
* | Combine multiple functions into one | Chris Robinson | 2020-12-28 | 1 | -32/+22 |
| | |||||
* | Return an intrusive_ptr from EffectStateFactory::create | Chris Robinson | 2020-12-28 | 1 | -2/+1 |
| | |||||
* | Workaround a GCC 5 constexpr function bug | Chris Robinson | 2020-12-28 | 1 | -0/+5 |
| | |||||
* | Move the WetBuffer reference to EffectSlot | Chris Robinson | 2020-12-27 | 1 | -3/+1 |
| | |||||
* | Combine EffectState::deviceUpdate with setBuffer | Chris Robinson | 2020-12-26 | 1 | -4/+2 |
| | |||||
* | Avoid AL enums for the EffectSlot type | Chris Robinson | 2020-12-26 | 1 | -8/+62 |
| |