SDL: Remove the '_' prefix from symbol names in Windows OpenWatcom builds

From 3d52d049778be4a3663674d2fa9cb4661b8b25e6 Mon Sep 17 00:00:00 2001
From: Cameron Cawley <[EMAIL REDACTED]>
Date: Thu, 19 May 2022 15:38:35 +0100
Subject: [PATCH] Remove the '_' prefix from symbol names in Windows OpenWatcom
 builds

---
 Makefile.w32            |  11 +-
 src/dynapi/SDL2.exports | 842 ++++++++++++++++++++++++++++++++++++++++
 src/dynapi/gendynapi.pl |   4 +
 3 files changed, 853 insertions(+), 4 deletions(-)
 create mode 100644 src/dynapi/SDL2.exports

diff --git a/Makefile.w32 b/Makefile.w32
index 780593fd32c..48f4e2bcc03 100644
--- a/Makefile.w32
+++ b/Makefile.w32
@@ -11,6 +11,7 @@ DESCRIPTION = Simple DirectMedia Layer 2
 LIBHOME = .
 DLLFILE = $(LIBHOME)/$(LIBNAME).dll
 LIBFILE = $(LIBHOME)/$(LIBNAME).lib
+EXPFILE = $(LIBHOME)/$(LIBNAME).exp
 LNKFILE = $(LIBNAME).lnk
 
 INCPATH = -I"$(%WATCOM)/h/nt" -I"$(%WATCOM)/h/nt/directx" -I"$(%WATCOM)/h"
@@ -31,8 +32,9 @@ CFLAGS_STATIC=$(CFLAGS)
 # building dll:
 CFLAGS_DLL =$(CFLAGS)
 CFLAGS_DLL+= -bd
-# building SDL itself (for DECLSPEC):
-CFLAGS_DLL+= -DDLL_EXPORT
+# we override the DECLSPEC define in begin_code.h, because we are using
+# an exports file to remove the _cdecl '_' prefix from the symbol names
+CFLAGS_DLL+= -DDECLSPEC=
 
 CFLAGS_DLL+= -DSDL_BUILD_MAJOR_VERSION=$(MAJOR_VERSION)
 CFLAGS_DLL+= -DSDL_BUILD_MINOR_VERSION=$(MINOR_VERSION)
@@ -116,7 +118,7 @@ $(DLLFILE): build_dll $(OBJS) $(MOBJS) $(RCOBJS) $(LNKFILE)
 
 $(LIBFILE): $(DLLFILE)
     @echo * Creating LIB file: $@
-    wlib -q -b -n -c -pa -s -t -zld -ii -io $* $(DLLFILE)
+    wlib -q -b -n -c -pa -s -t -zld -ii -io $* @$(EXPFILE)
 
 .c.obj:
     wcc386 $(CFLAGS_DLL) -fo=$^@ $<
@@ -197,8 +199,9 @@ $(LNKFILE): Makefile.w32
     @%append $@ NAME $(DLLFILE)
     @for %i in ($(OBJS)) do @%append $@ FILE %i
     @for %i in ($(LIBS)) do @%append $@ LIB %i
+    @%append $@ EXPORT=src/dynapi/SDL2.exports
     @%append $@ OPTION QUIET
-    @%append $@ OPTION IMPF=$(LIBHOME)/$^&.exp
+    @%append $@ OPTION IMPF=$(EXPFILE)
     @%append $@ OPTION MAP=$(LIBHOME)/$^&.map
     @%append $@ OPTION DESCRIPTION '@$#libsdl org:$(VERSION)$#@$(DESCRIPTION)'
     @%append $@ OPTION ELIMINATE
