sdl12-compat: SDL20_include_wrapper.h: sync with latest SDL2 headers.

From ca3ce22f962be72dbd8bfc8541d120539d1fc889 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Sat, 4 Feb 2023 18:56:10 +0300
Subject: [PATCH] SDL20_include_wrapper.h: sync with latest SDL2 headers.

Before this , many exported SDL-1.2 procedures used to be accidentally
prototyped by SDL2 headers..

After this, build attempts against SDL2 headers older than 2.0.10 will
result in redefinition warnings for SDL_RWsize, SDL_RWseek, SDL_RWtell,
SDL_RWread, SDL_RWwrite, SDL_RWclose, and SDL_LoadFile, but the result
will be OK.
---
 src/SDL12_compat.c          |   12 +-
 src/SDL20_include_wrapper.h | 4447 +++++++++++++++++++++++++++++++++--
 2 files changed, 4228 insertions(+), 231 deletions(-)

diff --git a/src/SDL12_compat.c b/src/SDL12_compat.c
index 7bcdfaae9..5b3a5db0a 100644
--- a/src/SDL12_compat.c
+++ b/src/SDL12_compat.c
@@ -97,9 +97,18 @@ extern "C" {
 
 #define DECLSPEC12 DECLSPEC FORCEALIGNATTR
 
+/** Enable this to have warnings about wrong prototypes in SDL20_syms.h.
+ *  It won't compile but it helps to make sure it's sync'ed with SDL2 headers.
+ */
+#if 0
+#define SDL20_SYM(rc,fn,params,args,ret) \
+    typedef rc (SDLCALL *SDL20_##fn##_t) params; \
+    static SDL20_##fn##_t SDL20_##fn = IGNORE_THIS_VERSION_OF_SDL_##fn;
+#else
 #define SDL20_SYM(rc,fn,params,args,ret) \
     typedef rc (SDLCALL *SDL20_##fn##_t) params; \
     static SDL20_##fn##_t SDL20_##fn = NULL;
+#endif
 #include "SDL20_syms.h"
 
 /* Things that _should_ be binary compatible pass right through... */
@@ -4566,8 +4575,7 @@ EventFilter20to12(void *data, SDL_Event *event20)
             }
 
             /* some programs rely on unicode values for these control characters */
-            switch (PendingKeydownEvent.key.keysym.sym)
-            {
+            switch (PendingKeydownEvent.key.keysym.sym) {
                 case SDLK12_BACKSPACE:
                     FlushPendingKeydownEvent('\b');
                     break;
diff --git a/src/SDL20_include_wrapper.h b/src/SDL20_include_wrapper.h
index 3f8461ef0..b461e10e7 100644
--- a/src/SDL20_include_wrapper.h
+++ b/src/SDL20_include_wrapper.h
@@ -28,94 +28,873 @@
 #ifndef _INCL_SDL20_INCLUDE_WRAPPER_H_
 #define _INCL_SDL20_INCLUDE_WRAPPER_H_
 
-#define SDL_GetVersion IGNORE_THIS_VERSION_OF_SDL_GetVersion
+#define SDL_SetError IGNORE_THIS_VERSION_OF_SDL_SetError
 #define SDL_Log IGNORE_THIS_VERSION_OF_SDL_Log
+#define SDL_LogVerbose IGNORE_THIS_VERSION_OF_SDL_LogVerbose
+#define SDL_LogDebug IGNORE_THIS_VERSION_OF_SDL_LogDebug
+#define SDL_LogInfo IGNORE_THIS_VERSION_OF_SDL_LogInfo
+#define SDL_LogWarn IGNORE_THIS_VERSION_OF_SDL_LogWarn
+#define SDL_LogError IGNORE_THIS_VERSION_OF_SDL_LogError
+#define SDL_LogCritical IGNORE_THIS_VERSION_OF_SDL_LogCritical
+#define SDL_LogMessage IGNORE_THIS_VERSION_OF_SDL_LogMessage
+#define SDL_sscanf IGNORE_THIS_VERSION_OF_SDL_sscanf
+#define SDL_snprintf IGNORE_THIS_VERSION_OF_SDL_snprintf
+#define SDL_CreateThread IGNORE_THIS_VERSION_OF_SDL_CreateThread
+#define SDL_RWFromFP IGNORE_THIS_VERSION_OF_SDL_RWFromFP
+#define SDL_RegisterApp IGNORE_THIS_VERSION_OF_SDL_RegisterApp
+#define SDL_UnregisterApp IGNORE_THIS_VERSION_OF_SDL_UnregisterApp
+#define SDL_Direct3D9GetAdapterIndex IGNORE_THIS_VERSION_OF_SDL_Direct3D9GetAdapterIndex
+#define SDL_RenderGetD3D9Device IGNORE_THIS_VERSION_OF_SDL_RenderGetD3D9Device
+#define SDL_iPhoneSetAnimationCallback IGNORE_THIS_VERSION_OF_SDL_iPhoneSetAnimationCallback
+#define SDL_iPhoneSetEventPump IGNORE_THIS_VERSION_OF_SDL_iPhoneSetEventPump
+#define SDL_AndroidGetJNIEnv IGNORE_THIS_VERSION_OF_SDL_AndroidGetJNIEnv
+#define SDL_AndroidGetActivity IGNORE_THIS_VERSION_OF_SDL_AndroidGetActivity
+#define SDL_AndroidGetInternalStoragePath IGNORE_THIS_VERSION_OF_SDL_AndroidGetInternalStoragePath
+#define SDL_AndroidGetExternalStorageState IGNORE_THIS_VERSION_OF_SDL_AndroidGetExternalStorageState
+#define SDL_AndroidGetExternalStoragePath IGNORE_THIS_VERSION_OF_SDL_AndroidGetExternalStoragePath
+#define SDL_Init IGNORE_THIS_VERSION_OF_SDL_Init
+#define SDL_InitSubSystem IGNORE_THIS_VERSION_OF_SDL_InitSubSystem
+#define SDL_QuitSubSystem IGNORE_THIS_VERSION_OF_SDL_QuitSubSystem
+#define SDL_WasInit IGNORE_THIS_VERSION_OF_SDL_WasInit
+#define SDL_Quit IGNORE_THIS_VERSION_OF_SDL_Quit
 #define SDL_ReportAssertion IGNORE_THIS_VERSION_OF_SDL_ReportAssertion
+#define SDL_SetAssertionHandler IGNORE_THIS_VERSION_OF_SDL_SetAssertionHandler
+#define SDL_GetAssertionReport IGNORE_THIS_VERSION_OF_SDL_GetAssertionReport
+#define SDL_ResetAssertionReport IGNORE_THIS_VERSION_OF_SDL_ResetAssertionReport
+#define SDL_AtomicTryLock IGNORE_THIS_VERSION_OF_SDL_AtomicTryLock
+#define SDL_AtomicLock IGNORE_THIS_VERSION_OF_SDL_AtomicLock
+#define SDL_AtomicUnlock IGNORE_THIS_VERSION_OF_SDL_AtomicUnlock
+#define SDL_AtomicCAS IGNORE_THIS_VERSION_OF_SDL_AtomicCAS
+#define SDL_AtomicSet IGNORE_THIS_VERSION_OF_SDL_AtomicSet
+#define SDL_AtomicGet IGNORE_THIS_VERSION_OF_SDL_AtomicGet
+#define SDL_AtomicAdd IGNORE_THIS_VERSION_OF_SDL_AtomicAdd
+#define SDL_AtomicCASPtr IGNORE_THIS_VERSION_OF_SDL_AtomicCASPtr
+#define SDL_AtomicSetPtr IGNORE_THIS_VERSION_OF_SDL_AtomicSetPtr
+#define SDL_AtomicGetPtr IGNORE_THIS_VERSION_OF_SDL_AtomicGetPtr
+#define SDL_GetNumAudioDrivers IGNORE_THIS_VERSION_OF_SDL_GetNumAudioDrivers
+#define SDL_GetAudioDriver IGNORE_THIS_VERSION_OF_SDL_GetAudioDriver
+#define SDL_AudioInit IGNORE_THIS_VERSION_OF_SDL_AudioInit
+#define SDL_AudioQuit IGNORE_THIS_VERSION_OF_SDL_AudioQuit
+#define SDL_GetCurrentAudioDriver IGNORE_THIS_VERSION_OF_SDL_GetCurrentAudioDriver
+#define SDL_OpenAudio IGNORE_THIS_VERSION_OF_SDL_OpenAudio
+#define SDL_GetNumAudioDevices IGNORE_THIS_VERSION_OF_SDL_GetNumAudioDevices
+#define SDL_GetAudioDeviceName IGNORE_THIS_VERSION_OF_SDL_GetAudioDeviceName
+#define SDL_OpenAudioDevice IGNORE_THIS_VERSION_OF_SDL_OpenAudioDevice
+#define SDL_GetAudioStatus IGNORE_THIS_VERSION_OF_SDL_GetAudioStatus
+#define SDL_GetAudioDeviceStatus IGNORE_THIS_VERSION_OF_SDL_GetAudioDeviceStatus
+#define SDL_PauseAudio IGNORE_THIS_VERSION_OF_SDL_PauseAudio
+#define SDL_PauseAudioDevice IGNORE_THIS_VERSION_OF_SDL_PauseAudioDevice
+#define SDL_LoadWAV_RW IGNORE_THIS_VERSION_OF_SDL_LoadWAV_RW
+#define SDL_FreeWAV IGNORE_THIS_VERSION_OF_SDL_FreeWAV
+#define SDL_BuildAudioCVT IGNORE_THIS_VERSION_OF_SDL_BuildAudioCVT
+#define SDL_ConvertAudio IGNORE_THIS_VERSION_OF_SDL_ConvertAudio
+#define SDL_MixAudio IGNORE_THIS_VERSION_OF_SDL_MixAudio
+#define SDL_MixAudioFormat IGNORE_THIS_VERSION_OF_SDL_MixAudioFormat
+#define SDL_LockAudio IGNORE_THIS_VERSION_OF_SDL_LockAudio
+#define SDL_LockAudioDevice IGNORE_THIS_VERSION_OF_SDL_LockAudioDevice
+#define SDL_UnlockAudio IGNORE_THIS_VERSION_OF_SDL_UnlockAudio
+#define SDL_UnlockAudioDevice IGNORE_THIS_VERSION_OF_SDL_UnlockAudioDevice
+#define SDL_CloseAudio IGNORE_THIS_VERSION_OF_SDL_CloseAudio
+#define SDL_CloseAudioDevice IGNORE_THIS_VERSION_OF_SDL_CloseAudioDevice
+#define SDL_SetClipboardText IGNORE_THIS_VERSION_OF_SDL_SetClipboardText
+#define SDL_GetClipboardText IGNORE_THIS_VERSION_OF_SDL_GetClipboardText
+#define SDL_HasClipboardText IGNORE_THIS_VERSION_OF_SDL_HasClipboardText
+#define SDL_GetCPUCount IGNORE_THIS_VERSION_OF_SDL_GetCPUCount
+#define SDL_GetCPUCacheLineSize IGNORE_THIS_VERSION_OF_SDL_GetCPUCacheLineSize
+#define SDL_HasRDTSC IGNORE_THIS_VERSION_OF_SDL_HasRDTSC
+#define SDL_HasAltiVec IGNORE_THIS_VERSION_OF_SDL_HasAltiVec
+#define SDL_HasMMX IGNORE_THIS_VERSION_OF_SDL_HasMMX
+#define SDL_Has3DNow IGNORE_THIS_VERSION_OF_SDL_Has3DNow
+#define SDL_HasSSE IGNORE_THIS_VERSION_OF_SDL_HasSSE
+#define SDL_HasSSE2 IGNORE_THIS_VERSION_OF_SDL_HasSSE2
+#define SDL_HasSSE3 IGNORE_THIS_VERSION_OF_SDL_HasSSE3
+#define SDL_HasSSE41 IGNORE_THIS_VERSION_OF_SDL_HasSSE41
+#define SDL_HasSSE42 IGNORE_THIS_VERSION_OF_SDL_HasSSE42
+#define SDL_GetSystemRAM IGNORE_THIS_VERSION_OF_SDL_GetSystemRAM
+#define SDL_GetError IGNORE_THIS_VERSION_OF_SDL_GetError
+#define SDL_ClearError IGNORE_THIS_VERSION_OF_SDL_ClearError
 #define SDL_Error IGNORE_THIS_VERSION_OF_SDL_Error
-#define SDL_SetError IGNORE_THIS_VERSION_OF_SDL_SetError
-#define SDL_PollEvent IGNORE_THIS_VERSION_OF_SDL_PollEvent
-#define SDL_PushEvent IGNORE_THIS_VERSION_OF_SDL_PushEvent
-#define SDL_EventState IGNORE_THIS_VERSION_OF_SDL_EventState
+#define SDL_PumpEvents IGNORE_THIS_VERSION_OF_SDL_PumpEvents
 #define SDL_PeepEvents IGNORE_THIS_VERSION_OF_SDL_PeepEvents
+#define SDL_HasEvent IGNORE_THIS_VERSION_OF_SDL_HasEvent
+#define SDL_HasEvents IGNORE_THIS_VERSION_OF_SDL_HasEvents
+#define SDL_FlushEvent IGNORE_THIS_VERSION_OF_SDL_FlushEvent
+#define SDL_FlushEvents IGNORE_THIS_VERSION_OF_SDL_FlushEvents
+#define SDL_PollEvent IGNORE_THIS_VERSION_OF_SDL_PollEvent
 #define SDL_WaitEvent IGNORE_THIS_VERSION_OF_SDL_WaitEvent
+#define SDL_WaitEventTimeout IGNORE_THIS_VERSION_OF_SDL_WaitEventTimeout
+#define SDL_PushEvent IGNORE_THIS_VERSION_OF_SDL_PushEvent
 #define SDL_SetEventFilter IGNORE_THIS_VERSION_OF_SDL_SetEventFilter
 #define SDL_GetEventFilter IGNORE_THIS_VERSION_OF_SDL_GetEventFilter
-#define SDL_CreateRGBSurface IGNORE_THIS_VERSION_OF_SDL_CreateRGBSurface
-#define SDL_CreateRGBSurfaceFrom IGNORE_THIS_VERSION_OF_SDL_CreateRGBSurfaceFrom
-#define SDL_FreeSurface IGNORE_THIS_VERSION_OF_SDL_FreeSurface
-#define SDL_SetClipRect IGNORE_THIS_VERSION_OF_SDL_SetClipRect
-#define SDL_GetClipRect IGNORE_THIS_VERSION_OF_SDL_GetClipRect
-#define SDL_FillRect IGNORE_THIS_VERSION_OF_SDL_FillRect
-#define SDL_GetRGB IGNORE_THIS_VERSION_OF_SDL_GetRGB
-#define SDL_GetRGBA IGNORE_THIS_VERSION_OF_SDL_GetRGBA
-#define SDL_MapRGB IGNORE_THIS_VERSION_OF_SDL_MapRGB
-#define SDL_MapRGBA IGNORE_THIS_VERSION_OF_SDL_MapRGBA
+#define SDL_AddEventWatch IGNORE_THIS_VERSION_OF_SDL_AddEventWatch
+#define SDL_DelEventWatch IGNORE_THIS_VERSION_OF_SDL_DelEventWatch
+#define SDL_FilterEvents IGNORE_THIS_VERSION_OF_SDL_FilterEvents
+#define SDL_EventState IGNORE_THIS_VERSION_OF_SDL_EventState
+#define SDL_RegisterEvents IGNORE_THIS_VERSION_OF_SDL_RegisterEvents
+#define SDL_GetBasePath IGNORE_THIS_VERSION_OF_SDL_GetBasePath
+#define SDL_GetPrefPath IGNORE_THIS_VERSION_OF_SDL_GetPrefPath
+#define SDL_GameControllerAddMapping IGNORE_THIS_VERSION_OF_SDL_GameControllerAddMapping
+#define SDL_GameControllerMappingForGUID IGNORE_THIS_VERSION_OF_SDL_GameControllerMappingForGUID
+#define SDL_GameControllerMapping IGNORE_THIS_VERSION_OF_SDL_GameControllerMapping
+#define SDL_IsGameController IGNORE_THIS_VERSION_OF_SDL_IsGameController
+#define SDL_GameControllerNameForIndex IGNORE_THIS_VERSION_OF_SDL_GameControllerNameForIndex
+#define SDL_GameControllerOpen IGNORE_THIS_VERSION_OF_SDL_GameControllerOpen
+#define SDL_GameControllerName IGNORE_THIS_VERSION_OF_SDL_GameControllerName
+#define SDL_GameControllerGetAttached IGNORE_THIS_VERSION_OF_SDL_GameControllerGetAttached
+#define SDL_GameControllerGetJoystick IGNORE_THIS_VERSION_OF_SDL_GameControllerGetJoystick
+#define SDL_GameControllerEventState IGNORE_THIS_VERSION_OF_SDL_GameControllerEventState
+#define SDL_GameControllerUpdate IGNORE_THIS_VERSION_OF_SDL_GameControllerUpdate
+#define SDL_GameControllerGetAxisFromString IGNORE_THIS_VERSION_OF_SDL_GameControllerGetAxisFromString
+#define SDL_GameControllerGetStringForAxis IGNORE_THIS_VERSION_OF_SDL_GameControllerGetStringForAxis
+#define SDL_GameControllerGetBindForAxis IGNORE_THIS_VERSION_OF_SDL_GameControllerGetBindForAxis
+#define SDL_GameControllerGetAxis IGNORE_THIS_VERSION_OF_SDL_GameControllerGetAxis
+#define SDL_GameControllerGetButtonFromString IGNORE_THIS_VERSION_OF_SDL_GameControllerGetButtonFromString
+#define SDL_GameControllerGetStringForButton IGNORE_THIS_VERSION_OF_SDL_GameControllerGetStringForButton
+#define SDL_GameControllerGetBindForButton IGNORE_THIS_VERSION_OF_SDL_GameControllerGetBindForButton
+#define SDL_GameControllerGetButton IGNORE_THIS_VERSION_OF_SDL_GameControllerGetButton
+#define SDL_GameControllerClose IGNORE_THIS_VERSION_OF_SDL_GameControllerClose
+#define SDL_RecordGesture IGNORE_THIS_VERSION_OF_SDL_RecordGesture
+#define SDL_SaveAllDollarTemplates IGNORE_THIS_VERSION_OF_SDL_SaveAllDollarTemplates
+#define SDL_SaveDollarTemplate IGNORE_THIS_VERSION_OF_SDL_SaveDollarTemplate
+#define SDL_LoadDollarTemplates IGNORE_THIS_VERSION_OF_SDL_LoadDollarTemplates
+#define SDL_NumHaptics IGNORE_THIS_VERSION_OF_SDL_NumHaptics
+#define SDL_HapticName IGNORE_THIS_VERSION_OF_SDL_HapticName
+#define SDL_HapticOpen IGNORE_THIS_VERSION_OF_SDL_HapticOpen
+#define SDL_HapticOpened IGNORE_THIS_VERSION_OF_SDL_HapticOpened
+#define SDL_HapticIndex IGNORE_THIS_VERSION_OF_SDL_HapticIndex
+#define SDL_MouseIsHaptic IGNORE_THIS_VERSION_OF_SDL_MouseIsHaptic
+#define SDL_HapticOpenFromMouse IGNORE_THIS_VERSION_OF_SDL_HapticOpenFromMouse
+#define SDL_JoystickIsHaptic IGNORE_THIS_VERSION_OF_SDL_JoystickIsHaptic
+#define SDL_HapticOpenFromJoystick IGNORE_THIS_VERSION_OF_SDL_HapticOpenFromJoystick
+#define SDL_HapticClose IGNORE_THIS_VERSION_OF_SDL_HapticClose
+#define SDL_HapticNumEffects IGNORE_THIS_VERSION_OF_SDL_HapticNumEffects
+#define SDL_HapticNumEffectsPlaying IGNORE_THIS_VERSION_OF_SDL_HapticNumEffectsPlaying
+#define SDL_HapticQuery IGNORE_THIS_VERSION_OF_SDL_HapticQuery
+#define SDL_HapticNumAxes IGNORE_THIS_VERSION_OF_SDL_HapticNumAxes
+#define SDL_HapticEffectSupported IGNORE_THIS_VERSION_OF_SDL_HapticEffectSupported
+#define SDL_HapticNewEffect IGNORE_THIS_VERSION_OF_SDL_HapticNewEffect
+#define SDL_HapticUpdateEffect IGNORE_THIS_VERSION_OF_SDL_HapticUpdateEffect
+#define SDL_HapticRunEffect IGNORE_THIS_VERSION_OF_SDL_HapticRunEffect
+#define SDL_HapticStopEffect IGNORE_THIS_VERSION_OF_SDL_HapticStopEffect
+#define SDL_HapticDestroyEffect IGNORE_THIS_VERSION_OF_SDL_HapticDestroyEffect
+#define SDL_HapticGetEffectStatus IGNORE_THIS_VERSION_OF_SDL_HapticGetEffectStatus
+#define SDL_HapticSetGain IGNORE_THIS_VERSION_OF_SDL_HapticSetGain
+#define SDL_HapticSetAutocenter IGNORE_THIS_VERSION_OF_SDL_HapticSetAutocenter
+#define SDL_HapticPause IGNORE_THIS_VERSION_OF_SDL_HapticPause
+#define SDL_HapticUnpause IGNORE_THIS_VERSION_OF_SDL_HapticUnpause
+#define SDL_HapticStopAll IGNORE_THIS_VERSION_OF_SDL_HapticStopAll
+#define SDL_HapticRumbleSupported IGNORE_THIS_VERSION_OF_SDL_HapticRumbleSupported
+#define SDL_HapticRumbleInit IGNORE_THIS_VERSION_OF_SDL_HapticRumbleInit
+#define SDL_HapticRumblePlay IGNORE_THIS_VERSION_OF_SDL_HapticRumblePlay
+#define SDL_HapticRumbleStop IGNORE_THIS_VERSION_OF_SDL_HapticRumbleStop
+#define SDL_SetHintWithPriority IGNORE_THIS_VERSION_OF_SDL_SetHintWithPriority
+#define SDL_SetHint IGNORE_THIS_VERSION_OF_SDL_SetHint
+#define SDL_GetHint IGNORE_THIS_VERSION_OF_SDL_GetHint
+#define SDL_AddHintCallback IGNORE_THIS_VERSION_OF_SDL_AddHintCallback
+#define SDL_DelHintCallback IGNORE_THIS_VERSION_OF_SDL_DelHintCallback
+#define SDL_ClearHints IGNORE_THIS_VERSION_OF_SDL_ClearHints
+#define SDL_NumJoysticks IGNORE_THIS_VERSION_OF_SDL_NumJoysticks
+#define SDL_JoystickNameForIndex IGNORE_THIS_VERSION_OF_SDL_JoystickNameForIndex
+#define SDL_JoystickOpen IGNORE_THIS_VERSION_OF_SDL_JoystickOpen
+#define SDL_JoystickName IGNORE_THIS_VERSION_OF_SDL_JoystickName
+#define SDL_JoystickGetDeviceGUID IGNORE_THIS_VERSION_OF_SDL_JoystickGetDeviceGUID
+#define SDL_JoystickGetGUID IGNORE_THIS_VERSION_OF_SDL_JoystickGetGUID
+#define SDL_JoystickGetGUIDString IGNORE_THIS_VERSION_OF_SDL_JoystickGetGUIDString
+#define SDL_JoystickGetGUIDFromString IGNORE_THIS_VERSION_OF_SDL_JoystickGetGUIDFromString
+#define SDL_JoystickGetAttached IGNORE_THIS_VERSION_OF_SDL_JoystickGetAttached
+#define SDL_JoystickInstanceID IGNORE_THIS_VERSION_OF_SDL_JoystickInstanceID
+#define SDL_JoystickNumAxes IGNORE_THIS_VERSION_OF_SDL_JoystickNumAxes
+#define SDL_JoystickNumBalls IGNORE_THIS_VERSION_OF_SDL_JoystickNumBalls
+#define SDL_JoystickNumHats IGNORE_THIS_VERSION_OF_SDL_JoystickNumHats
+#define SDL_JoystickNumButtons IGNORE_THIS_VERSION_OF_SDL_JoystickNumButtons
+#define SDL_JoystickUpdate IGNORE_THIS_VERSION_OF_SDL_JoystickUpdate
+#define SDL_JoystickEventState IGNORE_THIS_VERSION_OF_SDL_JoystickEventState
+#define SDL_JoystickGetAxis IGNORE_THIS_VERSION_OF_SDL_JoystickGetAxis
+#define SDL_JoystickGetHat IGNORE_THIS_VERSION_OF_SDL_JoystickGetHat
+#define SDL_JoystickGetBall IGNORE_THIS_VERSION_OF_SDL_JoystickGetBall
+#define SDL_JoystickGetButton IGNORE_THIS_VERSION_OF_SDL_JoystickGetButton
+#define SDL_JoystickClose IGNORE_THIS_VERSION_OF_SDL_JoystickClose
+#define SDL_GetKeyboardFocus IGNORE_THIS_VERSION_OF_SDL_GetKeyboardFocus
+#define SDL_GetKeyboardState IGNORE_THIS_VERSION_OF_SDL_GetKeyboardState
+#define SDL_GetModState IGNORE_THIS_VERSION_OF_SDL_GetModState
+#define SDL_SetModState IGNORE_THIS_VERSION_OF_SDL_SetModState
+#define SDL_GetKeyFromScancode IGNORE_THIS_VERSION_OF_SDL_GetKeyFromScancode
+#define SDL_GetScancodeFromKey IGNORE_THIS_VERSION_OF_SDL_GetScancodeFromKey
+#define SDL_GetScancodeName IGNORE_THIS_VERSION_OF_SDL_GetScancodeName
+#define SDL_GetScancodeFromName IGNORE_THIS_VERSION_OF_SDL_GetScancodeFromName
+#define SDL_GetKeyName IGNORE_THIS_VERSION_OF_SDL_GetKeyName
+#define SDL_GetKeyFromName IGNORE_THIS_VERSION_OF_SDL_GetKeyFromName
+#define SDL_StartTextInput IGNORE_THIS_VERSION_OF_SDL_StartTextInput
+#define SDL_IsTextInputActive IGNORE_THIS_VERSION_OF_SDL_IsTextInputActive
+#define SDL_StopTextInput IGNORE_THIS_VERSION_OF_SDL_StopTextInput
+#define SDL_SetTextInputRect IGNORE_THIS_VERSION_OF_SDL_SetTextInputRect
+#define SDL_HasScreenKeyboardSupport IGNORE_THIS_VERSION_OF_SDL_HasScreenKeyboardSupport
+#define SDL_IsScreenKeyboardShown IGNORE_THIS_VERSION_OF_SDL_IsScreenKeyboardShown
+#define SDL_LoadObject IGNORE_THIS_VERSION_OF_SDL_LoadObject
+#define SDL_LoadFunction IGNORE_THIS_VERSION_OF_SDL_LoadFunction
+#define SDL_UnloadObject IGNORE_THIS_VERSION_OF_SDL_UnloadObject
+#define SDL_LogSetAllPriority IGNORE_THIS_VERSION_OF_SDL_LogSetAllPriority
+#define SDL_LogSetPriority IGNORE_THIS_VERSION_OF_SDL_LogSetPriority
+#define SDL_LogGetPriority IGNORE_THIS_VERSION_OF_SDL_LogGetPriority
+#define SDL_LogResetPriorities IGNORE_THIS_VERSION_OF_SDL_LogResetPriorities
+#define SDL_LogMessageV IGNORE_THIS_VERSION_OF_SDL_LogMessageV
+#define SDL_LogGetOutputFunction IGNORE_THIS_VERSION_OF_SDL_LogGetOutputFunction
+#define SDL_LogSetOutputFunction IGNORE_THIS_VERSION_OF_SDL_LogSetOutputFunction
+#define SDL_SetMainReady IGNORE_THIS_VERSION_OF_SDL_SetMainReady
+#define SDL_ShowMessageBox IGNORE_THIS_VERSION_OF_SDL_ShowMessageBox
+#define SDL_ShowSimpleMessageBox IGNORE_THIS_VERSION_OF_SDL_ShowSimpleMessageBox
+#define SDL_GetMouseFocus IGNORE_THIS_VERSION_OF_SDL_GetMouseFocus
+#define SDL_GetMouseState IGNORE_THIS_VERSION_OF_SDL_GetMouseState
+#define SDL_GetRelativeMouseState IGNORE_THIS_VERSION_OF_SDL_GetRelativeMouseState
+#define SDL_WarpMouseInWindow IGNORE_THIS_VERSION_OF_SDL_WarpMouseInWindow
+#define SDL_SetRelativeMouseMode IGNORE_THIS_VERSION_OF_SDL_SetRelativeMouseMode
+#define SDL_GetRelativeMouseMode IGNORE_THIS_VERSION_OF_SDL_GetRelativeMouseMode
 #define SDL_CreateCursor IGNORE_THIS_VERSION_OF_SDL_CreateCursor
+#define SDL_CreateColorCursor IGNORE_THIS_VERSION_OF_SDL_CreateColorCursor
+#define SDL_CreateSystemCursor IGNORE_THIS_VERSION_OF_SDL_CreateSystemCursor
 #define SDL_SetCursor IGNORE_THIS_VERSION_OF_SDL_SetCursor
 #define SDL_GetCursor IGNORE_THIS_VERSION_OF_SDL_GetCursor
+#define SDL_GetDefaultCursor IGNORE_THIS_VERSION_OF_SDL_GetDefaultCursor
 #define SDL_FreeCursor IGNORE_THIS_VERSION_OF_SDL_FreeCursor
-#define SDL_UpdateRect IGNORE_THIS_VERSION_OF_SDL_UpdateRect
-#define SDL_UpdateRects IGNORE_THIS_VERSION_OF_SDL_UpdateRects
-#define SDL_GetMouseState IGNORE_THIS_VERSION_OF_SDL_GetMouseState
-#define SDL_GetRelativeMouseState IGNORE_THIS_VERSION_OF_SDL_GetRelativeMouseState
-#define SDL_GL_SetAttribute IGNORE_THIS_VERSION_OF_SDL_GL_SetAttribute
-#define SDL_GL_GetAttribute IGNORE_THIS_VERSION_OF_SDL_GL_GetAttribute
-#define SDL_CreateThread IGNORE_THIS_VERSION_OF_SDL_CreateThread
-#define SDL_AddTimer IGNORE_THIS_VERSION_OF_SDL_AddTimer
-#define SDL_RemoveTimer IGNORE_THIS_VERSION_OF_SDL_RemoveTimer
-#define SDL_AllocRW IGNORE_THIS_VERSION_OF_SDL_AllocRW
-#define SDL_FreeRW IGNORE_THIS_VERSION_OF_SDL_FreeRW
+#define SDL_ShowCursor IGNORE_THIS_VERSION_OF_SDL_ShowCursor
+#define SDL_CreateMutex IGNORE_THIS_VERSION_OF_SDL_CreateMutex
+#define SDL_LockMutex IGNORE_THIS_VERSION_OF_SDL_LockMutex
+#define SDL_TryLockMutex IGNORE_THIS_VERSION_OF_SDL_TryLockMutex
+#define SDL_UnlockMutex IGNORE_THIS_VERSION_OF_SDL_UnlockMutex
+#define SDL_DestroyMutex IGNORE_THIS_VERSION_OF_SDL_DestroyMutex
+#define SDL_CreateSemaphore IGNORE_THIS_VERSION_OF_SDL_CreateSemaphore
+#define SDL_DestroySemaphore IGNORE_THIS_VERSION_OF_SDL_DestroySemaphore
+#define SDL_SemWait IGNORE_THIS_VERSION_OF_SDL_SemWait
+#define SDL_SemTryWait IGNORE_THIS_VERSION_OF_SDL_SemTryWait
+#define SDL_SemWaitTimeout IGNORE_THIS_VERSION_OF_SDL_SemWaitTimeout
+#define SDL_SemPost IGNORE_THIS_VERSION_OF_SDL_SemPost
+#define SDL_SemValue IGNORE_THIS_VERSION_OF_SDL_SemValue
+#define SDL_CreateCond IGNORE_THIS_VERSION_OF_SDL_CreateCond
+#define SDL_DestroyCond IGNORE_THIS_VERSION_OF_SDL_DestroyCond
+#define SDL_CondSignal IGNORE_THIS_VERSION_OF_SDL_CondSignal
+#define SDL_CondBroadcast IGNORE_THIS_VERSION_OF_SDL_CondBroadcast
+#define SDL_CondWait IGNORE_THIS_VERSION_OF_SDL_CondWait
+#define SDL_CondWaitTimeout IGNORE_THIS_VERSION_OF_SDL_CondWaitTimeout
+#define SDL_GetPixelFormatName IGNORE_THIS_VERSION_OF_SDL_GetPixelFormatName
+#define SDL_PixelFormatEnumToMasks IGNORE_THIS_VERSION_OF_SDL_PixelFormatEnumToMasks
+#define SDL_MasksToPixelFormatEnum IGNORE_THIS_VERSION_OF_SDL_MasksToPixelFormatEnum
+#define SDL_AllocFormat IGNORE_THIS_VERSION_OF_SDL_AllocFormat
+#define SDL_FreeFormat IGNORE_THIS_VERSION_OF_SDL_FreeFormat
+#define SDL_AllocPalette IGNORE_THIS_VERSION_OF_SDL_AllocPalette
+#define SDL_SetPixelFormatPalette IGNORE_THIS_VERSION_OF_SDL_SetPixelFormatPalette
+#define SDL_SetPaletteColors IGNORE_THIS_VERSION_OF_SDL_SetPaletteColors
+#define SDL_FreePalette IGNORE_THIS_VERSION_OF_SDL_FreePalette
+#define SDL_MapRGB IGNORE_THIS_VERSION_OF_SDL_MapRGB
+#define SDL_MapRGBA IGNORE_THIS_VERSION_OF_SDL_MapRGBA
+#define SDL_GetRGB IGNORE_THIS_VERSION_OF_SDL_GetRGB
+#define SDL_GetRGBA IGNORE_THIS_VERSION_OF_SDL_GetRGBA
+#define SDL_CalculateGammaRamp IGNORE_THIS_VERSION_OF_SDL_CalculateGammaRamp
+#define SDL_GetPlatform IGNORE_THIS_VERSION_OF_SDL_GetPlatform
+#define SDL_GetPowerInfo IGNORE_THIS_VERSION_OF_SDL_GetPowerInfo
+#define SDL_HasIntersection IGNORE_THIS_VERSION_OF_SDL_HasIntersection
+#define SDL_IntersectRect IGNORE_THIS_VERSION_OF_SDL_IntersectRect
+#define SDL_UnionRect IGNORE_THIS_VERSION_OF_SDL_UnionRect
+#define SDL_EnclosePoints IGNORE_THIS_VERSION_OF_SDL_EnclosePoints
+#define SDL_IntersectRectAndLine IGNORE_THIS_VERSION_OF_SDL_IntersectRectAndLine
+#define SDL_GetNumRenderDrivers IGNORE_THIS_VERSION_OF_SDL_GetNumRenderDrivers
+#define SDL_GetRenderDriverInfo IGNORE_THIS_VERSION_OF_SDL_GetRenderDriverInfo
+#define SDL_CreateWindowAndRenderer IGNORE_THIS_VERSION_OF_SDL_CreateWindowAndRenderer
+#define SDL_CreateRenderer IGNORE_THIS_VERSION_OF_SDL_CreateRenderer
+#define SDL_CreateSoftwareRenderer IGNORE_THIS_VERSION_OF_SDL_CreateSoftwareRenderer
+#define SDL_GetRenderer IGNORE_THIS_VERSION_OF_SDL_GetRenderer
+#define SDL_GetRendererInfo IGNORE_THIS_VERSION_OF_SDL_GetRendererInfo
+#define SDL_GetRendererOutputSize IGNORE_THIS_VERSION_OF_SDL_GetRendererOutputSize
+#define SDL_CreateTexture IGNORE_THIS_VERSION_OF_SDL_CreateTexture
+#define SDL_CreateTextureFromSurface IGNORE_THIS_VERSION_OF_SDL_CreateTextureFromSurface
+#define SDL_QueryTexture IGNORE_THIS_VERSION_OF_SDL_QueryTexture
+#define SDL_SetTextureColorMod IGNORE_THIS_VERSION_OF_SDL_SetTextureColorMod
+#define SDL_GetTextureColorMod IGNORE_THIS_VERSION_OF_SDL_GetTextureColorMod
+#define SDL_SetTextureAlphaMod IGNORE_THIS_VERSION_OF_SDL_SetTextureAlphaMod
+#define SDL_GetTextureAlphaMod IGNORE_THIS_VERSION_OF_SDL_GetTextureAlphaMod
+#define SDL_SetTextureBlendMode IGNORE_THIS_VERSION_OF_SDL_SetTextureBlendMode
+#define SDL_GetTextureBlendMode IGNORE_THIS_VERSION_OF_SDL_GetTextureBlendMode
+#define SDL_UpdateTexture IGNORE_THIS_VERSION_OF_SDL_UpdateTexture
+#define SDL_UpdateYUVTexture IGNORE_THIS_VERSION_OF_SDL_UpdateYUVTexture
+#define SDL_LockTexture IGNORE_THIS_VERSION_OF_SDL_LockTexture
+#define SDL_UnlockTexture IGNORE_THIS_VERSION_OF_SDL_UnlockTexture
+#define SDL_RenderTargetSupported IGNORE_THIS_VERSION_OF_SDL_RenderTargetSupported
+#define SDL_SetRenderTarget IGNORE_THIS_VERSION_OF_SDL_SetRenderTarget
+#define SDL_GetRenderTarget IGNORE_THIS_VERSION_OF_SDL_GetRenderTarget
+#define SDL_RenderSetLogicalSize IGNORE_THIS_VERSION_OF_SDL_RenderSetLogicalSize
+#define SDL_RenderGetLogicalSize IGNORE_THIS_VERSION_OF_SDL_RenderGetLogicalSize
+#define SDL_RenderSetViewport IGNORE_THIS_VERSION_OF_SDL_RenderSetViewport
+#define SDL_RenderGetViewport IGNORE_THIS_VERSION_OF_SDL_RenderGetViewport
+#define SDL_RenderSetClipRect IGNORE_THIS_VERSION_OF_SDL_RenderSetClipRect
+#define SDL_RenderGetClipRect IGNORE_THIS_VERSION_OF_SDL_RenderGetClipRect
+#define SDL_RenderSetScale IGNORE_THIS_VERSION_OF_SDL_RenderSetScale
+#define SDL_RenderGetScale IGNORE_THIS_VERSION_OF_SDL_RenderGetScale
+#define SDL_SetRenderDrawColor IGNORE_THIS_VERSION_OF_SDL_SetRenderDrawColor
+#define SDL_GetRenderDrawColor IGNORE_THIS_VERSION_OF_SDL_GetRenderDrawColor
+#define SDL_SetRenderDrawBlendMode IGNORE_THIS_VERSION_OF_SDL_SetRenderDrawBlendMode
+#define SDL_GetRenderDrawBlendMode IGNORE_THIS_VERSION_OF_SDL_GetRenderDrawBlendMode
+#define SDL_RenderClear IGNORE_THIS_VERSION_OF_SDL_RenderClear
+#define SDL_RenderDrawPoint IGNORE_THIS_VERSION_OF_SDL_RenderDrawPoint
+#define SDL_RenderDrawPoints IGNORE_THIS_VERSION_OF_SDL_RenderDrawPoints
+#define SDL_RenderDrawLine IGNORE_THIS_VERSION_OF_SDL_RenderDrawLine
+#define SDL_RenderDrawLines IGNORE_THIS_VERSION_OF_SDL_RenderDrawLines
+#define SDL_RenderDrawRect IGNORE_THIS_VERSION_OF_SDL_RenderDrawRect
+#define SDL_RenderDrawRects IGNORE_THIS_VERSION_OF_SDL_RenderDrawRects
+#define SDL_RenderFillRect IGNORE_THIS_VERSION_OF_SDL_RenderFillRect
+#define SDL_RenderFillRects IGNORE_THIS_VERSION_OF_SDL_RenderFillRects
+#define SDL_RenderCopy IGNORE_THIS_VERSION_OF_SDL_RenderCopy
+#define SDL_RenderCopyEx IGNORE_THIS_VERSION_OF_SDL_RenderCopyEx
+#define SDL_RenderReadPixels IGNORE_THIS_VERSION_OF_SDL_RenderReadPixels
+#define SDL_RenderPresent IGNORE_THIS_VERSION_OF_SDL_RenderPresent
+#define SDL_DestroyTexture IGNORE_THIS_VERSION_OF_SDL_DestroyTexture
+#define SDL_DestroyRenderer IGNORE_THIS_VERSION_OF_SDL_DestroyRenderer
+#define SDL_GL_BindTexture IGNORE_THIS_VERSION_OF_SDL_GL_BindTexture
+#define SDL_GL_UnbindTexture IGNORE_THIS_VERSION_OF_SDL_GL_UnbindTexture
 #define SDL_RWFromFile IGNORE_THIS_VERSION_OF_SDL_RWFromFile
-#define SDL_RWFromFP IGNORE_THIS_VERSION_OF_SDL_RWFromFP
 #define SDL_RWFromMem IGNORE_THIS_VERSION_OF_SDL_RWFromMem
 #define SDL_RWFromConstMem IGNORE_THIS_VERSION_OF_SDL_RWFromConstMem
+#define SDL_AllocRW IGNORE_THIS_VERSION_OF_SDL_AllocRW
+#define SDL_FreeRW IGNORE_THIS_VERSION_OF_SDL_FreeRW
+#define SDL_ReadU8 IGNORE_THIS_VERSION_OF_SDL_ReadU8
 #define SDL_ReadLE16 IGNORE_THIS_VERSION_OF_SDL_ReadLE16
 #define SDL_ReadBE16 IGNORE_THIS_VERSION_OF_SDL_ReadBE16
 #define SDL_ReadLE32 IGNORE_THIS_VERSION_OF_SDL_ReadLE32
 #define SDL_ReadBE32 IGNORE_THIS_VERSION_OF_SDL_ReadBE32
 #define SDL_ReadLE64 IGNORE_THIS_VERSION_OF_SDL_ReadLE64
 #define SDL_ReadBE64 IGNORE_THIS_VERSION_OF_SDL_ReadBE64
+#define SDL_WriteU8 IGNORE_THIS_VERSION_OF_SDL_WriteU8
 #define SDL_WriteLE16 IGNORE_THIS_VERSION_OF_SDL_WriteLE16
 #define SDL_WriteBE16 IGNORE_THIS_VERSION_OF_SDL_WriteBE16
 #define SDL_WriteLE32 IGNORE_THIS_VERSION_OF_SDL_WriteLE32
 #define SDL_WriteBE32 IGNORE_THIS_VERSION_OF_SDL_WriteBE32
 #define SDL_WriteLE64 IGNORE_THIS_VERSION_OF_SDL_WriteLE64
 #define SDL_WriteBE64 IGNORE_THIS_VERSION_OF_SDL_WriteBE64
-#define SDL_GetThreadID IGNORE_THIS_VERSION_OF_SDL_GetThreadID
-#define SDL_ThreadID IGNORE_THIS_VERSION_OF_SDL_ThreadID
-#define SDL_NumJoysticks IGNORE_THIS_VERSION_OF_SDL_NumJoysticks
-#define SDL_JoystickNumAxes IGNORE_THIS_VERSION_OF_SDL_JoystickNumAxes
-#define SDL_JoystickNumBalls IGNORE_THIS_VERSION_OF_SDL_JoystickNumBalls
-#define SDL_JoystickNumHats IGNORE_THIS_VERSION_OF_SDL_JoystickNumHats
-#define SDL_JoystickNumButtons IGNORE_THIS_VERSION_OF_SDL_JoystickNumButtons
-#define SDL_JoystickUpdate IGNORE_THIS_VERSION_OF_SDL_JoystickUpdate
-#define SDL_JoystickEventState IGNORE_THIS_VERSION_OF_SDL_JoystickEventState
-#define SDL_JoystickGetAxis IGNORE_THIS_VERSION_OF_SDL_JoystickGetAxis
-#define SDL_JoystickGetHat IGNORE_THIS_VERSION_OF_SDL_JoystickGetHat
-#define SDL_JoystickGetBall IGNORE_THIS_VERSION_OF_SDL_JoystickGetBall
-#define SDL_JoystickGetButton IGNORE_THIS_VERSION_OF_SDL_JoystickGetButton
-#define SDL_JoystickOpen IGNORE_THIS_VERSION_OF_SDL_JoystickOpen
-#define SDL_JoystickClose IGNORE_THIS_VERSION_OF_SDL_JoystickClose
-#define SDL_JoystickName IGNORE_THIS_VERSION_OF_SDL_JoystickName
-#define SDL_JoystickIndex IGNORE_THIS_VERSION_OF_SDL_JoystickIndex
-#define SDL_JoystickOpened IGNORE_THIS_VERSION_OF_SDL_JoystickOpened
+#define SDL_CreateShapedWindow IGNORE_THIS_VERSION_OF_SDL_CreateShapedWindow
+#define SDL_IsShapedWindow IGNORE_THIS_VERSION_OF_SDL_IsShapedWindow
+#define SDL_SetWindowShape IGNORE_THIS_VERSION_OF_SDL_SetWindowShape
+#define SDL_GetShapedWindowMode IGNORE_THIS_VERSION_OF_SDL_GetShapedWindowMode
+#define SDL_malloc IGNORE_THIS_VERSION_OF_SDL_malloc
+#define SDL_calloc IGNORE_THIS_VERSION_OF_SDL_calloc
+#define SDL_realloc IGNORE_THIS_VERSION_OF_SDL_realloc
+#define SDL_free IGNORE_THIS_VERSION_OF_SDL_free
+#define SDL_getenv IGNORE_THIS_VERSION_OF_SDL_getenv
+#define SDL_setenv IGNORE_THIS_VERSION_OF_SDL_setenv
+#define SDL_qsort IGNORE_THIS_VERSION_OF_SDL_qsort
+#define SDL_abs IGNORE_THIS_VERSION_OF_SDL_abs
+#define SDL_isdigit IGNORE_THIS_VERSION_OF_SDL_isdigit
+#define SDL_isspace IGNORE_THIS_VERSION_OF_SDL_isspace
+#define SDL_toupper IGNORE_THIS_VERSION_OF_SDL_toupper
+#define SDL_tolower IGNORE_THIS_VERSION_OF_SDL_tolower
+#define SDL_memset IGNORE_THIS_VERSION_OF_SDL_memset
+#define SDL_memcpy IGNORE_THIS_VERSION_OF_SDL_memcpy
+#define SDL_memmove IGNORE_THIS_VERSION_OF_SDL_memmove
+#define SDL_memcmp IGNORE_THIS_VERSION_OF_SDL_memcmp
+#define SDL_wcslen IGNORE_THIS_VERSION_OF_SDL_wcslen
+#define SDL_wcslcpy IGNORE_THIS_VERSION_OF_SDL_wcslcpy
+#define SDL_wcslcat IGNORE_THIS_VERSION_OF_SDL_wcslcat
+#define SDL_strlen IGNORE_THIS_VERSION_OF_SDL_strlen
+#define SDL_strlcpy IGNORE_THIS_VERSION_OF_SDL_strlcpy
+#define SDL_utf8strlcpy IGNORE_THIS_VERSION_OF_SDL_utf8strlcpy
+#define SDL_strlcat IGNORE_THIS_VERSION_OF_SDL_strlcat
+#define SDL_strdup IGNORE_THIS_VERSION_OF_SDL_strdup
+#define SDL_strrev IGNORE_THIS_VERSION_OF_SDL_strrev
+#define SDL_strupr IGNORE_THIS_VERSION_OF_SDL_strupr
+#define SDL_strlwr IGNORE_THIS_VERSION_OF_SDL_strlwr
+#define SDL_strchr IGNORE_THIS_VERSION_OF_SDL_strchr
+#define SDL_strrchr IGNORE_THIS_VERSION_OF_SDL_strrchr
+#define SDL_strstr IGNORE_THIS_VERSION_OF_SDL_strstr
+#define SDL_itoa IGNORE_THIS_VERSION_OF_SDL_itoa
+#define SDL_uitoa IGNORE_THIS_VERSION_OF_SDL_uitoa
+#define SDL_ltoa IGNORE_THIS_VERSION_OF_SDL_ltoa
+#define SDL_ultoa IGNORE_THIS_VERSION_OF_SDL_ultoa
+#define SDL_lltoa IGNORE_THIS_VERSION_OF_SDL_lltoa
+#define SDL_ulltoa IGNORE_THIS_VERSION_OF_SDL_ulltoa
+#define SDL_atoi IGNORE_THIS_VERSION_OF_SDL_atoi
+#define SDL_atof IGNORE_THIS_VERSION_OF_SDL_atof
+#define SDL_strtol IGNORE_THIS_VERSION_OF_SDL_strtol
+#define SDL_strtoul IGNORE_THIS_VERSION_OF_SDL_strtoul
+#define SDL_strtoll IGNORE_THIS_VERSION_OF_SDL_s

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