SDL_image: Updated to build targeting UWP with Visual Studio 2019

From 49616fdfad6d791c0e735e0bab2b738129532b24 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sun, 22 May 2022 10:50:15 -0700
Subject: [PATCH] Updated to build targeting UWP with Visual Studio 2019

---
 VisualC-WinRT/SDL_image-UWP.sln               |  37 +++
 ...-WinRT81.vcxproj => SDL_image-UWP.vcxproj} | 114 +++----
 VisualC-WinRT/SDL_image-UWP.vcxproj.filters   |  78 +++++
 .../SDL_image-WinPhone80.sln                  |  66 ----
 .../SDL_image-WinPhone80.vcxproj              | 189 -----------
 .../SDL_image-WinPhone80.vcxproj.filters      |  22 --
 .../WinPhone80_VS2012/jpeg-WinPhone80.vcxproj | 221 -------------
 .../jpeg-WinPhone80.vcxproj.filters           | 192 -----------
 .../libpng-WinPhone80.vcxproj                 | 188 -----------
 .../libpng-WinPhone80.vcxproj.filters         |  84 -----
 .../libwebp-WinPhone80.vcxproj                | 240 --------------
 .../libwebp-WinPhone80.vcxproj.filters        | 249 ---------------
 .../WinPhone80_VS2012/zlib-WinPhone80.vcxproj | 196 ------------
 .../zlib-WinPhone80.vcxproj.filters           |  99 ------
 .../SDL_image-WinPhone81.sln                  |  68 ----
 .../SDL_image-WinPhone81.vcxproj              | 182 -----------
 .../SDL_image-WinPhone81.vcxproj.filters      |  22 --
 .../WinPhone81_VS2013/jpeg-WinPhone81.vcxproj | 214 -------------
 .../jpeg-WinPhone81.vcxproj.filters           | 192 -----------
 .../libpng-WinPhone81.vcxproj                 | 185 -----------
 .../libpng-WinPhone81.vcxproj.filters         |  84 -----
 .../libwebp-WinPhone81.vcxproj                | 236 --------------
 .../libwebp-WinPhone81.vcxproj.filters        | 249 ---------------
 .../WinPhone81_VS2013/zlib-WinPhone81.vcxproj | 189 -----------
 .../zlib-WinPhone81.vcxproj.filters           |  99 ------
 .../WinRT80_VS2012/SDL_image-WinRT80.sln      |  88 -----
 .../WinRT80_VS2012/SDL_image-WinRT80.vcxproj  | 247 --------------
 .../SDL_image-WinRT80.vcxproj.filters         |  26 --
 .../WinRT80_VS2012/jpeg-WinRT80.vcxproj       | 275 ----------------
 .../jpeg-WinRT80.vcxproj.filters              | 192 -----------
 .../WinRT80_VS2012/libpng-WinRT80.vcxproj     | 257 ---------------
 .../libpng-WinRT80.vcxproj.filters            |  87 -----
 .../WinRT80_VS2012/libwebp-WinRT80.vcxproj    | 291 -----------------
 .../libwebp-WinRT80.vcxproj.filters           | 249 ---------------
 .../WinRT80_VS2012/zlib-WinRT80.vcxproj       | 264 ---------------
 .../zlib-WinRT80.vcxproj.filters              |  99 ------
 .../WinRT81_VS2013/SDL_image-WinRT81.sln      |  90 ------
 .../WinRT81_VS2013/SDL_image-WinRT81.vcxproj  | 245 --------------
 .../SDL_image-WinRT81.vcxproj.filters         |  22 --
 .../WinRT81_VS2013/jpeg-WinRT81.vcxproj       | 277 ----------------
 .../jpeg-WinRT81.vcxproj.filters              | 192 -----------
 .../libpng-WinRT81.vcxproj.filters            |  84 -----
 .../WinRT81_VS2013/libwebp-WinRT81.vcxproj    | 302 ------------------
 .../libwebp-WinRT81.vcxproj.filters           | 249 ---------------
 .../WinRT81_VS2013/zlib-WinRT81.vcxproj       | 254 ---------------
 .../zlib-WinRT81.vcxproj.filters              |  99 ------
 VisualC-WinRT/jpeg.def                        |  10 -
 VisualC-WinRT/libwebp.def                     |   4 -
 48 files changed, 166 insertions(+), 7432 deletions(-)
 create mode 100644 VisualC-WinRT/SDL_image-UWP.sln
 rename VisualC-WinRT/{WinRT81_VS2013/libpng-WinRT81.vcxproj => SDL_image-UWP.vcxproj} (67%)
 create mode 100644 VisualC-WinRT/SDL_image-UWP.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/SDL_image-WinPhone80.sln
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/SDL_image-WinPhone80.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/SDL_image-WinPhone80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/jpeg-WinPhone80.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/jpeg-WinPhone80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/libpng-WinPhone80.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/libpng-WinPhone80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/libwebp-WinPhone80.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/libwebp-WinPhone80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/zlib-WinPhone80.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone80_VS2012/zlib-WinPhone80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/SDL_image-WinPhone81.sln
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/SDL_image-WinPhone81.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/SDL_image-WinPhone81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/jpeg-WinPhone81.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/jpeg-WinPhone81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/libpng-WinPhone81.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/libpng-WinPhone81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/libwebp-WinPhone81.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/libwebp-WinPhone81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/zlib-WinPhone81.vcxproj
 delete mode 100644 VisualC-WinRT/WinPhone81_VS2013/zlib-WinPhone81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/SDL_image-WinRT80.sln
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/SDL_image-WinRT80.vcxproj
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/SDL_image-WinRT80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/jpeg-WinRT80.vcxproj
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/jpeg-WinRT80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/libpng-WinRT80.vcxproj
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/libpng-WinRT80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/libwebp-WinRT80.vcxproj
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/libwebp-WinRT80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/zlib-WinRT80.vcxproj
 delete mode 100644 VisualC-WinRT/WinRT80_VS2012/zlib-WinRT80.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/SDL_image-WinRT81.sln
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/SDL_image-WinRT81.vcxproj
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/SDL_image-WinRT81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/jpeg-WinRT81.vcxproj
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/jpeg-WinRT81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/libpng-WinRT81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/libwebp-WinRT81.vcxproj
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/libwebp-WinRT81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/zlib-WinRT81.vcxproj
 delete mode 100644 VisualC-WinRT/WinRT81_VS2013/zlib-WinRT81.vcxproj.filters
 delete mode 100644 VisualC-WinRT/jpeg.def
 delete mode 100644 VisualC-WinRT/libwebp.def