diff --git a/src/dynapi/SDL2.exports b/src/dynapi/SDL2.exports
new file mode 100644
index 00000000000..c1c4f290e20
--- /dev/null
+++ b/src/dynapi/SDL2.exports
@@ -0,0 +1,842 @@
+# Windows exports file for Watcom
+# DO NOT EDIT THIS FILE BY HAND. It is autogenerated by gendynapi.pl.
+++'_SDL_SetError'.'SDL2.dll'.'SDL_SetError'
+++'_SDL_Log'.'SDL2.dll'.'SDL_Log'
+++'_SDL_LogVerbose'.'SDL2.dll'.'SDL_LogVerbose'
+++'_SDL_LogDebug'.'SDL2.dll'.'SDL_LogDebug'
+++'_SDL_LogInfo'.'SDL2.dll'.'SDL_LogInfo'
+++'_SDL_LogWarn'.'SDL2.dll'.'SDL_LogWarn'
+++'_SDL_LogError'.'SDL2.dll'.'SDL_LogError'
+++'_SDL_LogCritical'.'SDL2.dll'.'SDL_LogCritical'
+++'_SDL_LogMessage'.'SDL2.dll'.'SDL_LogMessage'
+++'_SDL_sscanf'.'SDL2.dll'.'SDL_sscanf'
+++'_SDL_snprintf'.'SDL2.dll'.'SDL_snprintf'
+++'_SDL_CreateThread'.'SDL2.dll'.'SDL_CreateThread'
+++'_SDL_RWFromFP'.'SDL2.dll'.'SDL_RWFromFP'
+++'_SDL_RegisterApp'.'SDL2.dll'.'SDL_RegisterApp'
+++'_SDL_UnregisterApp'.'SDL2.dll'.'SDL_UnregisterApp'
+++'_SDL_Direct3D9GetAdapterIndex'.'SDL2.dll'.'SDL_Direct3D9GetAdapterIndex'
+++'_SDL_RenderGetD3D9Device'.'SDL2.dll'.'SDL_RenderGetD3D9Device'
+# ++'_SDL_iPhoneSetAnimationCallback'.'SDL2.dll'.'SDL_iPhoneSetAnimationCallback'
+# ++'_SDL_iPhoneSetEventPump'.'SDL2.dll'.'SDL_iPhoneSetEventPump'
+# ++'_SDL_AndroidGetJNIEnv'.'SDL2.dll'.'SDL_AndroidGetJNIEnv'
+# ++'_SDL_AndroidGetActivity'.'SDL2.dll'.'SDL_AndroidGetActivity'
+# ++'_SDL_AndroidGetInternalStoragePath'.'SDL2.dll'.'SDL_AndroidGetInternalStoragePath'
+# ++'_SDL_AndroidGetExternalStorageState'.'SDL2.dll'.'SDL_AndroidGetExternalStorageState'
+# ++'_SDL_AndroidGetExternalStoragePath'.'SDL2.dll'.'SDL_AndroidGetExternalStoragePath'
+++'_SDL_Init'.'SDL2.dll'.'SDL_Init'
+++'_SDL_InitSubSystem'.'SDL2.dll'.'SDL_InitSubSystem'
+++'_SDL_QuitSubSystem'.'SDL2.dll'.'SDL_QuitSubSystem'
+++'_SDL_WasInit'.'SDL2.dll'.'SDL_WasInit'
+++'_SDL_Quit'.'SDL2.dll'.'SDL_Quit'
+++'_SDL_ReportAssertion'.'SDL2.dll'.'SDL_ReportAssertion'
+++'_SDL_SetAssertionHandler'.'SDL2.dll'.'SDL_SetAssertionHandler'
+++'_SDL_GetAssertionReport'.'SDL2.dll'.'SDL_GetAssertionReport'
+++'_SDL_ResetAssertionReport'.'SDL2.dll'.'SDL_ResetAssertionReport'
+++'_SDL_AtomicTryLock'.'SDL2.dll'.'SDL_AtomicTryLock'
+++'_SDL_AtomicLock'.'SDL2.dll'.'SDL_AtomicLock'
+++'_SDL_AtomicUnlock'.'SDL2.dll'.'SDL_AtomicUnlock'
+++'_SDL_AtomicCAS'.'SDL2.dll'.'SDL_AtomicCAS'
+++'_SDL_AtomicSet'.'SDL2.dll'.'SDL_AtomicSet'
+++'_SDL_AtomicGet'.'SDL2.dll'.'SDL_AtomicGet'
+++'_SDL_AtomicAdd'.'SDL2.dll'.'SDL_AtomicAdd'
+++'_SDL_AtomicCASPtr'.'SDL2.dll'.'SDL_AtomicCASPtr'
+++'_SDL_AtomicSetPtr'.'SDL2.dll'.'SDL_AtomicSetPtr'
+++'_SDL_AtomicGetPtr'.'SDL2.dll'.'SDL_AtomicGetPtr'
+++'_SDL_GetNumAudioDrivers'.'SDL2.dll'.'SDL_GetNumAudioDrivers'
+++'_SDL_GetAudioDriver'.'SDL2.dll'.'SDL_GetAudioDriver'
+++'_SDL_AudioInit'.'SDL2.dll'.'SDL_AudioInit'
+++'_SDL_AudioQuit'.'SDL2.dll'.'SDL_AudioQuit'
+++'_SDL_GetCurrentAudioDriver'.'SDL2.dll'.'SDL_GetCurrentAudioDriver'
+++'_SDL_OpenAudio'.'SDL2.dll'.'SDL_OpenAudio'
+++'_SDL_GetNumAudioDevices'.'SDL2.dll'.'SDL_GetNumAudioDevices'
+++'_SDL_GetAudioDeviceName'.'SDL2.dll'.'SDL_GetAudioDeviceName'
+++'_SDL_OpenAudioDevice'.'SDL2.dll'.'SDL_OpenAudioDevice'
+++'_SDL_GetAudioStatus'.'SDL2.dll'.'SDL_GetAudioStatus'
+++'_SDL_GetAudioDeviceStatus'.'SDL2.dll'.'SDL_GetAudioDeviceStatus'
+++'_SDL_PauseAudio'.'SDL2.dll'.'SDL_PauseAudio'
+++'_SDL_PauseAudioDevice'.'SDL2.dll'.'SDL_PauseAudioDevice'
+++'_SDL_LoadWAV_RW'.'SDL2.dll'.'SDL_LoadWAV_RW'
+++'_SDL_FreeWAV'.'SDL2.dll'.'SDL_FreeWAV'
+++'_SDL_BuildAudioCVT'.'SDL2.dll'.'SDL_BuildAudioCVT'
+++'_SDL_ConvertAudio'.'SDL2.dll'.'SDL_ConvertAudio'
+++'_SDL_MixAudio'.'SDL2.dll'.'SDL_MixAudio'
+++'_SDL_MixAudioFormat'.'SDL2.dll'.'SDL_MixAudioFormat'
+++'_SDL_LockAudio'.'SDL2.dll'.'SDL_LockAudio'
+++'_SDL_LockAudioDevice'.'SDL2.dll'.'SDL_LockAudioDevice'
+++'_SDL_UnlockAudio'.'SDL2.dll'.'SDL_UnlockAudio'
+++'_SDL_UnlockAudioDevice'.'SDL2.dll'.'SDL_UnlockAudioDevice'
+++'_SDL_CloseAudio'.'SDL2.dll'.'SDL_CloseAudio'
+++'_SDL_CloseAudioDevice'.'SDL2.dll'.'SDL_CloseAudioDevice'
+++'_SDL_SetClipboardText'.'SDL2.dll'.'SDL_SetClipboardText'
+++'_SDL_GetClipboardText'.'SDL2.dll'.'SDL_GetClipboardText'
+++'_SDL_HasClipboardText'.'SDL2.dll'.'SDL_HasClipboardText'
+++'_SDL_GetCPUCount'.'SDL2.dll'.'SDL_GetCPUCount'
+++'_SDL_GetCPUCacheLineSize'.'SDL2.dll'.'SDL_GetCPUCacheLineSize'
+++'_SDL_HasRDTSC'.'SDL2.dll'.'SDL_HasRDTSC'
+++'_SDL_HasAltiVec'.'SDL2.dll'.'SDL_HasAltiVec'
+++'_SDL_HasMMX'.'SDL2.dll'.'SDL_HasMMX'
+++'_SDL_Has3DNow'.'SDL2.dll'.'SDL_Has3DNow'
+++'_SDL_HasSSE'.'SDL2.dll'.'SDL_HasSSE'
+++'_SDL_HasSSE2'.'SDL2.dll'.'SDL_HasSSE2'
+++'_SDL_HasSSE3'.'SDL2.dll'.'SDL_HasSSE3'
+++'_SDL_HasSSE41'.'SDL2.dll'.'SDL_HasSSE41'
+++'_SDL_HasSSE42'.'SDL2.dll'.'SDL_HasSSE42'
+++'_SDL_GetSystemRAM'.'SDL2.dll'.'SDL_GetSystemRAM'
+++'_SDL_GetError'.'SDL2.dll'.'SDL_GetError'
+++'_SDL_ClearError'.'SDL2.dll'.'SDL_ClearError'
+++'_SDL_Error'.'SDL2.dll'.'SDL_Error'
+++'_SDL_PumpEvents'.'SDL2.dll'.'SDL_PumpEvents'
+++'_SDL_PeepEvents'.'SDL2.dll'.'SDL_PeepEvents'
+++'_SDL_HasEvent'.'SDL2.dll'.'SDL_HasEvent'
+++'_SDL_HasEvents'.'SDL2.dll'.'SDL_HasEvents'
+++'_SDL_FlushEvent'.'SDL2.dll'.'SDL_FlushEvent'
+++'_SDL_FlushEvents'.'SDL2.dll'.'SDL_FlushEvents'
+++'_SDL_PollEvent'.'SDL2.dll'.'SDL_PollEvent'
+++'_SDL_WaitEvent'.'SDL2.dll'.'SDL_WaitEvent'
+++'_SDL_WaitEventTimeout'.'SDL2.dll'.'SDL_WaitEventTimeout'
+++'_SDL_PushEvent'.'SDL2.dll'.'SDL_PushEvent'
+++'_SDL_SetEventFilter'.'SDL2.dll'.'SDL_SetEventFilter'
+++'_SDL_GetEventFilter'.'SDL2.dll'.'SDL_GetEventFilter'
+++'_SDL_AddEventWatch'.'SDL2.dll'.'SDL_AddEventWatch'
+++'_SDL_DelEventWatch'.'SDL2.dll'.'SDL_DelEventWatch'
+++'_SDL_FilterEvents'.'SDL2.dll'.'SDL_FilterEvents'
+++'_SDL_EventState'.'SDL2.dll'.'SDL_EventState'
+++'_SDL_RegisterEvents'.'SDL2.dll'.'SDL_RegisterEvents'
+++'_SDL_GetBasePath'.'SDL2.dll'.'SDL_GetBasePath'
+++'_SDL_GetPrefPath'.'SDL2.dll'.'SDL_GetPrefPath'
+++'_SDL_GameControllerAddMapping'.'SDL2.dll'.'SDL_GameControllerAddMapping'
+++'_SDL_GameControllerMappingForGUID'.'SDL2.dll'.'SDL_GameControllerMappingForGUID'
+++'_SDL_GameControllerMapping'.'SDL2.dll'.'SDL_GameControllerMapping'
+++'_SDL_IsGameController'.'SDL2.dll'.'SDL_IsGameController'
+++'_SDL_GameControllerNameForIndex'.'SDL2.dll'.'SDL_GameControllerNameForIndex'
+++'_SDL_GameControllerOpen'.'SDL2.dll'.'SDL_GameControllerOpen'
+++'_SDL_GameControllerName'.'SDL2.dll'.'SDL_GameControllerName'
+++'_SDL_GameControllerGetAttached'.'SDL2.dll'.'SDL_GameControllerGetAttached'
+++'_SDL_GameControllerGetJoystick'.'SDL2.dll'.'SDL_GameControllerGetJoystick'
+++'_SDL_GameControllerEventState'.'SDL2.dll'.'SDL_GameControllerEventState'
+++'_SDL_GameControllerUpdate'.'SDL2.dll'.'SDL_GameControllerUpdate'
+++'_SDL_GameControllerGetAxisFromString'.'SDL2.dll'.'SDL_GameControllerGetAxisFromString'
+++'_SDL_GameControllerGetStringForAxis'.'SDL2.dll'.'SDL_GameControllerGetStringForAxis'
+++'_SDL_GameControllerGetBindForAxis'.'SDL2.dll'.'SDL_GameControllerGetBindForAxis'
+++'_SDL_GameControllerGetAxis'.'SDL2.dll'.'SDL_GameControllerGetAxis'
+++'_SDL_GameControllerGetButtonFromString'.'SDL2.dll'.'SDL_GameControllerGetButtonFromString'
+++'_SDL_GameControllerGetStringForButton'.'SDL2.dll'.'SDL_GameControllerGetStringForButton'
+++'_SDL_GameControllerGetBindForButton'.'SDL2.dll'.'SDL_GameControllerGetBindForButton'
+++'_SDL_GameControllerGetButton'.'SDL2.dll'.'SDL_GameControllerGetButton'
+++'_SDL_GameControllerClose'.'SDL2.dll'.'SDL_GameControllerClose'
+++'_SDL_RecordGesture'.'SDL2.dll'.'SDL_RecordGesture'
+++'_SDL_SaveAllDollarTemplates'.'SDL2.dll'.'SDL_SaveAllDollarTemplates'
+++'_SDL_SaveDollarTemplate'.'SDL2.dll'.'SDL_SaveDollarTemplate'
+++'_SDL_LoadDollarTemplates'.'SDL2.dll'.'SDL_LoadDollarTemplates'
+++'_SDL_NumHaptics'.'SDL2.dll'.'SDL_NumHaptics'
+++'_SDL_HapticName'.'SDL2.dll'.'SDL_HapticName'
+++'_SDL_HapticOpen'.'SDL2.dll'.'SDL_HapticOpen'
+++'_SDL_HapticOpened'.'SDL2.dll'.'SDL_HapticOpened'
+++'_SDL_HapticIndex'.'SDL2.dll'.'SDL_HapticIndex'
+++'_SDL_MouseIsHaptic'.'SDL2.dll'.'SDL_MouseIsHaptic'
+++'_SDL_HapticOpenFromMouse'.'SDL2.dll'.'SDL_HapticOpenFromMouse'
+++'_SDL_JoystickIsHaptic'.'SDL2.dll'.'SDL_JoystickIsHaptic'
+++'_SDL_HapticOpenFromJoystick'.'SDL2.dll'.'SDL_HapticOpenFromJoystick'
+++'_SDL_HapticClose'.'SDL2.dll'.'SDL_HapticClose'
+++'_SDL_HapticNumEffects'.'SDL2.dll'.'SDL_HapticNumEffects'
+++'_SDL_HapticNumEffectsPlaying'.'SDL2.dll'.'SDL_HapticNumEffectsPlaying'
+++'_SDL_HapticQuery'.'SDL2.dll'.'SDL_HapticQuery'
+++'_SDL_HapticNumAxes'.'SDL2.dll'.'SDL_HapticNumAxes'
+++'_SDL_HapticEffectSupported'.'SDL2.dll'.'SDL_HapticEffectSupported'
+++'_SDL_HapticNewEffect'.'SDL2.dll'.'SDL_HapticNewEffect'
+++'_SDL_HapticUpdateEffect'.'SDL2.dll'.'SDL_HapticUpdateEffect'
+++'_SDL_HapticRunEffect'.'SDL2.dll'.'SDL_HapticRunEffect'
+++'_SDL_HapticStopEffect'.'SDL2.dll'.'SDL_HapticStopEffect'
+++'_SDL_HapticDestroyEffect'.'SDL2.dll'.'SDL_HapticDestroyEffect'
+++'_SDL_HapticGetEffectStatus'.'SDL2.dll'.'SDL_HapticGetEffectStatus'
+++'_SDL_HapticSetGain'.'SDL2.dll'.'SDL_HapticSetGain'
+++'_SDL_HapticSetAutocenter'.'SDL2.dll'.'SDL_HapticSetAutocenter'
+++'_SDL_HapticPause'.'SDL2.dll'.'SDL_HapticPause'
+++'_SDL_HapticUnpause'.'SDL2.dll'.'SDL_HapticUnpause'
+++'_SDL_HapticStopAll'.'SDL2.dll'.'SDL_HapticStopAll'
+++'_SDL_HapticRumbleSupported'.'SDL2.dll'.'SDL_HapticRumbleSupported'
+++'_SDL_HapticRumbleInit'.'SDL2.dll'.'SDL_HapticRumbleInit'
+++'_SDL_HapticRumblePlay'.'SDL2.dll'.'SDL_HapticRumblePlay'
+++'_SDL_HapticRumbleStop'.'SDL2.dll'.'SDL_HapticRumbleStop'
+++'_SDL_SetHintWithPriority'.'SDL2.dll'.'SDL_SetHintWithPriority'
+++'_SDL_SetHint'.'SDL2.dll'.'SDL_SetHint'
+++'_SDL_GetHint'.'SDL2.dll'.'SDL_GetHint'
+++'_SDL_AddHintCallback'.'SDL2.dll'.'SDL_AddHintCallback'
+++'_SDL_DelHintCallback'.'SDL2.dll'.'SDL_DelHintCallback'
+++'_SDL_ClearHints'.'SDL2.dll'.'SDL_ClearHints'
+++'_SDL_NumJoysticks'.'SDL2.dll'.'SDL_NumJoysticks'
+++'_SDL_JoystickNameForIndex'.'SDL2.dll'.'SDL_JoystickNameForIndex'
+++'_SDL_JoystickOpen'.'SDL2.dll'.'SDL_JoystickOpen'
+++'_SDL_JoystickName'.'SDL2.dll'.'SDL_JoystickName'
+++'_SDL_JoystickGetDeviceGUID'.'SDL2.dll'.'SDL_JoystickGetDeviceGUID'
+++'_SDL_JoystickGetGUID'.'SDL2.dll'.'SDL_JoystickGetGUID'
+++'_SDL_JoystickGetGUIDString'.'SDL2.dll'.'SDL_JoystickGetGUIDString'
+++'_SDL_JoystickGetGUIDFromString'.'SDL2.dll'.'SDL_JoystickGetGUIDFromString'
+++'_SDL_JoystickGetAttached'.'SDL2.dll'.'SDL_JoystickGetAttached'
+++'_SDL_JoystickInstanceID'.'SDL2.dll'.'SDL_JoystickInstanceID'
+++'_SDL_JoystickNumAxes'.'SDL2.dll'.'SDL_JoystickNumAxes'
+++'_SDL_JoystickNumBalls'.'SDL2.dll'.'SDL_JoystickNumBalls'
+++'_SDL_JoystickNumHats'.'SDL2.dll'.'SDL_JoystickNumHats'
+++'_SDL_JoystickNumButtons'.'SDL2.dll'.'SDL_JoystickNumButtons'
+++'_SDL_JoystickUpdate'.'SDL2.dll'.'SDL_JoystickUpdate'
+++'_SDL_JoystickEventState'.'SDL2.dll'.'SDL_JoystickEventState'
+++'_SDL_JoystickGetAxis'.'SDL2.dll'.'SDL_JoystickGetAxis'
+++'_SDL_JoystickGetHat'.'SDL2.dll'.'SDL_JoystickGetHat'
+++'_SDL_JoystickGetBall'.'SDL2.dll'.'SDL_JoystickGetBall'
+++'_SDL_JoystickGetButton'.'SDL2.dll'.'SDL_JoystickGetButton'
+++'_SDL_JoystickClose'.'SDL2.dll'.'SDL_JoystickClose'
+++'_SDL_GetKeyboardFocus'.'SDL2.dll'.'SDL_GetKeyboardFocus'
+++'_SDL_GetKeyboardState'.'SDL2.dll'.'SDL_GetKeyboardState'
+++'_SDL_GetModState'.'SDL2.dll'.'SDL_GetModState'
+++'_SDL_SetModState'.'SDL2.dll'.'SDL_SetModState'
+++'_SDL_GetKeyFromScancode'.'SDL2.dll'.'SDL_GetKeyFromScancode'
+++'_SDL_GetScancodeFromKey'.'SDL2.dll'.'SDL_GetScancodeFromKey'
+++'_SDL_GetScancodeName'.'SDL2.dll'.'SDL_GetScancodeName'
+++'_SDL_GetScancodeFromName'.'SDL2.dll'.'SDL_GetScancodeFromName'
+++'_SDL_GetKeyName'.'SDL2.dll'.'SDL_GetKeyName'
+++'_SDL_GetKeyFromName'.'SDL2.dll'.'SDL_GetKeyFromName'
+++'_SDL_StartTextInput'.'SDL2.dll'.'SDL_StartTextInput'
+++'_SDL_IsTextInputActive'.'SDL2.dll'.'SDL_IsTextInputActive'
+++'_SDL_StopTextInput'.'SDL2.dll'.'SDL_StopTextInput'
+++'_SDL_SetTextInputRect'.'SDL2.dll'.'SDL_SetTextInputRect'
+++'_SDL_HasScreenKeyboardSupport'.'SDL2.dll'.'SDL_HasScreenKeyboardSupport'
+++'_SDL_IsScreenKeyboardShown'.'SDL2.dll'.'SDL_IsScreenKeyboardShown'
+++'_SDL_LoadObject'.'SDL2.dll'.'SDL_LoadObject'
+++'_SDL_LoadFunction'.'SDL2.dll'.'SDL_LoadFunction'
+++'_SDL_UnloadObject'.'SDL2.dll'.'SDL_UnloadObject'
+++'_SDL_LogSetAllPriority'.'SDL2.dll'.'SDL_LogSetAllPriority'
+++'_SDL_LogSetPriority'.'SDL2.dll'.'SDL_LogSetPriority'
+++'_SDL_LogGetPriority'.'SDL2.dll'.'SDL_LogGetPriority'
+++'_SDL_LogResetPriorities'.'SDL2.dll'.'SDL_LogResetPriorities'
+++'_SDL_LogMessageV'.'SDL2.dll'.'SDL_LogMessageV'
+++'_SDL_LogGetOutputFunction'.'SDL2.dll'.'SDL_LogGetOutputFunction'
+++'_SDL_LogSetOutputFunction'.'SDL2.dll'.'SDL_LogSetOutputFunction'
+++'_SDL_SetMainReady'.'SDL2.dll'.'SDL_SetMainReady'
+++'_SDL_ShowMessageBox'.'SDL2.dll'.'SDL_ShowMessageBox'
+++'_SDL_ShowSimpleMessageBox'.'SDL2.dll'.'SDL_ShowSimpleMessageBox'
+++'_SDL_GetMouseFocus'.'SDL2.dll'.'SDL_GetMouseFocus'
+++'_SDL_GetMouseState'.'SDL2.dll'.'SDL_GetMouseState'
+++'_SDL_GetRelativeMouseState'.'SDL2.dll'.'SDL_GetRelativeMouseState'
+++'_SDL_WarpMouseInWindow'.'SDL2.dll'.'SDL_WarpMouseInWindow'
+++'_SDL_SetRelativeMouseMode'.'SDL2.dll'.'SDL_SetRelativeMouseMode'
+++'_SDL_GetRelativeMouseMode'.'SDL2.dll'.'SDL_GetRelativeMouseMode'
+++'_SDL_CreateCursor'.'SDL2.dll'.'SDL_CreateCursor'
+++'_SDL_CreateColorCursor'.'SDL2.dll'.'SDL_CreateColorCursor'
+++'_SDL_CreateSystemCursor'.'SDL2.dll'.'SDL_CreateSystemCursor'
+++'_SDL_SetCursor'.'SDL2.dll'.'SDL_SetCursor'
+++'_SDL_GetCursor'.'SDL2.dll'.'SDL_GetCursor'
+++'_SDL_GetDefaultCursor'.'SDL2.dll'.'SDL_GetDefaultCursor'
+++'_SDL_FreeCursor'.'SDL2.dll'.'SDL_FreeCursor'
+++'_SDL_ShowCursor'.'SDL2.dll'.'SDL_ShowCursor'
+++'_SDL_CreateMutex'.'SDL2.dll'.'SDL_CreateMutex'
+++'_SDL_LockMutex'.'SDL2.dll'.'SDL_LockMutex'
+++'_SDL_TryLockMutex'.'SDL2.dll'.'SDL_TryLockMutex'
+++'_SDL_UnlockMutex'.'SDL2.dll'.'SDL_UnlockMutex'
+++'_SDL_DestroyMutex'.'SDL2.dll'.'SDL_DestroyMutex'
+++'_SDL_CreateSemaphore'.'SDL2.dll'.'SDL_CreateSemaphore'
+++'_SDL_DestroySemaphore'.'SDL2.dll'.'SDL_DestroySemaphore'
+++'_SDL_SemWait'.'SDL2.dll'.'SDL_SemWait'
+++'_SDL_SemTryWait'.'SDL2.dll'.'SDL_SemTryWait'
+++'_SDL_SemWaitTimeout'.'SDL2.dll'.'SDL_SemWaitTimeout'
+++'_SDL_SemPost'.'SDL2.dll'.'SDL_SemPost'
+++'_SDL_SemValue'.'SDL2.dll'.'SDL_SemValue'
+++'_SDL_CreateCond'.'SDL2.dll'.'SDL_CreateCond'
+++'_SDL_DestroyCond'.'SDL2.dll'.'SDL_DestroyCond'
+++'_SDL_CondSignal'.'SDL2.dll'.'SDL_CondSignal'
+++'_SDL_CondBroadcast'.'SDL2.dll'.'SDL_CondBroadcast'
+++'_SDL_CondWait'.'SDL2.dll'.'SDL_CondWait'
+++'_SDL_CondWaitTimeout'.'SDL2.dll'.'SDL_CondWaitTimeout'
+++'_SDL_GetPixelFormatName'.'SDL2.dll'.'SDL_GetPixelFormatName'
+++'_SDL_PixelFormatEnumToMasks'.'SDL2.dll'.'SDL_PixelFormatEnumToMasks'
+++'_SDL_MasksToPixelFormatEnum'.'SDL2.dll'.'SDL_MasksToPixelFormatEnum'
+++'_SDL_AllocFormat'.'SDL2.dll'.'SDL_AllocFormat'
+++'_SDL_FreeFormat'.'SDL2.dll'.'SDL_FreeFormat'
+++'_SDL_AllocPalette'.'SDL2.dll'.'SDL_AllocPalette'
+++'_SDL_SetPixelFormatPalette'.'SDL2.dll'.'SDL_SetPixelFormatPalette'
+++'_SDL_SetPaletteColors'.'SDL2.dll'.'SDL_SetPaletteColors'
+++'_SDL_FreePalette'.'SDL2.dll'.'SDL_FreePalette'
+++'_SDL_MapRGB'.'SDL2.dll'.'SDL_MapRGB'
+++'_SDL_MapRGBA'.'SDL2.dll'.'SDL_MapRGBA'
+++'_SDL_GetRGB'.'SDL2.dll'.'SDL_GetRGB'
+++'_SDL_GetRGBA'.'SDL2.dll'.'SDL_GetRGBA'
+++'_SDL_CalculateGammaRamp'.'SDL2.dll'.'SDL_CalculateGammaRamp'
+++'_SDL_GetPlatform'.'SDL2.dll'.'SDL_GetPlatform'
+++'_SDL_GetPowerInfo'.'SDL2.dll'.'SDL_GetPowerInfo'
+++'_SDL_HasIntersection'.'SDL2.dll'.'SDL_HasIntersection'
+++'_SDL_IntersectRect'.'SDL2.dll'.'SDL_IntersectRect'
+++'_SDL_UnionRect'.'SDL2.dll'.'SDL_UnionRect'
+++'_SDL_EnclosePoints'.'SDL2.dll'.'SDL_EnclosePoints'
+++'_SDL_IntersectRectAndLine'.'SDL2.dll'.'SDL_IntersectRectAndLine'
+++'_SDL_GetNumRenderDrivers'.'SDL2.dll'.'SDL_GetNumRenderDrivers'
+++'_SDL_GetRenderDriverInfo'.'SDL2.dll'.'SDL_GetRenderDriverInfo'
+++'_SDL_CreateWindowAndRenderer'.'SDL2.dll'.'SDL_CreateWindowAndRenderer'
+++'_SDL_CreateRenderer'.'SDL2.dll'.'SDL_CreateRenderer'
+++'_SDL_CreateSoftwareRenderer'.'SDL2.dll'.'SDL_CreateSoftwareRenderer'
+++'_SDL_GetRenderer'.'SDL2.dll'.'SDL_GetRenderer'
+++'_SDL_GetRendererInfo'.'SDL2.dll'.'SDL_GetRendererInfo'
+++'_SDL_GetRendererOutputSize'.'SDL2.dll'.'SDL_GetRendererOutputSize'
+++'_SDL_CreateTexture'.'SDL2.dll'.'SDL_CreateTexture'
+++'_SDL_CreateTextureFromSurface'.'SDL2.dll'.'SDL_CreateTextureFromSurface'
+++'_SDL_QueryTexture'.'SDL2.dll'.'SDL_QueryTexture'
+++'_SDL_SetTextureColorMod'.'SDL2.dll'.'SDL_SetTextureColorMod'
+++'_SDL_GetTextureColorMod'.'SDL2.dll'.'SDL_GetTextureColorMod'
+++'_SDL_SetTextureAlphaMod'.'SDL2.dll'.'SDL_SetTextureAlphaMod'
+++'_SDL_GetTextureAlphaMod'.'SDL2.dll'.'SDL_GetTextureAlphaMod'
+++'_SDL_SetTextureBlendMode'.'SDL2.dll'.'SDL_SetTextureBlendMode'
+++'_SDL_GetTextureBlendMode'.'SDL2.dll'.'SDL_GetTextureBlendMode'
+++'_SDL_UpdateTexture'.'SDL2.dll'.'SDL_UpdateTexture'
+++'_SDL_UpdateYUVTexture'.'SDL2.dll'.'SDL_UpdateYUVTexture'
+++'_SDL_LockTexture'.'SDL2.dll'.'SDL_LockTexture'
+++'_SDL_UnlockTexture'.'SDL2.dll'.'SDL_UnlockTexture'
+++'_SDL_RenderTargetSupported'.'SDL2.dll'.'SDL_RenderTargetSupported'
+++'_SDL_SetRenderTarget'.'SDL2.dll'.'SDL_SetRenderTarget'
+++'_SDL_GetRenderTarget'.'SDL2.dll'.'SDL_GetRenderTarget'
+++'_SDL_RenderSetLogicalSize'.'SDL2.dll'.'SDL_RenderSetLogicalSize'
+++'_SDL_RenderGetLogicalSize'.'SDL2.dll'.'SDL_RenderGetLogicalSize'
+++'_SDL_RenderSetViewport'.'SDL2.dll'.'SDL_RenderSetViewport'
+++'_SDL_RenderGetViewport'.'SDL2.dll'.'SDL_RenderGetViewport'
+++'_SDL_RenderSetClipRect'.'SDL2.dll'.'SDL_RenderSetClipRect'
+++'_SDL_RenderGetClipRect'.'SDL2.dll'.'SDL_RenderGetClipRect'
+++'_SDL_RenderSetScale'.'SDL2.dll'.'SDL_RenderSetScale'
+++'_SDL_RenderGetScale'.'SDL2.dll'.'SDL_RenderGetScale'
+++'_SDL_SetRenderDrawColor'.'SDL2.dll'.'SDL_SetRenderDrawColor'
+++'_SDL_GetRenderDrawColor'.'SDL2.dll'.'SDL_GetRenderDrawColor'
+++'_SDL_SetRenderDrawBlendMode'.'SDL2.dll'.'SDL_SetRenderDrawBlendMode'
+++'_SDL_GetRenderDrawBlendMode'.'SDL2.dll'.'SDL_GetRenderDrawBlendMode'
+++'_SDL_RenderClear'.'SDL2.dll'.'SDL_RenderClear'
+++'_SDL_RenderDrawPoint'.'SDL2.dll'.'SDL_RenderDrawPoint'
+++'_SDL_RenderDrawPoints'.'SDL2.dll'.'SDL_RenderDrawPoints'
+++'_SDL_RenderDrawLine'.'SDL2.dll'.'SDL_RenderDrawLine'
+++'_SDL_RenderDrawLines'.'SDL2.dll'.'SDL_RenderDrawLines'
+++'_SDL_RenderDrawRect'.'SDL2.dll'.'SDL_RenderDrawRect'
+++'_SDL_RenderDrawRects'.'SDL2.dll'.'SDL_RenderDrawRects'
+++'_SDL_RenderFillRect'.'SDL2.dll'.'SDL_RenderFillRect'
+++'_SDL_RenderFillRects'.'SDL2.dll'.'SDL_RenderFillRects'
+++'_SDL_RenderCopy'.'SDL2.dll'.'SDL_RenderCopy'
+++'_SDL_RenderCopyEx'.'SDL2.dll'.'SDL_RenderCopyEx'
+++'_SDL_RenderReadPixels'.'SDL2.dll'.'SDL_RenderReadPixels'
+++'_SDL_RenderPresent'.'SDL2.dll'.'SDL_RenderPresent'
+++'_SDL_DestroyTexture'.'SDL2.dll'.'SDL_DestroyTexture'
+++'_SDL_DestroyRenderer'.'SDL2.dll'.'SDL_DestroyRenderer'
+++'_SDL_GL_BindTexture'.'SDL2.dll'.'SDL_GL_BindTexture'
+++'_SDL_GL_UnbindTexture'.'SDL2.dll'.'SDL_GL_UnbindTexture'
+++'_SDL_RWFromFile'.'SDL2.dll'.'SDL_RWFromFile'
+++'_SDL_RWFromMem'.'SDL2.dll'.'SDL_RWFromMem'
+++'_SDL_RWFromConstMem'.'SDL2.dll'.'SDL_RWFromConstMem'
+++'_SDL_AllocRW'.'SDL2.dll'.'SDL_AllocRW'
+++'_SDL_FreeRW'.'SDL2.dll'.'SDL_FreeRW'
+++'_SDL_ReadU8'.'SDL2.dll'.'SDL_ReadU8'
+++'_SDL_ReadLE16'.'SDL2.dll'.'SDL_ReadLE16'
+++'_SDL_ReadBE16'.'SDL2.dll'.'SDL_ReadBE16'
+++'_SDL_ReadLE32'.'SDL2.dll'.'SDL_ReadLE32'
+++'_SDL_ReadBE32'.'SDL2.dll'.'SDL_ReadBE32'
+++'_SDL_ReadLE64'.'SDL2.dll'.'SDL_ReadLE64'
+++'_SDL_ReadBE64'.'SDL2.dll'.'SDL_ReadBE64'
+++'_SDL_WriteU8'.'SDL2.dll'.'SDL_WriteU8'
+++'_SDL_WriteLE16'.'SDL2.dll'.'SDL_WriteLE16'
+++'_SDL_WriteBE16'.'SDL2.dll'.'SDL_WriteBE16'
+++'_SDL_WriteLE32'.'SDL2.dll'.'SDL_WriteLE32'
+++'_SDL_WriteBE32'.'SDL2.dll'.'SDL_WriteBE32'
+++'_SDL_WriteLE64'.'SDL2.dll'.'SDL_WriteLE64'
+++'_SDL_WriteBE64'.'SDL2.dll'.'SDL_WriteBE64'
+++'_SDL_CreateShapedWindow'.'SDL2.dll'.'SDL_CreateShapedWindow'
+++'_SDL_IsShapedWindow'.'SDL2.dll'.'SDL_IsShapedWindow'
+++'_SDL_SetWindowShape'.'SDL2.dll'.'SDL_SetWindowShape'
+++'_SDL_GetShapedWindowMode'.'SDL2.dll'.'SDL_GetShapedWindowMode'
+++'_SDL_malloc'.'SDL2.dll'.'SDL_malloc'
+++'_SDL_calloc'.'SDL2.dll'.'SDL_calloc'
+++'_SDL_realloc'.'SDL2.dll'.'SDL_realloc'
+++'_SDL_free'.'SDL2.dll'.'SDL_free'
+++'_SDL_getenv'.'SDL2.dll'.'SDL_getenv'
+++'_SDL_setenv'.'SDL2.dll'.'SDL_setenv'
+++'_SDL_qsort'.'SDL2.dll'.'SDL_qsort'
+++'_SDL_abs'.'SDL2.dll'.'SDL_abs'
+++'_SDL_isdigit'.'SDL2.dll'.'SDL_isdigit'
+++'_SDL_isspace'.'SDL2.dll'.'SDL_isspace'
+++'_SDL_toupper'.'SDL2.dll'.'SDL_toupper'
+++'_SDL_tolower'.'SDL2.dll'.'SDL_tolower'
+++'_SDL_memset'.'SDL2.dll'.'SDL_memset'
+++'_SDL_memcpy'.'SDL2.dll'.'SDL_memcpy'
+++'_SDL_memmove'.'SDL2.dll'.'SDL_memmove'
+++'_SDL_memcmp'.'SDL2.dll'.'SDL_memcmp'
+++'_SDL_wcslen'.'SDL2.dll'.'SDL_wcslen'
+++'_SDL_wcslcpy'.'SDL2.dll'.'SDL_wcslcpy'
+++'_SDL_wcslcat'.'SDL2.dll'.'SDL_wcslcat'
+++'_SDL_strlen'.'SDL2.dll'.'SDL_strlen'
+++'_SDL_strlcpy'.'SDL2.dll'.'SDL_strlcpy'
+++'_SDL_utf8strlcpy'.'SDL2.dll'.'SDL_utf8strlcpy'
+++'_SDL_strlcat'.'SDL2.dll'.'SDL_strlcat'
+++'_SDL_strdup'.'SDL2.dll'.'SDL_strdup'
+++'_SDL_strrev'.'SDL2.dll'.'SDL_strrev'
+++'_SDL_strupr'.'SDL2.dll'.'SDL_strupr'
+++'_SDL_strlwr'.'SDL2.dll'.'SDL_strlwr'
+++'_SDL_strchr'.'SDL2.dll'.'SDL_strchr'
+++'_SDL_strrchr'.'SDL2.dll'.'SDL_strrchr'
+++'_SDL_strstr'.'SDL2.dll'.'SDL_strstr'
+++'_SDL_itoa'.'SDL2.dll'.'SDL_itoa'
+++'_SDL_uitoa'.'SDL2.dll'.'SDL_uitoa'
+++'_SDL_ltoa'.'SDL2.dll'.'SDL_ltoa'
+++'_SDL_ultoa'.'SDL2.dll'.'SDL_ultoa'
+++'_SDL_lltoa'.'SDL2.dll'.'SDL_lltoa'
+++'_SDL_ulltoa'.'SDL2.dll'.'SDL_ulltoa'
+++'_SDL_atoi'.'SDL2.dll'.'SDL_atoi'
+++'_SDL_atof'.'SDL2.dll'.'SDL_atof'
+++'_SDL_strtol'.'SDL2.dll'.'SDL_strtol'
+++'_SDL_strtoul'.'SDL2.dll'.'SDL_strtoul'
+++'_SDL_strtoll'.'SDL2.dll'.'SDL_strtoll'
+++'_SDL_strtoull'.'SDL2.dll'.'SDL_strtoull'
+++'_SDL_strtod'.'SDL2.dll'.'SDL_strtod'
+++'_SDL_strcmp'.'SDL2.dll'.'SDL_strcmp'
+++'_SDL_strncmp'.'SDL2.dll'.'SDL_strncmp'
+++'_SDL_strcasecmp'.'SDL2.dll'.'SDL_strcasecmp'
+++'_SDL_strncasecmp'.'SDL2.dll'.'SDL_strncasecmp'
+++'_SDL_vsnprintf'.'SDL2.dll'.'SDL_vsnprintf'
+++'_SDL_acos'.'SDL2.dll'.'SDL_acos'
+++'_SDL_asin'.'SDL2.dll'.'SDL_asin'
+++'_SDL_atan'.'SDL2.dll'.'SDL_atan'
+++'_SDL_atan2'.'SDL2.dll'.'SDL_atan2'
+++'_SDL_ceil'.'SDL2.dll'.'SDL_ceil'
+++'_SDL_copysign'.'SDL2.dll'.'SDL_copysign'
+++'_SDL_cos'.'SDL2.dll'.'SDL_cos'
+++'_SDL_cosf'.'SDL2.dll'.'SDL_cosf'
+++'_SDL_fabs'.'SDL2.dll'.'SDL_fabs'
+++'_SDL_floor'.'SDL2.dll'.'SDL_floor'
+++'_SDL_log'.'SDL2.dll'.'SDL_log'
+++'_SDL_pow'.'SDL2.dll'.'SDL_pow'
+++'_SDL_scalbn'.'SDL2.dll'.'SDL_scalbn'
+++'_SDL_sin'.'SDL2.dll'.'SDL_sin'
+++'_SDL_sinf'.'SDL2.dll'.'SDL_sinf'
+++'_SDL_sqrt'.'SDL2.dll'.'SDL_sqrt'
+++'_SDL_iconv_open'.'SDL2.dll'.'SDL_iconv_open'
+++'_SDL_iconv_close'.'SDL2.dll'.'SDL_iconv_close'
+++'_SDL_iconv'.'SDL2.dll'.'SDL_iconv'
+++'_SDL_iconv_string'.'SDL2.dll'.'SDL_iconv_string'
+++'_SDL_CreateRGBSurface'.'SDL2.dll'.'SDL_CreateRGBSurface'
+++'_SDL_CreateRGBSurfaceFrom'.'SDL2.dll'.'SDL_CreateRGBSurfaceFrom'
+++'_SDL_FreeSurface'.'SDL2.dll'.'SDL_FreeSurface'
+++'_SDL_SetSurfacePalette'.'SDL2.dll'.'SDL_SetSurfacePalette'
+++'_SDL_LockSurface'.'SDL2.dll'.'SDL_LockSurface'
+++'_SDL_UnlockSurface'.'SDL2.dll'.'SDL_UnlockSurface'
+++'_SDL_LoadBMP_RW'.'SDL2.dll'.'SDL_LoadBMP_RW'
+++'_SDL_SaveBMP_RW'.'SDL2.dll'.'SDL_SaveBMP_RW'
+++'_SDL_SetSurfaceRLE'.'SDL2.dll'.'SDL_SetSurfaceRLE'
+++'_SDL_SetColorKey'.'SDL2.dll'.'SDL_SetColorKey'
+++'_SDL_GetColorKey'.'SDL2.dll'.'SDL_GetColorKey'
+++'_SDL_SetSurfaceColorMod'.'SDL2.dll'.'SDL_SetSurfaceColorMod'
+++'_SDL_GetSurfaceColorMod'.'SDL2.dll'.'SDL_GetSurfaceColorMod'
+++'_SDL_SetSurfaceAlphaMod'.'SDL2.dll'.'SDL_SetSurfaceAlphaMod'
+++'_SDL_GetSurfaceAlphaMod'.'SDL2.dll'.'SDL_GetSurfaceAlphaMod'
+++'_SDL_SetSurfaceBlendMode'.'SDL2.dll'.'SDL_SetSurfaceBlendMode'
+++'_SDL_GetSurfaceBlendMode'.'SDL2.dll'.'SDL_GetSurfaceBlendMode'
+++'_SDL_SetClipRect'.'SDL2.dll'.'SDL_SetClipRect'
+++'_SDL_GetClipRect'.'SDL2.dll'.'SDL_GetClipRect'
+++'_SDL_ConvertSurface'.'SDL2.dll'.'SDL_ConvertSurface'
+++'_SDL_ConvertSurfaceFormat'.'SDL2.dll'.'SDL_ConvertSurfaceFormat'
+++'_SDL_ConvertPixels'.'SDL2.dll'.'SDL_ConvertPixels'
+++'_SDL_FillRect'.'SDL2.dll'.'SDL_FillRect'
+++'_SDL_FillRects'.'SDL2.dll'.'SDL_FillRects'
+++'_SDL_UpperBlit'.'SDL2.dll'.'SDL_UpperBlit'
+++'_SDL_LowerBlit'.'SDL2.dll'.'SDL_LowerBlit'
+++'_SDL_SoftStretch'.'SDL2.dll'.'SDL_SoftStretch'
+++'_SDL_UpperBlitScaled'.'SDL2.dll'.'SDL_UpperBlitScaled'
+++'_SDL_LowerBlitScaled'.'SDL2.dll'.'SDL_LowerBlitScaled'
+++'_SDL_GetWindowWMInfo'.'SDL2.dll'.'SDL_GetWindowWMInfo'
+++'_SDL_GetThreadName'.'SDL2.dll'.'SDL_GetThreadName'
+++'_SDL_ThreadID'.'SDL2.dll'.'SDL_ThreadID'
+++'_SDL_GetThreadID'.'SDL2.dll'.'SDL_GetThreadID'
+++'_SDL_SetThreadPriority'.'SDL2.dll'.'SDL_SetThreadPriority'
+++'_SDL_WaitThread'.'SDL2.dll'.'SDL_WaitThread'
+++'_SDL_DetachThread'.'SDL2.dll'.'SDL_DetachThread'
+++'_SDL_TLSCreate'.'SDL2.dll'.'SDL_TLSCreate'
+++'_SDL_TLSGet'.'SDL2.dll'.'SDL_TLSGet'
+++'_SDL_TLSSet'.'SDL2.dll'.'SDL_TLSSet'
+++'_SDL_GetTicks'.'SDL2.dll'.'SDL_GetTicks'
+++'_SDL_GetPerformanceCounter'.'SDL2.dll'.'SDL_GetPerformanceCounter'
+++'_SDL_GetPerformanceFrequency'.'SDL2.dll'.'SDL_GetPerformanceFrequency'
+++'_SDL_Delay'.'SDL2.dll'.'SDL_Delay'
+++'_SDL_AddTimer'.'SDL2.dll'.'SDL_AddTimer'
+++'_SDL_RemoveTimer'.'SDL2.dll'.'SDL_RemoveTimer'
+++'_SDL_GetNumTouchDevices'.'SDL2.dll'.'SDL_GetNumTouchDevices'
+++'_SDL_GetTouchDevice'.'SDL2.dll'.'SDL_GetTouchDevice'
+++'_SDL_GetNumTouchFingers'.'SDL2.dll'.'SDL_GetNumTouchFingers'
+++'_SDL_GetTouchFinger'.'SDL2.dll'.'SDL_GetTouchFinger'
+++'_SDL_GetVersion'.'SDL2.dll'.'SDL_GetVersion'
+++'_SDL_GetRevision'.'SDL2.dll'.'SDL_GetRevision'
+++'_SDL_GetRevisionNumber'.'SDL2.dll'.'SDL_GetRevisionNumber'
+++'_SDL_GetNumVideoDrivers'.'SDL2.dll'.'SDL_GetNumVideoDrivers'
+++'_SDL_GetVideoDriver'.'SDL2.dll'.'SDL_GetVideoDriver'
+++'_SDL_VideoInit'.'SDL2.dll'.'SDL_VideoInit'
+++'_SDL_VideoQuit'.'SDL2.dll'.'SDL_VideoQuit'
+++'_SDL_GetCurrentVideoDriver'.'SDL2.dll'.'SDL_GetCurrentVideoDriver'
+++'_SDL_GetNumVideoDisplays'.'SDL2.dll'.'SDL_GetNumVideoDisplays'
+++'_SDL_GetDisplayName'.'SDL2.dll'.'SDL_GetDisplayName'
+++'_SDL_GetDisplayBounds'.'SDL2.dll'.'SDL_GetDisplayBounds'
+++'_SDL_GetDisplayDPI'.'SDL2.dll'.'SDL_GetDisplayDPI'
+++'_SDL_GetNumDisplayModes'.'SDL2.dll'.'SDL_GetNumDisplayModes'
+++'_SDL_GetDisplayMode'.'SDL2.dll'.'SDL_GetDisplayMode'
+++'_SDL_GetDesktopDisplayMode'.'SDL2.dll'.'SDL_GetDesktopDisplayMode'
+++'_SDL_GetCurrentDisplayMode'.'SDL2.dll'.'SDL_GetCurrentDisplayMode'
+++'_SDL_GetClosestDisplayMode'.'SDL2.dll'.'SDL_GetClosestDisplayMode'
+++'_SDL_GetWindowDisplayIndex'.'SDL2.dll'.'SDL_GetWindowDisplayIndex'
+++'_SDL_SetWindowDisplayMode'.'SDL2.dll'.'SDL_SetWindowDisplayMode'
+++'_SDL_GetWindowDisplayMode'.'SDL2.dll'.'SDL_GetWindowDisplayMode'
+++'_SDL_GetWindowPixelFormat'.'SDL2.dll'.'SDL_GetWindowPixelFormat'
+++'_SDL_CreateWindow'.'SDL2.dll'.'SDL_CreateWindow'
+++'_SDL_CreateWindowFrom'.'SDL2.dll'.'SDL_CreateWindowFrom'
+++'_SDL_GetWindowID'.'SDL2.dll'.'SDL_GetWindowID'
+++'_SDL_GetWindowFromID'.'SDL2.dll'.'SDL_GetWindowFromID'
+++'_SDL_GetWindowFlags'.'SDL2.dll'.'SDL_GetWindowFlags'
+++'_SDL_SetWindowTitle'.'SDL2.dll'.'SDL_SetWindowTitle'
+++'_SDL_GetWindowTitle'.'SDL2.dll'.'SDL_GetWindowTitle'
+++'_SDL_SetWindowIcon'.'SDL2.dll'.'SDL_SetWindowIcon'
+++'_SDL_SetWindowData'.'SDL2.dll'.'SDL_SetWindowData'
+++'_SDL_GetWindowData'.'SDL2.dll'.'SDL_GetWindowData'
+++'_SDL_SetWindowPosition'.'SDL2.dll'.'SDL_SetWindowPosition'
+++'_SDL_GetWindowPosition'.'SDL2.dll'.'SDL_GetWindowPosition'
+++'_SDL_SetWindowSize'.'SDL2.dll'.'SDL_SetWindowSize'
+++'_SDL_GetWindowSize'.'SDL2.dll'.'SDL_GetWindowSize'
+++'_SDL_SetWindowMinimumSize'.'SDL2.dll'.'SDL_SetWindowMinimumSize'
+++'_SDL_GetWindowMinimumSize'.'SDL2.dll'.'SDL_GetWindowMinimumSize'
+++'_SDL_SetWindowMaximumSize'.'SDL2.dll'.'SDL_SetWindowMaximumSize'
+++'_SDL_GetWindowMaximumSize'.'SDL2.dll'.'SDL_GetWindowMaximumSize'
+++'_SDL_SetWindowBordered'.'SDL2.dll'.'SDL_SetWindowBordered'
+++'_SDL_ShowWindow'.'SDL2.dll'.'SDL_ShowWindow'
+++'_SDL_HideWindow'.'SDL2.dll'.'SDL_HideWindow'
+++'_SDL_RaiseWindow'.'SDL2.dll'.'SDL_RaiseWindow'
+++'_SDL_MaximizeWindow'.'SDL2.dll'.'SDL_MaximizeWindow'
+++'_SDL_MinimizeWindow'.'SDL2.dll'.'SDL_MinimizeWindow'
+++'_SDL_RestoreWindow'.'SDL2.dll'.'SDL_RestoreWindow'
+++'_SDL_SetWindowFullscreen'.'SDL2.dll'.'SDL_SetWindowFullscreen'
+++'_SDL_GetWindowSurface'.'SDL2.dll'.'SDL_GetWindowSurface'
+++'_SDL_UpdateWindowSurface'.'SDL2.dll'.'SDL_UpdateWindowSurface'
+++'_SDL_UpdateWindowSurfaceRects'.'SDL2.dll'.'SDL_UpdateWindowSurfaceRects'
+++'_SDL_SetWindowGrab'.'SDL2.dll'.'SDL_SetWindowGrab'
+++'_SDL_GetWindowGrab'.'SDL2.dll'.'SDL_GetWindowGrab'
+++'_SDL_SetWindowBrightness'.'SDL2.dll'.'SDL_SetWindowBrightness'
+++'_SDL_GetWindowBrightness'.'SDL2.dll'.'SDL_GetWindowBrightness'
+++'_SDL_SetWindowGammaRamp'.'SDL2.dll'.'SDL_SetWindowGammaRamp'
+++'_SDL_GetWindowGammaRamp'.'SDL2.dll'.'SDL_GetWindowGammaRamp'
+++'_SDL_DestroyWindow'.'SDL2.dll'.'SDL_DestroyWindow'
+++'_SDL_IsScreenSaverEnabled'.'SDL2.dll'.'SDL_IsScreenSaverEnabled'
+++'_SDL_EnableScreenSaver'.'SDL2.dll'.'SDL_EnableScreenSaver'
+++'_SDL_DisableScreenSaver'.'SDL2.dll'.'SDL_DisableScreenSaver'
+++'_SDL_GL_LoadLibrary'.'SDL2.dll'.'SDL_GL_LoadLibrary'
+++'_SDL_GL_GetProcAddress'.'SDL2.dll'.'SDL_GL_GetProcAddress'
+++'_SDL_GL_UnloadLibrary'.'SDL2.dll'.'SDL_GL_UnloadLibrary'
+++'_SDL_GL_ExtensionSupported'.'SDL2.dll'.'SDL_GL_ExtensionSupported'
+++'_SDL_GL_SetAtt

(Patch may be truncated, please check the link at the top of this post.)