From 6b2823775ef05ec4e5356caa813b2b51e012b773 Mon Sep 17 00:00:00 2001
From: Ray <raysan5@gmail.com>
Date: Mon, 6 Jun 2016 20:34:11 +0200
Subject: [PATCH] Remove OpenAL Soft

---
 src/external/openal_soft/COPYING              | 484 -----------
 src/external/openal_soft/include/AL/al.h      | 656 ---------------
 src/external/openal_soft/include/AL/alc.h     | 237 ------
 src/external/openal_soft/include/AL/alext.h   | 438 ----------
 .../openal_soft/include/AL/efx-creative.h     |   3 -
 .../openal_soft/include/AL/efx-presets.h      | 402 ---------
 src/external/openal_soft/include/AL/efx.h     | 761 ------------------
 .../openal_soft/lib/win32/libOpenAL32.dll.a   | Bin 100246 -> 0 bytes
 8 files changed, 2981 deletions(-)
 delete mode 100644 src/external/openal_soft/COPYING
 delete mode 100644 src/external/openal_soft/include/AL/al.h
 delete mode 100644 src/external/openal_soft/include/AL/alc.h
 delete mode 100644 src/external/openal_soft/include/AL/alext.h
 delete mode 100644 src/external/openal_soft/include/AL/efx-creative.h
 delete mode 100644 src/external/openal_soft/include/AL/efx-presets.h
 delete mode 100644 src/external/openal_soft/include/AL/efx.h
 delete mode 100644 src/external/openal_soft/lib/win32/libOpenAL32.dll.a

diff --git a/src/external/openal_soft/COPYING b/src/external/openal_soft/COPYING
deleted file mode 100644
index d0c897869..000000000
--- a/src/external/openal_soft/COPYING
+++ /dev/null
@@ -1,484 +0,0 @@
- 
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
-
- Copyright (C) 1991 Free Software Foundation, Inc.
-                    675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the library GPL.  It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it.  You can use it for
-your libraries, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if
-you distribute copies of the library, or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link a program with the library, you must provide
-complete object files to the recipients so that they can relink them
-with the library, after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library.  If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, so that any problems introduced by others will not reflect on
-the original authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software.  To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-  Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs.  This
-license, the GNU Library General Public License, applies to certain
-designated libraries.  This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
-  The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it.  Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program.  However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
-  Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries.  We
-concluded that weaker conditions might promote sharing better.
-
-  However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves.  This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them.  (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.)  The hope is that this
-will lead to faster development of free libraries.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, while the latter only
-works together with the library.
-
-  Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
-
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-General Public License (also called "this License").  Each licensee is
-addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also compile or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    c) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    d) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Library General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-     Appendix: How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the Free
-    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
diff --git a/src/external/openal_soft/include/AL/al.h b/src/external/openal_soft/include/AL/al.h
deleted file mode 100644
index 413b38331..000000000
--- a/src/external/openal_soft/include/AL/al.h
+++ /dev/null
@@ -1,656 +0,0 @@
-#ifndef AL_AL_H
-#define AL_AL_H
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#ifndef AL_API
- #if defined(AL_LIBTYPE_STATIC)
-  #define AL_API
- #elif defined(_WIN32)
-  #define AL_API __declspec(dllimport)
- #else
-  #define AL_API extern
- #endif
-#endif
-
-#if defined(_WIN32)
- #define AL_APIENTRY __cdecl
-#else
- #define AL_APIENTRY
-#endif
-
-
-/** Deprecated macro. */
-#define OPENAL
-#define ALAPI                                    AL_API
-#define ALAPIENTRY                               AL_APIENTRY
-#define AL_INVALID                               (-1)
-#define AL_ILLEGAL_ENUM                          AL_INVALID_ENUM
-#define AL_ILLEGAL_COMMAND                       AL_INVALID_OPERATION
-
-/** Supported AL version. */
-#define AL_VERSION_1_0
-#define AL_VERSION_1_1
-
-/** 8-bit boolean */
-typedef char ALboolean;
-
-/** character */
-typedef char ALchar;
-
-/** signed 8-bit 2's complement integer */
-typedef signed char ALbyte;
-
-/** unsigned 8-bit integer */
-typedef unsigned char ALubyte;
-
-/** signed 16-bit 2's complement integer */
-typedef short ALshort;
-
-/** unsigned 16-bit integer */
-typedef unsigned short ALushort;
-
-/** signed 32-bit 2's complement integer */
-typedef int ALint;
-
-/** unsigned 32-bit integer */
-typedef unsigned int ALuint;
-
-/** non-negative 32-bit binary integer size */
-typedef int ALsizei;
-
-/** enumerated 32-bit value */
-typedef int ALenum;
-
-/** 32-bit IEEE754 floating-point */
-typedef float ALfloat;
-
-/** 64-bit IEEE754 floating-point */
-typedef double ALdouble;
-
-/** void type (for opaque pointers only) */
-typedef void ALvoid;
-
-
-/* Enumerant values begin at column 50. No tabs. */
-
-/** "no distance model" or "no buffer" */
-#define AL_NONE                                  0
-
-/** Boolean False. */
-#define AL_FALSE                                 0
-
-/** Boolean True. */
-#define AL_TRUE                                  1
-
-
-/**
- * Relative source.
- * Type:    ALboolean
- * Range:   [AL_TRUE, AL_FALSE]
- * Default: AL_FALSE
- *
- * Specifies if the Source has relative coordinates.
- */
-#define AL_SOURCE_RELATIVE                       0x202
-
-
-/**
- * Inner cone angle, in degrees.
- * Type:    ALint, ALfloat
- * Range:   [0 - 360]
- * Default: 360
- *
- * The angle covered by the inner cone, where the source will not attenuate.
- */
-#define AL_CONE_INNER_ANGLE                      0x1001
-
-/**
- * Outer cone angle, in degrees.
- * Range:   [0 - 360]
- * Default: 360
- *
- * The angle covered by the outer cone, where the source will be fully
- * attenuated.
- */
-#define AL_CONE_OUTER_ANGLE                      0x1002
-
-/**
- * Source pitch.
- * Type:    ALfloat
- * Range:   [0.5 - 2.0]
- * Default: 1.0
- *
- * A multiplier for the frequency (sample rate) of the source's buffer.
- */
-#define AL_PITCH                                 0x1003
-
-/**
- * Source or listener position.
- * Type:    ALfloat[3], ALint[3]
- * Default: {0, 0, 0}
- *
- * The source or listener location in three dimensional space.
- *
- * OpenAL, like OpenGL, uses a right handed coordinate system, where in a
- * frontal default view X (thumb) points right, Y points up (index finger), and
- * Z points towards the viewer/camera (middle finger).
- *
- * To switch from a left handed coordinate system, flip the sign on the Z
- * coordinate.
- */
-#define AL_POSITION                              0x1004
-
-/**
- * Source direction.
- * Type:    ALfloat[3], ALint[3]
- * Default: {0, 0, 0}
- *
- * Specifies the current direction in local space.
- * A zero-length vector specifies an omni-directional source (cone is ignored).
- */
-#define AL_DIRECTION                             0x1005
-
-/**
- * Source or listener velocity.
- * Type:    ALfloat[3], ALint[3]
- * Default: {0, 0, 0}
- *
- * Specifies the current velocity in local space.
- */
-#define AL_VELOCITY                              0x1006
-
-/**
- * Source looping.
- * Type:    ALboolean
- * Range:   [AL_TRUE, AL_FALSE]
- * Default: AL_FALSE
- *
- * Specifies whether source is looping.
- */
-#define AL_LOOPING                               0x1007
-
-/**
- * Source buffer.
- * Type:  ALuint
- * Range: any valid Buffer.
- *
- * Specifies the buffer to provide sound samples.
- */
-#define AL_BUFFER                                0x1009
-
-/**
- * Source or listener gain.
- * Type:  ALfloat
- * Range: [0.0 - ]
- *
- * A value of 1.0 means unattenuated. Each division by 2 equals an attenuation
- * of about -6dB. Each multiplicaton by 2 equals an amplification of about
- * +6dB.
- *
- * A value of 0.0 is meaningless with respect to a logarithmic scale; it is
- * silent.
- */
-#define AL_GAIN                                  0x100A
-
-/**
- * Minimum source gain.
- * Type:  ALfloat
- * Range: [0.0 - 1.0]
- *
- * The minimum gain allowed for a source, after distance and cone attenation is
- * applied (if applicable).
- */
-#define AL_MIN_GAIN                              0x100D
-
-/**
- * Maximum source gain.
- * Type:  ALfloat
- * Range: [0.0 - 1.0]
- *
- * The maximum gain allowed for a source, after distance and cone attenation is
- * applied (if applicable).
- */
-#define AL_MAX_GAIN                              0x100E
-
-/**
- * Listener orientation.
- * Type: ALfloat[6]
- * Default: {0.0, 0.0, -1.0, 0.0, 1.0, 0.0}
- *
- * Effectively two three dimensional vectors. The first vector is the front (or
- * "at") and the second is the top (or "up").
- *
- * Both vectors are in local space.
- */
-#define AL_ORIENTATION                           0x100F
-
-/**
- * Source state (query only).
- * Type:  ALint
- * Range: [AL_INITIAL, AL_PLAYING, AL_PAUSED, AL_STOPPED]
- */
-#define AL_SOURCE_STATE                          0x1010
-
-/** Source state value. */
-#define AL_INITIAL                               0x1011
-#define AL_PLAYING                               0x1012
-#define AL_PAUSED                                0x1013
-#define AL_STOPPED                               0x1014
-
-/**
- * Source Buffer Queue size (query only).
- * Type: ALint
- *
- * The number of buffers queued using alSourceQueueBuffers, minus the buffers
- * removed with alSourceUnqueueBuffers.
- */
-#define AL_BUFFERS_QUEUED                        0x1015
-
-/**
- * Source Buffer Queue processed count (query only).
- * Type: ALint
- *
- * The number of queued buffers that have been fully processed, and can be
- * removed with alSourceUnqueueBuffers.
- *
- * Looping sources will never fully process buffers because they will be set to
- * play again for when the source loops.
- */
-#define AL_BUFFERS_PROCESSED                     0x1016
-
-/**
- * Source reference distance.
- * Type:    ALfloat
- * Range:   [0.0 - ]
- * Default: 1.0
- *
- * The distance in units that no attenuation occurs.
- *
- * At 0.0, no distance attenuation ever occurs on non-linear attenuation models.
- */
-#define AL_REFERENCE_DISTANCE                    0x1020
-
-/**
- * Source rolloff factor.
- * Type:    ALfloat
- * Range:   [0.0 - ]
- * Default: 1.0
- *
- * Multiplier to exaggerate or diminish distance attenuation.
- *
- * At 0.0, no distance attenuation ever occurs.
- */
-#define AL_ROLLOFF_FACTOR                        0x1021
-
-/**
- * Outer cone gain.
- * Type:    ALfloat
- * Range:   [0.0 - 1.0]
- * Default: 0.0
- *
- * The gain attenuation applied when the listener is outside of the source's
- * outer cone.
- */
-#define AL_CONE_OUTER_GAIN                       0x1022
-
-/**
- * Source maximum distance.
- * Type:    ALfloat
- * Range:   [0.0 - ]
- * Default: +inf
- *
- * The distance above which the source is not attenuated any further with a
- * clamped distance model, or where attenuation reaches 0.0 gain for linear
- * distance models with a default rolloff factor.
- */
-#define AL_MAX_DISTANCE                          0x1023
-
-/** Source buffer position, in seconds */
-#define AL_SEC_OFFSET                            0x1024
-/** Source buffer position, in sample frames */
-#define AL_SAMPLE_OFFSET                         0x1025
-/** Source buffer position, in bytes */
-#define AL_BYTE_OFFSET                           0x1026
-
-/**
- * Source type (query only).
- * Type:  ALint
- * Range: [AL_STATIC, AL_STREAMING, AL_UNDETERMINED]
- *
- * A Source is Static if a Buffer has been attached using AL_BUFFER.
- *
- * A Source is Streaming if one or more Buffers have been attached using
- * alSourceQueueBuffers.
- *
- * A Source is Undetermined when it has the NULL buffer attached using
- * AL_BUFFER.
- */
-#define AL_SOURCE_TYPE                           0x1027
-
-/** Source type value. */
-#define AL_STATIC                                0x1028
-#define AL_STREAMING                             0x1029
-#define AL_UNDETERMINED                          0x1030
-
-/** Buffer format specifier. */
-#define AL_FORMAT_MONO8                          0x1100
-#define AL_FORMAT_MONO16                         0x1101
-#define AL_FORMAT_STEREO8                        0x1102
-#define AL_FORMAT_STEREO16                       0x1103
-
-/** Buffer frequency (query only). */
-#define AL_FREQUENCY                             0x2001
-/** Buffer bits per sample (query only). */
-#define AL_BITS                                  0x2002
-/** Buffer channel count (query only). */
-#define AL_CHANNELS                              0x2003
-/** Buffer data size (query only). */
-#define AL_SIZE                                  0x2004
-
-/**
- * Buffer state.
- *
- * Not for public use.
- */
-#define AL_UNUSED                                0x2010
-#define AL_PENDING                               0x2011
-#define AL_PROCESSED                             0x2012
-
-
-/** No error. */
-#define AL_NO_ERROR                              0
-
-/** Invalid name paramater passed to AL call. */
-#define AL_INVALID_NAME                          0xA001
-
-/** Invalid enum parameter passed to AL call. */
-#define AL_INVALID_ENUM                          0xA002
-
-/** Invalid value parameter passed to AL call. */
-#define AL_INVALID_VALUE                         0xA003
-
-/** Illegal AL call. */
-#define AL_INVALID_OPERATION                     0xA004
-
-/** Not enough memory. */
-#define AL_OUT_OF_MEMORY                         0xA005
-
-
-/** Context string: Vendor ID. */
-#define AL_VENDOR                                0xB001
-/** Context string: Version. */
-#define AL_VERSION                               0xB002
-/** Context string: Renderer ID. */
-#define AL_RENDERER                              0xB003
-/** Context string: Space-separated extension list. */
-#define AL_EXTENSIONS                            0xB004
-
-
-/**
- * Doppler scale.
- * Type:    ALfloat
- * Range:   [0.0 - ]
- * Default: 1.0
- *
- * Scale for source and listener velocities.
- */
-#define AL_DOPPLER_FACTOR                        0xC000
-AL_API void AL_APIENTRY alDopplerFactor(ALfloat value);
-
-/**
- * Doppler velocity (deprecated).
- *
- * A multiplier applied to the Speed of Sound.
- */
-#define AL_DOPPLER_VELOCITY                      0xC001
-AL_API void AL_APIENTRY alDopplerVelocity(ALfloat value);
-
-/**
- * Speed of Sound, in units per second.
- * Type:    ALfloat
- * Range:   [0.0001 - ]
- * Default: 343.3
- *
- * The speed at which sound waves are assumed to travel, when calculating the
- * doppler effect.
- */
-#define AL_SPEED_OF_SOUND                        0xC003
-AL_API void AL_APIENTRY alSpeedOfSound(ALfloat value);
-
-/**
- * Distance attenuation model.
- * Type:    ALint
- * Range:   [AL_NONE, AL_INVERSE_DISTANCE, AL_INVERSE_DISTANCE_CLAMPED,
- *           AL_LINEAR_DISTANCE, AL_LINEAR_DISTANCE_CLAMPED,
- *           AL_EXPONENT_DISTANCE, AL_EXPONENT_DISTANCE_CLAMPED]
- * Default: AL_INVERSE_DISTANCE_CLAMPED
- *
- * The model by which sources attenuate with distance.
- *
- * None     - No distance attenuation.
- * Inverse  - Doubling the distance halves the source gain.
- * Linear   - Linear gain scaling between the reference and max distances.
- * Exponent - Exponential gain dropoff.
- *
- * Clamped variations work like the non-clamped counterparts, except the
- * distance calculated is clamped between the reference and max distances.
- */
-#define AL_DISTANCE_MODEL                        0xD000
-AL_API void AL_APIENTRY alDistanceModel(ALenum distanceModel);
-
-/** Distance model value. */
-#define AL_INVERSE_DISTANCE                      0xD001
-#define AL_INVERSE_DISTANCE_CLAMPED              0xD002
-#define AL_LINEAR_DISTANCE                       0xD003
-#define AL_LINEAR_DISTANCE_CLAMPED               0xD004
-#define AL_EXPONENT_DISTANCE                     0xD005
-#define AL_EXPONENT_DISTANCE_CLAMPED             0xD006
-
-/** Renderer State management. */
-AL_API void AL_APIENTRY alEnable(ALenum capability);
-AL_API void AL_APIENTRY alDisable(ALenum capability);
-AL_API ALboolean AL_APIENTRY alIsEnabled(ALenum capability);
-
-/** State retrieval. */
-AL_API const ALchar* AL_APIENTRY alGetString(ALenum param);
-AL_API void AL_APIENTRY alGetBooleanv(ALenum param, ALboolean *values);
-AL_API void AL_APIENTRY alGetIntegerv(ALenum param, ALint *values);
-AL_API void AL_APIENTRY alGetFloatv(ALenum param, ALfloat *values);
-AL_API void AL_APIENTRY alGetDoublev(ALenum param, ALdouble *values);
-AL_API ALboolean AL_APIENTRY alGetBoolean(ALenum param);
-AL_API ALint AL_APIENTRY alGetInteger(ALenum param);
-AL_API ALfloat AL_APIENTRY alGetFloat(ALenum param);
-AL_API ALdouble AL_APIENTRY alGetDouble(ALenum param);
-
-/**
- * Error retrieval.
- *
- * Obtain the first error generated in the AL context since the last check.
- */
-AL_API ALenum AL_APIENTRY alGetError(void);
-
-/**
- * Extension support.
- *
- * Query for the presence of an extension, and obtain any appropriate function
- * pointers and enum values.
- */
-AL_API ALboolean AL_APIENTRY alIsExtensionPresent(const ALchar *extname);
-AL_API void* AL_APIENTRY alGetProcAddress(const ALchar *fname);
-AL_API ALenum AL_APIENTRY alGetEnumValue(const ALchar *ename);
-
-
-/** Set Listener parameters */
-AL_API void AL_APIENTRY alListenerf(ALenum param, ALfloat value);
-AL_API void AL_APIENTRY alListener3f(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
-AL_API void AL_APIENTRY alListenerfv(ALenum param, const ALfloat *values);
-AL_API void AL_APIENTRY alListeneri(ALenum param, ALint value);
-AL_API void AL_APIENTRY alListener3i(ALenum param, ALint value1, ALint value2, ALint value3);
-AL_API void AL_APIENTRY alListeneriv(ALenum param, const ALint *values);
-
-/** Get Listener parameters */
-AL_API void AL_APIENTRY alGetListenerf(ALenum param, ALfloat *value);
-AL_API void AL_APIENTRY alGetListener3f(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
-AL_API void AL_APIENTRY alGetListenerfv(ALenum param, ALfloat *values);
-AL_API void AL_APIENTRY alGetListeneri(ALenum param, ALint *value);
-AL_API void AL_APIENTRY alGetListener3i(ALenum param, ALint *value1, ALint *value2, ALint *value3);
-AL_API void AL_APIENTRY alGetListeneriv(ALenum param, ALint *values);
-
-
-/** Create Source objects. */
-AL_API void AL_APIENTRY alGenSources(ALsizei n, ALuint *sources);
-/** Delete Source objects. */
-AL_API void AL_APIENTRY alDeleteSources(ALsizei n, const ALuint *sources);
-/** Verify a handle is a valid Source. */
-AL_API ALboolean AL_APIENTRY alIsSource(ALuint source);
-
-/** Set Source parameters. */
-AL_API void AL_APIENTRY alSourcef(ALuint source, ALenum param, ALfloat value);
-AL_API void AL_APIENTRY alSource3f(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
-AL_API void AL_APIENTRY alSourcefv(ALuint source, ALenum param, const ALfloat *values);
-AL_API void AL_APIENTRY alSourcei(ALuint source, ALenum param, ALint value);
-AL_API void AL_APIENTRY alSource3i(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
-AL_API void AL_APIENTRY alSourceiv(ALuint source, ALenum param, const ALint *values);
-
-/** Get Source parameters. */
-AL_API void AL_APIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat *value);
-AL_API void AL_APIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
-AL_API void AL_APIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat *values);
-AL_API void AL_APIENTRY alGetSourcei(ALuint source,  ALenum param, ALint *value);
-AL_API void AL_APIENTRY alGetSource3i(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3);
-AL_API void AL_APIENTRY alGetSourceiv(ALuint source,  ALenum param, ALint *values);
-
-
-/** Play, replay, or resume (if paused) a list of Sources */
-AL_API void AL_APIENTRY alSourcePlayv(ALsizei n, const ALuint *sources);
-/** Stop a list of Sources */
-AL_API void AL_APIENTRY alSourceStopv(ALsizei n, const ALuint *sources);
-/** Rewind a list of Sources */
-AL_API void AL_APIENTRY alSourceRewindv(ALsizei n, const ALuint *sources);
-/** Pause a list of Sources */
-AL_API void AL_APIENTRY alSourcePausev(ALsizei n, const ALuint *sources);
-
-/** Play, replay, or resume a Source */
-AL_API void AL_APIENTRY alSourcePlay(ALuint source);
-/** Stop a Source */
-AL_API void AL_APIENTRY alSourceStop(ALuint source);
-/** Rewind a Source (set playback postiton to beginning) */
-AL_API void AL_APIENTRY alSourceRewind(ALuint source);
-/** Pause a Source */
-AL_API void AL_APIENTRY alSourcePause(ALuint source);
-
-/** Queue buffers onto a source */
-AL_API void AL_APIENTRY alSourceQueueBuffers(ALuint source, ALsizei nb, const ALuint *buffers);
-/** Unqueue processed buffers from a source */
-AL_API void AL_APIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei nb, ALuint *buffers);
-
-
-/** Create Buffer objects */
-AL_API void AL_APIENTRY alGenBuffers(ALsizei n, ALuint *buffers);
-/** Delete Buffer objects */
-AL_API void AL_APIENTRY alDeleteBuffers(ALsizei n, const ALuint *buffers);
-/** Verify a handle is a valid Buffer */
-AL_API ALboolean AL_APIENTRY alIsBuffer(ALuint buffer);
-
-/** Specifies the data to be copied into a buffer */
-AL_API void AL_APIENTRY alBufferData(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq);
-
-/** Set Buffer parameters, */
-AL_API void AL_APIENTRY alBufferf(ALuint buffer, ALenum param, ALfloat value);
-AL_API void AL_APIENTRY alBuffer3f(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
-AL_API void AL_APIENTRY alBufferfv(ALuint buffer, ALenum param, const ALfloat *values);
-AL_API void AL_APIENTRY alBufferi(ALuint buffer, ALenum param, ALint value);
-AL_API void AL_APIENTRY alBuffer3i(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3);
-AL_API void AL_APIENTRY alBufferiv(ALuint buffer, ALenum param, const ALint *values);
-
-/** Get Buffer parameters. */
-AL_API void AL_APIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat *value);
-AL_API void AL_APIENTRY alGetBuffer3f(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
-AL_API void AL_APIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat *values);
-AL_API void AL_APIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint *value);
-AL_API void AL_APIENTRY alGetBuffer3i(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3);
-AL_API void AL_APIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint *values);
-
-/** Pointer-to-function type, useful for dynamically getting AL entry points. */
-typedef void          (AL_APIENTRY *LPALENABLE)(ALenum capability);
-typedef void          (AL_APIENTRY *LPALDISABLE)(ALenum capability);
-typedef ALboolean     (AL_APIENTRY *LPALISENABLED)(ALenum capability);
-typedef const ALchar* (AL_APIENTRY *LPALGETSTRING)(ALenum param);
-typedef void          (AL_APIENTRY *LPALGETBOOLEANV)(ALenum param, ALboolean *values);
-typedef void          (AL_APIENTRY *LPALGETINTEGERV)(ALenum param, ALint *values);
-typedef void          (AL_APIENTRY *LPALGETFLOATV)(ALenum param, ALfloat *values);
-typedef void          (AL_APIENTRY *LPALGETDOUBLEV)(ALenum param, ALdouble *values);
-typedef ALboolean     (AL_APIENTRY *LPALGETBOOLEAN)(ALenum param);
-typedef ALint         (AL_APIENTRY *LPALGETINTEGER)(ALenum param);
-typedef ALfloat       (AL_APIENTRY *LPALGETFLOAT)(ALenum param);
-typedef ALdouble      (AL_APIENTRY *LPALGETDOUBLE)(ALenum param);
-typedef ALenum        (AL_APIENTRY *LPALGETERROR)(void);
-typedef ALboolean     (AL_APIENTRY *LPALISEXTENSIONPRESENT)(const ALchar *extname);
-typedef void*         (AL_APIENTRY *LPALGETPROCADDRESS)(const ALchar *fname);
-typedef ALenum        (AL_APIENTRY *LPALGETENUMVALUE)(const ALchar *ename);
-typedef void          (AL_APIENTRY *LPALLISTENERF)(ALenum param, ALfloat value);
-typedef void          (AL_APIENTRY *LPALLISTENER3F)(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
-typedef void          (AL_APIENTRY *LPALLISTENERFV)(ALenum param, const ALfloat *values);
-typedef void          (AL_APIENTRY *LPALLISTENERI)(ALenum param, ALint value);
-typedef void          (AL_APIENTRY *LPALLISTENER3I)(ALenum param, ALint value1, ALint value2, ALint value3);
-typedef void          (AL_APIENTRY *LPALLISTENERIV)(ALenum param, const ALint *values);
-typedef void          (AL_APIENTRY *LPALGETLISTENERF)(ALenum param, ALfloat *value);
-typedef void          (AL_APIENTRY *LPALGETLISTENER3F)(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
-typedef void          (AL_APIENTRY *LPALGETLISTENERFV)(ALenum param, ALfloat *values);
-typedef void          (AL_APIENTRY *LPALGETLISTENERI)(ALenum param, ALint *value);
-typedef void          (AL_APIENTRY *LPALGETLISTENER3I)(ALenum param, ALint *value1, ALint *value2, ALint *value3);
-typedef void          (AL_APIENTRY *LPALGETLISTENERIV)(ALenum param, ALint *values);
-typedef void          (AL_APIENTRY *LPALGENSOURCES)(ALsizei n, ALuint *sources);
-typedef void          (AL_APIENTRY *LPALDELETESOURCES)(ALsizei n, const ALuint *sources);
-typedef ALboolean     (AL_APIENTRY *LPALISSOURCE)(ALuint source);
-typedef void          (AL_APIENTRY *LPALSOURCEF)(ALuint source, ALenum param, ALfloat value);
-typedef void          (AL_APIENTRY *LPALSOURCE3F)(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
-typedef void          (AL_APIENTRY *LPALSOURCEFV)(ALuint source, ALenum param, const ALfloat *values);
-typedef void          (AL_APIENTRY *LPALSOURCEI)(ALuint source, ALenum param, ALint value);
-typedef void          (AL_APIENTRY *LPALSOURCE3I)(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
-typedef void          (AL_APIENTRY *LPALSOURCEIV)(ALuint source, ALenum param, const ALint *values);
-typedef void          (AL_APIENTRY *LPALGETSOURCEF)(ALuint source, ALenum param, ALfloat *value);
-typedef void          (AL_APIENTRY *LPALGETSOURCE3F)(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
-typedef void          (AL_APIENTRY *LPALGETSOURCEFV)(ALuint source, ALenum param, ALfloat *values);
-typedef void          (AL_APIENTRY *LPALGETSOURCEI)(ALuint source, ALenum param, ALint *value);
-typedef void          (AL_APIENTRY *LPALGETSOURCE3I)(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3);
-typedef void          (AL_APIENTRY *LPALGETSOURCEIV)(ALuint source, ALenum param, ALint *values);
-typedef void          (AL_APIENTRY *LPALSOURCEPLAYV)(ALsizei n, const ALuint *sources);
-typedef void          (AL_APIENTRY *LPALSOURCESTOPV)(ALsizei n, const ALuint *sources);
-typedef void          (AL_APIENTRY *LPALSOURCEREWINDV)(ALsizei n, const ALuint *sources);
-typedef void          (AL_APIENTRY *LPALSOURCEPAUSEV)(ALsizei n, const ALuint *sources);
-typedef void          (AL_APIENTRY *LPALSOURCEPLAY)(ALuint source);
-typedef void          (AL_APIENTRY *LPALSOURCESTOP)(ALuint source);
-typedef void          (AL_APIENTRY *LPALSOURCEREWIND)(ALuint source);
-typedef void          (AL_APIENTRY *LPALSOURCEPAUSE)(ALuint source);
-typedef void          (AL_APIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint source, ALsizei nb, const ALuint *buffers);
-typedef void          (AL_APIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint source, ALsizei nb, ALuint *buffers);
-typedef void          (AL_APIENTRY *LPALGENBUFFERS)(ALsizei n, ALuint *buffers);
-typedef void          (AL_APIENTRY *LPALDELETEBUFFERS)(ALsizei n, const ALuint *buffers);
-typedef ALboolean     (AL_APIENTRY *LPALISBUFFER)(ALuint buffer);
-typedef void          (AL_APIENTRY *LPALBUFFERDATA)(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq);
-typedef void          (AL_APIENTRY *LPALBUFFERF)(ALuint buffer, ALenum param, ALfloat value);
-typedef void          (AL_APIENTRY *LPALBUFFER3F)(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
-typedef void          (AL_APIENTRY *LPALBUFFERFV)(ALuint buffer, ALenum param, const ALfloat *values);
-typedef void          (AL_APIENTRY *LPALBUFFERI)(ALuint buffer, ALenum param, ALint value);
-typedef void          (AL_APIENTRY *LPALBUFFER3I)(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3);
-typedef void          (AL_APIENTRY *LPALBUFFERIV)(ALuint buffer, ALenum param, const ALint *values);
-typedef void          (AL_APIENTRY *LPALGETBUFFERF)(ALuint buffer, ALenum param, ALfloat *value);
-typedef void          (AL_APIENTRY *LPALGETBUFFER3F)(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
-typedef void          (AL_APIENTRY *LPALGETBUFFERFV)(ALuint buffer, ALenum param, ALfloat *values);
-typedef void          (AL_APIENTRY *LPALGETBUFFERI)(ALuint buffer, ALenum param, ALint *value);
-typedef void          (AL_APIENTRY *LPALGETBUFFER3I)(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3);
-typedef void          (AL_APIENTRY *LPALGETBUFFERIV)(ALuint buffer, ALenum param, ALint *values);
-typedef void          (AL_APIENTRY *LPALDOPPLERFACTOR)(ALfloat value);
-typedef void          (AL_APIENTRY *LPALDOPPLERVELOCITY)(ALfloat value);
-typedef void          (AL_APIENTRY *LPALSPEEDOFSOUND)(ALfloat value);
-typedef void          (AL_APIENTRY *LPALDISTANCEMODEL)(ALenum distanceModel);
-
-#if defined(__cplusplus)
-}  /* extern "C" */
-#endif
-
-#endif /* AL_AL_H */
diff --git a/src/external/openal_soft/include/AL/alc.h b/src/external/openal_soft/include/AL/alc.h
deleted file mode 100644
index 294e8b33c..000000000
--- a/src/external/openal_soft/include/AL/alc.h
+++ /dev/null
@@ -1,237 +0,0 @@
-#ifndef AL_ALC_H
-#define AL_ALC_H
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#ifndef ALC_API
- #if defined(AL_LIBTYPE_STATIC)
-  #define ALC_API
- #elif defined(_WIN32)
-  #define ALC_API __declspec(dllimport)
- #else
-  #define ALC_API extern
- #endif
-#endif
-
-#if defined(_WIN32)
- #define ALC_APIENTRY __cdecl
-#else
- #define ALC_APIENTRY
-#endif
-
-
-/** Deprecated macro. */
-#define ALCAPI                                   ALC_API
-#define ALCAPIENTRY                              ALC_APIENTRY
-#define ALC_INVALID                              0
-
-/** Supported ALC version? */
-#define ALC_VERSION_0_1                          1
-
-/** Opaque device handle */
-typedef struct ALCdevice_struct ALCdevice;
-/** Opaque context handle */
-typedef struct ALCcontext_struct ALCcontext;
-
-/** 8-bit boolean */
-typedef char ALCboolean;
-
-/** character */
-typedef char ALCchar;
-
-/** signed 8-bit 2's complement integer */
-typedef signed char ALCbyte;
-
-/** unsigned 8-bit integer */
-typedef unsigned char ALCubyte;
-
-/** signed 16-bit 2's complement integer */
-typedef short ALCshort;
-
-/** unsigned 16-bit integer */
-typedef unsigned short ALCushort;
-
-/** signed 32-bit 2's complement integer */
-typedef int ALCint;
-
-/** unsigned 32-bit integer */
-typedef unsigned int ALCuint;
-
-/** non-negative 32-bit binary integer size */
-typedef int ALCsizei;
-
-/** enumerated 32-bit value */
-typedef int ALCenum;
-
-/** 32-bit IEEE754 floating-point */
-typedef float ALCfloat;
-
-/** 64-bit IEEE754 floating-point */
-typedef double ALCdouble;
-
-/** void type (for opaque pointers only) */
-typedef void ALCvoid;
-
-
-/* Enumerant values begin at column 50. No tabs. */
-
-/** Boolean False. */
-#define ALC_FALSE                                0
-
-/** Boolean True. */
-#define ALC_TRUE                                 1
-
-/** Context attribute: <int> Hz. */
-#define ALC_FREQUENCY                            0x1007
-
-/** Context attribute: <int> Hz. */
-#define ALC_REFRESH                              0x1008
-
-/** Context attribute: AL_TRUE or AL_FALSE. */
-#define ALC_SYNC                                 0x1009
-
-/** Context attribute: <int> requested Mono (3D) Sources. */
-#define ALC_MONO_SOURCES                         0x1010
-
-/** Context attribute: <int> requested Stereo Sources. */
-#define ALC_STEREO_SOURCES                       0x1011
-
-/** No error. */
-#define ALC_NO_ERROR                             0
-
-/** Invalid device handle. */
-#define ALC_INVALID_DEVICE                       0xA001
-
-/** Invalid context handle. */
-#define ALC_INVALID_CONTEXT                      0xA002
-
-/** Invalid enum parameter passed to an ALC call. */
-#define ALC_INVALID_ENUM                         0xA003
-
-/** Invalid value parameter passed to an ALC call. */
-#define ALC_INVALID_VALUE                        0xA004
-
-/** Out of memory. */
-#define ALC_OUT_OF_MEMORY                        0xA005
-
-
-/** Runtime ALC version. */
-#define ALC_MAJOR_VERSION                        0x1000
-#define ALC_MINOR_VERSION                        0x1001
-
-/** Context attribute list properties. */
-#define ALC_ATTRIBUTES_SIZE                      0x1002
-#define ALC_ALL_ATTRIBUTES                       0x1003
-
-/** String for the default device specifier. */
-#define ALC_DEFAULT_DEVICE_SPECIFIER             0x1004
-/**
- * String for the given device's specifier.
- *
- * If device handle is NULL, it is instead a null-char separated list of
- * strings of known device specifiers (list ends with an empty string).
- */
-#define ALC_DEVICE_SPECIFIER                     0x1005
-/** String for space-separated list of ALC extensions. */
-#define ALC_EXTENSIONS                           0x1006
-
-
-/** Capture extension */
-#define ALC_EXT_CAPTURE 1
-/**
- * String for the given capture device's specifier.
- *
- * If device handle is NULL, it is instead a null-char separated list of
- * strings of known capture device specifiers (list ends with an empty string).
- */
-#define ALC_CAPTURE_DEVICE_SPECIFIER             0x310
-/** String for the default capture device specifier. */
-#define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER     0x311
-/** Number of sample frames available for capture. */
-#define ALC_CAPTURE_SAMPLES                      0x312
-
-
-/** Enumerate All extension */
-#define ALC_ENUMERATE_ALL_EXT 1
-/** String for the default extended device specifier. */
-#define ALC_DEFAULT_ALL_DEVICES_SPECIFIER        0x1012
-/**
- * String for the given extended device's specifier.
- *
- * If device handle is NULL, it is instead a null-char separated list of
- * strings of known extended device specifiers (list ends with an empty string).
- */
-#define ALC_ALL_DEVICES_SPECIFIER                0x1013
-
-
-/** Context management. */
-ALC_API ALCcontext* ALC_APIENTRY alcCreateContext(ALCdevice *device, const ALCint* attrlist);
-ALC_API ALCboolean  ALC_APIENTRY alcMakeContextCurrent(ALCcontext *context);
-ALC_API void        ALC_APIENTRY alcProcessContext(ALCcontext *context);
-ALC_API void        ALC_APIENTRY alcSuspendContext(ALCcontext *context);
-ALC_API void        ALC_APIENTRY alcDestroyContext(ALCcontext *context);
-ALC_API ALCcontext* ALC_APIENTRY alcGetCurrentContext(void);
-ALC_API ALCdevice*  ALC_APIENTRY alcGetContextsDevice(ALCcontext *context);
-
-/** Device management. */
-ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *devicename);
-ALC_API ALCboolean ALC_APIENTRY alcCloseDevice(ALCdevice *device);
-
-
-/**
- * Error support.
- *
- * Obtain the most recent Device error.
- */
-ALC_API ALCenum ALC_APIENTRY alcGetError(ALCdevice *device);
-
-/**
- * Extension support.
- *
- * Query for the presence of an extension, and obtain any appropriate
- * function pointers and enum values.
- */
-ALC_API ALCboolean ALC_APIENTRY alcIsExtensionPresent(ALCdevice *device, const ALCchar *extname);
-ALC_API void*      ALC_APIENTRY alcGetProcAddress(ALCdevice *device, const ALCchar *funcname);
-ALC_API ALCenum    ALC_APIENTRY alcGetEnumValue(ALCdevice *device, const ALCchar *enumname);
-
-/** Query function. */
-ALC_API const ALCchar* ALC_APIENTRY alcGetString(ALCdevice *device, ALCenum param);
-ALC_API void           ALC_APIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values);
-
-/** Capture function. */
-ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice(const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize);
-ALC_API ALCboolean ALC_APIENTRY alcCaptureCloseDevice(ALCdevice *device);
-ALC_API void       ALC_APIENTRY alcCaptureStart(ALCdevice *device);
-ALC_API void       ALC_APIENTRY alcCaptureStop(ALCdevice *device);
-ALC_API void       ALC_APIENTRY alcCaptureSamples(ALCdevice *device, ALCvoid *buffer, ALCsizei samples);
-
-/** Pointer-to-function type, useful for dynamically getting ALC entry points. */
-typedef ALCcontext*    (ALC_APIENTRY *LPALCCREATECONTEXT)(ALCdevice *device, const ALCint *attrlist);
-typedef ALCboolean     (ALC_APIENTRY *LPALCMAKECONTEXTCURRENT)(ALCcontext *context);
-typedef void           (ALC_APIENTRY *LPALCPROCESSCONTEXT)(ALCcontext *context);
-typedef void           (ALC_APIENTRY *LPALCSUSPENDCONTEXT)(ALCcontext *context);
-typedef void           (ALC_APIENTRY *LPALCDESTROYCONTEXT)(ALCcontext *context);
-typedef ALCcontext*    (ALC_APIENTRY *LPALCGETCURRENTCONTEXT)(void);
-typedef ALCdevice*     (ALC_APIENTRY *LPALCGETCONTEXTSDEVICE)(ALCcontext *context);
-typedef ALCdevice*     (ALC_APIENTRY *LPALCOPENDEVICE)(const ALCchar *devicename);
-typedef ALCboolean     (ALC_APIENTRY *LPALCCLOSEDEVICE)(ALCdevice *device);
-typedef ALCenum        (ALC_APIENTRY *LPALCGETERROR)(ALCdevice *device);
-typedef ALCboolean     (ALC_APIENTRY *LPALCISEXTENSIONPRESENT)(ALCdevice *device, const ALCchar *extname);
-typedef void*          (ALC_APIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname);
-typedef ALCenum        (ALC_APIENTRY *LPALCGETENUMVALUE)(ALCdevice *device, const ALCchar *enumname);
-typedef const ALCchar* (ALC_APIENTRY *LPALCGETSTRING)(ALCdevice *device, ALCenum param);
-typedef void           (ALC_APIENTRY *LPALCGETINTEGERV)(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values);
-typedef ALCdevice*     (ALC_APIENTRY *LPALCCAPTUREOPENDEVICE)(const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize);
-typedef ALCboolean     (ALC_APIENTRY *LPALCCAPTURECLOSEDEVICE)(ALCdevice *device);
-typedef void           (ALC_APIENTRY *LPALCCAPTURESTART)(ALCdevice *device);
-typedef void           (ALC_APIENTRY *LPALCCAPTURESTOP)(ALCdevice *device);
-typedef void           (ALC_APIENTRY *LPALCCAPTURESAMPLES)(ALCdevice *device, ALCvoid *buffer, ALCsizei samples);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* AL_ALC_H */
diff --git a/src/external/openal_soft/include/AL/alext.h b/src/external/openal_soft/include/AL/alext.h
deleted file mode 100644
index 6af581aad..000000000
--- a/src/external/openal_soft/include/AL/alext.h
+++ /dev/null
@@ -1,438 +0,0 @@
-/**
- * OpenAL cross platform audio library
- * Copyright (C) 2008 by authors.
- * This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Library General Public
- *  License as published by the Free Software Foundation; either
- *  version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- *  License along with this library; if not, write to the
- *  Free Software Foundation, Inc.,
- *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- * Or go to http://www.gnu.org/copyleft/lgpl.html
- */
-
-#ifndef AL_ALEXT_H
-#define AL_ALEXT_H
-
-#include <stddef.h>
-/* Define int64_t and uint64_t types */
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#include <inttypes.h>
-#elif defined(_WIN32) && defined(__GNUC__)
-#include <stdint.h>
-#elif defined(_WIN32)
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-#else
-/* Fallback if nothing above works */
-#include <inttypes.h>
-#endif
-
-#include "alc.h"
-#include "al.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef AL_LOKI_IMA_ADPCM_format
-#define AL_LOKI_IMA_ADPCM_format 1
-#define AL_FORMAT_IMA_ADPCM_MONO16_EXT           0x10000
-#define AL_FORMAT_IMA_ADPCM_STEREO16_EXT         0x10001
-#endif
-
-#ifndef AL_LOKI_WAVE_format
-#define AL_LOKI_WAVE_format 1
-#define AL_FORMAT_WAVE_EXT                       0x10002
-#endif
-
-#ifndef AL_EXT_vorbis
-#define AL_EXT_vorbis 1
-#define AL_FORMAT_VORBIS_EXT                     0x10003
-#endif
-
-#ifndef AL_LOKI_quadriphonic
-#define AL_LOKI_quadriphonic 1
-#define AL_FORMAT_QUAD8_LOKI                     0x10004
-#define AL_FORMAT_QUAD16_LOKI                    0x10005
-#endif
-
-#ifndef AL_EXT_float32
-#define AL_EXT_float32 1
-#define AL_FORMAT_MONO_FLOAT32                   0x10010
-#define AL_FORMAT_STEREO_FLOAT32                 0x10011
-#endif
-
-#ifndef AL_EXT_double
-#define AL_EXT_double 1
-#define AL_FORMAT_MONO_DOUBLE_EXT                0x10012
-#define AL_FORMAT_STEREO_DOUBLE_EXT              0x10013
-#endif
-
-#ifndef AL_EXT_MULAW
-#define AL_EXT_MULAW 1
-#define AL_FORMAT_MONO_MULAW_EXT                 0x10014
-#define AL_FORMAT_STEREO_MULAW_EXT               0x10015
-#endif
-
-#ifndef AL_EXT_ALAW
-#define AL_EXT_ALAW 1
-#define AL_FORMAT_MONO_ALAW_EXT                  0x10016
-#define AL_FORMAT_STEREO_ALAW_EXT                0x10017
-#endif
-
-#ifndef ALC_LOKI_audio_channel
-#define ALC_LOKI_audio_channel 1
-#define ALC_CHAN_MAIN_LOKI                       0x500001
-#define ALC_CHAN_PCM_LOKI                        0x500002
-#define ALC_CHAN_CD_LOKI                         0x500003
-#endif
-
-#ifndef AL_EXT_MCFORMATS
-#define AL_EXT_MCFORMATS 1
-#define AL_FORMAT_QUAD8                          0x1204
-#define AL_FORMAT_QUAD16                         0x1205
-#define AL_FORMAT_QUAD32                         0x1206
-#define AL_FORMAT_REAR8                          0x1207
-#define AL_FORMAT_REAR16                         0x1208
-#define AL_FORMAT_REAR32                         0x1209
-#define AL_FORMAT_51CHN8                         0x120A
-#define AL_FORMAT_51CHN16                        0x120B
-#define AL_FORMAT_51CHN32                        0x120C
-#define AL_FORMAT_61CHN8                         0x120D
-#define AL_FORMAT_61CHN16                        0x120E
-#define AL_FORMAT_61CHN32                        0x120F
-#define AL_FORMAT_71CHN8                         0x1210
-#define AL_FORMAT_71CHN16                        0x1211
-#define AL_FORMAT_71CHN32                        0x1212
-#endif
-
-#ifndef AL_EXT_MULAW_MCFORMATS
-#define AL_EXT_MULAW_MCFORMATS 1
-#define AL_FORMAT_MONO_MULAW                     0x10014
-#define AL_FORMAT_STEREO_MULAW                   0x10015
-#define AL_FORMAT_QUAD_MULAW                     0x10021
-#define AL_FORMAT_REAR_MULAW                     0x10022
-#define AL_FORMAT_51CHN_MULAW                    0x10023
-#define AL_FORMAT_61CHN_MULAW                    0x10024
-#define AL_FORMAT_71CHN_MULAW                    0x10025
-#endif
-
-#ifndef AL_EXT_IMA4
-#define AL_EXT_IMA4 1
-#define AL_FORMAT_MONO_IMA4                      0x1300
-#define AL_FORMAT_STEREO_IMA4                    0x1301
-#endif
-
-#ifndef AL_EXT_STATIC_BUFFER
-#define AL_EXT_STATIC_BUFFER 1
-typedef ALvoid (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALint,ALenum,ALvoid*,ALsizei,ALsizei);
-#ifdef AL_ALEXT_PROTOTYPES
-AL_API ALvoid AL_APIENTRY alBufferDataStatic(const ALint buffer, ALenum format, ALvoid *data, ALsizei len, ALsizei freq);
-#endif
-#endif
-
-#ifndef ALC_EXT_EFX
-#define ALC_EXT_EFX 1
-#include "efx.h"
-#endif
-
-#ifndef ALC_EXT_disconnect
-#define ALC_EXT_disconnect 1
-#define ALC_CONNECTED                            0x313
-#endif
-
-#ifndef ALC_EXT_thread_local_context
-#define ALC_EXT_thread_local_context 1
-typedef ALCboolean  (ALC_APIENTRY*PFNALCSETTHREADCONTEXTPROC)(ALCcontext *context);
-typedef ALCcontext* (ALC_APIENTRY*PFNALCGETTHREADCONTEXTPROC)(void);
-#ifdef AL_ALEXT_PROTOTYPES
-ALC_API ALCboolean  ALC_APIENTRY alcSetThreadContext(ALCcontext *context);
-ALC_API ALCcontext* ALC_APIENTRY alcGetThreadContext(void);
-#endif
-#endif
-
-#ifndef AL_EXT_source_distance_model
-#define AL_EXT_source_distance_model 1
-#define AL_SOURCE_DISTANCE_MODEL                 0x200
-#endif
-
-#ifndef AL_SOFT_buffer_sub_data
-#define AL_SOFT_buffer_sub_data 1
-#define AL_BYTE_RW_OFFSETS_SOFT                  0x1031
-#define AL_SAMPLE_RW_OFFSETS_SOFT                0x1032
-typedef ALvoid (AL_APIENTRY*PFNALBUFFERSUBDATASOFTPROC)(ALuint,ALenum,const ALvoid*,ALsizei,ALsizei);
-#ifdef AL_ALEXT_PROTOTYPES
-AL_API ALvoid AL_APIENTRY alBufferSubDataSOFT(ALuint buffer,ALenum format,const ALvoid *data,ALsizei offset,ALsizei length);
-#endif
-#endif
-
-#ifndef AL_SOFT_loop_points
-#define AL_SOFT_loop_points 1
-#define AL_LOOP_POINTS_SOFT                      0x2015
-#endif
-
-#ifndef AL_EXT_FOLDBACK
-#define AL_EXT_FOLDBACK 1
-#define AL_EXT_FOLDBACK_NAME                     "AL_EXT_FOLDBACK"
-#define AL_FOLDBACK_EVENT_BLOCK                  0x4112
-#define AL_FOLDBACK_EVENT_START                  0x4111
-#define AL_FOLDBACK_EVENT_STOP                   0x4113
-#define AL_FOLDBACK_MODE_MONO                    0x4101
-#define AL_FOLDBACK_MODE_STEREO                  0x4102
-typedef void (AL_APIENTRY*LPALFOLDBACKCALLBACK)(ALenum,ALsizei);
-typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTART)(ALenum,ALsizei,ALsizei,ALfloat*,LPALFOLDBACKCALLBACK);
-typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTOP)(void);
-#ifdef AL_ALEXT_PROTOTYPES
-AL_API void AL_APIENTRY alRequestFoldbackStart(ALenum mode,ALsizei count,ALsizei length,ALfloat *mem,LPALFOLDBACKCALLBACK callback);
-AL_API void AL_APIENTRY alRequestFoldbackStop(void);
-#endif
-#endif
-
-#ifndef ALC_EXT_DEDICATED
-#define ALC_EXT_DEDICATED 1
-#define AL_DEDICATED_GAIN                        0x0001
-#define AL_EFFECT_DEDICATED_DIALOGUE             0x9001
-#define AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT 0x9000
-#endif
-
-#ifndef AL_SOFT_buffer_samples
-#define AL_SOFT_buffer_samples 1
-/* Channel configurations */
-#define AL_MONO_SOFT                             0x1500
-#define AL_STEREO_SOFT                           0x1501
-#define AL_REAR_SOFT                             0x1502
-#define AL_QUAD_SOFT                             0x1503
-#define AL_5POINT1_SOFT                          0x1504
-#define AL_6POINT1_SOFT                          0x1505
-#define AL_7POINT1_SOFT                          0x1506
-
-/* Sample types */
-#define AL_BYTE_SOFT                             0x1400
-#define AL_UNSIGNED_BYTE_SOFT                    0x1401
-#define AL_SHORT_SOFT                            0x1402
-#define AL_UNSIGNED_SHORT_SOFT                   0x1403
-#define AL_INT_SOFT                              0x1404
-#define AL_UNSIGNED_INT_SOFT                     0x1405
-#define AL_FLOAT_SOFT                            0x1406
-#define AL_DOUBLE_SOFT                           0x1407
-#define AL_BYTE3_SOFT                            0x1408
-#define AL_UNSIGNED_BYTE3_SOFT                   0x1409
-
-/* Storage formats */
-#define AL_MONO8_SOFT                            0x1100
-#define AL_MONO16_SOFT                           0x1101
-#define AL_MONO32F_SOFT                          0x10010
-#define AL_STEREO8_SOFT                          0x1102
-#define AL_STEREO16_SOFT                         0x1103
-#define AL_STEREO32F_SOFT                        0x10011
-#define AL_QUAD8_SOFT                            0x1204
-#define AL_QUAD16_SOFT                           0x1205
-#define AL_QUAD32F_SOFT                          0x1206
-#define AL_REAR8_SOFT                            0x1207
-#define AL_REAR16_SOFT                           0x1208
-#define AL_REAR32F_SOFT                          0x1209
-#define AL_5POINT1_8_SOFT                        0x120A
-#define AL_5POINT1_16_SOFT                       0x120B
-#define AL_5POINT1_32F_SOFT                      0x120C
-#define AL_6POINT1_8_SOFT                        0x120D
-#define AL_6POINT1_16_SOFT                       0x120E
-#define AL_6POINT1_32F_SOFT                      0x120F
-#define AL_7POINT1_8_SOFT                        0x1210
-#define AL_7POINT1_16_SOFT                       0x1211
-#define AL_7POINT1_32F_SOFT                      0x1212
-
-/* Buffer attributes */
-#define AL_INTERNAL_FORMAT_SOFT                  0x2008
-#define AL_BYTE_LENGTH_SOFT                      0x2009
-#define AL_SAMPLE_LENGTH_SOFT                    0x200A
-#define AL_SEC_LENGTH_SOFT                       0x200B
-
-typedef void (AL_APIENTRY*LPALBUFFERSAMPLESSOFT)(ALuint,ALuint,ALenum,ALsizei,ALenum,ALenum,const ALvoid*);
-typedef void (AL_APIENTRY*LPALBUFFERSUBSAMPLESSOFT)(ALuint,ALsizei,ALsizei,ALenum,ALenum,const ALvoid*);
-typedef void (AL_APIENTRY*LPALGETBUFFERSAMPLESSOFT)(ALuint,ALsizei,ALsizei,ALenum,ALenum,ALvoid*);
-typedef ALboolean (AL_APIENTRY*LPALISBUFFERFORMATSUPPORTEDSOFT)(ALenum);
-#ifdef AL_ALEXT_PROTOTYPES
-AL_API void AL_APIENTRY alBufferSamplesSOFT(ALuint buffer, ALuint samplerate, ALenum internalformat, ALsizei samples, ALenum channels, ALenum type, const ALvoid *data);
-AL_API void AL_APIENTRY alBufferSubSamplesSOFT(ALuint buffer, ALsizei offset, ALsizei samples, ALenum channels, ALenum type, const ALvoid *data);
-AL_API void AL_APIENTRY alGetBufferSamplesSOFT(ALuint buffer, ALsizei offset, ALsizei samples, ALenum channels, ALenum type, ALvoid *data);
-AL_API ALboolean AL_APIENTRY alIsBufferFormatSupportedSOFT(ALenum format);
-#endif
-#endif
-
-#ifndef AL_SOFT_direct_channels
-#define AL_SOFT_direct_channels 1
-#define AL_DIRECT_CHANNELS_SOFT                  0x1033
-#endif
-
-#ifndef ALC_SOFT_loopback
-#define ALC_SOFT_loopback 1
-#define ALC_FORMAT_CHANNELS_SOFT                 0x1990
-#define ALC_FORMAT_TYPE_SOFT                     0x1991
-
-/* Sample types */
-#define ALC_BYTE_SOFT                            0x1400
-#define ALC_UNSIGNED_BYTE_SOFT                   0x1401
-#define ALC_SHORT_SOFT                           0x1402
-#define ALC_UNSIGNED_SHORT_SOFT                  0x1403
-#define ALC_INT_SOFT                             0x1404
-#define ALC_UNSIGNED_INT_SOFT                    0x1405
-#define ALC_FLOAT_SOFT                           0x1406
-
-/* Channel configurations */
-#define ALC_MONO_SOFT                            0x1500
-#define ALC_STEREO_SOFT                          0x1501
-#define ALC_QUAD_SOFT                            0x1503
-#define ALC_5POINT1_SOFT                         0x1504
-#define ALC_6POINT1_SOFT                         0x1505
-#define ALC_7POINT1_SOFT                         0x1506
-
-typedef ALCdevice* (ALC_APIENTRY*LPALCLOOPBACKOPENDEVICESOFT)(const ALCchar*);
-typedef ALCboolean (ALC_APIENTRY*LPALCISRENDERFORMATSUPPORTEDSOFT)(ALCdevice*,ALCsizei,ALCenum,ALCenum);
-typedef void (ALC_APIENTRY*LPALCRENDERSAMPLESSOFT)(ALCdevice*,ALCvoid*,ALCsizei);
-#ifdef AL_ALEXT_PROTOTYPES
-ALC_API ALCdevice* ALC_APIENTRY alcLoopbackOpenDeviceSOFT(const ALCchar *deviceName);
-ALC_API ALCboolean ALC_APIENTRY alcIsRenderFormatSupportedSOFT(ALCdevice *device, ALCsizei freq, ALCenum channels, ALCenum type);
-ALC_API void ALC_APIENTRY alcRenderSamplesSOFT(ALCdevice *device, ALCvoid *buffer, ALCsizei samples);
-#endif
-#endif
-
-#ifndef AL_EXT_STEREO_ANGLES
-#define AL_EXT_STEREO_ANGLES 1
-#define AL_STEREO_ANGLES                         0x1030
-#endif
-
-#ifndef AL_EXT_SOURCE_RADIUS
-#define AL_EXT_SOURCE_RADIUS 1
-#define AL_SOURCE_RADIUS                         0x1031
-#endif
-
-#ifndef AL_SOFT_source_latency
-#define AL_SOFT_source_latency 1
-#define AL_SAMPLE_OFFSET_LATENCY_SOFT            0x1200
-#define AL_SEC_OFFSET_LATENCY_SOFT               0x1201
-typedef int64_t ALint64SOFT;
-typedef uint64_t ALuint64SOFT;
-typedef void (AL_APIENTRY*LPALSOURCEDSOFT)(ALuint,ALenum,ALdouble);
-typedef void (AL_APIENTRY*LPALSOURCE3DSOFT)(ALuint,ALenum,ALdouble,ALdouble,ALdouble);
-typedef void (AL_APIENTRY*LPALSOURCEDVSOFT)(ALuint,ALenum,const ALdouble*);
-typedef void (AL_APIENTRY*LPALGETSOURCEDSOFT)(ALuint,ALenum,ALdouble*);
-typedef void (AL_APIENTRY*LPALGETSOURCE3DSOFT)(ALuint,ALenum,ALdouble*,ALdouble*,ALdouble*);
-typedef void (AL_APIENTRY*LPALGETSOURCEDVSOFT)(ALuint,ALenum,ALdouble*);
-typedef void (AL_APIENTRY*LPALSOURCEI64SOFT)(ALuint,ALenum,ALint64SOFT);
-typedef void (AL_APIENTRY*LPALSOURCE3I64SOFT)(ALuint,ALenum,ALint64SOFT,ALint64SOFT,ALint64SOFT);
-typedef void (AL_APIENTRY*LPALSOURCEI64VSOFT)(ALuint,ALenum,const ALint64SOFT*);
-typedef void (AL_APIENTRY*LPALGETSOURCEI64SOFT)(ALuint,ALenum,ALint64SOFT*);
-typedef void (AL_APIENTRY*LPALGETSOURCE3I64SOFT)(ALuint,ALenum,ALint64SOFT*,ALint64SOFT*,ALint64SOFT*);
-typedef void (AL_APIENTRY*LPALGETSOURCEI64VSOFT)(ALuint,ALenum,ALint64SOFT*);
-#ifdef AL_ALEXT_PROTOTYPES
-AL_API void AL_APIENTRY alSourcedSOFT(ALuint source, ALenum param, ALdouble value);
-AL_API void AL_APIENTRY alSource3dSOFT(ALuint source, ALenum param, ALdouble value1, ALdouble value2, ALdouble value3);
-AL_API void AL_APIENTRY alSourcedvSOFT(ALuint source, ALenum param, const ALdouble *values);
-AL_API void AL_APIENTRY alGetSourcedSOFT(ALuint source, ALenum param, ALdouble *value);
-AL_API void AL_APIENTRY alGetSource3dSOFT(ALuint source, ALenum param, ALdouble *value1, ALdouble *value2, ALdouble *value3);
-AL_API void AL_APIENTRY alGetSourcedvSOFT(ALuint source, ALenum param, ALdouble *values);
-AL_API void AL_APIENTRY alSourcei64SOFT(ALuint source, ALenum param, ALint64SOFT value);
-AL_API void AL_APIENTRY alSource3i64SOFT(ALuint source, ALenum param, ALint64SOFT value1, ALint64SOFT value2, ALint64SOFT value3);
-AL_API void AL_APIENTRY alSourcei64vSOFT(ALuint source, ALenum param, const ALint64SOFT *values);
-AL_API void AL_APIENTRY alGetSourcei64SOFT(ALuint source, ALenum param, ALint64SOFT *value);
-AL_API void AL_APIENTRY alGetSource3i64SOFT(ALuint source, ALenum param, ALint64SOFT *value1, ALint64SOFT *value2, ALint64SOFT *value3);
-AL_API void AL_APIENTRY alGetSourcei64vSOFT(ALuint source, ALenum param, ALint64SOFT *values);
-#endif
-#endif
-
-#ifndef ALC_EXT_DEFAULT_FILTER_ORDER
-#define ALC_EXT_DEFAULT_FILTER_ORDER 1
-#define ALC_DEFAULT_FILTER_ORDER                 0x1100
-#endif
-
-#ifndef AL_SOFT_deferred_updates
-#define AL_SOFT_deferred_updates 1
-#define AL_DEFERRED_UPDATES_SOFT                 0xC002
-typedef ALvoid (AL_APIENTRY*LPALDEFERUPDATESSOFT)(void);
-typedef ALvoid (AL_APIENTRY*LPALPROCESSUPDATESSOFT)(void);
-#ifdef AL_ALEXT_PROTOTYPES
-AL_API ALvoid AL_APIENTRY alDeferUpdatesSOFT(void);
-AL_API ALvoid AL_APIENTRY alProcessUpdatesSOFT(void);
-#endif
-#endif
-
-#ifndef AL_SOFT_block_alignment
-#define AL_SOFT_block_alignment 1
-#define AL_UNPACK_BLOCK_ALIGNMENT_SOFT           0x200C
-#define AL_PACK_BLOCK_ALIGNMENT_SOFT             0x200D
-#endif
-
-#ifndef AL_SOFT_MSADPCM
-#define AL_SOFT_MSADPCM 1
-#define AL_FORMAT_MONO_MSADPCM_SOFT              0x1302
-#define AL_FORMAT_STEREO_MSADPCM_SOFT            0x1303
-#endif
-
-#ifndef AL_SOFT_source_length
-#define AL_SOFT_source_length 1
-/*#define AL_BYTE_LENGTH_SOFT                      0x2009*/
-/*#define AL_SAMPLE_LENGTH_SOFT                    0x200A*/
-/*#define AL_SEC_LENGTH_SOFT                       0x200B*/
-#endif
-
-#ifndef ALC_SOFT_pause_device
-#define ALC_SOFT_pause_device 1
-typedef void (ALC_APIENTRY*LPALCDEVICEPAUSESOFT)(ALCdevice *device);
-typedef void (ALC_APIENTRY*LPALCDEVICERESUMESOFT)(ALCdevice *device);
-#ifdef AL_ALEXT_PROTOTYPES
-ALC_API void ALC_APIENTRY alcDevicePauseSOFT(ALCdevice *device);
-ALC_API void ALC_APIENTRY alcDeviceResumeSOFT(ALCdevice *device);
-#endif
-#endif
-
-#ifndef AL_EXT_BFORMAT
-#define AL_EXT_BFORMAT 1
-#define AL_FORMAT_BFORMAT2D_8                    0x20021
-#define AL_FORMAT_BFORMAT2D_16                   0x20022
-#define AL_FORMAT_BFORMAT2D_FLOAT32              0x20023
-#define AL_FORMAT_BFORMAT3D_8                    0x20031
-#define AL_FORMAT_BFORMAT3D_16                   0x20032
-#define AL_FORMAT_BFORMAT3D_FLOAT32              0x20033
-#endif
-
-#ifndef AL_EXT_MULAW_BFORMAT
-#define AL_EXT_MULAW_BFORMAT 1
-#define AL_FORMAT_BFORMAT2D_MULAW                0x10031
-#define AL_FORMAT_BFORMAT3D_MULAW                0x10032
-#endif
-
-#ifndef ALC_SOFT_HRTF
-#define ALC_SOFT_HRTF 1
-#define ALC_HRTF_SOFT                            0x1992
-#define ALC_DONT_CARE_SOFT                       0x0002
-#define ALC_HRTF_STATUS_SOFT                     0x1993
-#define ALC_HRTF_DISABLED_SOFT                   0x0000
-#define ALC_HRTF_ENABLED_SOFT                    0x0001
-#define ALC_HRTF_DENIED_SOFT                     0x0002
-#define ALC_HRTF_REQUIRED_SOFT                   0x0003
-#define ALC_HRTF_HEADPHONES_DETECTED_SOFT        0x0004
-#define ALC_HRTF_UNSUPPORTED_FORMAT_SOFT         0x0005
-#define ALC_NUM_HRTF_SPECIFIERS_SOFT             0x1994
-#define ALC_HRTF_SPECIFIER_SOFT                  0x1995
-#define ALC_HRTF_ID_SOFT                         0x1996
-typedef const ALCchar* (ALC_APIENTRY*LPALCGETSTRINGISOFT)(ALCdevice *device, ALCenum paramName, ALCsizei index);
-typedef ALCboolean (ALC_APIENTRY*LPALCRESETDEVICESOFT)(ALCdevice *device, const ALCint *attribs);
-#ifdef AL_ALEXT_PROTOTYPES
-ALC_API const ALCchar* ALC_APIENTRY alcGetStringiSOFT(ALCdevice *device, ALCenum paramName, ALCsizei index);
-ALC_API ALCboolean ALC_APIENTRY alcResetDeviceSOFT(ALCdevice *device, const ALCint *attribs);
-#endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/src/external/openal_soft/include/AL/efx-creative.h b/src/external/openal_soft/include/AL/efx-creative.h
deleted file mode 100644
index 0a04c982e..000000000
--- a/src/external/openal_soft/include/AL/efx-creative.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* The tokens that would be defined here are already defined in efx.h. This
- * empty file is here to provide compatibility with Windows-based projects
- * that would include it. */
diff --git a/src/external/openal_soft/include/AL/efx-presets.h b/src/external/openal_soft/include/AL/efx-presets.h
deleted file mode 100644
index 8539fd517..000000000
--- a/src/external/openal_soft/include/AL/efx-presets.h
+++ /dev/null
@@ -1,402 +0,0 @@
-/* Reverb presets for EFX */
-
-#ifndef EFX_PRESETS_H
-#define EFX_PRESETS_H
-
-#ifndef EFXEAXREVERBPROPERTIES_DEFINED
-#define EFXEAXREVERBPROPERTIES_DEFINED
-typedef struct {
-    float flDensity;
-    float flDiffusion;
-    float flGain;
-    float flGainHF;
-    float flGainLF;
-    float flDecayTime;
-    float flDecayHFRatio;
-    float flDecayLFRatio;
-    float flReflectionsGain;
-    float flReflectionsDelay;
-    float flReflectionsPan[3];
-    float flLateReverbGain;
-    float flLateReverbDelay;
-    float flLateReverbPan[3];
-    float flEchoTime;
-    float flEchoDepth;
-    float flModulationTime;
-    float flModulationDepth;
-    float flAirAbsorptionGainHF;
-    float flHFReference;
-    float flLFReference;
-    float flRoomRolloffFactor;
-    int   iDecayHFLimit;
-} EFXEAXREVERBPROPERTIES, *LPEFXEAXREVERBPROPERTIES;
-#endif
-
-/* Default Presets */
-
-#define EFX_REVERB_PRESET_GENERIC \
-    { 1.0000f, 1.0000f, 0.3162f, 0.8913f, 1.0000f, 1.4900f, 0.8300f, 1.0000f, 0.0500f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_PADDEDCELL \
-    { 0.1715f, 1.0000f, 0.3162f, 0.0010f, 1.0000f, 0.1700f, 0.1000f, 1.0000f, 0.2500f, 0.0010f, { 0.0000f, 0.0000f, 0.0000f }, 1.2691f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ROOM \
-    { 0.4287f, 1.0000f, 0.3162f, 0.5929f, 1.0000f, 0.4000f, 0.8300f, 1.0000f, 0.1503f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 1.0629f, 0.0030f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_BATHROOM \
-    { 0.1715f, 1.0000f, 0.3162f, 0.2512f, 1.0000f, 1.4900f, 0.5400f, 1.0000f, 0.6531f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 3.2734f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_LIVINGROOM \
-    { 0.9766f, 1.0000f, 0.3162f, 0.0010f, 1.0000f, 0.5000f, 0.1000f, 1.0000f, 0.2051f, 0.0030f, { 0.0000f, 0.0000f, 0.0000f }, 0.2805f, 0.0040f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_STONEROOM \
-    { 1.0000f, 1.0000f, 0.3162f, 0.7079f, 1.0000f, 2.3100f, 0.6400f, 1.0000f, 0.4411f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1003f, 0.0170f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_AUDITORIUM \
-    { 1.0000f, 1.0000f, 0.3162f, 0.5781f, 1.0000f, 4.3200f, 0.5900f, 1.0000f, 0.4032f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.7170f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CONCERTHALL \
-    { 1.0000f, 1.0000f, 0.3162f, 0.5623f, 1.0000f, 3.9200f, 0.7000f, 1.0000f, 0.2427f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.9977f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CAVE \
-    { 1.0000f, 1.0000f, 0.3162f, 1.0000f, 1.0000f, 2.9100f, 1.3000f, 1.0000f, 0.5000f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.7063f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_ARENA \
-    { 1.0000f, 1.0000f, 0.3162f, 0.4477f, 1.0000f, 7.2400f, 0.3300f, 1.0000f, 0.2612f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.0186f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_HANGAR \
-    { 1.0000f, 1.0000f, 0.3162f, 0.3162f, 1.0000f, 10.0500f, 0.2300f, 1.0000f, 0.5000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.2560f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CARPETEDHALLWAY \
-    { 0.4287f, 1.0000f, 0.3162f, 0.0100f, 1.0000f, 0.3000f, 0.1000f, 1.0000f, 0.1215f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 0.1531f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_HALLWAY \
-    { 0.3645f, 1.0000f, 0.3162f, 0.7079f, 1.0000f, 1.4900f, 0.5900f, 1.0000f, 0.2458f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.6615f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_STONECORRIDOR \
-    { 1.0000f, 1.0000f, 0.3162f, 0.7612f, 1.0000f, 2.7000f, 0.7900f, 1.0000f, 0.2472f, 0.0130f, { 0.0000f, 0.0000f, 0.0000f }, 1.5758f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ALLEY \
-    { 1.0000f, 0.3000f, 0.3162f, 0.7328f, 1.0000f, 1.4900f, 0.8600f, 1.0000f, 0.2500f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.9954f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 0.9500f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_FOREST \
-    { 1.0000f, 0.3000f, 0.3162f, 0.0224f, 1.0000f, 1.4900f, 0.5400f, 1.0000f, 0.0525f, 0.1620f, { 0.0000f, 0.0000f, 0.0000f }, 0.7682f, 0.0880f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CITY \
-    { 1.0000f, 0.5000f, 0.3162f, 0.3981f, 1.0000f, 1.4900f, 0.6700f, 1.0000f, 0.0730f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.1427f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_MOUNTAINS \
-    { 1.0000f, 0.2700f, 0.3162f, 0.0562f, 1.0000f, 1.4900f, 0.2100f, 1.0000f, 0.0407f, 0.3000f, { 0.0000f, 0.0000f, 0.0000f }, 0.1919f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_QUARRY \
-    { 1.0000f, 1.0000f, 0.3162f, 0.3162f, 1.0000f, 1.4900f, 0.8300f, 1.0000f, 0.0000f, 0.0610f, { 0.0000f, 0.0000f, 0.0000f }, 1.7783f, 0.0250f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 0.7000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_PLAIN \
-    { 1.0000f, 0.2100f, 0.3162f, 0.1000f, 1.0000f, 1.4900f, 0.5000f, 1.0000f, 0.0585f, 0.1790f, { 0.0000f, 0.0000f, 0.0000f }, 0.1089f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_PARKINGLOT \
-    { 1.0000f, 1.0000f, 0.3162f, 1.0000f, 1.0000f, 1.6500f, 1.5000f, 1.0000f, 0.2082f, 0.0080f, { 0.0000f, 0.0000f, 0.0000f }, 0.2652f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_SEWERPIPE \
-    { 0.3071f, 0.8000f, 0.3162f, 0.3162f, 1.0000f, 2.8100f, 0.1400f, 1.0000f, 1.6387f, 0.0140f, { 0.0000f, 0.0000f, 0.0000f }, 3.2471f, 0.0210f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_UNDERWATER \
-    { 0.3645f, 1.0000f, 0.3162f, 0.0100f, 1.0000f, 1.4900f, 0.1000f, 1.0000f, 0.5963f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 7.0795f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 1.1800f, 0.3480f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_DRUGGED \
-    { 0.4287f, 0.5000f, 0.3162f, 1.0000f, 1.0000f, 8.3900f, 1.3900f, 1.0000f, 0.8760f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 3.1081f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 1.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_DIZZY \
-    { 0.3645f, 0.6000f, 0.3162f, 0.6310f, 1.0000f, 17.2300f, 0.5600f, 1.0000f, 0.1392f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.4937f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.8100f, 0.3100f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_PSYCHOTIC \
-    { 0.0625f, 0.5000f, 0.3162f, 0.8404f, 1.0000f, 7.5600f, 0.9100f, 1.0000f, 0.4864f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 2.4378f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 4.0000f, 1.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-/* Castle Presets */
-
-#define EFX_REVERB_PRESET_CASTLE_SMALLROOM \
-    { 1.0000f, 0.8900f, 0.3162f, 0.3981f, 0.1000f, 1.2200f, 0.8300f, 0.3100f, 0.8913f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CASTLE_SHORTPASSAGE \
-    { 1.0000f, 0.8900f, 0.3162f, 0.3162f, 0.1000f, 2.3200f, 0.8300f, 0.3100f, 0.8913f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CASTLE_MEDIUMROOM \
-    { 1.0000f, 0.9300f, 0.3162f, 0.2818f, 0.1000f, 2.0400f, 0.8300f, 0.4600f, 0.6310f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 1.5849f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1550f, 0.0300f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CASTLE_LARGEROOM \
-    { 1.0000f, 0.8200f, 0.3162f, 0.2818f, 0.1259f, 2.5300f, 0.8300f, 0.5000f, 0.4467f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.1850f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CASTLE_LONGPASSAGE \
-    { 1.0000f, 0.8900f, 0.3162f, 0.3981f, 0.1000f, 3.4200f, 0.8300f, 0.3100f, 0.8913f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CASTLE_HALL \
-    { 1.0000f, 0.8100f, 0.3162f, 0.2818f, 0.1778f, 3.1400f, 0.7900f, 0.6200f, 0.1778f, 0.0560f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CASTLE_CUPBOARD \
-    { 1.0000f, 0.8900f, 0.3162f, 0.2818f, 0.1000f, 0.6700f, 0.8700f, 0.3100f, 1.4125f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 3.5481f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CASTLE_COURTYARD \
-    { 1.0000f, 0.4200f, 0.3162f, 0.4467f, 0.1995f, 2.1300f, 0.6100f, 0.2300f, 0.2239f, 0.1600f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0360f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.3700f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_CASTLE_ALCOVE \
-    { 1.0000f, 0.8900f, 0.3162f, 0.5012f, 0.1000f, 1.6400f, 0.8700f, 0.3100f, 1.0000f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 }
-
-/* Factory Presets */
-
-#define EFX_REVERB_PRESET_FACTORY_SMALLROOM \
-    { 0.3645f, 0.8200f, 0.3162f, 0.7943f, 0.5012f, 1.7200f, 0.6500f, 1.3100f, 0.7079f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.7783f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.1190f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_FACTORY_SHORTPASSAGE \
-    { 0.3645f, 0.6400f, 0.2512f, 0.7943f, 0.5012f, 2.5300f, 0.6500f, 1.3100f, 1.0000f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.1350f, 0.2300f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_FACTORY_MEDIUMROOM \
-    { 0.4287f, 0.8200f, 0.2512f, 0.7943f, 0.5012f, 2.7600f, 0.6500f, 1.3100f, 0.2818f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1740f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_FACTORY_LARGEROOM \
-    { 0.4287f, 0.7500f, 0.2512f, 0.7079f, 0.6310f, 4.2400f, 0.5100f, 1.3100f, 0.1778f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.2310f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_FACTORY_LONGPASSAGE \
-    { 0.3645f, 0.6400f, 0.2512f, 0.7943f, 0.5012f, 4.0600f, 0.6500f, 1.3100f, 1.0000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0370f, { 0.0000f, 0.0000f, 0.0000f }, 0.1350f, 0.2300f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_FACTORY_HALL \
-    { 0.4287f, 0.7500f, 0.3162f, 0.7079f, 0.6310f, 7.4300f, 0.5100f, 1.3100f, 0.0631f, 0.0730f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0270f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_FACTORY_CUPBOARD \
-    { 0.3071f, 0.6300f, 0.2512f, 0.7943f, 0.5012f, 0.4900f, 0.6500f, 1.3100f, 1.2589f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.1070f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_FACTORY_COURTYARD \
-    { 0.3071f, 0.5700f, 0.3162f, 0.3162f, 0.6310f, 2.3200f, 0.2900f, 0.5600f, 0.2239f, 0.1400f, { 0.0000f, 0.0000f, 0.0000f }, 0.3981f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2900f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_FACTORY_ALCOVE \
-    { 0.3645f, 0.5900f, 0.2512f, 0.7943f, 0.5012f, 3.1400f, 0.6500f, 1.3100f, 1.4125f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.1140f, 0.1000f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 }
-
-/* Ice Palace Presets */
-
-#define EFX_REVERB_PRESET_ICEPALACE_SMALLROOM \
-    { 1.0000f, 0.8400f, 0.3162f, 0.5623f, 0.2818f, 1.5100f, 1.5300f, 0.2700f, 0.8913f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1640f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ICEPALACE_SHORTPASSAGE \
-    { 1.0000f, 0.7500f, 0.3162f, 0.5623f, 0.2818f, 1.7900f, 1.4600f, 0.2800f, 0.5012f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0190f, { 0.0000f, 0.0000f, 0.0000f }, 0.1770f, 0.0900f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ICEPALACE_MEDIUMROOM \
-    { 1.0000f, 0.8700f, 0.3162f, 0.5623f, 0.4467f, 2.2200f, 1.5300f, 0.3200f, 0.3981f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0270f, { 0.0000f, 0.0000f, 0.0000f }, 0.1860f, 0.1200f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ICEPALACE_LARGEROOM \
-    { 1.0000f, 0.8100f, 0.3162f, 0.5623f, 0.4467f, 3.1400f, 1.5300f, 0.3200f, 0.2512f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0270f, { 0.0000f, 0.0000f, 0.0000f }, 0.2140f, 0.1100f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ICEPALACE_LONGPASSAGE \
-    { 1.0000f, 0.7700f, 0.3162f, 0.5623f, 0.3981f, 3.0100f, 1.4600f, 0.2800f, 0.7943f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0250f, { 0.0000f, 0.0000f, 0.0000f }, 0.1860f, 0.0400f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ICEPALACE_HALL \
-    { 1.0000f, 0.7600f, 0.3162f, 0.4467f, 0.5623f, 5.4900f, 1.5300f, 0.3800f, 0.1122f, 0.0540f, { 0.0000f, 0.0000f, 0.0000f }, 0.6310f, 0.0520f, { 0.0000f, 0.0000f, 0.0000f }, 0.2260f, 0.1100f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ICEPALACE_CUPBOARD \
-    { 1.0000f, 0.8300f, 0.3162f, 0.5012f, 0.2239f, 0.7600f, 1.5300f, 0.2600f, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.1430f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ICEPALACE_COURTYARD \
-    { 1.0000f, 0.5900f, 0.3162f, 0.2818f, 0.3162f, 2.0400f, 1.2000f, 0.3800f, 0.3162f, 0.1730f, { 0.0000f, 0.0000f, 0.0000f }, 0.3162f, 0.0430f, { 0.0000f, 0.0000f, 0.0000f }, 0.2350f, 0.4800f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_ICEPALACE_ALCOVE \
-    { 1.0000f, 0.8400f, 0.3162f, 0.5623f, 0.2818f, 2.7600f, 1.4600f, 0.2800f, 1.1220f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1610f, 0.0900f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 }
-
-/* Space Station Presets */
-
-#define EFX_REVERB_PRESET_SPACESTATION_SMALLROOM \
-    { 0.2109f, 0.7000f, 0.3162f, 0.7079f, 0.8913f, 1.7200f, 0.8200f, 0.5500f, 0.7943f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0130f, { 0.0000f, 0.0000f, 0.0000f }, 0.1880f, 0.2600f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPACESTATION_SHORTPASSAGE \
-    { 0.2109f, 0.8700f, 0.3162f, 0.6310f, 0.8913f, 3.5700f, 0.5000f, 0.5500f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.1720f, 0.2000f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPACESTATION_MEDIUMROOM \
-    { 0.2109f, 0.7500f, 0.3162f, 0.6310f, 0.8913f, 3.0100f, 0.5000f, 0.5500f, 0.3981f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0350f, { 0.0000f, 0.0000f, 0.0000f }, 0.2090f, 0.3100f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPACESTATION_LARGEROOM \
-    { 0.3645f, 0.8100f, 0.3162f, 0.6310f, 0.8913f, 3.8900f, 0.3800f, 0.6100f, 0.3162f, 0.0560f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0350f, { 0.0000f, 0.0000f, 0.0000f }, 0.2330f, 0.2800f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPACESTATION_LONGPASSAGE \
-    { 0.4287f, 0.8200f, 0.3162f, 0.6310f, 0.8913f, 4.6200f, 0.6200f, 0.5500f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0310f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2300f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPACESTATION_HALL \
-    { 0.4287f, 0.8700f, 0.3162f, 0.6310f, 0.8913f, 7.1100f, 0.3800f, 0.6100f, 0.1778f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.6310f, 0.0470f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2500f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPACESTATION_CUPBOARD \
-    { 0.1715f, 0.5600f, 0.3162f, 0.7079f, 0.8913f, 0.7900f, 0.8100f, 0.5500f, 1.4125f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.7783f, 0.0180f, { 0.0000f, 0.0000f, 0.0000f }, 0.1810f, 0.3100f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPACESTATION_ALCOVE \
-    { 0.2109f, 0.7800f, 0.3162f, 0.7079f, 0.8913f, 1.1600f, 0.8100f, 0.5500f, 1.4125f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0180f, { 0.0000f, 0.0000f, 0.0000f }, 0.1920f, 0.2100f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 }
-
-/* Wooden Galleon Presets */
-
-#define EFX_REVERB_PRESET_WOODEN_SMALLROOM \
-    { 1.0000f, 1.0000f, 0.3162f, 0.1122f, 0.3162f, 0.7900f, 0.3200f, 0.8700f, 1.0000f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_WOODEN_SHORTPASSAGE \
-    { 1.0000f, 1.0000f, 0.3162f, 0.1259f, 0.3162f, 1.7500f, 0.5000f, 0.8700f, 0.8913f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.6310f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_WOODEN_MEDIUMROOM \
-    { 1.0000f, 1.0000f, 0.3162f, 0.1000f, 0.2818f, 1.4700f, 0.4200f, 0.8200f, 0.8913f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_WOODEN_LARGEROOM \
-    { 1.0000f, 1.0000f, 0.3162f, 0.0891f, 0.2818f, 2.6500f, 0.3300f, 0.8200f, 0.8913f, 0.0660f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_WOODEN_LONGPASSAGE \
-    { 1.0000f, 1.0000f, 0.3162f, 0.1000f, 0.3162f, 1.9900f, 0.4000f, 0.7900f, 1.0000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.4467f, 0.0360f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_WOODEN_HALL \
-    { 1.0000f, 1.0000f, 0.3162f, 0.0794f, 0.2818f, 3.4500f, 0.3000f, 0.8200f, 0.8913f, 0.0880f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0630f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_WOODEN_CUPBOARD \
-    { 1.0000f, 1.0000f, 0.3162f, 0.1413f, 0.3162f, 0.5600f, 0.4600f, 0.9100f, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0280f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_WOODEN_COURTYARD \
-    { 1.0000f, 0.6500f, 0.3162f, 0.0794f, 0.3162f, 1.7900f, 0.3500f, 0.7900f, 0.5623f, 0.1230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1000f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_WOODEN_ALCOVE \
-    { 1.0000f, 1.0000f, 0.3162f, 0.1259f, 0.3162f, 1.2200f, 0.6200f, 0.9100f, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 }
-
-/* Sports Presets */
-
-#define EFX_REVERB_PRESET_SPORT_EMPTYSTADIUM \
-    { 1.0000f, 1.0000f, 0.3162f, 0.4467f, 0.7943f, 6.2600f, 0.5100f, 1.1000f, 0.0631f, 0.1830f, { 0.0000f, 0.0000f, 0.0000f }, 0.3981f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPORT_SQUASHCOURT \
-    { 1.0000f, 0.7500f, 0.3162f, 0.3162f, 0.7943f, 2.2200f, 0.9100f, 1.1600f, 0.4467f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1260f, 0.1900f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPORT_SMALLSWIMMINGPOOL \
-    { 1.0000f, 0.7000f, 0.3162f, 0.7943f, 0.8913f, 2.7600f, 1.2500f, 1.1400f, 0.6310f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1790f, 0.1500f, 0.8950f, 0.1900f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_SPORT_LARGESWIMMINGPOOL \
-    { 1.0000f, 0.8200f, 0.3162f, 0.7943f, 1.0000f, 5.4900f, 1.3100f, 1.1400f, 0.4467f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 0.5012f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2220f, 0.5500f, 1.1590f, 0.2100f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_SPORT_GYMNASIUM \
-    { 1.0000f, 0.8100f, 0.3162f, 0.4467f, 0.8913f, 3.1400f, 1.0600f, 1.3500f, 0.3981f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.5623f, 0.0450f, { 0.0000f, 0.0000f, 0.0000f }, 0.1460f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPORT_FULLSTADIUM \
-    { 1.0000f, 1.0000f, 0.3162f, 0.0708f, 0.7943f, 5.2500f, 0.1700f, 0.8000f, 0.1000f, 0.1880f, { 0.0000f, 0.0000f, 0.0000f }, 0.2818f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SPORT_STADIUMTANNOY \
-    { 1.0000f, 0.7800f, 0.3162f, 0.5623f, 0.5012f, 2.5300f, 0.8800f, 0.6800f, 0.2818f, 0.2300f, { 0.0000f, 0.0000f, 0.0000f }, 0.5012f, 0.0630f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-/* Prefab Presets */
-
-#define EFX_REVERB_PRESET_PREFAB_WORKSHOP \
-    { 0.4287f, 1.0000f, 0.3162f, 0.1413f, 0.3981f, 0.7600f, 1.0000f, 1.0000f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_PREFAB_SCHOOLROOM \
-    { 0.4022f, 0.6900f, 0.3162f, 0.6310f, 0.5012f, 0.9800f, 0.4500f, 0.1800f, 1.4125f, 0.0170f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.0950f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_PREFAB_PRACTISEROOM \
-    { 0.4022f, 0.8700f, 0.3162f, 0.3981f, 0.5012f, 1.1200f, 0.5600f, 0.1800f, 1.2589f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.0950f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_PREFAB_OUTHOUSE \
-    { 1.0000f, 0.8200f, 0.3162f, 0.1122f, 0.1585f, 1.3800f, 0.3800f, 0.3500f, 0.8913f, 0.0240f, { 0.0000f, 0.0000f, -0.0000f }, 0.6310f, 0.0440f, { 0.0000f, 0.0000f, 0.0000f }, 0.1210f, 0.1700f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_PREFAB_CARAVAN \
-    { 1.0000f, 1.0000f, 0.3162f, 0.0891f, 0.1259f, 0.4300f, 1.5000f, 1.0000f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-/* Dome and Pipe Presets */
-
-#define EFX_REVERB_PRESET_DOME_TOMB \
-    { 1.0000f, 0.7900f, 0.3162f, 0.3548f, 0.2239f, 4.1800f, 0.2100f, 0.1000f, 0.3868f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 1.6788f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.1770f, 0.1900f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_PIPE_SMALL \
-    { 1.0000f, 1.0000f, 0.3162f, 0.3548f, 0.2239f, 5.0400f, 0.1000f, 0.1000f, 0.5012f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 2.5119f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_DOME_SAINTPAULS \
-    { 1.0000f, 0.8700f, 0.3162f, 0.3548f, 0.2239f, 10.4800f, 0.1900f, 0.1000f, 0.1778f, 0.0900f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0420f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.1200f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_PIPE_LONGTHIN \
-    { 0.2560f, 0.9100f, 0.3162f, 0.4467f, 0.2818f, 9.2100f, 0.1800f, 0.1000f, 0.7079f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_PIPE_LARGE \
-    { 1.0000f, 1.0000f, 0.3162f, 0.3548f, 0.2239f, 8.4500f, 0.1000f, 0.1000f, 0.3981f, 0.0460f, { 0.0000f, 0.0000f, 0.0000f }, 1.5849f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_PIPE_RESONANT \
-    { 0.1373f, 0.9100f, 0.3162f, 0.4467f, 0.2818f, 6.8100f, 0.1800f, 0.1000f, 0.7079f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x0 }
-
-/* Outdoors Presets */
-
-#define EFX_REVERB_PRESET_OUTDOORS_BACKYARD \
-    { 1.0000f, 0.4500f, 0.3162f, 0.2512f, 0.5012f, 1.1200f, 0.3400f, 0.4600f, 0.4467f, 0.0690f, { 0.0000f, 0.0000f, -0.0000f }, 0.7079f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.2180f, 0.3400f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_OUTDOORS_ROLLINGPLAINS \
-    { 1.0000f, 0.0000f, 0.3162f, 0.0112f, 0.6310f, 2.1300f, 0.2100f, 0.4600f, 0.1778f, 0.3000f, { 0.0000f, 0.0000f, -0.0000f }, 0.4467f, 0.0190f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_OUTDOORS_DEEPCANYON \
-    { 1.0000f, 0.7400f, 0.3162f, 0.1778f, 0.6310f, 3.8900f, 0.2100f, 0.4600f, 0.3162f, 0.2230f, { 0.0000f, 0.0000f, -0.0000f }, 0.3548f, 0.0190f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_OUTDOORS_CREEK \
-    { 1.0000f, 0.3500f, 0.3162f, 0.1778f, 0.5012f, 2.1300f, 0.2100f, 0.4600f, 0.3981f, 0.1150f, { 0.0000f, 0.0000f, -0.0000f }, 0.1995f, 0.0310f, { 0.0000f, 0.0000f, 0.0000f }, 0.2180f, 0.3400f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_OUTDOORS_VALLEY \
-    { 1.0000f, 0.2800f, 0.3162f, 0.0282f, 0.1585f, 2.8800f, 0.2600f, 0.3500f, 0.1413f, 0.2630f, { 0.0000f, 0.0000f, -0.0000f }, 0.3981f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.3400f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 }
-
-/* Mood Presets */
-
-#define EFX_REVERB_PRESET_MOOD_HEAVEN \
-    { 1.0000f, 0.9400f, 0.3162f, 0.7943f, 0.4467f, 5.0400f, 1.1200f, 0.5600f, 0.2427f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0800f, 2.7420f, 0.0500f, 0.9977f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_MOOD_HELL \
-    { 1.0000f, 0.5700f, 0.3162f, 0.3548f, 0.4467f, 3.5700f, 0.4900f, 2.0000f, 0.0000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1100f, 0.0400f, 2.1090f, 0.5200f, 0.9943f, 5000.0000f, 139.5000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_MOOD_MEMORY \
-    { 1.0000f, 0.8500f, 0.3162f, 0.6310f, 0.3548f, 4.0600f, 0.8200f, 0.5600f, 0.0398f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.4740f, 0.4500f, 0.9886f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-/* Driving Presets */
-
-#define EFX_REVERB_PRESET_DRIVING_COMMENTATOR \
-    { 1.0000f, 0.0000f, 0.3162f, 0.5623f, 0.5012f, 2.4200f, 0.8800f, 0.6800f, 0.1995f, 0.0930f, { 0.0000f, 0.0000f, 0.0000f }, 0.2512f, 0.0170f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9886f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_DRIVING_PITGARAGE \
-    { 0.4287f, 0.5900f, 0.3162f, 0.7079f, 0.5623f, 1.7200f, 0.9300f, 0.8700f, 0.5623f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.1100f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_DRIVING_INCAR_RACER \
-    { 0.0832f, 0.8000f, 0.3162f, 1.0000f, 0.7943f, 0.1700f, 2.0000f, 0.4100f, 1.7783f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10268.2002f, 251.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_DRIVING_INCAR_SPORTS \
-    { 0.0832f, 0.8000f, 0.3162f, 0.6310f, 1.0000f, 0.1700f, 0.7500f, 0.4100f, 1.0000f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.5623f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10268.2002f, 251.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_DRIVING_INCAR_LUXURY \
-    { 0.2560f, 1.0000f, 0.3162f, 0.1000f, 0.5012f, 0.1300f, 0.4100f, 0.4600f, 0.7943f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.5849f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10268.2002f, 251.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_DRIVING_FULLGRANDSTAND \
-    { 1.0000f, 1.0000f, 0.3162f, 0.2818f, 0.6310f, 3.0100f, 1.3700f, 1.2800f, 0.3548f, 0.0900f, { 0.0000f, 0.0000f, 0.0000f }, 0.1778f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10420.2002f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_DRIVING_EMPTYGRANDSTAND \
-    { 1.0000f, 1.0000f, 0.3162f, 1.0000f, 0.7943f, 4.6200f, 1.7500f, 1.4000f, 0.2082f, 0.0900f, { 0.0000f, 0.0000f, 0.0000f }, 0.2512f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10420.2002f, 250.0000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_DRIVING_TUNNEL \
-    { 1.0000f, 0.8100f, 0.3162f, 0.3981f, 0.8913f, 3.4200f, 0.9400f, 1.3100f, 0.7079f, 0.0510f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0470f, { 0.0000f, 0.0000f, 0.0000f }, 0.2140f, 0.0500f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 155.3000f, 0.0000f, 0x1 }
-
-/* City Presets */
-
-#define EFX_REVERB_PRESET_CITY_STREETS \
-    { 1.0000f, 0.7800f, 0.3162f, 0.7079f, 0.8913f, 1.7900f, 1.1200f, 0.9100f, 0.2818f, 0.0460f, { 0.0000f, 0.0000f, 0.0000f }, 0.1995f, 0.0280f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CITY_SUBWAY \
-    { 1.0000f, 0.7400f, 0.3162f, 0.7079f, 0.8913f, 3.0100f, 1.2300f, 0.9100f, 0.7079f, 0.0460f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0280f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 0.2100f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CITY_MUSEUM \
-    { 1.0000f, 0.8200f, 0.3162f, 0.1778f, 0.1778f, 3.2800f, 1.4000f, 0.5700f, 0.2512f, 0.0390f, { 0.0000f, 0.0000f, -0.0000f }, 0.8913f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 0.1300f, 0.1700f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_CITY_LIBRARY \
-    { 1.0000f, 0.8200f, 0.3162f, 0.2818f, 0.0891f, 2.7600f, 0.8900f, 0.4100f, 0.3548f, 0.0290f, { 0.0000f, 0.0000f, -0.0000f }, 0.8913f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.1300f, 0.1700f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 }
-
-#define EFX_REVERB_PRESET_CITY_UNDERPASS \
-    { 1.0000f, 0.8200f, 0.3162f, 0.4467f, 0.8913f, 3.5700f, 1.1200f, 0.9100f, 0.3981f, 0.0590f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0370f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.1400f, 0.2500f, 0.0000f, 0.9920f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CITY_ABANDONED \
-    { 1.0000f, 0.6900f, 0.3162f, 0.7943f, 0.8913f, 3.2800f, 1.1700f, 0.9100f, 0.4467f, 0.0440f, { 0.0000f, 0.0000f, 0.0000f }, 0.2818f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2000f, 0.2500f, 0.0000f, 0.9966f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-/* Misc. Presets */
-
-#define EFX_REVERB_PRESET_DUSTYROOM \
-    { 0.3645f, 0.5600f, 0.3162f, 0.7943f, 0.7079f, 1.7900f, 0.3800f, 0.2100f, 0.5012f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0060f, { 0.0000f, 0.0000f, 0.0000f }, 0.2020f, 0.0500f, 0.2500f, 0.0000f, 0.9886f, 13046.0000f, 163.3000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_CHAPEL \
-    { 1.0000f, 0.8400f, 0.3162f, 0.5623f, 1.0000f, 4.6200f, 0.6400f, 1.2300f, 0.4467f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.1100f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 }
-
-#define EFX_REVERB_PRESET_SMALLWATERROOM \
-    { 1.0000f, 0.7000f, 0.3162f, 0.4477f, 1.0000f, 1.5100f, 1.2500f, 1.1400f, 0.8913f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1790f, 0.1500f, 0.8950f, 0.1900f, 0.9920f, 5000.0000f, 250.0000f, 0.0000f, 0x0 }
-
-#endif /* EFX_PRESETS_H */
diff --git a/src/external/openal_soft/include/AL/efx.h b/src/external/openal_soft/include/AL/efx.h
deleted file mode 100644
index 57766983f..000000000
--- a/src/external/openal_soft/include/AL/efx.h
+++ /dev/null
@@ -1,761 +0,0 @@
-#ifndef AL_EFX_H
-#define AL_EFX_H
-
-
-#include "alc.h"
-#include "al.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ALC_EXT_EFX_NAME                         "ALC_EXT_EFX"
-
-#define ALC_EFX_MAJOR_VERSION                    0x20001
-#define ALC_EFX_MINOR_VERSION                    0x20002
-#define ALC_MAX_AUXILIARY_SENDS                  0x20003
-
-
-/* Listener properties. */
-#define AL_METERS_PER_UNIT                       0x20004
-
-/* Source properties. */
-#define AL_DIRECT_FILTER                         0x20005
-#define AL_AUXILIARY_SEND_FILTER                 0x20006
-#define AL_AIR_ABSORPTION_FACTOR                 0x20007
-#define AL_ROOM_ROLLOFF_FACTOR                   0x20008
-#define AL_CONE_OUTER_GAINHF                     0x20009
-#define AL_DIRECT_FILTER_GAINHF_AUTO             0x2000A
-#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO       0x2000B
-#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO     0x2000C
-
-
-/* Effect properties. */
-
-/* Reverb effect parameters */
-#define AL_REVERB_DENSITY                        0x0001
-#define AL_REVERB_DIFFUSION                      0x0002
-#define AL_REVERB_GAIN                           0x0003
-#define AL_REVERB_GAINHF                         0x0004
-#define AL_REVERB_DECAY_TIME                     0x0005
-#define AL_REVERB_DECAY_HFRATIO                  0x0006
-#define AL_REVERB_REFLECTIONS_GAIN               0x0007
-#define AL_REVERB_REFLECTIONS_DELAY              0x0008
-#define AL_REVERB_LATE_REVERB_GAIN               0x0009
-#define AL_REVERB_LATE_REVERB_DELAY              0x000A
-#define AL_REVERB_AIR_ABSORPTION_GAINHF          0x000B
-#define AL_REVERB_ROOM_ROLLOFF_FACTOR            0x000C
-#define AL_REVERB_DECAY_HFLIMIT                  0x000D
-
-/* EAX Reverb effect parameters */
-#define AL_EAXREVERB_DENSITY                     0x0001
-#define AL_EAXREVERB_DIFFUSION                   0x0002
-#define AL_EAXREVERB_GAIN                        0x0003
-#define AL_EAXREVERB_GAINHF                      0x0004
-#define AL_EAXREVERB_GAINLF                      0x0005
-#define AL_EAXREVERB_DECAY_TIME                  0x0006
-#define AL_EAXREVERB_DECAY_HFRATIO               0x0007
-#define AL_EAXREVERB_DECAY_LFRATIO               0x0008
-#define AL_EAXREVERB_REFLECTIONS_GAIN            0x0009
-#define AL_EAXREVERB_REFLECTIONS_DELAY           0x000A
-#define AL_EAXREVERB_REFLECTIONS_PAN             0x000B
-#define AL_EAXREVERB_LATE_REVERB_GAIN            0x000C
-#define AL_EAXREVERB_LATE_REVERB_DELAY           0x000D
-#define AL_EAXREVERB_LATE_REVERB_PAN             0x000E
-#define AL_EAXREVERB_ECHO_TIME                   0x000F
-#define AL_EAXREVERB_ECHO_DEPTH                  0x0010
-#define AL_EAXREVERB_MODULATION_TIME             0x0011
-#define AL_EAXREVERB_MODULATION_DEPTH            0x0012
-#define AL_EAXREVERB_AIR_ABSORPTION_GAINHF       0x0013
-#define AL_EAXREVERB_HFREFERENCE                 0x0014
-#define AL_EAXREVERB_LFREFERENCE                 0x0015
-#define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR         0x0016
-#define AL_EAXREVERB_DECAY_HFLIMIT               0x0017
-
-/* Chorus effect parameters */
-#define AL_CHORUS_WAVEFORM                       0x0001
-#define AL_CHORUS_PHASE                          0x0002
-#define AL_CHORUS_RATE                           0x0003
-#define AL_CHORUS_DEPTH                          0x0004
-#define AL_CHORUS_FEEDBACK                       0x0005
-#define AL_CHORUS_DELAY                          0x0006
-
-/* Distortion effect parameters */
-#define AL_DISTORTION_EDGE                       0x0001
-#define AL_DISTORTION_GAIN                       0x0002
-#define AL_DISTORTION_LOWPASS_CUTOFF             0x0003
-#define AL_DISTORTION_EQCENTER                   0x0004
-#define AL_DISTORTION_EQBANDWIDTH                0x0005
-
-/* Echo effect parameters */
-#define AL_ECHO_DELAY                            0x0001
-#define AL_ECHO_LRDELAY                          0x0002
-#define AL_ECHO_DAMPING                          0x0003
-#define AL_ECHO_FEEDBACK                         0x0004
-#define AL_ECHO_SPREAD                           0x0005
-
-/* Flanger effect parameters */
-#define AL_FLANGER_WAVEFORM                      0x0001
-#define AL_FLANGER_PHASE                         0x0002
-#define AL_FLANGER_RATE                          0x0003
-#define AL_FLANGER_DEPTH                         0x0004
-#define AL_FLANGER_FEEDBACK                      0x0005
-#define AL_FLANGER_DELAY                         0x0006
-
-/* Frequency shifter effect parameters */
-#define AL_FREQUENCY_SHIFTER_FREQUENCY           0x0001
-#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION      0x0002
-#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION     0x0003
-
-/* Vocal morpher effect parameters */
-#define AL_VOCAL_MORPHER_PHONEMEA                0x0001
-#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING  0x0002
-#define AL_VOCAL_MORPHER_PHONEMEB                0x0003
-#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING  0x0004
-#define AL_VOCAL_MORPHER_WAVEFORM                0x0005
-#define AL_VOCAL_MORPHER_RATE                    0x0006
-
-/* Pitchshifter effect parameters */
-#define AL_PITCH_SHIFTER_COARSE_TUNE             0x0001
-#define AL_PITCH_SHIFTER_FINE_TUNE               0x0002
-
-/* Ringmodulator effect parameters */
-#define AL_RING_MODULATOR_FREQUENCY              0x0001
-#define AL_RING_MODULATOR_HIGHPASS_CUTOFF        0x0002
-#define AL_RING_MODULATOR_WAVEFORM               0x0003
-
-/* Autowah effect parameters */
-#define AL_AUTOWAH_ATTACK_TIME                   0x0001
-#define AL_AUTOWAH_RELEASE_TIME                  0x0002
-#define AL_AUTOWAH_RESONANCE                     0x0003
-#define AL_AUTOWAH_PEAK_GAIN                     0x0004
-
-/* Compressor effect parameters */
-#define AL_COMPRESSOR_ONOFF                      0x0001
-
-/* Equalizer effect parameters */
-#define AL_EQUALIZER_LOW_GAIN                    0x0001
-#define AL_EQUALIZER_LOW_CUTOFF                  0x0002
-#define AL_EQUALIZER_MID1_GAIN                   0x0003
-#define AL_EQUALIZER_MID1_CENTER                 0x0004
-#define AL_EQUALIZER_MID1_WIDTH                  0x0005
-#define AL_EQUALIZER_MID2_GAIN                   0x0006
-#define AL_EQUALIZER_MID2_CENTER                 0x0007
-#define AL_EQUALIZER_MID2_WIDTH                  0x0008
-#define AL_EQUALIZER_HIGH_GAIN                   0x0009
-#define AL_EQUALIZER_HIGH_CUTOFF                 0x000A
-
-/* Effect type */
-#define AL_EFFECT_FIRST_PARAMETER                0x0000
-#define AL_EFFECT_LAST_PARAMETER                 0x8000
-#define AL_EFFECT_TYPE                           0x8001
-
-/* Effect types, used with the AL_EFFECT_TYPE property */
-#define AL_EFFECT_NULL                           0x0000
-#define AL_EFFECT_REVERB                         0x0001
-#define AL_EFFECT_CHORUS                         0x0002
-#define AL_EFFECT_DISTORTION                     0x0003
-#define AL_EFFECT_ECHO                           0x0004
-#define AL_EFFECT_FLANGER                        0x0005
-#define AL_EFFECT_FREQUENCY_SHIFTER              0x0006
-#define AL_EFFECT_VOCAL_MORPHER                  0x0007
-#define AL_EFFECT_PITCH_SHIFTER                  0x0008
-#define AL_EFFECT_RING_MODULATOR                 0x0009
-#define AL_EFFECT_AUTOWAH                        0x000A
-#define AL_EFFECT_COMPRESSOR                     0x000B
-#define AL_EFFECT_EQUALIZER                      0x000C
-#define AL_EFFECT_EAXREVERB                      0x8000
-
-/* Auxiliary Effect Slot properties. */
-#define AL_EFFECTSLOT_EFFECT                     0x0001
-#define AL_EFFECTSLOT_GAIN                       0x0002
-#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO        0x0003
-
-/* NULL Auxiliary Slot ID to disable a source send. */
-#define AL_EFFECTSLOT_NULL                       0x0000
-
-
-/* Filter properties. */
-
-/* Lowpass filter parameters */
-#define AL_LOWPASS_GAIN                          0x0001
-#define AL_LOWPASS_GAINHF                        0x0002
-
-/* Highpass filter parameters */
-#define AL_HIGHPASS_GAIN                         0x0001
-#define AL_HIGHPASS_GAINLF                       0x0002
-
-/* Bandpass filter parameters */
-#define AL_BANDPASS_GAIN                         0x0001
-#define AL_BANDPASS_GAINLF                       0x0002
-#define AL_BANDPASS_GAINHF                       0x0003
-
-/* Filter type */
-#define AL_FILTER_FIRST_PARAMETER                0x0000
-#define AL_FILTER_LAST_PARAMETER                 0x8000
-#define AL_FILTER_TYPE                           0x8001
-
-/* Filter types, used with the AL_FILTER_TYPE property */
-#define AL_FILTER_NULL                           0x0000
-#define AL_FILTER_LOWPASS                        0x0001
-#define AL_FILTER_HIGHPASS                       0x0002
-#define AL_FILTER_BANDPASS                       0x0003
-
-
-/* Effect object function types. */
-typedef void (AL_APIENTRY *LPALGENEFFECTS)(ALsizei, ALuint*);
-typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, const ALuint*);
-typedef ALboolean (AL_APIENTRY *LPALISEFFECT)(ALuint);
-typedef void (AL_APIENTRY *LPALEFFECTI)(ALuint, ALenum, ALint);
-typedef void (AL_APIENTRY *LPALEFFECTIV)(ALuint, ALenum, const ALint*);
-typedef void (AL_APIENTRY *LPALEFFECTF)(ALuint, ALenum, ALfloat);
-typedef void (AL_APIENTRY *LPALEFFECTFV)(ALuint, ALenum, const ALfloat*);
-typedef void (AL_APIENTRY *LPALGETEFFECTI)(ALuint, ALenum, ALint*);
-typedef void (AL_APIENTRY *LPALGETEFFECTIV)(ALuint, ALenum, ALint*);
-typedef void (AL_APIENTRY *LPALGETEFFECTF)(ALuint, ALenum, ALfloat*);
-typedef void (AL_APIENTRY *LPALGETEFFECTFV)(ALuint, ALenum, ALfloat*);
-
-/* Filter object function types. */
-typedef void (AL_APIENTRY *LPALGENFILTERS)(ALsizei, ALuint*);
-typedef void (AL_APIENTRY *LPALDELETEFILTERS)(ALsizei, const ALuint*);
-typedef ALboolean (AL_APIENTRY *LPALISFILTER)(ALuint);
-typedef void (AL_APIENTRY *LPALFILTERI)(ALuint, ALenum, ALint);
-typedef void (AL_APIENTRY *LPALFILTERIV)(ALuint, ALenum, const ALint*);
-typedef void (AL_APIENTRY *LPALFILTERF)(ALuint, ALenum, ALfloat);
-typedef void (AL_APIENTRY *LPALFILTERFV)(ALuint, ALenum, const ALfloat*);
-typedef void (AL_APIENTRY *LPALGETFILTERI)(ALuint, ALenum, ALint*);
-typedef void (AL_APIENTRY *LPALGETFILTERIV)(ALuint, ALenum, ALint*);
-typedef void (AL_APIENTRY *LPALGETFILTERF)(ALuint, ALenum, ALfloat*);
-typedef void (AL_APIENTRY *LPALGETFILTERFV)(ALuint, ALenum, ALfloat*);
-
-/* Auxiliary Effect Slot object function types. */
-typedef void (AL_APIENTRY *LPALGENAUXILIARYEFFECTSLOTS)(ALsizei, ALuint*);
-typedef void (AL_APIENTRY *LPALDELETEAUXILIARYEFFECTSLOTS)(ALsizei, const ALuint*);
-typedef ALboolean (AL_APIENTRY *LPALISAUXILIARYEFFECTSLOT)(ALuint);
-typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint);
-typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, const ALint*);
-typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat);
-typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, const ALfloat*);
-typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint*);
-typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, ALint*);
-typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat*);
-typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, ALfloat*);
-
-#ifdef AL_ALEXT_PROTOTYPES
-AL_API ALvoid AL_APIENTRY alGenEffects(ALsizei n, ALuint *effects);
-AL_API ALvoid AL_APIENTRY alDeleteEffects(ALsizei n, const ALuint *effects);
-AL_API ALboolean AL_APIENTRY alIsEffect(ALuint effect);
-AL_API ALvoid AL_APIENTRY alEffecti(ALuint effect, ALenum param, ALint iValue);
-AL_API ALvoid AL_APIENTRY alEffectiv(ALuint effect, ALenum param, const ALint *piValues);
-AL_API ALvoid AL_APIENTRY alEffectf(ALuint effect, ALenum param, ALfloat flValue);
-AL_API ALvoid AL_APIENTRY alEffectfv(ALuint effect, ALenum param, const ALfloat *pflValues);
-AL_API ALvoid AL_APIENTRY alGetEffecti(ALuint effect, ALenum param, ALint *piValue);
-AL_API ALvoid AL_APIENTRY alGetEffectiv(ALuint effect, ALenum param, ALint *piValues);
-AL_API ALvoid AL_APIENTRY alGetEffectf(ALuint effect, ALenum param, ALfloat *pflValue);
-AL_API ALvoid AL_APIENTRY alGetEffectfv(ALuint effect, ALenum param, ALfloat *pflValues);
-
-AL_API ALvoid AL_APIENTRY alGenFilters(ALsizei n, ALuint *filters);
-AL_API ALvoid AL_APIENTRY alDeleteFilters(ALsizei n, const ALuint *filters);
-AL_API ALboolean AL_APIENTRY alIsFilter(ALuint filter);
-AL_API ALvoid AL_APIENTRY alFilteri(ALuint filter, ALenum param, ALint iValue);
-AL_API ALvoid AL_APIENTRY alFilteriv(ALuint filter, ALenum param, const ALint *piValues);
-AL_API ALvoid AL_APIENTRY alFilterf(ALuint filter, ALenum param, ALfloat flValue);
-AL_API ALvoid AL_APIENTRY alFilterfv(ALuint filter, ALenum param, const ALfloat *pflValues);
-AL_API ALvoid AL_APIENTRY alGetFilteri(ALuint filter, ALenum param, ALint *piValue);
-AL_API ALvoid AL_APIENTRY alGetFilteriv(ALuint filter, ALenum param, ALint *piValues);
-AL_API ALvoid AL_APIENTRY alGetFilterf(ALuint filter, ALenum param, ALfloat *pflValue);
-AL_API ALvoid AL_APIENTRY alGetFilterfv(ALuint filter, ALenum param, ALfloat *pflValues);
-
-AL_API ALvoid AL_APIENTRY alGenAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots);
-AL_API ALvoid AL_APIENTRY alDeleteAuxiliaryEffectSlots(ALsizei n, const ALuint *effectslots);
-AL_API ALboolean AL_APIENTRY alIsAuxiliaryEffectSlot(ALuint effectslot);
-AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint iValue);
-AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, const ALint *piValues);
-AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat flValue);
-AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, const ALfloat *pflValues);
-AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint *piValue);
-AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues);
-AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat *pflValue);
-AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues);
-#endif
-
-/* Filter ranges and defaults. */
-
-/* Lowpass filter */
-#define AL_LOWPASS_MIN_GAIN                      (0.0f)
-#define AL_LOWPASS_MAX_GAIN                      (1.0f)
-#define AL_LOWPASS_DEFAULT_GAIN                  (1.0f)
-
-#define AL_LOWPASS_MIN_GAINHF                    (0.0f)
-#define AL_LOWPASS_MAX_GAINHF                    (1.0f)
-#define AL_LOWPASS_DEFAULT_GAINHF                (1.0f)
-
-/* Highpass filter */
-#define AL_HIGHPASS_MIN_GAIN                     (0.0f)
-#define AL_HIGHPASS_MAX_GAIN                     (1.0f)
-#define AL_HIGHPASS_DEFAULT_GAIN                 (1.0f)
-
-#define AL_HIGHPASS_MIN_GAINLF                   (0.0f)
-#define AL_HIGHPASS_MAX_GAINLF                   (1.0f)
-#define AL_HIGHPASS_DEFAULT_GAINLF               (1.0f)
-
-/* Bandpass filter */
-#define AL_BANDPASS_MIN_GAIN                     (0.0f)
-#define AL_BANDPASS_MAX_GAIN                     (1.0f)
-#define AL_BANDPASS_DEFAULT_GAIN                 (1.0f)
-
-#define AL_BANDPASS_MIN_GAINHF                   (0.0f)
-#define AL_BANDPASS_MAX_GAINHF                   (1.0f)
-#define AL_BANDPASS_DEFAULT_GAINHF               (1.0f)
-
-#define AL_BANDPASS_MIN_GAINLF                   (0.0f)
-#define AL_BANDPASS_MAX_GAINLF                   (1.0f)
-#define AL_BANDPASS_DEFAULT_GAINLF               (1.0f)
-
-
-/* Effect parameter ranges and defaults. */
-
-/* Standard reverb effect */
-#define AL_REVERB_MIN_DENSITY                    (0.0f)
-#define AL_REVERB_MAX_DENSITY                    (1.0f)
-#define AL_REVERB_DEFAULT_DENSITY                (1.0f)
-
-#define AL_REVERB_MIN_DIFFUSION                  (0.0f)
-#define AL_REVERB_MAX_DIFFUSION                  (1.0f)
-#define AL_REVERB_DEFAULT_DIFFUSION              (1.0f)
-
-#define AL_REVERB_MIN_GAIN                       (0.0f)
-#define AL_REVERB_MAX_GAIN                       (1.0f)
-#define AL_REVERB_DEFAULT_GAIN                   (0.32f)
-
-#define AL_REVERB_MIN_GAINHF                     (0.0f)
-#define AL_REVERB_MAX_GAINHF                     (1.0f)
-#define AL_REVERB_DEFAULT_GAINHF                 (0.89f)
-
-#define AL_REVERB_MIN_DECAY_TIME                 (0.1f)
-#define AL_REVERB_MAX_DECAY_TIME                 (20.0f)
-#define AL_REVERB_DEFAULT_DECAY_TIME             (1.49f)
-
-#define AL_REVERB_MIN_DECAY_HFRATIO              (0.1f)
-#define AL_REVERB_MAX_DECAY_HFRATIO              (2.0f)
-#define AL_REVERB_DEFAULT_DECAY_HFRATIO          (0.83f)
-
-#define AL_REVERB_MIN_REFLECTIONS_GAIN           (0.0f)
-#define AL_REVERB_MAX_REFLECTIONS_GAIN           (3.16f)
-#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN       (0.05f)
-
-#define AL_REVERB_MIN_REFLECTIONS_DELAY          (0.0f)
-#define AL_REVERB_MAX_REFLECTIONS_DELAY          (0.3f)
-#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY      (0.007f)
-
-#define AL_REVERB_MIN_LATE_REVERB_GAIN           (0.0f)
-#define AL_REVERB_MAX_LATE_REVERB_GAIN           (10.0f)
-#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN       (1.26f)
-
-#define AL_REVERB_MIN_LATE_REVERB_DELAY          (0.0f)
-#define AL_REVERB_MAX_LATE_REVERB_DELAY          (0.1f)
-#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY      (0.011f)
-
-#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF      (0.892f)
-#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF      (1.0f)
-#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF  (0.994f)
-
-#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR        (0.0f)
-#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR        (10.0f)
-#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR    (0.0f)
-
-#define AL_REVERB_MIN_DECAY_HFLIMIT              AL_FALSE
-#define AL_REVERB_MAX_DECAY_HFLIMIT              AL_TRUE
-#define AL_REVERB_DEFAULT_DECAY_HFLIMIT          AL_TRUE
-
-/* EAX reverb effect */
-#define AL_EAXREVERB_MIN_DENSITY                 (0.0f)
-#define AL_EAXREVERB_MAX_DENSITY                 (1.0f)
-#define AL_EAXREVERB_DEFAULT_DENSITY             (1.0f)
-
-#define AL_EAXREVERB_MIN_DIFFUSION               (0.0f)
-#define AL_EAXREVERB_MAX_DIFFUSION               (1.0f)
-#define AL_EAXREVERB_DEFAULT_DIFFUSION           (1.0f)
-
-#define AL_EAXREVERB_MIN_GAIN                    (0.0f)
-#define AL_EAXREVERB_MAX_GAIN                    (1.0f)
-#define AL_EAXREVERB_DEFAULT_GAIN                (0.32f)
-
-#define AL_EAXREVERB_MIN_GAINHF                  (0.0f)
-#define AL_EAXREVERB_MAX_GAINHF                  (1.0f)
-#define AL_EAXREVERB_DEFAULT_GAINHF              (0.89f)
-
-#define AL_EAXREVERB_MIN_GAINLF                  (0.0f)
-#define AL_EAXREVERB_MAX_GAINLF                  (1.0f)
-#define AL_EAXREVERB_DEFAULT_GAINLF              (1.0f)
-
-#define AL_EAXREVERB_MIN_DECAY_TIME              (0.1f)
-#define AL_EAXREVERB_MAX_DECAY_TIME              (20.0f)
-#define AL_EAXREVERB_DEFAULT_DECAY_TIME          (1.49f)
-
-#define AL_EAXREVERB_MIN_DECAY_HFRATIO           (0.1f)
-#define AL_EAXREVERB_MAX_DECAY_HFRATIO           (2.0f)
-#define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO       (0.83f)
-
-#define AL_EAXREVERB_MIN_DECAY_LFRATIO           (0.1f)
-#define AL_EAXREVERB_MAX_DECAY_LFRATIO           (2.0f)
-#define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO       (1.0f)
-
-#define AL_EAXREVERB_MIN_REFLECTIONS_GAIN        (0.0f)
-#define AL_EAXREVERB_MAX_REFLECTIONS_GAIN        (3.16f)
-#define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN    (0.05f)
-
-#define AL_EAXREVERB_MIN_REFLECTIONS_DELAY       (0.0f)
-#define AL_EAXREVERB_MAX_REFLECTIONS_DELAY       (0.3f)
-#define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY   (0.007f)
-
-#define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ (0.0f)
-
-#define AL_EAXREVERB_MIN_LATE_REVERB_GAIN        (0.0f)
-#define AL_EAXREVERB_MAX_LATE_REVERB_GAIN        (10.0f)
-#define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN    (1.26f)
-
-#define AL_EAXREVERB_MIN_LATE_REVERB_DELAY       (0.0f)
-#define AL_EAXREVERB_MAX_LATE_REVERB_DELAY       (0.1f)
-#define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY   (0.011f)
-
-#define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ (0.0f)
-
-#define AL_EAXREVERB_MIN_ECHO_TIME               (0.075f)
-#define AL_EAXREVERB_MAX_ECHO_TIME               (0.25f)
-#define AL_EAXREVERB_DEFAULT_ECHO_TIME           (0.25f)
-
-#define AL_EAXREVERB_MIN_ECHO_DEPTH              (0.0f)
-#define AL_EAXREVERB_MAX_ECHO_DEPTH              (1.0f)
-#define AL_EAXREVERB_DEFAULT_ECHO_DEPTH          (0.0f)
-
-#define AL_EAXREVERB_MIN_MODULATION_TIME         (0.04f)
-#define AL_EAXREVERB_MAX_MODULATION_TIME         (4.0f)
-#define AL_EAXREVERB_DEFAULT_MODULATION_TIME     (0.25f)
-
-#define AL_EAXREVERB_MIN_MODULATION_DEPTH        (0.0f)
-#define AL_EAXREVERB_MAX_MODULATION_DEPTH        (1.0f)
-#define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH    (0.0f)
-
-#define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF   (0.892f)
-#define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF   (1.0f)
-#define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f)
-
-#define AL_EAXREVERB_MIN_HFREFERENCE             (1000.0f)
-#define AL_EAXREVERB_MAX_HFREFERENCE             (20000.0f)
-#define AL_EAXREVERB_DEFAULT_HFREFERENCE         (5000.0f)
-
-#define AL_EAXREVERB_MIN_LFREFERENCE             (20.0f)
-#define AL_EAXREVERB_MAX_LFREFERENCE             (1000.0f)
-#define AL_EAXREVERB_DEFAULT_LFREFERENCE         (250.0f)
-
-#define AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR     (0.0f)
-#define AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR     (10.0f)
-#define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f)
-
-#define AL_EAXREVERB_MIN_DECAY_HFLIMIT           AL_FALSE
-#define AL_EAXREVERB_MAX_DECAY_HFLIMIT           AL_TRUE
-#define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT       AL_TRUE
-
-/* Chorus effect */
-#define AL_CHORUS_WAVEFORM_SINUSOID              (0)
-#define AL_CHORUS_WAVEFORM_TRIANGLE              (1)
-
-#define AL_CHORUS_MIN_WAVEFORM                   (0)
-#define AL_CHORUS_MAX_WAVEFORM                   (1)
-#define AL_CHORUS_DEFAULT_WAVEFORM               (1)
-
-#define AL_CHORUS_MIN_PHASE                      (-180)
-#define AL_CHORUS_MAX_PHASE                      (180)
-#define AL_CHORUS_DEFAULT_PHASE                  (90)
-
-#define AL_CHORUS_MIN_RATE                       (0.0f)
-#define AL_CHORUS_MAX_RATE                       (10.0f)
-#define AL_CHORUS_DEFAULT_RATE                   (1.1f)
-
-#define AL_CHORUS_MIN_DEPTH                      (0.0f)
-#define AL_CHORUS_MAX_DEPTH                      (1.0f)
-#define AL_CHORUS_DEFAULT_DEPTH                  (0.1f)
-
-#define AL_CHORUS_MIN_FEEDBACK                   (-1.0f)
-#define AL_CHORUS_MAX_FEEDBACK                   (1.0f)
-#define AL_CHORUS_DEFAULT_FEEDBACK               (0.25f)
-
-#define AL_CHORUS_MIN_DELAY                      (0.0f)
-#define AL_CHORUS_MAX_DELAY                      (0.016f)
-#define AL_CHORUS_DEFAULT_DELAY                  (0.016f)
-
-/* Distortion effect */
-#define AL_DISTORTION_MIN_EDGE                   (0.0f)
-#define AL_DISTORTION_MAX_EDGE                   (1.0f)
-#define AL_DISTORTION_DEFAULT_EDGE               (0.2f)
-
-#define AL_DISTORTION_MIN_GAIN                   (0.01f)
-#define AL_DISTORTION_MAX_GAIN                   (1.0f)
-#define AL_DISTORTION_DEFAULT_GAIN               (0.05f)
-
-#define AL_DISTORTION_MIN_LOWPASS_CUTOFF         (80.0f)
-#define AL_DISTORTION_MAX_LOWPASS_CUTOFF         (24000.0f)
-#define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF     (8000.0f)
-
-#define AL_DISTORTION_MIN_EQCENTER               (80.0f)
-#define AL_DISTORTION_MAX_EQCENTER               (24000.0f)
-#define AL_DISTORTION_DEFAULT_EQCENTER           (3600.0f)
-
-#define AL_DISTORTION_MIN_EQBANDWIDTH            (80.0f)
-#define AL_DISTORTION_MAX_EQBANDWIDTH            (24000.0f)
-#define AL_DISTORTION_DEFAULT_EQBANDWIDTH        (3600.0f)
-
-/* Echo effect */
-#define AL_ECHO_MIN_DELAY                        (0.0f)
-#define AL_ECHO_MAX_DELAY                        (0.207f)
-#define AL_ECHO_DEFAULT_DELAY                    (0.1f)
-
-#define AL_ECHO_MIN_LRDELAY                      (0.0f)
-#define AL_ECHO_MAX_LRDELAY                      (0.404f)
-#define AL_ECHO_DEFAULT_LRDELAY                  (0.1f)
-
-#define AL_ECHO_MIN_DAMPING                      (0.0f)
-#define AL_ECHO_MAX_DAMPING                      (0.99f)
-#define AL_ECHO_DEFAULT_DAMPING                  (0.5f)
-
-#define AL_ECHO_MIN_FEEDBACK                     (0.0f)
-#define AL_ECHO_MAX_FEEDBACK                     (1.0f)
-#define AL_ECHO_DEFAULT_FEEDBACK                 (0.5f)
-
-#define AL_ECHO_MIN_SPREAD                       (-1.0f)
-#define AL_ECHO_MAX_SPREAD                       (1.0f)
-#define AL_ECHO_DEFAULT_SPREAD                   (-1.0f)
-
-/* Flanger effect */
-#define AL_FLANGER_WAVEFORM_SINUSOID             (0)
-#define AL_FLANGER_WAVEFORM_TRIANGLE             (1)
-
-#define AL_FLANGER_MIN_WAVEFORM                  (0)
-#define AL_FLANGER_MAX_WAVEFORM                  (1)
-#define AL_FLANGER_DEFAULT_WAVEFORM              (1)
-
-#define AL_FLANGER_MIN_PHASE                     (-180)
-#define AL_FLANGER_MAX_PHASE                     (180)
-#define AL_FLANGER_DEFAULT_PHASE                 (0)
-
-#define AL_FLANGER_MIN_RATE                      (0.0f)
-#define AL_FLANGER_MAX_RATE                      (10.0f)
-#define AL_FLANGER_DEFAULT_RATE                  (0.27f)
-
-#define AL_FLANGER_MIN_DEPTH                     (0.0f)
-#define AL_FLANGER_MAX_DEPTH                     (1.0f)
-#define AL_FLANGER_DEFAULT_DEPTH                 (1.0f)
-
-#define AL_FLANGER_MIN_FEEDBACK                  (-1.0f)
-#define AL_FLANGER_MAX_FEEDBACK                  (1.0f)
-#define AL_FLANGER_DEFAULT_FEEDBACK              (-0.5f)
-
-#define AL_FLANGER_MIN_DELAY                     (0.0f)
-#define AL_FLANGER_MAX_DELAY                     (0.004f)
-#define AL_FLANGER_DEFAULT_DELAY                 (0.002f)
-
-/* Frequency shifter effect */
-#define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY       (0.0f)
-#define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY       (24000.0f)
-#define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY   (0.0f)
-
-#define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION  (0)
-#define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION  (2)
-#define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION (0)
-
-#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN      (0)
-#define AL_FREQUENCY_SHIFTER_DIRECTION_UP        (1)
-#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF       (2)
-
-#define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION (0)
-#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION (2)
-#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION (0)
-
-/* Vocal morpher effect */
-#define AL_VOCAL_MORPHER_MIN_PHONEMEA            (0)
-#define AL_VOCAL_MORPHER_MAX_PHONEMEA            (29)
-#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA        (0)
-
-#define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24)
-#define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING (24)
-#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING (0)
-
-#define AL_VOCAL_MORPHER_MIN_PHONEMEB            (0)
-#define AL_VOCAL_MORPHER_MAX_PHONEMEB            (29)
-#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB        (10)
-
-#define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24)
-#define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING (24)
-#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING (0)
-
-#define AL_VOCAL_MORPHER_PHONEME_A               (0)
-#define AL_VOCAL_MORPHER_PHONEME_E               (1)
-#define AL_VOCAL_MORPHER_PHONEME_I               (2)
-#define AL_VOCAL_MORPHER_PHONEME_O               (3)
-#define AL_VOCAL_MORPHER_PHONEME_U               (4)
-#define AL_VOCAL_MORPHER_PHONEME_AA              (5)
-#define AL_VOCAL_MORPHER_PHONEME_AE              (6)
-#define AL_VOCAL_MORPHER_PHONEME_AH              (7)
-#define AL_VOCAL_MORPHER_PHONEME_AO              (8)
-#define AL_VOCAL_MORPHER_PHONEME_EH              (9)
-#define AL_VOCAL_MORPHER_PHONEME_ER              (10)
-#define AL_VOCAL_MORPHER_PHONEME_IH              (11)
-#define AL_VOCAL_MORPHER_PHONEME_IY              (12)
-#define AL_VOCAL_MORPHER_PHONEME_UH              (13)
-#define AL_VOCAL_MORPHER_PHONEME_UW              (14)
-#define AL_VOCAL_MORPHER_PHONEME_B               (15)
-#define AL_VOCAL_MORPHER_PHONEME_D               (16)
-#define AL_VOCAL_MORPHER_PHONEME_F               (17)
-#define AL_VOCAL_MORPHER_PHONEME_G               (18)
-#define AL_VOCAL_MORPHER_PHONEME_J               (19)
-#define AL_VOCAL_MORPHER_PHONEME_K               (20)
-#define AL_VOCAL_MORPHER_PHONEME_L               (21)
-#define AL_VOCAL_MORPHER_PHONEME_M               (22)
-#define AL_VOCAL_MORPHER_PHONEME_N               (23)
-#define AL_VOCAL_MORPHER_PHONEME_P               (24)
-#define AL_VOCAL_MORPHER_PHONEME_R               (25)
-#define AL_VOCAL_MORPHER_PHONEME_S               (26)
-#define AL_VOCAL_MORPHER_PHONEME_T               (27)
-#define AL_VOCAL_MORPHER_PHONEME_V               (28)
-#define AL_VOCAL_MORPHER_PHONEME_Z               (29)
-
-#define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID       (0)
-#define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE       (1)
-#define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH       (2)
-
-#define AL_VOCAL_MORPHER_MIN_WAVEFORM            (0)
-#define AL_VOCAL_MORPHER_MAX_WAVEFORM            (2)
-#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM        (0)
-
-#define AL_VOCAL_MORPHER_MIN_RATE                (0.0f)
-#define AL_VOCAL_MORPHER_MAX_RATE                (10.0f)
-#define AL_VOCAL_MORPHER_DEFAULT_RATE            (1.41f)
-
-/* Pitch shifter effect */
-#define AL_PITCH_SHIFTER_MIN_COARSE_TUNE         (-12)
-#define AL_PITCH_SHIFTER_MAX_COARSE_TUNE         (12)
-#define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE     (12)
-
-#define AL_PITCH_SHIFTER_MIN_FINE_TUNE           (-50)
-#define AL_PITCH_SHIFTER_MAX_FINE_TUNE           (50)
-#define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE       (0)
-
-/* Ring modulator effect */
-#define AL_RING_MODULATOR_MIN_FREQUENCY          (0.0f)
-#define AL_RING_MODULATOR_MAX_FREQUENCY          (8000.0f)
-#define AL_RING_MODULATOR_DEFAULT_FREQUENCY      (440.0f)
-
-#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF    (0.0f)
-#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF    (24000.0f)
-#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF (800.0f)
-
-#define AL_RING_MODULATOR_SINUSOID               (0)
-#define AL_RING_MODULATOR_SAWTOOTH               (1)
-#define AL_RING_MODULATOR_SQUARE                 (2)
-
-#define AL_RING_MODULATOR_MIN_WAVEFORM           (0)
-#define AL_RING_MODULATOR_MAX_WAVEFORM           (2)
-#define AL_RING_MODULATOR_DEFAULT_WAVEFORM       (0)
-
-/* Autowah effect */
-#define AL_AUTOWAH_MIN_ATTACK_TIME               (0.0001f)
-#define AL_AUTOWAH_MAX_ATTACK_TIME               (1.0f)
-#define AL_AUTOWAH_DEFAULT_ATTACK_TIME           (0.06f)
-
-#define AL_AUTOWAH_MIN_RELEASE_TIME              (0.0001f)
-#define AL_AUTOWAH_MAX_RELEASE_TIME              (1.0f)
-#define AL_AUTOWAH_DEFAULT_RELEASE_TIME          (0.06f)
-
-#define AL_AUTOWAH_MIN_RESONANCE                 (2.0f)
-#define AL_AUTOWAH_MAX_RESONANCE                 (1000.0f)
-#define AL_AUTOWAH_DEFAULT_RESONANCE             (1000.0f)
-
-#define AL_AUTOWAH_MIN_PEAK_GAIN                 (0.00003f)
-#define AL_AUTOWAH_MAX_PEAK_GAIN                 (31621.0f)
-#define AL_AUTOWAH_DEFAULT_PEAK_GAIN             (11.22f)
-
-/* Compressor effect */
-#define AL_COMPRESSOR_MIN_ONOFF                  (0)
-#define AL_COMPRESSOR_MAX_ONOFF                  (1)
-#define AL_COMPRESSOR_DEFAULT_ONOFF              (1)
-
-/* Equalizer effect */
-#define AL_EQUALIZER_MIN_LOW_GAIN                (0.126f)
-#define AL_EQUALIZER_MAX_LOW_GAIN                (7.943f)
-#define AL_EQUALIZER_DEFAULT_LOW_GAIN            (1.0f)
-
-#define AL_EQUALIZER_MIN_LOW_CUTOFF              (50.0f)
-#define AL_EQUALIZER_MAX_LOW_CUTOFF              (800.0f)
-#define AL_EQUALIZER_DEFAULT_LOW_CUTOFF          (200.0f)
-
-#define AL_EQUALIZER_MIN_MID1_GAIN               (0.126f)
-#define AL_EQUALIZER_MAX_MID1_GAIN               (7.943f)
-#define AL_EQUALIZER_DEFAULT_MID1_GAIN           (1.0f)
-
-#define AL_EQUALIZER_MIN_MID1_CENTER             (200.0f)
-#define AL_EQUALIZER_MAX_MID1_CENTER             (3000.0f)
-#define AL_EQUALIZER_DEFAULT_MID1_CENTER         (500.0f)
-
-#define AL_EQUALIZER_MIN_MID1_WIDTH              (0.01f)
-#define AL_EQUALIZER_MAX_MID1_WIDTH              (1.0f)
-#define AL_EQUALIZER_DEFAULT_MID1_WIDTH          (1.0f)
-
-#define AL_EQUALIZER_MIN_MID2_GAIN               (0.126f)
-#define AL_EQUALIZER_MAX_MID2_GAIN               (7.943f)
-#define AL_EQUALIZER_DEFAULT_MID2_GAIN           (1.0f)
-
-#define AL_EQUALIZER_MIN_MID2_CENTER             (1000.0f)
-#define AL_EQUALIZER_MAX_MID2_CENTER             (8000.0f)
-#define AL_EQUALIZER_DEFAULT_MID2_CENTER         (3000.0f)
-
-#define AL_EQUALIZER_MIN_MID2_WIDTH              (0.01f)
-#define AL_EQUALIZER_MAX_MID2_WIDTH              (1.0f)
-#define AL_EQUALIZER_DEFAULT_MID2_WIDTH          (1.0f)
-
-#define AL_EQUALIZER_MIN_HIGH_GAIN               (0.126f)
-#define AL_EQUALIZER_MAX_HIGH_GAIN               (7.943f)
-#define AL_EQUALIZER_DEFAULT_HIGH_GAIN           (1.0f)
-
-#define AL_EQUALIZER_MIN_HIGH_CUTOFF             (4000.0f)
-#define AL_EQUALIZER_MAX_HIGH_CUTOFF             (16000.0f)
-#define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF         (6000.0f)
-
-
-/* Source parameter value ranges and defaults. */
-#define AL_MIN_AIR_ABSORPTION_FACTOR             (0.0f)
-#define AL_MAX_AIR_ABSORPTION_FACTOR             (10.0f)
-#define AL_DEFAULT_AIR_ABSORPTION_FACTOR         (0.0f)
-
-#define AL_MIN_ROOM_ROLLOFF_FACTOR               (0.0f)
-#define AL_MAX_ROOM_ROLLOFF_FACTOR               (10.0f)
-#define AL_DEFAULT_ROOM_ROLLOFF_FACTOR           (0.0f)
-
-#define AL_MIN_CONE_OUTER_GAINHF                 (0.0f)
-#define AL_MAX_CONE_OUTER_GAINHF                 (1.0f)
-#define AL_DEFAULT_CONE_OUTER_GAINHF             (1.0f)
-
-#define AL_MIN_DIRECT_FILTER_GAINHF_AUTO         AL_FALSE
-#define AL_MAX_DIRECT_FILTER_GAINHF_AUTO         AL_TRUE
-#define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO     AL_TRUE
-
-#define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO   AL_FALSE
-#define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO   AL_TRUE
-#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE
-
-#define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE
-#define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
-#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
-
-
-/* Listener parameter value ranges and defaults. */
-#define AL_MIN_METERS_PER_UNIT                   FLT_MIN
-#define AL_MAX_METERS_PER_UNIT                   FLT_MAX
-#define AL_DEFAULT_METERS_PER_UNIT               (1.0f)
-
-
-#ifdef __cplusplus
-}  /* extern "C" */
-#endif
-
-#endif /* AL_EFX_H */
diff --git a/src/external/openal_soft/lib/win32/libOpenAL32.dll.a b/src/external/openal_soft/lib/win32/libOpenAL32.dll.a
deleted file mode 100644
index 1c4c63c8f857b38b5f347fc89cf811fee9cfd33f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 100246
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