From d7b384581938c1203219e17e3dde9e1866928afe Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Fri, 17 Nov 2023 17:56:20 +0300
Subject: [PATCH] updated headers and dynapi from SDL2
---
include/SDL2/SDL_assert.h | 2 ++
include/SDL2/SDL_config.h.cmake | 5 ++---
include/SDL2/SDL_config.h.in | 4 +---
include/SDL2/SDL_config_winrt.h | 8 ++++----
include/SDL2/SDL_events.h | 9 ---------
include/SDL2/SDL_hints.h | 29 +++++++++++++++++++++++++++++
include/SDL2/SDL_log.h | 2 +-
include/SDL2/SDL_platform.h | 6 ++++++
include/SDL2/SDL_render.h | 2 +-
include/SDL2/SDL_stdinc.h | 20 +++++++++++++-------
include/SDL2/SDL_system.h | 17 ++++++++++++++++-
include/SDL2/SDL_video.h | 3 ++-
include/SDL2/begin_code.h | 2 ++
src/dynapi/SDL_dynapi.c | 4 ++--
src/dynapi/SDL_dynapi.h | 20 ++++++++++----------
src/dynapi/SDL_dynapi_procs.h | 4 ++--
16 files changed, 93 insertions(+), 44 deletions(-)
diff --git a/include/SDL2/SDL_assert.h b/include/SDL2/SDL_assert.h
index 87d5c1b..7ce823e 100644
--- a/include/SDL2/SDL_assert.h
+++ b/include/SDL2/SDL_assert.h
@@ -55,6 +55,8 @@ assert can have unique static variables associated with it.
#define SDL_TriggerBreakpoint() __builtin_debugtrap()
#elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) )
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
+#elif (defined(__GNUC__) || defined(__clang__)) && defined(__riscv)
+ #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "ebreak\n\t" )
#elif ( defined(__APPLE__) && (defined(__arm64__) || defined(__aarch64__)) ) /* this might work on other ARM targets, but this is a known quantity... */
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "brk #22\n\t" )
#elif defined(__APPLE__) && defined(__arm__)
diff --git a/include/SDL2/SDL_config.h.cmake b/include/SDL2/SDL_config.h.cmake
index 7512bb1..2c541eb 100644
--- a/include/SDL2/SDL_config.h.cmake
+++ b/include/SDL2/SDL_config.h.cmake
@@ -49,7 +49,7 @@
/* Comment this if you want to build without any C library requirements */
#cmakedefine HAVE_LIBC 1
-#if HAVE_LIBC
+#ifdef HAVE_LIBC
/* Useful headers */
#cmakedefine STDC_HEADERS 1
@@ -259,8 +259,7 @@
#cmakedefine HAVE_ROAPI_H @HAVE_ROAPI_H@
#cmakedefine HAVE_SHELLSCALINGAPI_H @HAVE_SHELLSCALINGAPI_H@
-#cmakedefine HAVE_XINPUT_GAMEPAD_EX @HAVE_XINPUT_GAMEPAD_EX@
-#cmakedefine HAVE_XINPUT_STATE_EX @HAVE_XINPUT_STATE_EX@
+#cmakedefine USE_POSIX_SPAWN @USE_POSIX_SPAWN@
/* SDL internal assertion support */
#if @SDL_DEFAULT_ASSERT_LEVEL_CONFIGURED@
diff --git a/include/SDL2/SDL_config.h.in b/include/SDL2/SDL_config.h.in
index d6460b7..38792a1 100644
--- a/include/SDL2/SDL_config.h.in
+++ b/include/SDL2/SDL_config.h.in
@@ -53,7 +53,7 @@
/* Comment this if you want to build without any C library requirements */
#undef HAVE_LIBC
-#if HAVE_LIBC
+#ifdef HAVE_LIBC
/* Useful headers */
#undef STDC_HEADERS
@@ -241,8 +241,6 @@
#undef HAVE_DXGI_H
#undef HAVE_WINDOWS_GAMING_INPUT_H
#undef HAVE_XINPUT_H
-#undef HAVE_XINPUT_GAMEPAD_EX
-#undef HAVE_XINPUT_STATE_EX
#undef HAVE_MMDEVICEAPI_H
#undef HAVE_AUDIOCLIENT_H
diff --git a/include/SDL2/SDL_config_winrt.h b/include/SDL2/SDL_config_winrt.h
index 8efde90..d2f902d 100644
--- a/include/SDL2/SDL_config_winrt.h
+++ b/include/SDL2/SDL_config_winrt.h
@@ -54,7 +54,7 @@
/* Useful headers */
#define HAVE_DXGI_H 1
-#if WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP
+#if !SDL_WINAPI_FAMILY_PHONE
#define HAVE_XINPUT_H 1
#endif
@@ -161,7 +161,7 @@
#define SDL_AUDIO_DRIVER_DUMMY 1
/* Enable various input drivers */
-#if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
+#if SDL_WINAPI_FAMILY_PHONE
#define SDL_JOYSTICK_DISABLED 1
#define SDL_HAPTIC_DISABLED 1
#else
@@ -208,9 +208,9 @@
#define SDL_VIDEO_RENDER_D3D11 1
/* Disable D3D12 as it's not implemented for WinRT */
-#define SDL_VIDEO_RENDER_D3D12 0
+/* #undef SDL_VIDEO_RENDER_D3D12 */
-#if SDL_VIDEO_OPENGL_ES2
+#ifdef SDL_VIDEO_OPENGL_ES2
#define SDL_VIDEO_RENDER_OGL_ES2 1
#endif
diff --git a/include/SDL2/SDL_events.h b/include/SDL2/SDL_events.h
index 9d09703..be27751 100644
--- a/include/SDL2/SDL_events.h
+++ b/include/SDL2/SDL_events.h
@@ -580,15 +580,6 @@ typedef struct SDL_QuitEvent
Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */
} SDL_QuitEvent;
-/**
- * \brief OS Specific event
- */
-typedef struct SDL_OSEvent
-{
- Uint32 type; /**< ::SDL_QUIT */
- Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */
-} SDL_OSEvent;
-
/**
* \brief A user-defined event type (event.user.*)
*/
diff --git a/include/SDL2/SDL_hints.h b/include/SDL2/SDL_hints.h
index c808a60..8a1c433 100644
--- a/include/SDL2/SDL_hints.h
+++ b/include/SDL2/SDL_hints.h
@@ -965,6 +965,24 @@ extern "C" {
*/
#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED"
+/**
+ * A variable controlling whether IOKit should be used for controller handling.
+ *
+ * This variable can be set to the following values:
+ * "0" - IOKit is not used
+ * "1" - IOKit is used (the default)
+ */
+#define SDL_HINT_JOYSTICK_IOKIT "SDL_JOYSTICK_IOKIT"
+
+/**
+ * A variable controlling whether GCController should be used for controller handling.
+ *
+ * This variable can be set to the following values:
+ * "0" - GCController is not used
+ * "1" - GCController is used (the default)
+ */
+#define SDL_HINT_JOYSTICK_MFI "SDL_JOYSTICK_MFI"
+
/**
* \brief A variable controlling whether the RAWINPUT joystick drivers should be used for better handling XInput-capable devices.
*
@@ -1474,6 +1492,17 @@ extern "C" {
*/
#define SDL_HINT_RENDER_VSYNC "SDL_RENDER_VSYNC"
+/**
+ * \brief A variable controlling whether the Metal render driver select low power device over default one
+ *
+ * This variable can be set to the following values:
+ * "0" - Use the prefered OS device
+ * "1" - Select a low power one
+ *
+ * By default the prefered OS device is used.
+ */
+#define SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE"
+
/**
* \brief A variable controlling if VSYNC is automatically disable if doesn't reach the enough FPS
*
diff --git a/include/SDL2/SDL_log.h b/include/SDL2/SDL_log.h
index da733c4..5558305 100644
--- a/include/SDL2/SDL_log.h
+++ b/include/SDL2/SDL_log.h
@@ -352,7 +352,7 @@ extern DECLSPEC void SDLCALL SDL_LogMessage(int category,
*/
extern DECLSPEC void SDLCALL SDL_LogMessageV(int category,
SDL_LogPriority priority,
- const char *fmt, va_list ap);
+ SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(3);
/**
* The prototype for the log output callback function.
diff --git a/include/SDL2/SDL_platform.h b/include/SDL2/SDL_platform.h
index d2a7e05..2bad249 100644
--- a/include/SDL2/SDL_platform.h
+++ b/include/SDL2/SDL_platform.h
@@ -166,6 +166,12 @@
#define WINAPI_FAMILY_WINRT 0
#endif /* HAVE_WINAPIFAMILY_H */
+#if (HAVE_WINAPIFAMILY_H) && defined(WINAPI_FAMILY_PHONE_APP)
+#define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
+#else
+#define SDL_WINAPI_FAMILY_PHONE 0
+#endif
+
#if WINAPI_FAMILY_WINRT
#undef __WINRT__
#define __WINRT__ 1
diff --git a/include/SDL2/SDL_render.h b/include/SDL2/SDL_render.h
index 2d3f073..403ed49 100644
--- a/include/SDL2/SDL_render.h
+++ b/include/SDL2/SDL_render.h
@@ -42,7 +42,7 @@
* of the many good 3D engines.
*
* These functions must be called from the main thread.
- * See this bug for details: http://bugzilla.libsdl.org/show_bug.cgi?id=1995
+ * See this bug for details: https://github.com/libsdl-org/SDL/issues/986
*/
#ifndef SDL_render_h_
diff --git a/include/SDL2/SDL_stdinc.h b/include/SDL2/SDL_stdinc.h
index 182ed86..713fec4 100644
--- a/include/SDL2/SDL_stdinc.h
+++ b/include/SDL2/SDL_stdinc.h
@@ -336,7 +336,9 @@ typedef uint64_t Uint64;
#define SDL_PRINTF_FORMAT_STRING
#define SDL_SCANF_FORMAT_STRING
#define SDL_PRINTF_VARARG_FUNC( fmtargnumber )
+#define SDL_PRINTF_VARARG_FUNCV( fmtargnumber )
#define SDL_SCANF_VARARG_FUNC( fmtargnumber )
+#define SDL_SCANF_VARARG_FUNCV( fmtargnumber )
#else
#if defined(_MSC_VER) && (_MSC_VER >= 1600) /* VS 2010 and above */
#include <sal.h>
@@ -362,10 +364,14 @@ typedef uint64_t Uint64;
#endif
#if defined(__GNUC__)
#define SDL_PRINTF_VARARG_FUNC( fmtargnumber ) __attribute__ (( format( __printf__, fmtargnumber, fmtargnumber+1 )))
+#define SDL_PRINTF_VARARG_FUNCV( fmtargnumber ) __attribute__(( format( __printf__, fmtargnumber, 0 )))
#define SDL_SCANF_VARARG_FUNC( fmtargnumber ) __attribute__ (( format( __scanf__, fmtargnumber, fmtargnumber+1 )))
+#define SDL_SCANF_VARARG_FUNCV( fmtargnumber ) __attribute__(( format( __scanf__, fmtargnumber, 0 )))
#else
#define SDL_PRINTF_VARARG_FUNC( fmtargnumber )
+#define SDL_PRINTF_VARARG_FUNCV( fmtargnumber )
#define SDL_SCANF_VARARG_FUNC( fmtargnumber )
+#define SDL_SCANF_VARARG_FUNCV( fmtargnumber )
#endif
#endif /* SDL_DISABLE_ANALYZE_MACROS */
@@ -603,11 +609,11 @@ extern DECLSPEC int SDLCALL SDL_strcasecmp(const char *str1, const char *str2);
extern DECLSPEC int SDLCALL SDL_strncasecmp(const char *str1, const char *str2, size_t len);
extern DECLSPEC int SDLCALL SDL_sscanf(const char *text, SDL_SCANF_FORMAT_STRING const char *fmt, ...) SDL_SCANF_VARARG_FUNC(2);
-extern DECLSPEC int SDLCALL SDL_vsscanf(const char *text, const char *fmt, va_list ap);
+extern DECLSPEC int SDLCALL SDL_vsscanf(const char *text, SDL_SCANF_FORMAT_STRING const char *fmt, va_list ap) SDL_SCANF_VARARG_FUNCV(2);
extern DECLSPEC int SDLCALL SDL_snprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt, ... ) SDL_PRINTF_VARARG_FUNC(3);
-extern DECLSPEC int SDLCALL SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, const char *fmt, va_list ap);
+extern DECLSPEC int SDLCALL SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(3);
extern DECLSPEC int SDLCALL SDL_asprintf(char **strp, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-extern DECLSPEC int SDLCALL SDL_vasprintf(char **strp, const char *fmt, va_list ap);
+extern DECLSPEC int SDLCALL SDL_vasprintf(char **strp, SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(2);
#ifndef HAVE_M_PI
#ifndef M_PI
@@ -688,8 +694,8 @@ extern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf,
size_t * outbytesleft);
/**
- * This function converts a buffer or string between encodings in one pass, returning a
- * string that must be freed with SDL_free() or NULL on error.
+ * This function converts a buffer or string between encodings in one pass,
+ * returning a string that must be freed with SDL_free() or NULL on error.
*
* \since This function is available since SDL 2.0.0.
*/
@@ -698,8 +704,8 @@ extern DECLSPEC char *SDLCALL SDL_iconv_string(const char *tocode,
const char *inbuf,
size_t inbytesleft);
#define SDL_iconv_utf8_locale(S) SDL_iconv_string("", "UTF-8", S, SDL_strlen(S)+1)
-#define SDL_iconv_utf8_ucs2(S) (Uint16 *)SDL_iconv_string("UCS-2-INTERNAL", "UTF-8", S, SDL_strlen(S)+1)
-#define SDL_iconv_utf8_ucs4(S) (Uint32 *)SDL_iconv_string("UCS-4-INTERNAL", "UTF-8", S, SDL_strlen(S)+1)
+#define SDL_iconv_utf8_ucs2(S) (Uint16 *)SDL_iconv_string("UCS-2", "UTF-8", S, SDL_strlen(S)+1)
+#define SDL_iconv_utf8_ucs4(S) (Uint32 *)SDL_iconv_string("UCS-4", "UTF-8", S, SDL_strlen(S)+1)
#define SDL_iconv_wchar_utf8(S) SDL_iconv_string("UTF-8", "WCHAR_T", (char *)S, (SDL_wcslen(S)+1)*sizeof(wchar_t))
/* force builds using Clang's static analysis tools to use literal C runtime
diff --git a/include/SDL2/SDL_system.h b/include/SDL2/SDL_system.h
index 4b7eadd..fa96ef3 100644
--- a/include/SDL2/SDL_system.h
+++ b/include/SDL2/SDL_system.h
@@ -593,7 +593,8 @@ extern DECLSPEC void SDLCALL SDL_OnApplicationDidChangeStatusBarOrientation(void
/* Functions used only by GDK */
#if defined(__GDK__)
-typedef struct XTaskQueueObject * XTaskQueueHandle;
+typedef struct XTaskQueueObject *XTaskQueueHandle;
+typedef struct XUser *XUserHandle;
/**
* Gets a reference to the global async task queue handle for GDK,
@@ -610,6 +611,20 @@ typedef struct XTaskQueueObject * XTaskQueueHandle;
*/
extern DECLSPEC int SDLCALL SDL_GDKGetTaskQueue(XTaskQueueHandle * outTaskQueue);
+/**
+ * Gets a reference to the default user handle for GDK.
+ *
+ * This is effectively a synchronous version of XUserAddAsync, which always
+ * prefers the default user and allows a sign-in UI.
+ *
+ * \param outUserHandle a pointer to be filled in with the default user
+ * handle.
+ * \returns 0 if success, -1 if any error occurs.
+ *
+ * \since This function is available since SDL 2.28.0.
+ */
+extern DECLSPEC int SDLCALL SDL_GDKGetDefaultUser(XUserHandle * outUserHandle);
+
#endif
/* Ends C function definitions when using C++ */
diff --git a/include/SDL2/SDL_video.h b/include/SDL2/SDL_video.h
index c8b2d7a..48ff27f 100644
--- a/include/SDL2/SDL_video.h
+++ b/include/SDL2/SDL_video.h
@@ -1278,7 +1278,8 @@ extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window,
/**
* Return whether the window has a surface associated with it.
*
- * \returns SDL_TRUE if there is a surface associated with the window, or SDL_FALSE otherwise.
+ * \returns SDL_TRUE if there is a surface associated with the window, or
+ * SDL_FALSE otherwise.
*
* \since This function is available since SDL 2.28.0.
*
diff --git a/include/SDL2/begin_code.h b/include/SDL2/begin_code.h
index 4142ffe..7929783 100644
--- a/include/SDL2/begin_code.h
+++ b/include/SDL2/begin_code.h
@@ -36,6 +36,8 @@
#ifndef SDL_DEPRECATED
# if defined(__GNUC__) && (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */
# define SDL_DEPRECATED __attribute__((deprecated))
+# elif defined(_MSC_VER)
+# define SDL_DEPRECATED __declspec(deprecated)
# else
# define SDL_DEPRECATED
# endif
diff --git a/src/dynapi/SDL_dynapi.c b/src/dynapi/SDL_dynapi.c
index 3087b42..41b3c6b 100644
--- a/src/dynapi/SDL_dynapi.c
+++ b/src/dynapi/SDL_dynapi.c
@@ -509,7 +509,7 @@ static void SDL_InitDynamicAPI(void)
/* SDL_AtomicLock calls SDL mutex functions to emulate if
SDL_ATOMIC_DISABLED, which we can't do here, so in such a
configuration, you're on your own. */
- #if !defined(SDL_ATOMIC_DISABLED)
+ #ifndef SDL_ATOMIC_DISABLED
static SDL_SpinLock lock = 0;
SDL_AtomicLock_REAL(&lock);
#endif
@@ -519,7 +519,7 @@ static void SDL_InitDynamicAPI(void)
already_initialized = SDL_TRUE;
}
- #if !defined(SDL_ATOMIC_DISABLED)
+ #ifndef SDL_ATOMIC_DISABLED
SDL_AtomicUnlock_REAL(&lock);
#endif
}
diff --git a/src/dynapi/SDL_dynapi.h b/src/dynapi/SDL_dynapi.h
index 35acf1a..9e0aaeb 100644
--- a/src/dynapi/SDL_dynapi.h
+++ b/src/dynapi/SDL_dynapi.h
@@ -35,7 +35,7 @@
updated SDL can transparently take advantage of them, but your program will
not without this feature. Think hard before turning it off.
*/
-#ifdef SDL_DYNAMIC_API /* Tried to force it on the command line? */
+#ifdef SDL_DYNAMIC_API /* Tried to force it on the command line? */
#error Nope, you have to edit this file to force this off.
#endif
@@ -43,7 +43,7 @@
#include "TargetConditionals.h"
#endif
-#if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE /* probably not useful on iOS. */
+#if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE /* probably not useful on iOS. */
#define SDL_DYNAMIC_API 0
#elif defined(__ANDROID__) /* probably not useful on Android. */
#define SDL_DYNAMIC_API 0
@@ -51,24 +51,24 @@
#define SDL_DYNAMIC_API 0
#elif defined(__EMSCRIPTEN__) && __EMSCRIPTEN__ /* probably not useful on Emscripten. */
#define SDL_DYNAMIC_API 0
-#elif defined(SDL_BUILDING_WINRT) && SDL_BUILDING_WINRT /* probably not useful on WinRT, given current .dll loading restrictions */
+#elif defined(SDL_BUILDING_WINRT) && SDL_BUILDING_WINRT /* probably not useful on WinRT, given current .dll loading restrictions */
#define SDL_DYNAMIC_API 0
-#elif defined(__PS2__) && __PS2__
+#elif defined(__PS2__)
#define SDL_DYNAMIC_API 0
#elif defined(__PSP__) && __PSP__
#define SDL_DYNAMIC_API 0
#elif defined(__riscos__) && __riscos__ /* probably not useful on RISC OS, since dlopen() can't be used when using static linking. */
#define SDL_DYNAMIC_API 0
-#elif defined(__clang_analyzer__)
-#define SDL_DYNAMIC_API 0 /* Turn off for static analysis, so reports are more clear. */
+#elif defined(__clang_analyzer__) || defined(SDL_THREAD_SAFETY_ANALYSIS)
+#define SDL_DYNAMIC_API 0 /* Turn off for static analysis, so reports are more clear. */
#elif defined(__VITA__)
-#define SDL_DYNAMIC_API 0 /* vitasdk doesn't support dynamic linking */
+#define SDL_DYNAMIC_API 0 /* vitasdk doesn't support dynamic linking */
#elif defined(__NGAGE__)
-#define SDL_DYNAMIC_API 0 /* The N-Gage doesn't support dynamic linking either */
+#define SDL_DYNAMIC_API 0 /* The N-Gage doesn't support dynamic linking either */
#elif defined(__3DS__)
-#define SDL_DYNAMIC_API 0 /* devkitARM doesn't support dynamic linking */
+#define SDL_DYNAMIC_API 0 /* devkitARM doesn't support dynamic linking */
#elif defined(DYNAPI_NEEDS_DLOPEN) && !defined(HAVE_DLOPEN)
-#define SDL_DYNAMIC_API 0 /* we need dlopen(), but don't have it.... */
+#define SDL_DYNAMIC_API 0 /* we need dlopen(), but don't have it.... */
#endif
/* everyone else. This is where we turn on the API if nothing forced it off. */
diff --git a/src/dynapi/SDL_dynapi_procs.h b/src/dynapi/SDL_dynapi_procs.h
index 6dc36d3..c367edb 100644
--- a/src/dynapi/SDL_dynapi_procs.h
+++ b/src/dynapi/SDL_dynapi_procs.h
@@ -30,7 +30,7 @@
*/
/* direct jump magic can use these, the rest needs special code. */
-#if !defined(SDL_DYNAPI_PROC_NO_VARARGS)
+#ifndef SDL_DYNAPI_PROC_NO_VARARGS
SDL_DYNAPI_PROC(int,SDL_SetError,(SDL_PRINTF_FORMAT_STRING const char *a, ...),(a),return)
SDL_DYNAPI_PROC(void,SDL_Log,(SDL_PRINTF_FORMAT_STRING const char *a, ...),(a),)
SDL_DYNAPI_PROC(void,SDL_LogVerbose,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
@@ -888,7 +888,7 @@ SDL_DYNAPI_PROC(void*,SDL_GetTextureUserData,(SDL_Texture *a),(a),return)
SDL_DYNAPI_PROC(int,SDL_RenderGeometry,(SDL_Renderer *a, SDL_Texture *b, const SDL_Vertex *c, int d, const int *e, int f),(a,b,c,d,e,f),return)
SDL_DYNAPI_PROC(int,SDL_RenderGeometryRaw,(SDL_Renderer *a, SDL_Texture *b, const float *c, int d, const SDL_Color *e, int f, const float *g, int h, int i, const void *j, int k, int l),(a,b,c,d,e,f,g,h,i,j,k,l),return)
SDL_DYNAPI_PROC(int,SDL_RenderSetVSync,(SDL_Renderer *a, int b),(a,b),return)
-#if !defined(SDL_DYNAPI_PROC_NO_VARARGS)
+#ifndef SDL_DYNAPI_PROC_NO_VARARGS
SDL_DYNAPI_PROC(int,SDL_asprintf,(char **a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),return)
#endif
SDL_DYNAPI_PROC(int,SDL_vasprintf,(char **a, const char *b, va_list c),(a,b,c),return)