diff --git a/src/api.h b/src/api.h
index e2d6ef68..50b08394 100644
--- a/src/api.h
+++ b/src/api.h
@@ -8,8 +8,7 @@
/* vgmstream's public API
*
* By default vgmstream behaves like a simple decoder (extract samples until stream end), but you can configure it
- * to loop N times or even downmix (since complex formats need those features). In other words, it also behaves
- * a bit like a player.
+ * to loop N times or even downmix. In other words, it also behaves a bit like a player.
*
* It exposes multiple options and convenience functions beyond simple decoding mainly for various plugins,
* since it was faster moving shared behavior to core rather than reimplementing every time.
@@ -19,14 +18,13 @@
* Notes:
* - vgmstream may dynamically allocate stuff as needed (not too much beyond some setup buffers, but varies per format)
* - previously the only way to use vgmstream was accesing its internals. Now there is an API internals may change in the future
- * - some details described in the API may not happen at the moment (they are defined to consider internal changes)
+ * - some details described in the API may not happen at the moment (they are defined for future internal changes)
* - main reason it uses the slighly long-winded libvgmstream_* names is that internals use the vgmstream_* 'namespace'
* - c-strings should be in UTF-8
* - the API is still WIP and may be slightly buggy overall due to lack of time, to be improved later
* - vgmstream's features are mostly stable, but this API may be tweaked from time to time (check API_VERSION)
*
* Basic usage (also see api_example.c):
- * - libvgmstream_get_version() // just in case
* - libvgmstream_init(...) // base context
* - libvgmstream_setup(...) // config if needed
* - libvgmstream_open(...) // setup format
@@ -42,7 +40,6 @@
//#define LIBVGMSTREAM_CALL __cdecl //needed?
//LIBVGMSTREAM_API (type) LIBVGMSTREAM_CALL libvgmstream_function(...);
-
/* define external function behavior (during compilation) */
#if defined(LIBVGMSTREAM_EXPORT)
#define LIBVGMSTREAM_API __declspec(dllexport) /* when exporting/creating vgmstream DLL */
@@ -52,21 +49,7 @@
#define LIBVGMSTREAM_API /* nothing, internal/default */
#endif
-
-/* Current API version.
- * - only refers to the API itself, as changes related to formats/etc don't alter this (since they are usually additive)
- * - vgmstream's features are mostly stable, but this API may be tweaked from time to time
- */
-#define LIBVGMSTREAM_API_VERSION_MAJOR 1 // breaking API/ABI changes
-#define LIBVGMSTREAM_API_VERSION_MINOR 0 // compatible API/ABI changes
-#define LIBVGMSTREAM_API_VERSION_PATCH 0 // fixes
-
-/* returns API version in hex format: 0xMMmmpppp = MM-major, mm-minor, pppp-patch
- * - use when loading vgmstream as a dynamic library to ensure API/ABI compatibility
- */
-LIBVGMSTREAM_API uint32_t libvgmstream_get_version(void);
-
-
+#include "api_version.h"
#include "api_decode.h"
#include "api_helpers.h"
#include "api_streamfile.h"
diff --git a/src/api_version.h b/src/api_version.h
new file mode 100644
index 00000000..91771ca7
--- /dev/null
+++ b/src/api_version.h
@@ -0,0 +1,25 @@
+#ifndef _API_VERSION_H_
+#define _API_VERSION_H_
+#include "api.h"
+#if LIBVGMSTREAM_ENABLE
+
+/* Current API version.
+ * - only refers to the API itself, as changes related to formats/etc don't alter this (since they are usually additive)
+ * - vgmstream's features are mostly stable, but this API may be tweaked from time to time
+ */
+#define LIBVGMSTREAM_API_VERSION_MAJOR 1 // breaking API/ABI changes
+#define LIBVGMSTREAM_API_VERSION_MINOR 0 // compatible API/ABI changes
+#define LIBVGMSTREAM_API_VERSION_PATCH 0 // fixes
+
+/* returns API version in hex format: 0xMMmmpppp = MM-major, mm-minor, pppp-patch
+ * - use when loading vgmstream as a dynamic library to ensure API/ABI compatibility
+ */
+LIBVGMSTREAM_API uint32_t libvgmstream_get_version(void);
+
+/* CHANGELOG:
+ *
+ * - 1.0.0: initial version
+ */
+
+#endif
+#endif
diff --git a/src/libvgmstream.vcxproj b/src/libvgmstream.vcxproj
index b9681ca2..dd658aca 100644
--- a/src/libvgmstream.vcxproj
+++ b/src/libvgmstream.vcxproj
@@ -85,6 +85,7 @@
+
@@ -201,7 +202,6 @@
-
@@ -804,7 +804,6 @@
-
diff --git a/src/libvgmstream.vcxproj.filters b/src/libvgmstream.vcxproj.filters
index 4005a917..5cb79f8e 100644
--- a/src/libvgmstream.vcxproj.filters
+++ b/src/libvgmstream.vcxproj.filters
@@ -89,6 +89,9 @@
Header Files
+
+ Header Files
+
Header Files
@@ -437,9 +440,6 @@
util\Header Files
-
- util\Header Files
-
util\Header Files
@@ -2242,9 +2242,6 @@
util\Source Files
-
- util\Source Files
-
util\Source Files