diff --git a/VisualC-WinRT/SDL_image-UWP.sln b/VisualC-WinRT/SDL_image-UWP.sln
new file mode 100644
index 00000000..144e27df
--- /dev/null
+++ b/VisualC-WinRT/SDL_image-UWP.sln
@@ -0,0 +1,37 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31911.196
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2_image-UWP", "SDL_image-UWP.vcxproj", "{18665277-E558-4484-93F4-E4DC7BB614CB}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|ARM = Debug|ARM
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|ARM = Release|ARM
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Debug|ARM.ActiveCfg = Debug|ARM
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Debug|ARM.Build.0 = Debug|ARM
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Debug|x64.ActiveCfg = Debug|x64
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Debug|x64.Build.0 = Debug|x64
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Debug|x86.ActiveCfg = Debug|Win32
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Debug|x86.Build.0 = Debug|Win32
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Release|ARM.ActiveCfg = Release|ARM
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Release|ARM.Build.0 = Release|ARM
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Release|x64.ActiveCfg = Release|x64
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Release|x64.Build.0 = Release|x64
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Release|x86.ActiveCfg = Release|Win32
+		{18665277-E558-4484-93F4-E4DC7BB614CB}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {D933852A-2B04-47A9-8684-18570D927154}
+	EndGlobalSection
+EndGlobal
diff --git a/VisualC-WinRT/WinRT81_VS2013/libpng-WinRT81.vcxproj b/VisualC-WinRT/SDL_image-UWP.vcxproj
similarity index 67%
rename from VisualC-WinRT/WinRT81_VS2013/libpng-WinRT81.vcxproj
rename to VisualC-WinRT/SDL_image-UWP.vcxproj
index 2a2825dd..76212ba6 100644
--- a/VisualC-WinRT/WinRT81_VS2013/libpng-WinRT81.vcxproj
+++ b/VisualC-WinRT/SDL_image-UWP.vcxproj
@@ -27,81 +27,75 @@
     </ProjectConfiguration>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\external\libpng\png.h" />
-    <ClInclude Include="..\..\external\libpng\pngconf.h" />
-    <ClInclude Include="..\..\external\libpng\pngdebug.h" />
-    <ClInclude Include="..\..\external\libpng\pnginfo.h" />
-    <ClInclude Include="..\..\external\libpng\pnglibconf.h" />
-    <ClInclude Include="..\..\external\libpng\pngpriv.h" />
-    <ClInclude Include="..\..\external\libpng\pngstruct.h" />
+    <ClInclude Include="..\SDL_image.h" />
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\external\libpng\png.c" />
-    <ClCompile Include="..\..\external\libpng\pngerror.c" />
-    <ClCompile Include="..\..\external\libpng\pngget.c" />
-    <ClCompile Include="..\..\external\libpng\pngmem.c" />
-    <ClCompile Include="..\..\external\libpng\pngpread.c" />
-    <ClCompile Include="..\..\external\libpng\pngread.c" />
-    <ClCompile Include="..\..\external\libpng\pngrio.c" />
-    <ClCompile Include="..\..\external\libpng\pngrtran.c" />
-    <ClCompile Include="..\..\external\libpng\pngrutil.c" />
-    <ClCompile Include="..\..\external\libpng\pngset.c" />
-    <ClCompile Include="..\..\external\libpng\pngtest.c" />
-    <ClCompile Include="..\..\external\libpng\pngtrans.c" />
-    <ClCompile Include="..\..\external\libpng\pngwio.c" />
-    <ClCompile Include="..\..\external\libpng\pngwrite.c" />
-    <ClCompile Include="..\..\external\libpng\pngwtran.c" />
-    <ClCompile Include="..\..\external\libpng\pngwutil.c" />
+    <ProjectReference Include="..\..\SDL\VisualC-WinRT\SDL-UWP.vcxproj">
+      <Project>{89e9b32e-a86a-47c3-a948-d2b1622925ce}</Project>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="zlib-WinRT81.vcxproj">
-      <Project>{acea4101-6f4a-44ed-9ec1-289821dac711}</Project>
-    </ProjectReference>
+    <ClCompile Include="..\IMG.c" />
+    <ClCompile Include="..\IMG_avif.c" />
+    <ClCompile Include="..\IMG_bmp.c" />
+    <ClCompile Include="..\IMG_gif.c" />
+    <ClCompile Include="..\IMG_jpg.c" />
+    <ClCompile Include="..\IMG_jxl.c" />
+    <ClCompile Include="..\IMG_lbm.c" />
+    <ClCompile Include="..\IMG_pcx.c" />
+    <ClCompile Include="..\IMG_png.c" />
+    <ClCompile Include="..\IMG_pnm.c" />
+    <ClCompile Include="..\IMG_qoi.c" />
+    <ClCompile Include="..\IMG_stb.c" />
+    <ClCompile Include="..\IMG_svg.c" />
+    <ClCompile Include="..\IMG_tga.c" />
+    <ClCompile Include="..\IMG_tif.c" />
+    <ClCompile Include="..\IMG_webp.c" />
+    <ClCompile Include="..\IMG_WIC.c" />
+    <ClCompile Include="..\IMG_xcf.c" />
+    <ClCompile Include="..\IMG_xpm.c" />
+    <ClCompile Include="..\IMG_xv.c" />
   </ItemGroup>
   <PropertyGroup Label="Globals">
-    <ProjectGuid>{5fbdc49a-7939-40f9-b78e-975f190adbd3}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <ProjectName>libpng-WinRT81</ProjectName>
-    <RootNamespace>libpng_WinRT81</RootNamespace>
+    <ProjectGuid>{18665277-e558-4484-93f4-e4dc7bb614cb}</ProjectGuid>
+    <Keyword>DynamicLibrary</Keyword>
+    <ProjectName>SDL2_image-UWP</ProjectName>
+    <RootNamespace>SDL2_image_UWP</RootNamespace>
     <DefaultLanguage>en-US</DefaultLanguage>
-    <MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
+    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
     <AppContainerApplication>true</AppContainerApplication>
     <ApplicationType>Windows Store</ApplicationType>
-    <ApplicationTypeRevision>8.1</ApplicationTypeRevision>
+    <ApplicationTypeRevision>8.2</ApplicationTypeRevision>
+    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+    <WindowsTargetPlatformMinVersion>10.0.0.0</WindowsTargetPlatformMinVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -128,45 +122,44 @@
     <GenerateManifest>false</GenerateManifest>
     <IgnoreImportLibrary>false</IgnoreImportLibrary>
     <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-    <TargetName>libpng</TargetName>
+    <TargetName>SDL2_image</TargetName>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <GenerateManifest>false</GenerateManifest>
     <IgnoreImportLibrary>false</IgnoreImportLibrary>
     <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-    <TargetName>libpng</TargetName>
+    <TargetName>SDL2_image</TargetName>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
     <GenerateManifest>false</GenerateManifest>
     <IgnoreImportLibrary>false</IgnoreImportLibrary>
     <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-    <TargetName>libpng</TargetName>
+    <TargetName>SDL2_image</TargetName>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
     <GenerateManifest>false</GenerateManifest>
     <IgnoreImportLibrary>false</IgnoreImportLibrary>
     <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-    <TargetName>libpng</TargetName>
+    <TargetName>SDL2_image</TargetName>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <GenerateManifest>false</GenerateManifest>
     <IgnoreImportLibrary>false</IgnoreImportLibrary>
     <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-    <TargetName>libpng</TargetName>
+    <TargetName>SDL2_image</TargetName>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <GenerateManifest>false</GenerateManifest>
     <IgnoreImportLibrary>false</IgnoreImportLibrary>
     <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-    <TargetName>libpng</TargetName>
+    <TargetName>SDL2_image</TargetName>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <CompileAsWinRT>false</CompileAsWinRT>
-      <AdditionalIncludeDirectories>..\..\external\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;PNG_ABORT=abort;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <DisableSpecificWarnings>4703</DisableSpecificWarnings>
+      <AdditionalIncludeDirectories>..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\external\ogg\include;..\external\vorbis\include;..\..\SDL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>USE_STBIMAGE;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <SubSystem>Console</SubSystem>
@@ -178,9 +171,8 @@
     <ClCompile>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <CompileAsWinRT>false</CompileAsWinRT>
-      <AdditionalIncludeDirectories>..\..\external\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;PNG_ABORT=abort;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <DisableSpecificWarnings>4703</DisableSpecificWarnings>
+      <AdditionalIncludeDirectories>..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\external\ogg\include;..\external\vorbis\include;..\..\SDL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;USE_STBIMAGE;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <SubSystem>Console</SubSystem>
@@ -192,9 +184,8 @@
     <ClCompile>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <CompileAsWinRT>false</CompileAsWinRT>
-      <AdditionalIncludeDirectories>..\..\external\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;PNG_ABORT=abort;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <DisableSpecificWarnings>4703</DisableSpecificWarnings>
+      <AdditionalIncludeDirectories>..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\external\ogg\include;..\external\vorbis\include;..\..\SDL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>USE_STBIMAGE;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <SubSystem>Console</SubSystem>
@@ -206,9 +197,8 @@
     <ClCompile>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <CompileAsWinRT>false</CompileAsWinRT>
-      <AdditionalIncludeDirectories>..\..\external\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;PNG_ABORT=abort;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <DisableSpecificWarnings>4703</DisableSpecificWarnings>
+      <AdditionalIncludeDirectories>..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\external\ogg\include;..\external\vorbis\include;..\..\SDL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;USE_STBIMAGE;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <SubSystem>Console</SubSystem>
@@ -220,9 +210,8 @@
     <ClCompile>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <CompileAsWinRT>false</CompileAsWinRT>
-      <AdditionalIncludeDirectories>..\..\external\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;PNG_ABORT=abort;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <DisableSpecificWarnings>4703</DisableSpecificWarnings>
+      <AdditionalIncludeDirectories>..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\external\ogg\include;..\external\vorbis\include;..\..\SDL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>USE_STBIMAGE;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <SubSystem>Console</SubSystem>
@@ -234,9 +223,8 @@
     <ClCompile>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <CompileAsWinRT>false</CompileAsWinRT>
-      <AdditionalIncludeDirectories>..\..\external\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;PNG_ABORT=abort;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <DisableSpecificWarnings>4703</DisableSpecificWarnings>
+      <AdditionalIncludeDirectories>..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\external\ogg\include;..\external\vorbis\include;..\..\SDL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;USE_STBIMAGE;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <SubSystem>Console</SubSystem>
@@ -247,4 +235,4 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/VisualC-WinRT/SDL_image-UWP.vcxproj.filters b/VisualC-WinRT/SDL_image-UWP.vcxproj.filters
new file mode 100644
index 00000000..2e02b330
--- /dev/null
+++ b/VisualC-WinRT/SDL_image-UWP.vcxproj.filters
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClInclude Include="..\SDL_image.h">
+      <Filter>Public Headers</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{e074d5df-046d-48ae-b45a-f472f0bdd965}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Public Headers">
+      <UniqueIdentifier>{9c43d0b0-edae-4dea-bb19-5bd7972e58bc}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\IMG.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_avif.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_bmp.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_gif.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_jpg.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_jxl.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_lbm.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_pcx.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_png.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_pnm.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_qoi.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_stb.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_svg.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_tga.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_tif.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_webp.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_WIC.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_xcf.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_xpm.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\IMG_xv.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/VisualC-WinRT/WinPhone80_VS2012/SDL_image-WinPhone80.sln b/VisualC-WinRT/WinPhone80_VS2012/SDL_image-WinPhone80.sln
deleted file mode 100644
index a0fa9c3f..00000000
--- a/VisualC-WinRT/WinPhone80_VS2012/SDL_image-WinPhone80.sln
+++ /dev/null
@@ -1,66 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2_image-WinPhone80", "SDL_image-WinPhone80.vcxproj", "{3E2A3587-B28C-4261-8E1C-EF9DCC742CC4}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg-WinPhone80", "jpeg-WinPhone80.vcxproj", "{10CABD6E-BD1A-4705-BE35-A34CE1EDF6FB}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng-WinPhone80", "libpng-WinPhone80.vcxproj", "{AF7120B3-ECF6-464D-A4A6-E56B91E81B50}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libwebp-WinPhone80", "libwebp-WinPhone80.vcxproj", "{DD42165B-C5BE-43AB-9F7C-1C7D0F30ABF2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib-WinPhone80", "zlib-WinPhone80.vcxproj", "{C9C04F20-60B6-42B7-A802-FA6EC1357E87}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|ARM = Debug|ARM
-		Debug|Win32 = Debug|Win32
-		Release|ARM = Release|ARM
-		Release|Win32 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{3E2A3587-B28C-4261-8E1C-EF9DCC742CC4}.Debug|ARM.ActiveCfg = Debug|ARM
-		{3E2A3587-B28C-4261-8E1C-EF9DCC742CC4}.Debug|ARM.Build.0 = Debug|ARM
-		{3E2A3587-B28C-4261-8E1C-EF9DCC742CC4}.Debug|Win32.ActiveCfg = Debug|Win32
-		{3E2A3587-B28C-4261-8E1C-EF9DCC742CC4}.Debug|Win32.Build.0 = Debug|Win32
-		{3E2A3587-B28C-4261-8E1C-EF9DCC742CC4}.Release|ARM.ActiveCfg = Release|ARM
-		{3E2A3587-B28C-4261-8E1C-EF9DCC742CC4}.Release|ARM.Build.0 = Release|ARM
-		{3E2A3587-B28C-4261-8E1C-EF9DCC742CC4}.Release|Win32.ActiveCfg = Release|Win32
-		{3E2A3587-B28C-4261-8E1C-EF9DCC742CC4}.Release|Win32.Build.0 = Release|Win32
-		{10CABD6E-BD1A-4705-BE35-A34CE1EDF6FB}.Debug|ARM.ActiveCfg = Debug|ARM
-		{10CABD6E-BD1A-4705-BE35-A34CE1EDF6FB}.Debug|ARM.Build.0 = Debug|ARM
-		{10CABD6E-BD1A-4705-BE35-A34CE1EDF6FB}.Debug|Win32.ActiveCfg = Debug|Win32
-		{10CABD6E-BD1A-4705-BE35-A34CE1EDF6FB}.Debug|Win32.Build.0 = Debug|Win32
-		{10CABD6E-BD1A-4705-BE35-A34CE1EDF6FB}.Release|ARM.ActiveCfg = Release|ARM
-		{10CABD6E-BD1A-4705-BE35-A34CE1EDF6FB}.Release|ARM.Build.0 = Release|ARM
-		{10CABD6E-BD1A-4705-BE35-A34CE1EDF6FB}.Release|Win32.ActiveCfg = Release|Win32
-		{10CABD6E-BD1A-4705-BE35-A34CE1EDF6FB}.Release|Win32.Build.0 = Release|Win32
-		{AF7120B3-ECF6-464D-A4A6-E56B91E81B50}.Debug|ARM.ActiveCfg = Debug|ARM
-		{AF7120B3-ECF6-464D-A4A6-E56B91E81B50}.Debug|ARM.Build.0 = Debug|ARM
-		{AF7120B3-ECF6-464D-A4A6-E56B91E81B50}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AF7120B3-ECF6-464D-A4A6-E56B91E81B50}.Debug|Win32.Build.0 = Debug|Win32
-		{AF7120B3-ECF6-464D-A4A6-E56B91E81B50}.Release|ARM.ActiveCfg = Release|ARM
-		{AF7120B3-ECF6-464D-A4A6-E56B91E81B50}.Release|ARM.Build.0 = Release|ARM
-		{AF7120B3-ECF6-464D-A4A6-E56B91E81B50}.Release|Win32.ActiveCfg = Release|Win32
-		{AF7120B3-ECF6-464D-A4A6-E56B91E81B50}.Release|Win32.Build.0 = Release|Win32
-		{DD42165B-C5BE-43AB-9F7C-1C7D0F30ABF2}.Debug|ARM.ActiveCfg = Debug|ARM
-		{DD42165B-C5BE-43AB-9F7C-1C7D0F30ABF2}.Debug|ARM.Build.0 = Debug|ARM
-		{DD42165B-C5BE-43AB-9F7C-1C7D0F30ABF2}.Debug|Win32.ActiveCfg = Debug|Win32
-		{DD42165B-C5BE-43AB-9F7C-1C7D0F30ABF2}.Debug|Win32.Build.0 = Debug|Win32
-		{DD42165B-C5BE-43AB-9F7C-1C7D0F30ABF2}.Release|ARM.ActiveCfg = Release|ARM
-		{DD42165B-C5BE-43AB-9F7C-1C7D0F30ABF2}.Release|ARM.Build.0 = Release|ARM
-		{DD42165B-C5BE-43AB-9F7C-1C7D0F30ABF2}.Release|Win32.ActiveCfg = Release|Win32
-		{DD42165B-C5BE-43AB-9F7C-1C7D0F30ABF2}.Release|Win32.Build.0 = Release|Win32
-		{C9C04F20-60B6-42B7-A802-FA6EC1357E87}.Debug|ARM.ActiveCfg = Debug|ARM
-		{C9C04F20-60B6-42B7-A802-FA6EC1357E87}.Debug|ARM.Build.0 = Debug|ARM
-		{C9C04F20-60B6-42B7-A802-FA6EC1357E87}.Debug|Win32.ActiveCfg = Debug|Win32
-		{C9C04F20-60B6-42B7-A802-FA6EC1357E87}.Debug|Win32.Build.0 = Debug|Win32
-		{C9C04F20-60B6-42B7-A802-FA6EC1357E87}.Release|ARM.ActiveCfg = Release|ARM
-		{C9C04F20-60B6-42B7-A802-FA6EC1357E87}.Release|ARM.Build.0 = Release|ARM
-		{C9C04F20-60B6-42B7-A802-FA6EC1357E87}.Release|Win32.ActiveCfg = Release|Win32
-		{C9C04F20-60B6-42B7-A802-FA6EC1357E87}.Release|Win32.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/VisualC-WinRT/WinPhone80_VS2012/SDL_image-WinPhone80.vcxproj b/VisualC-WinRT/WinPhone80_VS2012/SDL_image-WinPhone80.vcxproj
deleted file mode 100644
index 2127600f..00000000
--- a/VisualC-WinRT/WinPhone80_VS2012/SDL_image-WinPhone80.vcxproj
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|ARM">
-      <Configuration>Debug</Configuration>
-      <Platform>ARM</Platform>
-    </ProjectConfiguration>
-    <Projec

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