aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MacShit/AppIcon.icnsbin0 -> 622552 bytes
-rw-r--r--MacShit/Info.plist (renamed from Info.plist)2
-rw-r--r--Makefile35
-rwxr-xr-xWindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/bin/SDL2.dll (renamed from SDL2-2.24.0/x86_64-w64-mingw32/bin/SDL2.dll)bin2450944 -> 2450944 bytes
-rwxr-xr-xWindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/bin/sdl2-config (renamed from SDL2-2.24.0/x86_64-w64-mingw32/bin/sdl2-config)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_assert.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_assert.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_atomic.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_atomic.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_audio.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_audio.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_bits.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_bits.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_blendmode.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_blendmode.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_clipboard.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_clipboard.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_config.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_config.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_cpuinfo.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_cpuinfo.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_egl.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_egl.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_endian.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_endian.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_error.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_error.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_events.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_events.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_filesystem.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_filesystem.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gamecontroller.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gamecontroller.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gesture.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gesture.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_guid.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_guid.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_haptic.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_haptic.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hidapi.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hidapi.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hints.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hints.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_joystick.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_joystick.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keyboard.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keyboard.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keycode.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keycode.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_loadso.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_loadso.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_locale.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_locale.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_log.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_log.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_main.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_main.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_messagebox.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_messagebox.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_metal.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_metal.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_misc.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_misc.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mouse.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mouse.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mutex.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mutex.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_name.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_name.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl_glext.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl_glext.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2ext.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2ext.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2platform.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2platform.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_khrplatform.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_khrplatform.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_pixels.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_pixels.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_platform.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_platform.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_power.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_power.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_quit.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_quit.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rect.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rect.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_render.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_render.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_revision.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_revision.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rwops.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rwops.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_scancode.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_scancode.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_sensor.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_sensor.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_shape.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_shape.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_stdinc.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_stdinc.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_surface.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_surface.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_system.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_system.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_syswm.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_syswm.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_assert.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_assert.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_common.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_common.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_compare.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_compare.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_crc32.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_crc32.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_font.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_font.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_fuzzer.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_fuzzer.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_harness.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_harness.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_images.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_images.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_log.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_log.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_md5.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_md5.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_memory.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_memory.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_random.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_random.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_thread.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_thread.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_timer.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_timer.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_touch.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_touch.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_types.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_types.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_version.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_version.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_video.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_video.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_vulkan.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_vulkan.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/begin_code.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/begin_code.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/close_code.h (renamed from SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/close_code.h)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config-version.cmake (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config-version.cmake)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config.cmake (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config.cmake)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.a (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.a)bin18415312 -> 18415312 bytes
-rwxr-xr-xWindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.dll.a (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.dll.a)bin544888 -> 544888 bytes
-rwxr-xr-xWindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.la (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.la)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.a (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.a)bin594674 -> 594674 bytes
-rwxr-xr-xWindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.la (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.la)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.a (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.a)bin9080 -> 9080 bytes
-rwxr-xr-xWindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.la (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.la)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/pkgconfig/sdl2.pc (renamed from SDL2-2.24.0/x86_64-w64-mingw32/lib/pkgconfig/sdl2.pc)0
-rw-r--r--WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/share/aclocal/sdl2.m4 (renamed from SDL2-2.24.0/x86_64-w64-mingw32/share/aclocal/sdl2.m4)0
-rwxr-xr-xWindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/bin/SDL2_image.dllbin0 -> 947931 bytes
-rw-r--r--WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/include/SDL2/SDL_image.h2173
-rw-r--r--WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/lib/cmake/SDL2_image/sdl2_image-config-version.cmake13
-rw-r--r--WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/lib/cmake/SDL2_image/sdl2_image-config.cmake99
-rw-r--r--WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/lib/libSDL2_image.abin0 -> 1123840 bytes
-rwxr-xr-xWindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/lib/libSDL2_image.dll.abin0 -> 37990 bytes
-rwxr-xr-xWindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/lib/libSDL2_image.la41
-rw-r--r--WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/lib/pkgconfig/SDL2_image.pc14
-rwxr-xr-xWindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/bin/SDL2_mixer.dllbin0 -> 1564645 bytes
-rw-r--r--WindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/include/SDL2/SDL_mixer.h2784
-rw-r--r--WindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/lib/cmake/SDL2_mixer/sdl2_mixer-config-version.cmake12
-rw-r--r--WindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/lib/cmake/SDL2_mixer/sdl2_mixer-config.cmake145
-rw-r--r--WindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/lib/libSDL2_mixer.abin0 -> 1925510 bytes
-rwxr-xr-xWindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/lib/libSDL2_mixer.dll.abin0 -> 62558 bytes
-rwxr-xr-xWindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/lib/libSDL2_mixer.la41
-rw-r--r--WindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/lib/pkgconfig/SDL2_mixer.pc13
-rw-r--r--WindowsShit/SDL2_ttf-2.24.0/.git-hash1
-rwxr-xr-xWindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/bin/SDL2_ttf.dllbin0 -> 1807872 bytes
-rw-r--r--WindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_ttf.h2343
-rw-r--r--WindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2_ttf/sdl2_ttf-config-version.cmake12
-rw-r--r--WindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2_ttf/sdl2_ttf-config.cmake95
-rw-r--r--WindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/lib/libSDL2_ttf.abin0 -> 3263672 bytes
-rwxr-xr-xWindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/lib/libSDL2_ttf.dll.abin0 -> 59760 bytes
-rwxr-xr-xWindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/lib/libSDL2_ttf.la41
-rw-r--r--WindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/lib/pkgconfig/SDL2_ttf.pc13
-rw-r--r--src/main.cpp3
120 files changed, 7872 insertions, 8 deletions
diff --git a/MacShit/AppIcon.icns b/MacShit/AppIcon.icns
new file mode 100644
index 0000000..bb4917c
--- /dev/null
+++ b/MacShit/AppIcon.icns
Binary files differ
diff --git a/Info.plist b/MacShit/Info.plist
index 646d6fa..ae7618e 100644
--- a/Info.plist
+++ b/MacShit/Info.plist
@@ -14,6 +14,6 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleIconFile</key>
- <string>AppIcon.icns</key>
+ <string>AppIcon</string>
</dict>
</plist>
diff --git a/Makefile b/Makefile
index 71dbd3d..a6c81bb 100644
--- a/Makefile
+++ b/Makefile
@@ -2,9 +2,15 @@ CXX = g++
CC = gcc
-NT_SDL_DLL_LOCATION = SDL2-2.24.0/x86_64-w64-mingw32/bin/SDL2.dll
+NT_SDL_DLL_LOCATION = WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/bin/SDL2.dll
+NT_SDL_TTF_DLL_LOCATION = WindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/bin/SDL2_ttf.dll
+NT_SDL_IMAGE_DLL_LOCATION = WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/bin/SDL2_image.dll
+NT_SDL_MIXER_DLL_LOCATION = WindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/bin/SDL2_mixer.dll
NT_LIBWINPTHREAD_LOCATION = WindowsShit/libwinpthread-1.dll
-MACOS_SDL_DYLIB_LOCATION = /opt/homebrew/opt/sdl2/lib/libSDL2-2.0.0.dylib
+MACOS_SDL_DYLIB_LOCATION = /opt/homebrew/opt/sdl2/lib/libSDL2.dylib
+MACOS_SDL_TTF_DYLIB_LOCATION = /opt/homebrew/opt/sdl2_ttf/lib/libSDL2_ttf.dylib
+MACOS_SDL_IMAGE_DYLIB_LOCATION = /opt/homebrew/opt/sdl2_image/lib/libSDL2_image.dylib
+MACOS_SDL_MIXER_DYLIB_LOCATION = /opt/homebrew/opt/sdl2_mixer/lib/libSDL2_mixer.dylib
APP_NAME = ShowdownOfTheSticks
UNAME_S := $(shell uname -s)
@@ -33,6 +39,7 @@ ifeq ($(UNAME_S),Darwin)
TARGET_DIR = $(BUILD_DIR)/dist/$(APP_NAME).app/Contents/MacOS
TARGET = $(TARGET_DIR)/$(APP_NAME)
INFO_PLIST = $(BUILD_DIR)/dist/$(APP_NAME).app/Contents/Info.plist
+ APP_ICNS = $(BUILD_DIR)/dist/$(APP_NAME).app/Contents/Resources/AppIcon.icns
MAKE_APP = true
else
TARGET_DIR = $(BUILD_DIR)/dist
@@ -44,7 +51,7 @@ endif
CXXFLAGS = -I/opt/homebrew/include -D_THREAD_SAFE -std=c++17
CFLAGS = -I/opt/homebrew/include -D_THREAD_SAFE
-LDFLAGS = -L/opt/homebrew/lib -lSDL2
+LDFLAGS = -L/opt/homebrew/lib -lSDL2 -lSDL2_ttf -lSDL2_image -lSDL2_mixer
ifeq ($(OS),Windows_NT)
CC = x86_64-w64-mingw32-gcc
@@ -52,9 +59,12 @@ ifeq ($(OS),Windows_NT)
TARGET_DIR = $(BUILD_DIR)/dist
TARGET = $(TARGET_DIR)/$(APP_NAME).exe
MAKE_APP = false
- CXXFLAGS = -ISDL2-2.24.0/x86_64-w64-mingw32/include -D_THREAD_SAFE -std=c++17 -static-libgcc -static-libstdc++
- CFLAGS = -ISDL2-2.24.0/x86_64-w64-mingw32/include -D_THREAD_SAFE
- LDFLAGS = -LSDL2-2.24.0/x86_64-w64-mingw32/lib -lSDL2 -static-libgcc -static-libstdc++
+ CXXFLAGS = -IWindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include -IWindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/include -IWindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/include -IWindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/include
+ CXXFLAGS += -D_THREAD_SAFE -std=c++17 -static-libgcc -static-libstdc++
+ CFLAGS = -IWindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include -IWindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/include -IWindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/include -IWindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/include
+ CFLAGS += -D_THREAD_SAFE
+ LDFLAGS = -LWindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib -LWindowsShit/SDL2_ttf-2.24.0/x86_64-w64-mingw32/lib -LWindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/lib -LWindowsShit/SDL2_mixer-2.6.1/x86_64-w64-mingw32/lib
+ LDFLAGS += -lSDL2 -lSDL2_ttf -lSDL2_image -lSDL2_mixer -static-libgcc -static-libstdc++
endif
all: $(TARGET)
@@ -64,14 +74,25 @@ $(TARGET): $(OBJ_CPP) $(LUA_OBJ)
$(CXX) $(OBJ_CPP) $(LUA_OBJ) -o $(TARGET) $(LDFLAGS)
ifeq ($(MAKE_APP),true)
mkdir -p $(dir $(INFO_PLIST))
- cp Info.plist $(INFO_PLIST)
+ mkdir -p $(dir $(APP_ICNS))
+ cp MacShit/Info.plist $(INFO_PLIST)
+ cp MacShit/AppIcon.icns $(APP_ICNS)
mkdir -p $(TARGET_DIR)
cp $(MACOS_SDL_DYLIB_LOCATION) $(TARGET_DIR)/libSDL2.dylib
+ cp $(MACOS_SDL_TTF_DYLIB_LOCATION) $(TARGET_DIR)/libSDL2_ttf.dylib
+ cp $(MACOS_SDL_IMAGE_DYLIB_LOCATION) $(TARGET_DIR)/libSDL2_image.dylib
+ cp $(MACOS_SDL_MIXER_DYLIB_LOCATION) $(TARGET_DIR)/libSDL2_mixer.dylib
install_name_tool -change $(MACOS_SDL_DYLIB_LOCATION) @executable_path/libSDL2.dylib $(TARGET)
+ install_name_tool -change $(MACOS_SDL_TTF_DYLIB_LOCATION) @executable_path/libSDL2_ttf.dylib $(TARGET)
+ install_name_tool -change $(MACOS_SDL_IMAGE_DYLIB_LOCATION) @executable_path/libSDL2_image.dylib $(TARGET)
+ install_name_tool -change $(MACOS_SDL_MIXER_DYLIB_LOCATION) @executable_path/libSDL2_mixer.dylib $(TARGET)
otool -l $(TARGET)
endif
ifeq ($(OS),Windows_NT)
cp $(NT_SDL_DLL_LOCATION) $(TARGET_DIR)/SDL2.dll
+ cp $(NT_SDL_TTF_DLL_LOCATION) $(TARGET_DIR)/SDL2_ttf.dll
+ cp $(NT_SDL_IMAGE_DLL_LOCATION) $(TARGET_DIR)/SDL2_image.dll
+ cp $(NT_SDL_MIXER_DLL_LOCATION) $(TARGET_DIR)/SDL2_mixer.dll
cp $(NT_LIBWINPTHREAD_LOCATION) $(TARGET_DIR)/libwinpthread-1.dll
endif
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/bin/SDL2.dll b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/bin/SDL2.dll
index 2282f93..2282f93 100755
--- a/SDL2-2.24.0/x86_64-w64-mingw32/bin/SDL2.dll
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/bin/SDL2.dll
Binary files differ
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/bin/sdl2-config b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/bin/sdl2-config
index 059ba35..059ba35 100755
--- a/SDL2-2.24.0/x86_64-w64-mingw32/bin/sdl2-config
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/bin/sdl2-config
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL.h
index 12e7f31..12e7f31 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_assert.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_assert.h
index e71cf97..e71cf97 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_assert.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_assert.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_atomic.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_atomic.h
index 2eace20..2eace20 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_atomic.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_atomic.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_audio.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_audio.h
index c42de3e..c42de3e 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_audio.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_audio.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_bits.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_bits.h
index 22cb853..22cb853 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_bits.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_bits.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_blendmode.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_blendmode.h
index 08c9f9d..08c9f9d 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_blendmode.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_blendmode.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_clipboard.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_clipboard.h
index 9351363..9351363 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_clipboard.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_clipboard.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_config.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_config.h
index 3ad3e8f..3ad3e8f 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_config.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_config.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_cpuinfo.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_cpuinfo.h
index 43a8ac5..43a8ac5 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_cpuinfo.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_cpuinfo.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_egl.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_egl.h
index f90e27b..f90e27b 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_egl.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_egl.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_endian.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_endian.h
index c3f8431..c3f8431 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_endian.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_endian.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_error.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_error.h
index 5c961e4..5c961e4 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_error.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_error.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_events.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_events.h
index c0fc9bb..c0fc9bb 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_events.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_events.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_filesystem.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_filesystem.h
index a7606bd..a7606bd 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_filesystem.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_filesystem.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gamecontroller.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gamecontroller.h
index ace1c16..ace1c16 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gamecontroller.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gamecontroller.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gesture.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gesture.h
index e2caea2..e2caea2 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gesture.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_gesture.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_guid.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_guid.h
index b971636..b971636 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_guid.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_guid.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_haptic.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_haptic.h
index f240ae9..f240ae9 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_haptic.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_haptic.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hidapi.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hidapi.h
index 354af5c..354af5c 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hidapi.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hidapi.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hints.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hints.h
index e7cddba..e7cddba 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hints.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_hints.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_joystick.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_joystick.h
index 1a7c66e..1a7c66e 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_joystick.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_joystick.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keyboard.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keyboard.h
index e7663fb..e7663fb 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keyboard.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keyboard.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keycode.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keycode.h
index 65420f2..65420f2 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keycode.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_keycode.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_loadso.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_loadso.h
index 61857c8..61857c8 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_loadso.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_loadso.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_locale.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_locale.h
index 7515779..7515779 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_locale.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_locale.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_log.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_log.h
index 1d8b20b..1d8b20b 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_log.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_log.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_main.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_main.h
index 8b26708..8b26708 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_main.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_main.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_messagebox.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_messagebox.h
index d763534..d763534 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_messagebox.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_messagebox.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_metal.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_metal.h
index eb30828..eb30828 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_metal.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_metal.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_misc.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_misc.h
index 261b6b8..261b6b8 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_misc.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_misc.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mouse.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mouse.h
index b318c70..b318c70 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mouse.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mouse.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mutex.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mutex.h
index 173468f..173468f 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mutex.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_mutex.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_name.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_name.h
index 6ff35b4..6ff35b4 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_name.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_name.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl.h
index 9aed503..9aed503 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl_glext.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl_glext.h
index 6a402b1..6a402b1 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl_glext.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengl_glext.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles.h
index 8511b96..8511b96 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2.h
index 172fcb3..172fcb3 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2.h
index c62fb0a..c62fb0a 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2ext.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2ext.h
index e8ca8b1..e8ca8b1 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2ext.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2ext.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2platform.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2platform.h
index c325686..c325686 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2platform.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_gl2platform.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_khrplatform.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_khrplatform.h
index c9e6f17..c9e6f17 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_khrplatform.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_opengles2_khrplatform.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_pixels.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_pixels.h
index 5d2c0c8..5d2c0c8 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_pixels.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_pixels.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_platform.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_platform.h
index f1f6f8b..f1f6f8b 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_platform.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_platform.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_power.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_power.h
index ecb3f4b..ecb3f4b 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_power.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_power.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_quit.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_quit.h
index 4090f7f..4090f7f 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_quit.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_quit.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rect.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rect.h
index 6c641c5..6c641c5 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rect.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rect.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_render.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_render.h
index 30ef3d6..30ef3d6 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_render.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_render.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_revision.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_revision.h
index f285b72..f285b72 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_revision.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_revision.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rwops.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rwops.h
index 3960f56..3960f56 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rwops.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_rwops.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_scancode.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_scancode.h
index aaa782f..aaa782f 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_scancode.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_scancode.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_sensor.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_sensor.h
index a2f30e0..a2f30e0 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_sensor.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_sensor.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_shape.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_shape.h
index 1bca927..1bca927 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_shape.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_shape.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_stdinc.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_stdinc.h
index 5f79c95..5f79c95 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_stdinc.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_stdinc.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_surface.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_surface.h
index 838de65..838de65 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_surface.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_surface.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_system.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_system.h
index 0edca63..0edca63 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_system.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_system.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_syswm.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_syswm.h
index 45f8e75..45f8e75 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_syswm.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_syswm.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test.h
index 8cc9d61..8cc9d61 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_assert.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_assert.h
index 7342305..7342305 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_assert.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_assert.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_common.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_common.h
index b86520d..b86520d 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_common.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_common.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_compare.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_compare.h
index 8a7a070..8a7a070 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_compare.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_compare.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_crc32.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_crc32.h
index 049da74..049da74 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_crc32.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_crc32.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_font.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_font.h
index 6e7247d..6e7247d 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_font.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_font.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_fuzzer.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_fuzzer.h
index bbe8eb8..bbe8eb8 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_fuzzer.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_fuzzer.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_harness.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_harness.h
index 1fd4236..1fd4236 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_harness.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_harness.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_images.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_images.h
index e2bfc36..e2bfc36 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_images.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_images.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_log.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_log.h
index e3d39ad..e3d39ad 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_log.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_log.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_md5.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_md5.h
index 17b1d2b..17b1d2b 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_md5.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_md5.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_memory.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_memory.h
index cc2edc1..cc2edc1 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_memory.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_memory.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_random.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_random.h
index b1d6060..b1d6060 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_random.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_test_random.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_thread.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_thread.h
index 7364f81..7364f81 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_thread.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_thread.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_timer.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_timer.h
index 62f81d4..62f81d4 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_timer.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_timer.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_touch.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_touch.h
index 9592413..9592413 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_touch.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_touch.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_types.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_types.h
index 355fb50..355fb50 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_types.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_types.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_version.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_version.h
index fbe09db..fbe09db 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_version.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_version.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_video.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_video.h
index 0b1065d..0b1065d 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_video.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_video.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_vulkan.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_vulkan.h
index ab86a0b..ab86a0b 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_vulkan.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/SDL_vulkan.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/begin_code.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/begin_code.h
index b3e69e8..b3e69e8 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/begin_code.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/begin_code.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/close_code.h b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/close_code.h
index dc73432..dc73432 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/close_code.h
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/include/SDL2/close_code.h
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config-version.cmake b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config-version.cmake
index f6683e8..f6683e8 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config-version.cmake
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config-version.cmake
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config.cmake b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config.cmake
index 6ab607d..6ab607d 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config.cmake
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config.cmake
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.a b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.a
index 706ae17..706ae17 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.a
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.a
Binary files differ
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.dll.a b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.dll.a
index da4e449..da4e449 100755
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.dll.a
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.dll.a
Binary files differ
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.la b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.la
index ff52a74..ff52a74 100755
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.la
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2.la
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.a b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.a
index 614c8e3..614c8e3 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.a
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.a
Binary files differ
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.la b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.la
index 1a8ccd6..1a8ccd6 100755
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.la
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2_test.la
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.a b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.a
index 986f130..986f130 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.a
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.a
Binary files differ
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.la b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.la
index 7da0aa3..7da0aa3 100755
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.la
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/libSDL2main.la
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/lib/pkgconfig/sdl2.pc b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/pkgconfig/sdl2.pc
index e60d477..e60d477 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/lib/pkgconfig/sdl2.pc
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/lib/pkgconfig/sdl2.pc
diff --git a/SDL2-2.24.0/x86_64-w64-mingw32/share/aclocal/sdl2.m4 b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/share/aclocal/sdl2.m4
index 710c251..710c251 100644
--- a/SDL2-2.24.0/x86_64-w64-mingw32/share/aclocal/sdl2.m4
+++ b/WindowsShit/SDL2-2.24.0/x86_64-w64-mingw32/share/aclocal/sdl2.m4
diff --git a/WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/bin/SDL2_image.dll b/WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/bin/SDL2_image.dll
new file mode 100755
index 0000000..1a57c1e
--- /dev/null
+++ b/WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/bin/SDL2_image.dll
Binary files differ
diff --git a/WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/include/SDL2/SDL_image.h b/WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/include/SDL2/SDL_image.h
new file mode 100644
index 0000000..5933f74
--- /dev/null
+++ b/WindowsShit/SDL2_image-2.6.0/x86_64-w64-mingw32/include/SDL2/SDL_image.h
@@ -0,0 +1,2173 @@
+/*
+ SDL_image: An example image loading library for use with SDL
+ Copyright (C) 1997-2022 Sam Lantinga <[email protected]>
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+*/
+
+/**
+ * \file SDL_image.h
+ *
+ * Header file for SDL_image library
+ *
+ * A simple library to load images of various formats as SDL surfaces
+ */
+#ifndef SDL_IMAGE_H_
+#define SDL_IMAGE_H_
+
+#include "SDL.h"
+#include "SDL_version.h"
+#include "begin_code.h"
+
+/* Set up for C function definitions, even when using C++ */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
+ */
+#define SDL_IMAGE_MAJOR_VERSION 2
+#define SDL_IMAGE_MINOR_VERSION 6
+#define SDL_IMAGE_PATCHLEVEL 0
+
+/**
+ * This macro can be used to fill a version structure with the compile-time
+ * version of the SDL_image library.
+ */
+#define SDL_IMAGE_VERSION(X) \
+{ \
+ (X)->major = SDL_IMAGE_MAJOR_VERSION; \
+ (X)->minor = SDL_IMAGE_MINOR_VERSION; \
+ (X)->patch = SDL_IMAGE_PATCHLEVEL; \
+}
+
+#if SDL_IMAGE_MAJOR_VERSION < 3 && SDL_MAJOR_VERSION < 3
+/**
+ * This is the version number macro for the current SDL_image version.
+ *
+ * In versions higher than 2.9.0, the minor version overflows into
+ * the thousands digit: for example, 2.23.0 is encoded as 4300.
+ * This macro will not be available in SDL 3.x or SDL_image 3.x.
+ *
+ * Deprecated, use SDL_IMAGE_VERSION_ATLEAST or SDL_IMAGE_VERSION instead.
+ */
+#define SDL_IMAGE_COMPILEDVERSION \
+ SDL_VERSIONNUM(SDL_IMAGE_MAJOR_VERSION, SDL_IMAGE_MINOR_VERSION, SDL_IMAGE_PATCHLEVEL)
+#endif /* SDL_IMAGE_MAJOR_VERSION < 3 && SDL_MAJOR_VERSION < 3 */
+
+/**
+ * This macro will evaluate to true if compiled with SDL_image at least X.Y.Z.
+ */
+#define SDL_IMAGE_VERSION_ATLEAST(X, Y, Z) \
+ ((SDL_IMAGE_MAJOR_VERSION >= X) && \
+ (SDL_IMAGE_MAJOR_VERSION > X || SDL_IMAGE_MINOR_VERSION >= Y) && \
+ (SDL_IMAGE_MAJOR_VERSION > X || SDL_IMAGE_MINOR_VERSION > Y || SDL_IMAGE_PATCHLEVEL >= Z))
+
+/**
+ * This function gets the version of the dynamically linked SDL_image library.
+ *
+ * it should NOT be used to fill a version structure, instead you should use
+ * the SDL_IMAGE_VERSION() macro.
+ *
+ * \returns SDL_image version
+ */
+extern DECLSPEC const SDL_version * SDLCALL IMG_Linked_Version(void);
+
+/**
+ * Initialization flags
+ */
+typedef enum
+{
+ IMG_INIT_JPG = 0x00000001,
+ IMG_INIT_PNG = 0x00000002,
+ IMG_INIT_TIF = 0x00000004,
+ IMG_INIT_WEBP = 0x00000008,
+ IMG_INIT_JXL = 0x00000010,
+ IMG_INIT_AVIF = 0x00000020
+} IMG_InitFlags;
+
+/**
+ * Initialize SDL_image.
+ *
+ * This function loads dynamic libraries that SDL_image needs, and prepares
+ * them for use. This must be the first function you call in SDL_image, and if
+ * it fails you should not continue with the library.
+ *
+ * Flags should be one or more flags from IMG_InitFlags OR'd together. It
+ * returns the flags successfully initialized, or 0 on failure.
+ *
+ * Currently, these flags are:
+ *
+ * - `_INIT_JPG`
+ * - `_INIT_PNG`
+ * - `_INIT_TIF`
+ * - `_INIT_WEBP`
+ * - `_INIT_JXL`
+ * - `_INIT_AVIF`
+ *
+ * More flags may be added in a future SDL_image release.
+ *
+ * This function may need to load external shared libraries to support various
+ * codecs, which means this function can fail to initialize that support on an
+ * otherwise-reasonable system if the library isn't available; this is not
+ * just a question of exceptional circumstances like running out of memory at
+ * startup!
+ *
+ * Note that you may call this function more than once to initialize with
+ * additional flags. The return value will reflect both new flags that
+ * successfully initialized, and also include flags that had previously been
+ * initialized as well.
+ *
+ * As this will return previously-initialized flags, it's legal to call this
+ * with zero (no flags set). This is a safe no-op that can be used to query
+ * the current initialization state without changing it at all.
+ *
+ * Since this returns previously-initialized flags as well as new ones, and
+ * you can call this with zero, you should not check for a zero return value
+ * to determine an error condition. Instead, you should check to make sure all
+ * the flags you require are set in the return value. If you have a game with
+ * data in a specific format, this might be a fatal error. If you're a generic
+ * image displaying app, perhaps you are fine with only having JPG and PNG
+ * support and can live without WEBP, even if you request support for
+ * everything.
+ *
+ * Unlike other SDL satellite libraries, calls to IMG_Init do not stack; a
+ * single call to IMG_Quit() will deinitialize everything and does not have to
+ * be paired with a matching IMG_Init call. For that reason, it's considered
+ * best practices to have a single IMG_Init and IMG_Quit call in your program.
+ * While this isn't required, be aware of the risks of deviating from that
+ * behavior.
+ *
+ * After initializing SDL_image, the app may begin to load images into
+ * SDL_Surfaces or SDL_Textures.
+ *
+ * \param flags initialization flags, OR'd together.
+ * \returns all currently initialized flags.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_Quit
+ */
+extern DECLSPEC int SDLCALL IMG_Init(int flags);
+
+/**
+ * Deinitialize SDL_image.
+ *
+ * This should be the last function you call in SDL_image, after freeing all
+ * other resources. This will unload any shared libraries it is using for
+ * various codecs.
+ *
+ * After this call, a call to IMG_Init(0) will return 0 (no codecs loaded).
+ *
+ * You can safely call IMG_Init() to reload various codec support after this
+ * call.
+ *
+ * Unlike other SDL satellite libraries, calls to IMG_Init do not stack; a
+ * single call to IMG_Quit() will deinitialize everything and does not have to
+ * be paired with a matching IMG_Init call. For that reason, it's considered
+ * best practices to have a single IMG_Init and IMG_Quit call in your program.
+ * While this isn't required, be aware of the risks of deviating from that
+ * behavior.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_Init
+ */
+extern DECLSPEC void SDLCALL IMG_Quit(void);
+
+/**
+ * Load an image from an SDL data source into a software surface.
+ *
+ * An SDL_Surface is a buffer of pixels in memory accessible by the CPU. Use
+ * this if you plan to hand the data to something else or manipulate it
+ * further in code.
+ *
+ * There are no guarantees about what format the new SDL_Surface data will be;
+ * in many cases, SDL_image will attempt to supply a surface that exactly
+ * matches the provided image, but in others it might have to convert (either
+ * because the image is in a format that SDL doesn't directly support or
+ * because it's compressed data that could reasonably uncompress to various
+ * formats and SDL_image had to pick one). You can inspect an SDL_Surface for
+ * its specifics, and use SDL_ConvertSurface to then migrate to any supported
+ * format.
+ *
+ * If the image format supports a transparent pixel, SDL will set the colorkey
+ * for the surface. You can enable RLE acceleration on the surface afterwards
+ * by calling: SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey);
+ *
+ * If `freesrc` is non-zero, the RWops will be closed before returning,
+ * whether this function succeeds or not. SDL_image reads everything it needs
+ * from the RWops during this call in any case.
+ *
+ * Even though this function accepts a file type, SDL_image may still try
+ * other decoders that are capable of detecting file type from the contents of
+ * the image data, but may rely on the caller-provided type string for formats
+ * that it cannot autodetect. If `type` is NULL, SDL_image will rely solely on
+ * its ability to guess the format.
+ *
+ * There is a separate function to read files from disk without having to deal
+ * with SDL_RWops: `IMG_Load("filename.jpg")` will call this function and
+ * manage those details for you, determining the file type from the filename's
+ * extension.
+ *
+ * There is also IMG_Load_RW(), which is equivalent to this function except
+ * that it will rely on SDL_image to determine what type of data it is
+ * loading, much like passing a NULL for type.
+ *
+ * If you are using SDL's 2D rendering API, there is an equivalent call to
+ * load images directly into an SDL_Texture for use by the GPU without using a
+ * software surface: call IMG_LoadTextureTyped_RW() instead.
+ *
+ * When done with the returned surface, the app should dispose of it with a
+ * call to SDL_FreeSurface().
+ *
+ * \param src an SDL_RWops that data will be read from.
+ * \param freesrc non-zero to close/free the SDL_RWops before returning, zero
+ * to leave it open.
+ * \param type a filename extension that represent this data ("BMP", "GIF",
+ * "PNG", etc).
+ * \returns a new SDL surface, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_Load
+ * \sa IMG_Load_RW
+ * \sa SDL_FreeSurface
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadTyped_RW(SDL_RWops *src, int freesrc, const char *type);
+
+/**
+ * Load an image from a filesystem path into a software surface.
+ *
+ * An SDL_Surface is a buffer of pixels in memory accessible by the CPU. Use
+ * this if you plan to hand the data to something else or manipulate it
+ * further in code.
+ *
+ * There are no guarantees about what format the new SDL_Surface data will be;
+ * in many cases, SDL_image will attempt to supply a surface that exactly
+ * matches the provided image, but in others it might have to convert (either
+ * because the image is in a format that SDL doesn't directly support or
+ * because it's compressed data that could reasonably uncompress to various
+ * formats and SDL_image had to pick one). You can inspect an SDL_Surface for
+ * its specifics, and use SDL_ConvertSurface to then migrate to any supported
+ * format.
+ *
+ * If the image format supports a transparent pixel, SDL will set the colorkey
+ * for the surface. You can enable RLE acceleration on the surface afterwards
+ * by calling: SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey);
+ *
+ * There is a separate function to read files from an SDL_RWops, if you need
+ * an i/o abstraction to provide data from anywhere instead of a simple
+ * filesystem read; that function is IMG_Load_RW().
+ *
+ * If you are using SDL's 2D rendering API, there is an equivalent call to
+ * load images directly into an SDL_Texture for use by the GPU without using a
+ * software surface: call IMG_LoadTexture() instead.
+ *
+ * When done with the returned surface, the app should dispose of it with a
+ * call to SDL_FreeSurface().
+ *
+ * \param file a path on the filesystem to load an image from.
+ * \returns a new SDL surface, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadTyped_RW
+ * \sa IMG_Load_RW
+ * \sa SDL_FreeSurface
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_Load(const char *file);
+
+/**
+ * Load an image from an SDL data source into a software surface.
+ *
+ * An SDL_Surface is a buffer of pixels in memory accessible by the CPU. Use
+ * this if you plan to hand the data to something else or manipulate it
+ * further in code.
+ *
+ * There are no guarantees about what format the new SDL_Surface data will be;
+ * in many cases, SDL_image will attempt to supply a surface that exactly
+ * matches the provided image, but in others it might have to convert (either
+ * because the image is in a format that SDL doesn't directly support or
+ * because it's compressed data that could reasonably uncompress to various
+ * formats and SDL_image had to pick one). You can inspect an SDL_Surface for
+ * its specifics, and use SDL_ConvertSurface to then migrate to any supported
+ * format.
+ *
+ * If the image format supports a transparent pixel, SDL will set the colorkey
+ * for the surface. You can enable RLE acceleration on the surface afterwards
+ * by calling: SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey);
+ *
+ * If `freesrc` is non-zero, the RWops will be closed before returning,
+ * whether this function succeeds or not. SDL_image reads everything it needs
+ * from the RWops during this call in any case.
+ *
+ * There is a separate function to read files from disk without having to deal
+ * with SDL_RWops: `IMG_Load("filename.jpg")` will call this function and
+ * manage those details for you, determining the file type from the filename's
+ * extension.
+ *
+ * There is also IMG_LoadTyped_RW(), which is equivalent to this function
+ * except a file extension (like "BMP", "JPG", etc) can be specified, in case
+ * SDL_image cannot autodetect the file format.
+ *
+ * If you are using SDL's 2D rendering API, there is an equivalent call to
+ * load images directly into an SDL_Texture for use by the GPU without using a
+ * software surface: call IMG_LoadTexture_RW() instead.
+ *
+ * When done with the returned surface, the app should dispose of it with a
+ * call to SDL_FreeSurface().
+ *
+ * \param src an SDL_RWops that data will be read from.
+ * \param freesrc non-zero to close/free the SDL_RWops before returning, zero
+ * to leave it open.
+ * \returns a new SDL surface, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_Load
+ * \sa IMG_LoadTyped_RW
+ * \sa SDL_FreeSurface
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_Load_RW(SDL_RWops *src, int freesrc);
+
+#if SDL_VERSION_ATLEAST(2,0,0)
+
+/**
+ * Load an image from a filesystem path into a GPU texture.
+ *
+ * An SDL_Texture represents an image in GPU memory, usable by SDL's 2D Render
+ * API. This can be significantly more efficient than using a CPU-bound
+ * SDL_Surface if you don't need to manipulate the image directly after
+ * loading it.
+ *
+ * If the loaded image has transparency or a colorkey, a texture with an alpha
+ * channel will be created. Otherwise, SDL_image will attempt to create an
+ * SDL_Texture in the most format that most reasonably represents the image
+ * data (but in many cases, this will just end up being 32-bit RGB or 32-bit
+ * RGBA).
+ *
+ * There is a separate function to read files from an SDL_RWops, if you need
+ * an i/o abstraction to provide data from anywhere instead of a simple
+ * filesystem read; that function is IMG_LoadTexture_RW().
+ *
+ * If you would rather decode an image to an SDL_Surface (a buffer of pixels
+ * in CPU memory), call IMG_Load() instead.
+ *
+ * When done with the returned texture, the app should dispose of it with a
+ * call to SDL_DestroyTexture().
+ *
+ * \param renderer the SDL_Renderer to use to create the GPU texture.
+ * \param file a path on the filesystem to load an image from.
+ * \returns a new texture, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadTextureTyped_RW
+ * \sa IMG_LoadTexture_RW
+ * \sa SDL_DestroyTexture
+ */
+extern DECLSPEC SDL_Texture * SDLCALL IMG_LoadTexture(SDL_Renderer *renderer, const char *file);
+
+/**
+ * Load an image from an SDL data source into a GPU texture.
+ *
+ * An SDL_Texture represents an image in GPU memory, usable by SDL's 2D Render
+ * API. This can be significantly more efficient than using a CPU-bound
+ * SDL_Surface if you don't need to manipulate the image directly after
+ * loading it.
+ *
+ * If the loaded image has transparency or a colorkey, a texture with an alpha
+ * channel will be created. Otherwise, SDL_image will attempt to create an
+ * SDL_Texture in the most format that most reasonably represents the image
+ * data (but in many cases, this will just end up being 32-bit RGB or 32-bit
+ * RGBA).
+ *
+ * If `freesrc` is non-zero, the RWops will be closed before returning,
+ * whether this function succeeds or not. SDL_image reads everything it needs
+ * from the RWops during this call in any case.
+ *
+ * There is a separate function to read files from disk without having to deal
+ * with SDL_RWops: `IMG_LoadTexture(renderer, "filename.jpg")` will call this
+ * function and manage those details for you, determining the file type from
+ * the filename's extension.
+ *
+ * There is also IMG_LoadTextureTyped_RW(), which is equivalent to this
+ * function except a file extension (like "BMP", "JPG", etc) can be specified,
+ * in case SDL_image cannot autodetect the file format.
+ *
+ * If you would rather decode an image to an SDL_Surface (a buffer of pixels
+ * in CPU memory), call IMG_Load() instead.
+ *
+ * When done with the returned texture, the app should dispose of it with a
+ * call to SDL_DestroyTexture().
+ *
+ * \param renderer the SDL_Renderer to use to create the GPU texture.
+ * \param src an SDL_RWops that data will be read from.
+ * \param freesrc non-zero to close/free the SDL_RWops before returning, zero
+ * to leave it open.
+ * \returns a new texture, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadTexture
+ * \sa IMG_LoadTextureTyped_RW
+ * \sa SDL_DestroyTexture
+ */
+extern DECLSPEC SDL_Texture * SDLCALL IMG_LoadTexture_RW(SDL_Renderer *renderer, SDL_RWops *src, int freesrc);
+
+/**
+ * Load an image from an SDL data source into a GPU texture.
+ *
+ * An SDL_Texture represents an image in GPU memory, usable by SDL's 2D Render
+ * API. This can be significantly more efficient than using a CPU-bound
+ * SDL_Surface if you don't need to manipulate the image directly after
+ * loading it.
+ *
+ * If the loaded image has transparency or a colorkey, a texture with an alpha
+ * channel will be created. Otherwise, SDL_image will attempt to create an
+ * SDL_Texture in the most format that most reasonably represents the image
+ * data (but in many cases, this will just end up being 32-bit RGB or 32-bit
+ * RGBA).
+ *
+ * If `freesrc` is non-zero, the RWops will be closed before returning,
+ * whether this function succeeds or not. SDL_image reads everything it needs
+ * from the RWops during this call in any case.
+ *
+ * Even though this function accepts a file type, SDL_image may still try
+ * other decoders that are capable of detecting file type from the contents of
+ * the image data, but may rely on the caller-provided type string for formats
+ * that it cannot autodetect. If `type` is NULL, SDL_image will rely solely on
+ * its ability to guess the format.
+ *
+ * There is a separate function to read files from disk without having to deal
+ * with SDL_RWops: `IMG_LoadTexture("filename.jpg")` will call this function
+ * and manage those details for you, determining the file type from the
+ * filename's extension.
+ *
+ * There is also IMG_LoadTexture_RW(), which is equivalent to this function
+ * except that it will rely on SDL_image to determine what type of data it is
+ * loading, much like passing a NULL for type.
+ *
+ * If you would rather decode an image to an SDL_Surface (a buffer of pixels
+ * in CPU memory), call IMG_LoadTyped_RW() instead.
+ *
+ * When done with the returned texture, the app should dispose of it with a
+ * call to SDL_DestroyTexture().
+ *
+ * \param renderer the SDL_Renderer to use to create the GPU texture.
+ * \param src an SDL_RWops that data will be read from.
+ * \param freesrc non-zero to close/free the SDL_RWops before returning, zero
+ * to leave it open.
+ * \param type a filename extension that represent this data ("BMP", "GIF",
+ * "PNG", etc).
+ * \returns a new texture, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadTexture
+ * \sa IMG_LoadTexture_RW
+ * \sa SDL_DestroyTexture
+ */
+extern DECLSPEC SDL_Texture * SDLCALL IMG_LoadTextureTyped_RW(SDL_Renderer *renderer, SDL_RWops *src, int freesrc, const char *type);
+#endif /* SDL 2.0 */
+
+/**
+ * Detect AVIF image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is AVIF data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isAVIF(SDL_RWops *src);
+
+/**
+ * Detect ICO image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is ICO data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isICO(SDL_RWops *src);
+
+/**
+ * Detect CUR image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is CUR data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isCUR(SDL_RWops *src);
+
+/**
+ * Detect BMP image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is BMP data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isBMP(SDL_RWops *src);
+
+/**
+ * Detect GIF image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is GIF data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isGIF(SDL_RWops *src);
+
+/**
+ * Detect JPG image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is JPG data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isJPG(SDL_RWops *src);
+
+/**
+ * Detect JXL image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is JXL data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isJXL(SDL_RWops *src);
+
+/**
+ * Detect LBM image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is LBM data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isLBM(SDL_RWops *src);
+
+/**
+ * Detect PCX image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is PCX data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isPCX(SDL_RWops *src);
+
+/**
+ * Detect PNG image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is PNG data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isPNG(SDL_RWops *src);
+
+/**
+ * Detect PNM image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is PNM data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isPNM(SDL_RWops *src);
+
+/**
+ * Detect SVG image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is SVG data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.2.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isSVG(SDL_RWops *src);
+
+/**
+ * Detect QOI image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is QOI data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isQOI(SDL_RWops *src);
+
+/**
+ * Detect TIFF image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is TIFF data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isTIF(SDL_RWops *src);
+
+/**
+ * Detect XCF image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is XCF data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isXCF(SDL_RWops *src);
+
+/**
+ * Detect XPM image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is XPM data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXV
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isXPM(SDL_RWops *src);
+
+/**
+ * Detect XV image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is XV data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isWEBP
+ */
+extern DECLSPEC int SDLCALL IMG_isXV(SDL_RWops *src);
+
+/**
+ * Detect WEBP image data on a readable/seekable SDL_RWops.
+ *
+ * This function attempts to determine if a file is a given filetype, reading
+ * the least amount possible from the SDL_RWops (usually a few bytes).
+ *
+ * There is no distinction made between "not the filetype in question" and
+ * basic i/o errors.
+ *
+ * This function will always attempt to seek the RWops back to where it
+ * started when this function was called, but it will not report any errors in
+ * doing so, but assuming seeking works, this means you can immediately use
+ * this with a different IMG_isTYPE function, or load the image without
+ * further seeking.
+ *
+ * You do not need to call this function to load data; SDL_image can work to
+ * determine file type in many cases in its standard load functions.
+ *
+ * \param src a seekable/readable SDL_RWops to provide image data.
+ * \returns non-zero if this is WEBP data, zero otherwise.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_isAVIF
+ * \sa IMG_isICO
+ * \sa IMG_isCUR
+ * \sa IMG_isBMP
+ * \sa IMG_isGIF
+ * \sa IMG_isJPG
+ * \sa IMG_isJXL
+ * \sa IMG_isLBM
+ * \sa IMG_isPCX
+ * \sa IMG_isPNG
+ * \sa IMG_isPNM
+ * \sa IMG_isSVG
+ * \sa IMG_isQOI
+ * \sa IMG_isTIF
+ * \sa IMG_isXCF
+ * \sa IMG_isXPM
+ * \sa IMG_isXV
+ */
+extern DECLSPEC int SDLCALL IMG_isWEBP(SDL_RWops *src);
+
+/**
+ * Load a AVIF image directly.
+ *
+ * If you know you definitely have a AVIF image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadAVIF_RW(SDL_RWops *src);
+
+/**
+ * Load a ICO image directly.
+ *
+ * If you know you definitely have a ICO image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadICO_RW(SDL_RWops *src);
+
+/**
+ * Load a CUR image directly.
+ *
+ * If you know you definitely have a CUR image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadCUR_RW(SDL_RWops *src);
+
+/**
+ * Load a BMP image directly.
+ *
+ * If you know you definitely have a BMP image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadBMP_RW(SDL_RWops *src);
+
+/**
+ * Load a GIF image directly.
+ *
+ * If you know you definitely have a GIF image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadGIF_RW(SDL_RWops *src);
+
+/**
+ * Load a JPG image directly.
+ *
+ * If you know you definitely have a JPG image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadJPG_RW(SDL_RWops *src);
+
+/**
+ * Load a JXL image directly.
+ *
+ * If you know you definitely have a JXL image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadJXL_RW(SDL_RWops *src);
+
+/**
+ * Load a LBM image directly.
+ *
+ * If you know you definitely have a LBM image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadLBM_RW(SDL_RWops *src);
+
+/**
+ * Load a PCX image directly.
+ *
+ * If you know you definitely have a PCX image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadPCX_RW(SDL_RWops *src);
+
+/**
+ * Load a PNG image directly.
+ *
+ * If you know you definitely have a PNG image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadPNG_RW(SDL_RWops *src);
+
+/**
+ * Load a PNM image directly.
+ *
+ * If you know you definitely have a PNM image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadPNM_RW(SDL_RWops *src);
+
+/**
+ * Load a SVG image directly.
+ *
+ * If you know you definitely have a SVG image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.2.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadSVG_RW(SDL_RWops *src);
+
+/**
+ * Load a QOI image directly.
+ *
+ * If you know you definitely have a QOI image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadQOI_RW(SDL_RWops *src);
+
+/**
+ * Load a TGA image directly.
+ *
+ * If you know you definitely have a TGA image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadTGA_RW(SDL_RWops *src);
+
+/**
+ * Load a TIFF image directly.
+ *
+ * If you know you definitely have a TIFF image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadTIF_RW(SDL_RWops *src);
+
+/**
+ * Load a XCF image directly.
+ *
+ * If you know you definitely have a XCF image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadXCF_RW(SDL_RWops *src);
+
+/**
+ * Load a XPM image directly.
+ *
+ * If you know you definitely have a XPM image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXV_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadXPM_RW(SDL_RWops *src);
+
+/**
+ * Load a XV image directly.
+ *
+ * If you know you definitely have a XV image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadWEBP_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadXV_RW(SDL_RWops *src);
+
+/**
+ * Load a WEBP image directly.
+ *
+ * If you know you definitely have a WEBP image, you can call this function,
+ * which will skip SDL_image's file format detection routines. Generally it's
+ * better to use the abstract interfaces; also, there is only an SDL_RWops
+ * interface available here.
+ *
+ * \param src an SDL_RWops to load image data from.
+ * \returns SDL surface, or NULL on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_LoadAVIF_RW
+ * \sa IMG_LoadICO_RW
+ * \sa IMG_LoadCUR_RW
+ * \sa IMG_LoadBMP_RW
+ * \sa IMG_LoadGIF_RW
+ * \sa IMG_LoadJPG_RW
+ * \sa IMG_LoadJXL_RW
+ * \sa IMG_LoadLBM_RW
+ * \sa IMG_LoadPCX_RW
+ * \sa IMG_LoadPNG_RW
+ * \sa IMG_LoadPNM_RW
+ * \sa IMG_LoadSVG_RW
+ * \sa IMG_LoadQOI_RW
+ * \sa IMG_LoadTGA_RW
+ * \sa IMG_LoadTIF_RW
+ * \sa IMG_LoadXCF_RW
+ * \sa IMG_LoadXPM_RW
+ * \sa IMG_LoadXV_RW
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadWEBP_RW(SDL_RWops *src);
+
+/**
+ * Load an SVG image, scaled to a specific size.
+ *
+ * Since SVG files are resolution-independent, you specify the size you would
+ * like the output image to be and it will be generated at those dimensions.
+ *
+ * Either width or height may be 0 and the image will be auto-sized to
+ * preserve aspect ratio.
+ *
+ * When done with the returned surface, the app should dispose of it with a
+ * call to SDL_FreeSurface().
+ *
+ * \param src an SDL_RWops to load SVG data from.
+ * \param width desired width of the generated surface, in pixels.
+ * \param height desired height of the generated surface, in pixels.
+ * \returns a new SDL surface, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadSizedSVG_RW(SDL_RWops *src, int width, int height);
+
+/**
+ * Load an XPM image from a memory array.
+ *
+ * The returned surface will be an 8bpp indexed surface, if possible,
+ * otherwise it will be 32bpp. If you always want 32-bit data, use
+ * IMG_ReadXPMFromArrayToRGB888() instead.
+ *
+ * When done with the returned surface, the app should dispose of it with a
+ * call to SDL_FreeSurface().
+ *
+ * \param xpm a null-terminated array of strings that comprise XPM data.
+ * \returns a new SDL surface, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_ReadXPMFromArrayToRGB888
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_ReadXPMFromArray(char **xpm);
+
+/**
+ * Load an XPM image from a memory array.
+ *
+ * The returned surface will always be a 32-bit RGB surface. If you want 8-bit
+ * indexed colors (and the XPM data allows it), use IMG_ReadXPMFromArray()
+ * instead.
+ *
+ * When done with the returned surface, the app should dispose of it with a
+ * call to SDL_FreeSurface().
+ *
+ * \param xpm a null-terminated array of strings that comprise XPM data.
+ * \returns a new SDL surface, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_ReadXPMFromArray
+ */
+extern DECLSPEC SDL_Surface * SDLCALL IMG_ReadXPMFromArrayToRGB888(char **xpm);
+
+/**
+ * Save an SDL_Surface into a PNG image file.
+ *
+ * If the file already exists, it will be overwritten.
+ *
+ * \param surface the SDL surface to save
+ * \param file path on the filesystem to write new file to.
+ * \returns 0 if successful, -1 on error
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_SavePNG_RW
+ * \sa IMG_SaveJPG
+ * \sa IMG_SaveJPG_RW
+ */
+extern DECLSPEC int SDLCALL IMG_SavePNG(SDL_Surface *surface, const char *file);
+
+/**
+ * Save an SDL_Surface into PNG image data, via an SDL_RWops.
+ *
+ * If you just want to save to a filename, you can use IMG_SavePNG() instead.
+ *
+ * \param surface the SDL surface to save
+ * \param dst the SDL_RWops to save the image data to.
+ * \returns 0 if successful, -1 on error.
+ *
+ * \since This function is available since SDL_image 2.0.0.
+ *
+ * \sa IMG_SavePNG
+ * \sa IMG_SaveJPG
+ * \sa IMG_SaveJPG_RW
+ */
+extern DECLSPEC int SDLCALL IMG_SavePNG_RW(SDL_Surface *surface, SDL_RWops *dst, int freedst);
+
+/**
+ * Save an SDL_Surface into a JPEG image file.
+ *
+ * If the file already exists, it will be overwritten.
+ *
+ * \param surface the SDL surface to save
+ * \param file path on the filesystem to write new file to.
+ * \param quality [0; 33] is Lowest quality, [34; 66] is Middle quality, [67;
+ * 100] is Highest quality
+ * \returns 0 if successful, -1 on error
+ *
+ * \since This function is available since SDL_image 2.0.2.
+ *
+ * \sa IMG_SaveJPG_RW
+ * \sa IMG_SavePNG
+ * \sa IMG_SavePNG_RW
+ */
+extern DECLSPEC int SDLCALL IMG_SaveJPG(SDL_Surface *surface, const char *file, int quality);
+
+/**
+ * Save an SDL_Surface into JPEG image data, via an SDL_RWops.
+ *
+ * If you just want to save to a filename, you can use IMG_SaveJPG() instead.
+ *
+ * \param surface the SDL surface to save
+ * \param dst the SDL_RWops to save the image data to.
+ * \returns 0 if successful, -1 on error.
+ *
+ * \since This function is available since SDL_image 2.0.2.
+ *
+ * \sa IMG_SaveJPG
+ * \sa IMG_SavePNG
+ * \sa IMG_SavePNG_RW
+ */
+extern DECLSPEC int SDLCALL IMG_SaveJPG_RW(SDL_Surface *surface, SDL_RWops *dst, int freedst, int quality);
+
+/**
+ * Animated image support
+ * Currently only animated GIFs are supported.
+ */
+typedef struct
+{
+ int w, h;
+ int count;
+ SDL_Surface **frames;
+ int *delays;
+} IMG_Animation;
+
+/**
+ * Load an animation from a file.
+ *
+ * When done with the returned animation, the app should dispose of it with a
+ * call to IMG_FreeAnimation().
+ *
+ * \param file path on the filesystem containing an animated image.
+ * \returns a new IMG_Animation, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_FreeAnimation
+ */
+extern DECLSPEC IMG_Animation * SDLCALL IMG_LoadAnimation(const char *file);
+
+/**
+ * Load an animation from an SDL_RWops.
+ *
+ * If `freesrc` is non-zero, the RWops will be closed before returning,
+ * whether this function succeeds or not. SDL_image reads everything it needs
+ * from the RWops during this call in any case.
+ *
+ * When done with the returned animation, the app should dispose of it with a
+ * call to IMG_FreeAnimation().
+ *
+ * \param src an SDL_RWops that data will be read from.
+ * \param freesrc non-zero to close/free the SDL_RWops before returning, zero
+ * to leave it open.
+ * \returns a new IMG_Animation, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_FreeAnimation
+ */
+extern DECLSPEC IMG_Animation * SDLCALL IMG_LoadAnimation_RW(SDL_RWops *src, int freesrc);
+
+/**
+ * Load an animation from an SDL datasource
+ *
+ * Even though this function accepts a file type, SDL_image may still try
+ * other decoders that are capable of detecting file type from the contents of
+ * the image data, but may rely on the caller-provided type string for formats
+ * that it cannot autodetect. If `type` is NULL, SDL_image will rely solely on
+ * its ability to guess the format.
+ *
+ * If `freesrc` is non-zero, the RWops will be closed before returning,
+ * whether this function succeeds or not. SDL_image reads everything it needs
+ * from the RWops during this call in any case.
+ *
+ * When done with the returned animation, the app should dispose of it with a
+ * call to IMG_FreeAnimation().
+ *
+ * \param src an SDL_RWops that data will be read from.
+ * \param freesrc non-zero to close/free the SDL_RWops before returning, zero
+ * to leave it open.
+ * \param type a filename extension that represent this data ("GIF", etc).
+ * \returns a new IMG_Animation, or NULL on error.
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_LoadAnimation
+ * \sa IMG_LoadAnimation_RW
+ * \sa IMG_FreeAnimation
+ */
+extern DECLSPEC IMG_Animation * SDLCALL IMG_LoadAnimationTyped_RW(SDL_RWops *src, int freesrc, const char *type);
+
+/**
+ * Dispose of an IMG_Animation and free its resources.
+ *
+ * The provided `anim` pointer is not valid once this call returns.
+ *
+ * \param anim IMG_Animation to dispose of.
+ *
+ * \since This function is available since SDL_image 2.6.0.
+ *
+ * \sa IMG_LoadAnimation
+