From 3d52d049778be4a3663674d2fa9cb4661b8b25e6 Mon Sep 17 00:00:00 2001 From: Cameron Cawley 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 780593fd3..48f4e2bcc 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 000000000..c1c4f290e --- /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_SetAttribute'.'SDL2.dll'.'SDL_GL_SetAttribute' +++'_SDL_GL_GetAttribute'.'SDL2.dll'.'SDL_GL_GetAttribute' +++'_SDL_GL_CreateContext'.'SDL2.dll'.'SDL_GL_CreateContext' +++'_SDL_GL_MakeCurrent'.'SDL2.dll'.'SDL_GL_MakeCurrent' +++'_SDL_GL_GetCurrentWindow'.'SDL2.dll'.'SDL_GL_GetCurrentWindow' +++'_SDL_GL_GetCurrentContext'.'SDL2.dll'.'SDL_GL_GetCurrentContext' +++'_SDL_GL_GetDrawableSize'.'SDL2.dll'.'SDL_GL_GetDrawableSize' +++'_SDL_GL_SetSwapInterval'.'SDL2.dll'.'SDL_GL_SetSwapInterval' +++'_SDL_GL_GetSwapInterval'.'SDL2.dll'.'SDL_GL_GetSwapInterval' +++'_SDL_GL_SwapWindow'.'SDL2.dll'.'SDL_GL_SwapWindow' +++'_SDL_GL_DeleteContext'.'SDL2.dll'.'SDL_GL_DeleteContext' +++'_SDL_vsscanf'.'SDL2.dll'.'SDL_vsscanf' +++'_SDL_GameControllerAddMappingsFromRW'.'SDL2.dll'.'SDL_GameControllerAddMappingsFromRW' +++'_SDL_GL_ResetAttributes'.'SDL2.dll'.'SDL_GL_ResetAttributes' +++'_SDL_HasAVX'.'SDL2.dll'.'SDL_HasAVX' +++'_SDL_GetDefaultAssertionHandler'.'SDL2.dll'.'SDL_GetDefaultAssertionHandler' +++'_SDL_GetAssertionHandler'.'SDL2.dll'.'SDL_GetAssertionHandler' +++'_SDL_DXGIGetOutputInfo'.'SDL2.dll'.'SDL_DXGIGetOutputInfo' +++'_SDL_RenderIsClipEnabled'.'SDL2.dll'.'SDL_RenderIsClipEnabled' +# ++'_SDL_WinRTRunApp'.'SDL2.dll'.'SDL_WinRTRunApp' +++'_SDL_WarpMouseGlobal'.'SDL2.dll'.'SDL_WarpMouseGlobal' +# ++'_SDL_WinRTGetFSPathUNICODE'.'SDL2.dll'.'SDL_WinRTGetFSPathUNICODE' +# ++'_SDL_WinRTGetFSPathUTF8'.'SDL2.dll'.'SDL_WinRTGetFSPathUTF8' +++'_SDL_sqrtf'.'SDL2.dll'.'SDL_sqrtf' +++'_SDL_tan'.'SDL2.dll'.'SDL_tan' +++'_SDL_tanf'.'SDL2.dll'.'SDL_tanf' +++'_SDL_CaptureMouse'.'SDL2.dll'.'SDL_CaptureMouse' +++'_SDL_SetWindowHitTest'.'SDL2.dll'.'SDL_SetWindowHitTest' +++'_SDL_GetGlobalMouseState'.'SDL2.dll'.'SDL_GetGlobalMouseState' +++'_SDL_HasAVX2'.'SDL2.dll'.'SDL_HasAVX2' +++'_SDL_QueueAudio'.'SDL2.dll'.'SDL_QueueAudio' +++'_SDL_GetQueuedAudioSize'.'SDL2.dll'.'SDL_GetQueuedAudioSize' +++'_SDL_ClearQueuedAudio'.'SDL2.dll'.'SDL_ClearQueuedAudio' +++'_SDL_GetGrabbedWindow'.'SDL2.dll'.'SDL_GetGrabbedWindow' +++'_SDL_SetWindowsMessageHook'.'SDL2.dll'.'SDL_SetWindowsMessageHook' +++'_SDL_JoystickCurrentPowerLevel'.'SDL2.dll'.'SDL_JoystickCurrentPowerLevel' +++'_SDL_GameControllerFromInstanceID'.'SDL2.dll'.'SDL_GameControllerFromInstanceID' +++'_SDL_JoystickFromInstanceID'.'SDL2.dll'.'SDL_JoystickFromInstanceID' +++'_SDL_GetDisplayUsableBounds'.'SDL2.dll'.'SDL_GetDisplayUsableBounds' +++'_SDL_GetWindowBordersSize'.'SDL2.dll'.'SDL_GetWindowBordersSize' +++'_SDL_SetWindowOpacity'.'SDL2.dll'.'SDL_SetWindowOpacity' +++'_SDL_GetWindowOpacity'.'SDL2.dll'.'SDL_GetWindowOpacity' +++'_SDL_SetWindowInputFocus'.'SDL2.dll'.'SDL_SetWindowInputFocus' +++'_SDL_SetWindowModalFor'.'SDL2.dll'.'SDL_SetWindowModalFor' +++'_SDL_RenderSetIntegerScale'.'SDL2.dll'.'SDL_RenderSetIntegerScale' +++'_SDL_RenderGetIntegerScale'.'SDL2.dll'.'SDL_RenderGetIntegerScale' +++'_SDL_DequeueAudio'.'SDL2.dll'.'SDL_DequeueAudio' +++'_SDL_SetWindowResizable'.'SDL2.dll'.'SDL_SetWindowResizable' +++'_SDL_CreateRGBSurfaceWithFormat'.'SDL2.dll'.'SDL_CreateRGBSurfaceWithFormat' +++'_SDL_CreateRGBSurfaceWithFormatFrom'.'SDL2.dll'.'SDL_CreateRGBSurfaceWithFormatFrom' +++'_SDL_GetHintBoolean'.'SDL2.dll'.'SDL_GetHintBoolean' +++'_SDL_JoystickGetDeviceVendor'.'SDL2.dll'.'SDL_JoystickGetDeviceVendor' +++'_SDL_JoystickGetDeviceProduct'.'SDL2.dll'.'SDL_JoystickGetDeviceProduct' +++'_SDL_JoystickGetDeviceProductVersion'.'SDL2.dll'.'SDL_JoystickGetDeviceProductVersion' +++'_SDL_JoystickGetVendor'.'SDL2.dll'.'SDL_JoystickGetVendor' +++'_SDL_JoystickGetProduct'.'SDL2.dll'.'SDL_JoystickGetProduct' +++'_SDL_JoystickGetProductVersion'.'SDL2.dll'.'SDL_JoystickGetProductVersion' +++'_SDL_GameControllerGetVendor'.'SDL2.dll'.'SDL_GameControllerGetVendor' +++'_SDL_GameControllerGetProduct'.'SDL2.dll'.'SDL_GameControllerGetProduct' +++'_SDL_GameControllerGetProductVersion'.'SDL2.dll'.'SDL_GameControllerGetProductVersion' +++'_SDL_HasNEON'.'SDL2.dll'.'SDL_HasNEON' +++'_SDL_GameControllerNumMappings'.'SDL2.dll'.'SDL_GameControllerNumMappings' +++'_SDL_GameControllerMappingForIndex'.'SDL2.dll'.'SDL_GameControllerMappingForIndex' +++'_SDL_JoystickGetAxisInitialState'.'SDL2.dll'.'SDL_JoystickGetAxisInitialState' +++'_SDL_JoystickGetDeviceType'.'SDL2.dll'.'SDL_JoystickGetDeviceType' +++'_SDL_JoystickGetType'.'SDL2.dll'.'SDL_JoystickGetType' +++'_SDL_MemoryBarrierReleaseFunction'.'SDL2.dll'.'SDL_MemoryBarrierReleaseFunction' +++'_SDL_MemoryBarrierAcquireFunction'.'SDL2.dll'.'SDL_MemoryBarrierAcquireFunction' +++'_SDL_JoystickGetDeviceInstanceID'.'SDL2.dll'.'SDL_JoystickGetDeviceInstanceID' +++'_SDL_utf8strlen'.'SDL2.dll'.'SDL_utf8strlen' +++'_SDL_LoadFile_RW'.'SDL2.dll'.'SDL_LoadFile_RW' +++'_SDL_wcscmp'.'SDL2.dll'.'SDL_wcscmp' +++'_SDL_ComposeCustomBlendMode'.'SDL2.dll'.'SDL_ComposeCustomBlendMode' +++'_SDL_DuplicateSurface'.'SDL2.dll'.'SDL_DuplicateSurface' +++'_SDL_Vulkan_LoadLibrary'.'SDL2.dll'.'SDL_Vulkan_LoadLibrary' +++'_SDL_Vulkan_GetVkGetInstanceProcAddr'.'SDL2.dll'.'SDL_Vulkan_GetVkGetInstanceProcAddr' +++'_SDL_Vulkan_UnloadLibrary'.'SDL2.dll'.'SDL_Vulkan_UnloadLibrary' +++'_SDL_Vulkan_GetInstanceExtensions'.'SDL2.dll'.'SDL_Vulkan_GetInstanceExtensions' +++'_SDL_Vulkan_CreateSurface'.'SDL2.dll'.'SDL_Vulkan_CreateSurface' +++'_SDL_Vulkan_GetDrawableSize'.'SDL2.dll'.'SDL_Vulkan_GetDrawableSize' +++'_SDL_LockJoysticks'.'SDL2.dll'.'SDL_LockJoysticks' +++'_SDL_UnlockJoysticks'.'SDL2.dll'.'SDL_UnlockJoysticks' +++'_SDL_GetMemoryFunctions'.'SDL2.dll'.'SDL_GetMemoryFunctions' +++'_SDL_SetMemoryFunctions'.'SDL2.dll'.'SDL_SetMemoryFunctions' +++'_SDL_GetNumAllocations'.'SDL2.dll'.'SDL_GetNumAllocations' +++'_SDL_NewAudioStream'.'SDL2.dll'.'SDL_NewAudioStream' +++'_SDL_AudioStreamPut'.'SDL2.dll'.'SDL_AudioStreamPut' +++'_SDL_AudioStreamGet'.'SDL2.dll'.'SDL_AudioStreamGet' +++'_SDL_AudioStreamClear'.'SDL2.dll'.'SDL_AudioStreamClear' +++'_SDL_AudioStreamAvailable'.'SDL2.dll'.'SDL_AudioStreamAvailable' +++'_SDL_FreeAudioStream'.'SDL2.dll'.'SDL_FreeAudioStream' +++'_SDL_AudioStreamFlush'.'SDL2.dll'.'SDL_AudioStreamFlush' +++'_SDL_acosf'.'SDL2.dll'.'SDL_acosf' +++'_SDL_asinf'.'SDL2.dll'.'SDL_asinf' +++'_SDL_atanf'.'SDL2.dll'.'SDL_atanf' +++'_SDL_atan2f'.'SDL2.dll'.'SDL_atan2f' +++'_SDL_ceilf'.'SDL2.dll'.'SDL_ceilf' +++'_SDL_copysignf'.'SDL2.dll'.'SDL_copysignf' +++'_SDL_fabsf'.'SDL2.dll'.'SDL_fabsf' +++'_SDL_floorf'.'SDL2.dll'.'SDL_floorf' +++'_SDL_logf'.'SDL2.dll'.'SDL_logf' +++'_SDL_powf'.'SDL2.dll'.'SDL_powf' +++'_SDL_scalbnf'.'SDL2.dll'.'SDL_scalbnf' +++'_SDL_fmod'.'SDL2.dll'.'SDL_fmod' +++'_SDL_fmodf'.'SDL2.dll'.'SDL_fmodf' +++'_SDL_SetYUVConversionMode'.'SDL2.dll'.'SDL_SetYUVConversionMode' +++'_SDL_GetYUVConversionMode'.'SDL2.dll'.'SDL_GetYUVConversionMode' +++'_SDL_GetYUVConversionModeForResolution'.'SDL2.dll'.'SDL_GetYUVConversionModeForResolution' +++'_SDL_RenderGetMetalLayer'.'SDL2.dll'.'SDL_RenderGetMetalLayer' +++'_SDL_RenderGetMetalCommandEncoder'.'SDL2.dll'.'SDL_RenderGetMetalCommandEncoder' +# ++'_SDL_IsAndroidTV'.'SDL2.dll'.'SDL_IsAndroidTV' +# ++'_SDL_WinRTGetDeviceFamily'.'SDL2.dll'.'SDL_WinRTGetDeviceFamily' +++'_SDL_log10'.'SDL2.dll'.'SDL_log10' +++'_SDL_log10f'.'SDL2.dll'.'SDL_log10f' +++'_SDL_GameControllerMappingForDeviceIndex'.'SDL2.dll'.'SDL_GameControllerMappingForDeviceIndex' +# ++'_SDL_LinuxSetThreadPriority'.'SDL2.dll'.'SDL_LinuxSetThreadPriority' +++'_SDL_HasAVX512F'.'SDL2.dll'.'SDL_HasAVX512F' +# ++'_SDL_IsChromebook'.'SDL2.dll'.'SDL_IsChromebook' +# ++'_SDL_IsDeXMode'.'SDL2.dll'.'SDL_IsDeXMode' +# ++'_SDL_AndroidBackButton'.'SDL2.dll'.'SDL_AndroidBackButton' +++'_SDL_exp'.'SDL2.dll'.'SDL_exp' +++'_SDL_expf'.'SDL2.dll'.'SDL_expf' +++'_SDL_wcsdup'.'SDL2.dll'.'SDL_wcsdup' +++'_SDL_GameControllerRumble'.'SDL2.dll'.'SDL_GameControllerRumble' +++'_SDL_JoystickRumble'.'SDL2.dll'.'SDL_JoystickRumble' +++'_SDL_NumSensors'.'SDL2.dll'.'SDL_NumSensors' +++'_SDL_SensorGetDeviceName'.'SDL2.dll'.'SDL_SensorGetDeviceName' +++'_SDL_SensorGetDeviceType'.'SDL2.dll'.'SDL_SensorGetDeviceType' +++'_SDL_SensorGetDeviceNonPortableType'.'SDL2.dll'.'SDL_SensorGetDeviceNonPortableType' +++'_SDL_SensorGetDeviceInstanceID'.'SDL2.dll'.'SDL_SensorGetDeviceInstanceID' +++'_SDL_SensorOpen'.'SDL2.dll'.'SDL_SensorOpen' +++'_SDL_SensorFromInstanceID'.'SDL2.dll'.'SDL_SensorFromInstanceID' +++'_SDL_SensorGetName'.'SDL2.dll'.'SDL_SensorGetName' +++'_SDL_SensorGetType'.'SDL2.dll'.'SDL_SensorGetType' +++'_SDL_SensorGetNonPortableType'.'SDL2.dll'.'SDL_SensorGetNonPortableType' +++'_SDL_SensorGetInstanceID'.'SDL2.dll'.'SDL_SensorGetInstanceID' +++'_SDL_SensorGetData'.'SDL2.dll'.'SDL_SensorGetData' +++'_SDL_SensorClose'.'SDL2.dll'.'SDL_SensorClose' +++'_SDL_SensorUpdate'.'SDL2.dll'.'SDL_SensorUpdate' +++'_SDL_IsTablet'.'SDL2.dll'.'SDL_IsTablet' +++'_SDL_GetDisplayOrientation'.'SDL2.dll'.'SDL_GetDisplayOrientation' +++'_SDL_HasColorKey'.'SDL2.dll'.'SDL_HasColorKey' +++'_SDL_CreateThreadWithStackSize'.'SDL2.dll'.'SDL_CreateThreadWithStackSize' +++'_SDL_JoystickGetDevicePlayerIndex'.'SDL2.dll'.'SDL_JoystickGetDevicePlayerIndex' +++'_SDL_JoystickGetPlayerIndex'.'SDL2.dll'.'SDL_JoystickGetPlayerIndex' +++'_SDL_GameControllerGetPlayerIndex'.'SDL2.dll'.'SDL_GameControllerGetPlayerIndex' +++'_SDL_RenderFlush'.'SDL2.dll'.'SDL_RenderFlush' +++'_SDL_RenderDrawPointF'.'SDL2.dll'.'SDL_RenderDrawPointF' +++'_SDL_RenderDrawPointsF'.'SDL2.dll'.'SDL_RenderDrawPointsF' +++'_SDL_RenderDrawLineF'.'SDL2.dll'.'SDL_RenderDrawLineF' +++'_SDL_RenderDrawLinesF'.'SDL2.dll'.'SDL_RenderDrawLinesF' +++'_SDL_RenderDrawRectF'.'SDL2.dll'.'SDL_RenderDrawRectF' +++'_SDL_RenderDrawRectsF'.'SDL2.dll'.'SDL_RenderDrawRectsF' +++'_SDL_RenderFillRectF'.'SDL2.dll'.'SDL_RenderFillRectF' +++'_SDL_RenderFillRectsF'.'SDL2.dll'.'SDL_RenderFillRectsF' +++'_SDL_RenderCopyF'.'SDL2.dll'.'SDL_RenderCopyF' +++'_SDL_RenderCopyExF'.'SDL2.dll'.'SDL_RenderCopyExF' +++'_SDL_GetTouchDeviceType'.'SDL2.dll'.'SDL_GetTouchDeviceType' +# ++'_SDL_UIKitRunApp'.'SDL2.dll'.'SDL_UIKitRunApp' +++'_SDL_SIMDGetAlignment'.'SDL2.dll'.'SDL_SIMDGetAlignment' +++'_SDL_SIMDAlloc'.'SDL2.dll'.'SDL_SIMDAlloc' +++'_SDL_SIMDFree'.'SDL2.dll'.'SDL_SIMDFree' +++'_SDL_RWsize'.'SDL2.dll'.'SDL_RWsize' +++'_SDL_RWseek'.'SDL2.dll'.'SDL_RWseek' +++'_SDL_RWtell'.'SDL2.dll'.'SDL_RWtell' +++'_SDL_RWread'.'SDL2.dll'.'SDL_RWread' +++'_SDL_RWwrite'.'SDL2.dll'.'SDL_RWwrite' +++'_SDL_RWclose'.'SDL2.dll'.'SDL_RWclose' +++'_SDL_LoadFile'.'SDL2.dll'.'SDL_LoadFile' +++'_SDL_Metal_CreateView'.'SDL2.dll'.'SDL_Metal_CreateView' +++'_SDL_Metal_DestroyView'.'SDL2.dll'.'SDL_Metal_DestroyView' +++'_SDL_LockTextureToSurface'.'SDL2.dll'.'SDL_LockTextureToSurface' +++'_SDL_HasARMSIMD'.'SDL2.dll'.'SDL_HasARMSIMD' +++'_SDL_strtokr'.'SDL2.dll'.'SDL_strtokr' +++'_SDL_wcsstr'.'SDL2.dll'.'SDL_wcsstr' +++'_SDL_wcsncmp'.'SDL2.dll'.'SDL_wcsncmp' +++'_SDL_GameControllerTypeForIndex'.'SDL2.dll'.'SDL_GameControllerTypeForIndex' +++'_SDL_GameControllerGetType'.'SDL2.dll'.'SDL_GameControllerGetType' +++'_SDL_GameControllerFromPlayerIndex'.'SDL2.dll'.'SDL_GameControllerFromPlayerIndex' +++'_SDL_GameControllerSetPlayerIndex'.'SDL2.dll'.'SDL_GameControllerSetPlayerIndex' +++'_SDL_JoystickFromPlayerIndex'.'SDL2.dll'.'SDL_JoystickFromPlayerIndex' +++'_SDL_JoystickSetPlayerIndex'.'SDL2.dll'.'SDL_JoystickSetPlayerIndex' +++'_SDL_SetTextureScaleMode'.'SDL2.dll'.'SDL_SetTextureScaleMode' +++'_SDL_GetTextureScaleMode'.'SDL2.dll'.'SDL_GetTextureScaleMode' +++'_SDL_OnApplicationWillTerminate'.'SDL2.dll'.'SDL_OnApplicationWillTerminate' +++'_SDL_OnApplicationDidReceiveMemoryWarning'.'SDL2.dll'.'SDL_OnApplicationDidReceiveMemoryWarning' +++'_SDL_OnApplicationWillResignActive'.'SDL2.dll'.'SDL_OnApplicationWillResignActive' +++'_SDL_OnApplicationDidEnterBackground'.'SDL2.dll'.'SDL_OnApplicationDidEnterBackground' +++'_SDL_OnApplicationWillEnterForeground'.'SDL2.dll'.'SDL_OnApplicationWillEnterForeground' +++'_SDL_OnApplicationDidBecomeActive'.'SDL2.dll'.'SDL_OnApplicationDidBecomeActive' +# ++'_SDL_OnApplicationDidChangeStatusBarOrientation'.'SDL2.dll'.'SDL_OnApplicationDidChangeStatusBarOrientation' +# ++'_SDL_GetAndroidSDKVersion'.'SDL2.dll'.'SDL_GetAndroidSDKVersion' +++'_SDL_isupper'.'SDL2.dll'.'SDL_isupper' +++'_SDL_islower'.'SDL2.dll'.'SDL_islower' +++'_SDL_JoystickAttachVirtual'.'SDL2.dll'.'SDL_JoystickAttachVirtual' +++'_SDL_JoystickDetachVirtual'.'SDL2.dll'.'SDL_JoystickDetachVirtual' +++'_SDL_JoystickIsVirtual'.'SDL2.dll'.'SDL_JoystickIsVirtual' +++'_SDL_JoystickSetVirtualAxis'.'SDL2.dll'.'SDL_JoystickSetVirtualAxis' +++'_SDL_JoystickSetVirtualButton'.'SDL2.dll'.'SDL_JoystickSetVirtualButton' +++'_SDL_JoystickSetVirtualHat'.'SDL2.dll'.'SDL_JoystickSetVirtualHat' +++'_SDL_GetErrorMsg'.'SDL2.dll'.'SDL_GetErrorMsg' +++'_SDL_LockSensors'.'SDL2.dll'.'SDL_LockSensors' +++'_SDL_UnlockSensors'.'SDL2.dll'.'SDL_UnlockSensors' +++'_SDL_Metal_GetLayer'.'SDL2.dll'.'SDL_Metal_GetLayer' +++'_SDL_Metal_GetDrawableSize'.'SDL2.dll'.'SDL_Metal_GetDrawableSize' +++'_SDL_trunc'.'SDL2.dll'.'SDL_trunc' +++'_SDL_truncf'.'SDL2.dll'.'SDL_truncf' +++'_SDL_GetPreferredLocales'.'SDL2.dll'.'SDL_GetPreferredLocales' +++'_SDL_SIMDRealloc'.'SDL2.dll'.'SDL_SIMDRealloc' +# ++'_SDL_AndroidRequestPermission'.'SDL2.dll'.'SDL_AndroidRequestPermission' +++'_SDL_OpenURL'.'SDL2.dll'.'SDL_OpenURL' +++'_SDL_HasSurfaceRLE'.'SDL2.dll'.'SDL_HasSurfaceRLE' +++'_SDL_GameControllerHasLED'.'SDL2.dll'.'SDL_GameControllerHasLED' +++'_SDL_GameControllerSetLED'.'SDL2.dll'.'SDL_GameControllerSetLED' +++'_SDL_JoystickHasLED'.'SDL2.dll'.'SDL_JoystickHasLED' +++'_SDL_JoystickSetLED'.'SDL2.dll'.'SDL_JoystickSetLED' +++'_SDL_GameControllerRumbleTriggers'.'SDL2.dll'.'SDL_GameControllerRumbleTriggers' +++'_SDL_JoystickRumbleTriggers'.'SDL2.dll'.'SDL_JoystickRumbleTriggers' +++'_SDL_GameControllerHasAxis'.'SDL2.dll'.'SDL_GameControllerHasAxis' +++'_SDL_GameControllerHasButton'.'SDL2.dll'.'SDL_GameControllerHasButton' +++'_SDL_GameControllerGetNumTouchpads'.'SDL2.dll'.'SDL_GameControllerGetNumTouchpads' +++'_SDL_GameControllerGetNumTouchpadFingers'.'SDL2.dll'.'SDL_GameControllerGetNumTouchpadFingers' +++'_SDL_GameControllerGetTouchpadFinger'.'SDL2.dll'.'SDL_GameControllerGetTouchpadFinger' +++'_SDL_crc32'.'SDL2.dll'.'SDL_crc32' +++'_SDL_GameControllerGetSerial'.'SDL2.dll'.'SDL_GameControllerGetSerial' +++'_SDL_JoystickGetSerial'.'SDL2.dll'.'SDL_JoystickGetSerial' +++'_SDL_GameControllerHasSensor'.'SDL2.dll'.'SDL_GameControllerHasSensor' +++'_SDL_GameControllerSetSensorEnabled'.'SDL2.dll'.'SDL_GameControllerSetSensorEnabled' +++'_SDL_GameControllerIsSensorEnabled'.'SDL2.dll'.'SDL_GameControllerIsSensorEnabled' +++'_SDL_GameControllerGetSensorData'.'SDL2.dll'.'SDL_GameControllerGetSensorData' +++'_SDL_wcscasecmp'.'SDL2.dll'.'SDL_wcscasecmp' +++'_SDL_wcsncasecmp'.'SDL2.dll'.'SDL_wcsncasecmp' +++'_SDL_round'.'SDL2.dll'.'SDL_round' +++'_SDL_roundf'.'SDL2.dll'.'SDL_roundf' +++'_SDL_lround'.'SDL2.dll'.'SDL_lround' +++'_SDL_lroundf'.'SDL2.dll'.'SDL_lroundf' +++'_SDL_SoftStretchLinear'.'SDL2.dll'.'SDL_SoftStretchLinear' +++'_SDL_RenderGetD3D11Device'.'SDL2.dll'.'SDL_RenderGetD3D11Device' +++'_SDL_UpdateNVTexture'.'SDL2.dll'.'SDL_UpdateNVTexture' +++'_SDL_SetWindowKeyboardGrab'.'SDL2.dll'.'SDL_SetWindowKeyboardGrab' +++'_SDL_SetWindowMouseGrab'.'SDL2.dll'.'SDL_SetWindowMouseGrab' +++'_SDL_GetWindowKeyboardGrab'.'SDL2.dll'.'SDL_GetWindowKeyboardGrab' +++'_SDL_GetWindowMouseGrab'.'SDL2.dll'.'SDL_GetWindowMouseGrab' +++'_SDL_isalpha'.'SDL2.dll'.'SDL_isalpha' +++'_SDL_isalnum'.'SDL2.dll'.'SDL_isalnum' +++'_SDL_isblank'.'SDL2.dll'.'SDL_isblank' +++'_SDL_iscntrl'.'SDL2.dll'.'SDL_iscntrl' +++'_SDL_isxdigit'.'SDL2.dll'.'SDL_isxdigit' +++'_SDL_ispunct'.'SDL2.dll'.'SDL_ispunct' +++'_SDL_isprint'.'SDL2.dll'.'SDL_isprint' +++'_SDL_isgraph'.'SDL2.dll'.'SDL_isgraph' +# ++'_SDL_AndroidShowToast'.'SDL2.dll'.'SDL_AndroidShowToast' +++'_SDL_GetAudioDeviceSpec'.'SDL2.dll'.'SDL_GetAudioDeviceSpec' +++'_SDL_TLSCleanup'.'SDL2.dll'.'SDL_TLSCleanup' +++'_SDL_SetWindowAlwaysOnTop'.'SDL2.dll'.'SDL_SetWindowAlwaysOnTop' +++'_SDL_FlashWindow'.'SDL2.dll'.'SDL_FlashWindow' +++'_SDL_GameControllerSendEffect'.'SDL2.dll'.'SDL_GameControllerSendEffect' +++'_SDL_JoystickSendEffect'.'SDL2.dll'.'SDL_JoystickSendEffect' +++'_SDL_GameControllerGetSensorDataRate'.'SDL2.dll'.'SDL_GameControllerGetSensorDataRate' +++'_SDL_SetTextureUserData'.'SDL2.dll'.'SDL_SetTextureUserData' +++'_SDL_GetTextureUserData'.'SDL2.dll'.'SDL_GetTextureUserData' +++'_SDL_RenderGeometry'.'SDL2.dll'.'SDL_RenderGeometry' +++'_SDL_RenderGeometryRaw'.'SDL2.dll'.'SDL_RenderGeometryRaw' +++'_SDL_RenderSetVSync'.'SDL2.dll'.'SDL_RenderSetVSync' +++'_SDL_asprintf'.'SDL2.dll'.'SDL_asprintf' +++'_SDL_vasprintf'.'SDL2.dll'.'SDL_vasprintf' +++'_SDL_GetWindowICCProfile'.'SDL2.dll'.'SDL_GetWindowICCProfile' +++'_SDL_GetTicks64'.'SDL2.dll'.'SDL_GetTicks64' +# ++'_SDL_LinuxSetThreadPriorityAndPolicy'.'SDL2.dll'.'SDL_LinuxSetThreadPriorityAndPolicy' +++'_SDL_GameControllerGetAppleSFSymbolsNameForButton'.'SDL2.dll'.'SDL_GameControllerGetAppleSFSymbolsNameForButton' +++'_SDL_GameControllerGetAppleSFSymbolsNameForAxis'.'SDL2.dll'.'SDL_GameControllerGetAppleSFSymbolsNameForAxis' +++'_SDL_hid_init'.'SDL2.dll'.'SDL_hid_init' +++'_SDL_hid_exit'.'SDL2.dll'.'SDL_hid_exit' +++'_SDL_hid_device_change_count'.'SDL2.dll'.'SDL_hid_device_change_count' +++'_SDL_hid_enumerate'.'SDL2.dll'.'SDL_hid_enumerate' +++'_SDL_hid_free_enumeration'.'SDL2.dll'.'SDL_hid_free_enumeration' +++'_SDL_hid_open'.'SDL2.dll'.'SDL_hid_open' +++'_SDL_hid_open_path'.'SDL2.dll'.'SDL_hid_open_path' +++'_SDL_hid_write'.'SDL2.dll'.'SDL_hid_write' +++'_SDL_hid_read_timeout'.'SDL2.dll'.'SDL_hid_read_timeout' +++'_SDL_hid_read'.'SDL2.dll'.'SDL_hid_read' +++'_SDL_hid_set_nonblocking'.'SDL2.dll'.'SDL_hid_set_nonblocking' +++'_SDL_hid_send_feature_report'.'SDL2.dll'.'SDL_hid_send_feature_report' +++'_SDL_hid_get_feature_report'.'SDL2.dll'.'SDL_hid_get_feature_report' +++'_SDL_hid_close'.'SDL2.dll'.'SDL_hid_close' +++'_SDL_hid_get_manufacturer_string'.'SDL2.dll'.'SDL_hid_get_manufacturer_string' +++'_SDL_hid_get_product_string'.'SDL2.dll'.'SDL_hid_get_product_string' +++'_SDL_hid_get_serial_number_string'.'SDL2.dll'.'SDL_hid_get_serial_number_string' +++'_SDL_hid_get_indexed_string'.'SDL2.dll'.'SDL_hid_get_indexed_string' +++'_SDL_SetWindowMouseRect'.'SDL2.dll'.'SDL_SetWindowMouseRect' +++'_SDL_GetWindowMouseRect'.'SDL2.dll'.'SDL_GetWindowMouseRect' +++'_SDL_RenderWindowToLogical'.'SDL2.dll'.'SDL_RenderWindowToLogical' +++'_SDL_RenderLogicalToWindow'.'SDL2.dll'.'SDL_RenderLogicalToWindow' +++'_SDL_JoystickHasRumble'.'SDL2.dll'.'SDL_JoystickHasRumble' +++'_SDL_JoystickHasRumbleTriggers'.'SDL2.dll'.'SDL_JoystickHasRumbleTriggers' +++'_SDL_GameControllerHasRumble'.'SDL2.dll'.'SDL_GameControllerHasRumble' +++'_SDL_GameControllerHasRumbleTriggers'.'SDL2.dll'.'SDL_GameControllerHasRumbleTriggers' +++'_SDL_hid_ble_scan'.'SDL2.dll'.'SDL_hid_ble_scan' +++'_SDL_PremultiplyAlpha'.'SDL2.dll'.'SDL_PremultiplyAlpha' +# ++'_SDL_AndroidSendMessage'.'SDL2.dll'.'SDL_AndroidSendMessage' +++'_SDL_GetTouchName'.'SDL2.dll'.'SDL_GetTouchName' +++'_SDL_ClearComposition'.'SDL2.dll'.'SDL_ClearComposition' +++'_SDL_IsTextInputShown'.'SDL2.dll'.'SDL_IsTextInputShown' +++'_SDL_HasIntersectionF'.'SDL2.dll'.'SDL_HasIntersectionF' +++'_SDL_IntersectFRect'.'SDL2.dll'.'SDL_IntersectFRect' +++'_SDL_UnionFRect'.'SDL2.dll'.'SDL_UnionFRect' +++'_SDL_EncloseFPoints'.'SDL2.dll'.'SDL_EncloseFPoints' +++'_SDL_IntersectFRectAndLine'.'SDL2.dll'.'SDL_IntersectFRectAndLine' +++'_SDL_RenderGetWindow'.'SDL2.dll'.'SDL_RenderGetWindow' +++'_SDL_bsearch'.'SDL2.dll'.'SDL_bsearch' +++'_SDL_GameControllerPathForIndex'.'SDL2.dll'.'SDL_GameControllerPathForIndex' +++'_SDL_GameControllerPath'.'SDL2.dll'.'SDL_GameControllerPath' +++'_SDL_JoystickPathForIndex'.'SDL2.dll'.'SDL_JoystickPathForIndex' +++'_SDL_JoystickPath'.'SDL2.dll'.'SDL_JoystickPath' +++'_SDL_JoystickAttachVirtualEx'.'SDL2.dll'.'SDL_JoystickAttachVirtualEx' diff --git a/src/dynapi/gendynapi.pl b/src/dynapi/gendynapi.pl index b99a8a492..a9ff9723b 100755 --- a/src/dynapi/gendynapi.pl +++ b/src/dynapi/gendynapi.pl @@ -33,6 +33,7 @@ use File::Basename; chdir(dirname(__FILE__) . '/../..'); my $sdl_dynapi_procs_h = "src/dynapi/SDL_dynapi_procs.h"; my $sdl_dynapi_overrides_h = "src/dynapi/SDL_dynapi_overrides.h"; +my $sdl2_exports = "src/dynapi/SDL2.exports"; my %existing = (); if (-f $sdl_dynapi_procs_h) { @@ -47,6 +48,7 @@ if (-f $sdl_dynapi_procs_h) { open(SDL_DYNAPI_PROCS_H, '>>', $sdl_dynapi_procs_h) or die("Can't open $sdl_dynapi_procs_h: $!\n"); open(SDL_DYNAPI_OVERRIDES_H, '>>', $sdl_dynapi_overrides_h) or die("Can't open $sdl_dynapi_overrides_h: $!\n"); +open(SDL2_EXPORTS, '>>', $sdl2_exports) or die("Can't open $sdl2_exports: $!\n"); opendir(HEADERS, 'include') or die("Can't open include dir: $!\n"); while (my $d = readdir(HEADERS)) { @@ -133,6 +135,7 @@ while (my $d = readdir(HEADERS)) { print("NEW: $decl\n"); print SDL_DYNAPI_PROCS_H "SDL_DYNAPI_PROC($rc,$fn,$paramstr,$argstr,$retstr)\n"; print SDL_DYNAPI_OVERRIDES_H "#define $fn ${fn}_REAL\n"; + print SDL2_EXPORTS "++'_${fn}'.'SDL2.dll'.'${fn}'\n"; } else { print("Failed to parse decl [$decl]!\n"); } @@ -143,5 +146,6 @@ closedir(HEADERS); close(SDL_DYNAPI_PROCS_H); close(SDL_DYNAPI_OVERRIDES_H); +close(SDL2_EXPORTS); # vi: set ts=4 sw=4 expandtab: