Remove the '_' prefix from symbol names in Windows OpenWatcom builds
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927
diff --git a/Makefile.w32 b/Makefile.w32
index 780593f..48f4e2b 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 0000000..c1c4f29
--- /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 b99a8a4..a9ff972 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: