sdl2-compat: updated after latest SDL3 changes

From 7b10b6692dbf7c5d5a118083fc1323349b56ae75 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Sun, 28 May 2023 00:40:00 +0300
Subject: [PATCH] updated after latest SDL3 changes

---
 src/sdl2_compat.c          |  9 +++++++
 src/sdl3_include_wrapper.h | 54 +++++++++++++++++++++++++++++---------
 src/sdl3_syms.h            | 10 +++----
 3 files changed, 56 insertions(+), 17 deletions(-)

diff --git a/src/sdl2_compat.c b/src/sdl2_compat.c
index 78ebea2..6f48913 100644
--- a/src/sdl2_compat.c
+++ b/src/sdl2_compat.c
@@ -5576,6 +5576,15 @@ SDL_Metal_GetDrawableSize(SDL_Window *window, int *w, int *h)
     SDL_GetWindowSizeInPixels(window, w, h);
 }
 
+
+DECLSPEC SDL_hid_device * SDLCALL
+SDL_hid_open_path(const char *path, int bExclusive)
+{
+    (void) bExclusive;
+    return SDL3_hid_open_path(path);
+}
+
+
 #ifdef __WINRT__
 DECLSPEC int SDLCALL
 SDL_WinRTRunApp(SDL_main_func mainFunction, void *reserved)
diff --git a/src/sdl3_include_wrapper.h b/src/sdl3_include_wrapper.h
index 6b6064b..6aa3ad2 100644
--- a/src/sdl3_include_wrapper.h
+++ b/src/sdl3_include_wrapper.h
@@ -660,10 +660,10 @@
 #define SDL_StopTextInput IGNORE_THIS_VERSION_OF_SDL_StopTextInput
 #define SDL_SurfaceHasColorKey IGNORE_THIS_VERSION_OF_SDL_SurfaceHasColorKey
 #define SDL_SurfaceHasRLE IGNORE_THIS_VERSION_OF_SDL_SurfaceHasRLE
-#define SDL_TLSCleanup IGNORE_THIS_VERSION_OF_SDL_TLSCleanup
-#define SDL_TLSCreate IGNORE_THIS_VERSION_OF_SDL_TLSCreate
-#define SDL_TLSGet IGNORE_THIS_VERSION_OF_SDL_TLSGet
-#define SDL_TLSSet IGNORE_THIS_VERSION_OF_SDL_TLSSet
+#define SDL_CleanupTLS IGNORE_THIS_VERSION_OF_SDL_CleanupTLS
+#define SDL_CreateTLS IGNORE_THIS_VERSION_OF_SDL_CreateTLS
+#define SDL_GetTLS IGNORE_THIS_VERSION_OF_SDL_GetTLS
+#define SDL_SetTLS IGNORE_THIS_VERSION_OF_SDL_SetTLS
 #define SDL_TextInputActive IGNORE_THIS_VERSION_OF_SDL_TextInputActive
 #define SDL_TextInputShown IGNORE_THIS_VERSION_OF_SDL_TextInputShown
 #define SDL_ThreadID IGNORE_THIS_VERSION_OF_SDL_ThreadID
@@ -884,6 +884,12 @@
 #define SDL_GetDisplayContentScale IGNORE_THIS_VERSION_OF_SDL_GetDisplayContentScale
 #define SDL_GetWindowDisplayScale IGNORE_THIS_VERSION_OF_SDL_GetWindowDisplayScale
 #define SDL_GetWindowPixelDensity IGNORE_THIS_VERSION_OF_SDL_GetWindowPixelDensity
+#define SDL_wcstol IGNORE_THIS_VERSION_OF_SDL_wcstol
+#define SDL_swprintf IGNORE_THIS_VERSION_OF_SDL_swprintf
+#define SDL_vswprintf IGNORE_THIS_VERSION_OF_SDL_vswprintf
+#define SDL_hid_get_input_report IGNORE_THIS_VERSION_OF_SDL_hid_get_input_report
+#define SDL_hid_get_device_info IGNORE_THIS_VERSION_OF_SDL_hid_get_device_info
+#define SDL_hid_get_report_descriptor IGNORE_THIS_VERSION_OF_SDL_hid_get_report_descriptor
 
 /* *** HACK HACK HACK:
  * *** Avoid including SDL_thread.h: it defines SDL_CreateThread() as a macro
@@ -3470,20 +3476,20 @@ typedef void (__cdecl *pfnSDL_CurrentEndThread) (unsigned);
 #undef SDL_SurfaceHasRLE
 #endif
 
-#ifdef SDL_TLSCleanup
-#undef SDL_TLSCleanup
+#ifdef SDL_CleanupTLS
+#undef SDL_CleanupTLS
 #endif
 
-#ifdef SDL_TLSCreate
-#undef SDL_TLSCreate
+#ifdef SDL_CreateTLS
+#undef SDL_CreateTLS
 #endif
 
-#ifdef SDL_TLSGet
-#undef SDL_TLSGet
+#ifdef SDL_GetTLS
+#undef SDL_GetTLS
 #endif
 
-#ifdef SDL_TLSSet
-#undef SDL_TLSSet
+#ifdef SDL_SetTLS
+#undef SDL_SetTLS
 #endif
 
 #ifdef SDL_TextInputActive
@@ -4366,6 +4372,30 @@ typedef void (__cdecl *pfnSDL_CurrentEndThread) (unsigned);
 #undef SDL_GetWindowPixelDensity
 #endif
 
+#ifdef SDL_wcstol
+#undef SDL_wcstol
+#endif
+
+#ifdef SDL_swprintf
+#undef SDL_swprintf
+#endif
+
+#ifdef SDL_vswprintf
+#undef SDL_vswprintf
+#endif
+
+#ifdef SDL_hid_get_input_report
+#undef SDL_hid_get_input_report
+#endif
+
+#ifdef SDL_hid_get_device_info
+#undef SDL_hid_get_device_info
+#endif
+
+#ifdef SDL_hid_get_report_descriptor
+#undef SDL_hid_get_report_descriptor
+#endif
+
 /* undefine these macros too: */
 /* redefine using SDL3_xxx, if needed. */
 
