The Audio::Extension::extensions() and GL::Extension::extensions()
functions now return an ArrayView instead of a reference to std::vector.
Having a function-local static std::vector is the worst thing ever. Ugh.
103% of use cases use the returned value directly without checking, so
we might as well do the check ourselves. Added new function hasCurrent()
and added deprecated backward-compatibility conversion and -> operators.
Wow, that creeped to a lot of places.
Last dinosaur from the pointer age.
Since `ALC_HRTF_SOFT` is a ALC extension, we need to use `alcGetIntegerv()`
instead of `alGetIntegerv()` which requires access to the OpenAL device
stored in `Audio::Context` and therefore the aforementioned methods have
been moved there.
Signed-off-by: Squareys <Squareys@googlemail.com>
Polished some minor stuff in the code, reordered Renderer getter-only
functions to be at the top, fixed \al_extension and \alc_extension
Doxygen commands to link to proper place and some other minor
Doxygen-related stuff.
Add `HrtfStatus` and queries in `Audio::Renderer`, `ALC::SOFT::HRTF` and
`@requires_alc_extension` notes for relevant methods in `Configuration`.
Signed-off-by: Squareys <Squareys@googlemail.com>
As we are now using absolute includes, there is no need to prefix
everything with "magnum<Namespace>" etc. All generated configuration
files are renamed to configure.h and their path is included _before_
everything else to avoid accidental collisions.
The only places where they aren't absolute are:
- when header is included from corresponding source file
- when including headers which are not part of final installation (e.g.
test-specific configuration, headers from Implementation/)
Everything what was in src/ is now in src/Corrade, everything from
src/Plugins is now in src/MagnumPlugins, everything from external/ is in
src/MagnumExternal. Added new CMakeLists.txt file and updated the other
ones for the moves, no other change was made. If MAGNUM_BUILD_DEPRECATED
is set, everything compiles and installs like previously except for the
plugins, which are now in MagnumPlugins and not in Magnum/Plugins.
Found even more stuff broken -- copied contents of
Corrade::Utility::Directory::Flags into Magnum::Context::Flags (WTF!),
asterisks in code listings... IS IT SO HARD TO FIX ONE THING AND DON'T
BREAK THOUSAND OTHERS, DAMMIT??