diff --git a/src/sdl3_syms.h b/src/sdl3_syms.h
index 6eb5e9c..0d6a485 100644
--- a/src/sdl3_syms.h
+++ b/src/sdl3_syms.h
@@ -458,9 +458,9 @@ SDL3_SYM_PASSTHROUGH(SDL_threadID,GetThreadID,(SDL_Thread *a),(a),return)
 SDL3_SYM_PASSTHROUGH(int,SetThreadPriority,(SDL_ThreadPriority a),(a),return)
 SDL3_SYM_PASSTHROUGH(void,WaitThread,(SDL_Thread *a, int *b),(a,b),)
 SDL3_SYM_PASSTHROUGH(void,DetachThread,(SDL_Thread *a),(a),)
-SDL3_SYM_PASSTHROUGH(SDL_TLSID,TLSCreate,(void),(),return)
-SDL3_SYM_PASSTHROUGH(void*,TLSGet,(SDL_TLSID a),(a),return)
-SDL3_SYM_PASSTHROUGH(int,TLSSet,(SDL_TLSID a, const void *b, void (SDLCALL *c)(void*)),(a,b,c),return)
+SDL3_SYM_RENAMED(SDL_TLSID,TLSCreate,CreateTLS,(void),(),return)
+SDL3_SYM_RENAMED(void*,TLSGet,GetTLS,(SDL_TLSID a),(a),return)
+SDL3_SYM_RENAMED(int,TLSSet,SetTLS,(SDL_TLSID a, const void *b, void (SDLCALL *c)(void*)),(a,b,c),return)
 SDL3_SYM(Uint64,GetTicks,(void),(),return)
 SDL3_SYM_PASSTHROUGH(Uint64,GetPerformanceCounter,(void),(),return)
 SDL3_SYM_PASSTHROUGH(Uint64,GetPerformanceFrequency,(void),(),return)
@@ -780,7 +780,7 @@ SDL3_SYM_PASSTHROUGH(int,isgraph,(int a),(a),return)
 SDL3_SYM_PASSTHROUGH(int,AndroidShowToast,(const char *a, int b, int c, int d, int e),(a,b,c,d,e),return)
 #endif
 SDL3_SYM_PASSTHROUGH(int,GetAudioDeviceSpec,(int a, int b, SDL_AudioSpec *c),(a,b,c),return)
-SDL3_SYM_PASSTHROUGH(void,TLSCleanup,(void),(),)
+SDL3_SYM_RENAMED(void,TLSCleanup,CleanupTLS,(void),(),)
 SDL3_SYM(int,SetWindowAlwaysOnTop,(SDL_Window *a, SDL_bool b),(a,b),return)
 SDL3_SYM_PASSTHROUGH(int,FlashWindow,(SDL_Window *a, SDL_FlashOperation b),(a,b),return)
 SDL3_SYM_RENAMED(int,GameControllerSendEffect,SendGamepadEffect,(SDL_GameController *a, const void *b, int c),(a,b,c),return)
@@ -805,7 +805,7 @@ SDL3_SYM_PASSTHROUGH(Uint32,hid_device_change_count,(void),(),return)
 SDL3_SYM_PASSTHROUGH(SDL_hid_device_info*,hid_enumerate,(unsigned short a, unsigned short b),(a,b),return)
 SDL3_SYM_PASSTHROUGH(void,hid_free_enumeration,(SDL_hid_device_info *a),(a),)
 SDL3_SYM_PASSTHROUGH(SDL_hid_device*,hid_open,(unsigned short a, unsigned short b, const wchar_t *c),(a,b,c),return)
-SDL3_SYM_PASSTHROUGH(SDL_hid_device*,hid_open_path,(const char *a, int b),(a,b),return)
+SDL3_SYM(SDL_hid_device*,hid_open_path,(const char *a),(a),return)
 SDL3_SYM_PASSTHROUGH(int,hid_write,(SDL_hid_device *a, const unsigned char *b, size_t c),(a,b,c),return)
 SDL3_SYM_PASSTHROUGH(int,hid_read_timeout,(SDL_hid_device *a, unsigned char *b, size_t c, int d),(a,b,c,d),return)
 SDL3_SYM_PASSTHROUGH(int,hid_read,(SDL_hid_device *a, unsigned char *b, size_t c),(a,b,c),return)