SDL: Use PNG files for tests and examples

From bb0d6221c1d5c63fade050a606fcf2ef037479e9 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Mon, 6 Oct 2025 11:45:48 -0700
Subject: [PATCH] Use PNG files for tests and examples

These are much smaller than the previous BMP files

Fixes https://github.com/libsdl-org/SDL/issues/14159
---
 VisualC-GDK/tests/testgdk/testgdk.vcxproj     |      2 +-
 .../tests/testsprite/testsprite.vcxproj       |      2 +-
 .../renderer/06-textures/06-textures.vcxproj  |      2 +-
 .../08-rotating-textures.vcxproj              |      2 +-
 .../renderer/10-geometry/10-geometry.vcxproj  |      2 +-
 .../11-color-mods/11-color-mods.vcxproj       |      2 +-
 .../renderer/14-viewport/14-viewport.vcxproj  |      2 +-
 .../renderer/15-cliprect/15-cliprect.vcxproj  |      2 +-
 .../17-read-pixels/17-read-pixels.vcxproj     |      2 +-
 .../testrendertarget/testrendertarget.vcxproj |      4 +-
 VisualC/tests/testscale/testscale.vcxproj     |      4 +-
 VisualC/tests/testsprite/testsprite.vcxproj   |      2 +-
 VisualC/tests/testyuv/testyuv.vcxproj         |      2 +-
 examples/CMakeLists.txt                       |     26 +-
 examples/README.md                            |      8 +-
 .../asyncio/01-load-bitmaps/load-bitmaps.c    |     22 +-
 .../03-gamepad-polling/gamepad-polling.c      |     10 +-
 examples/renderer/06-textures/README.txt      |      2 +-
 examples/renderer/06-textures/textures.c      |     10 +-
 .../renderer/08-rotating-textures/README.txt  |      2 +-
 .../08-rotating-textures/rotating-textures.c  |     10 +-
 .../renderer/09-scaling-textures/README.txt   |      2 +-
 .../09-scaling-textures/scaling-textures.c    |     10 +-
 examples/renderer/10-geometry/README.txt      |      2 +-
 examples/renderer/10-geometry/geometry.c      |     10 +-
 examples/renderer/11-color-mods/README.txt    |      2 +-
 examples/renderer/11-color-mods/color-mods.c  |     10 +-
 examples/renderer/14-viewport/README.txt      |      2 +-
 examples/renderer/14-viewport/viewport.c      |     10 +-
 examples/renderer/15-cliprect/README.txt      |      2 +-
 examples/renderer/15-cliprect/cliprect.c      |     10 +-
 .../renderer/17-read-pixels/read-pixels.c     |     10 +-
 .../19-affine-textures/affine-textures.c      |     10 +-
 examples/save-rendering-to-bitmaps.h          |      8 +-
 test/CMakeLists.txt                           |     51 +-
 test/audiofile.bmp                            |    Bin 65674 -> 0 bytes
 test/audiofile.png                            |    Bin 0 -> 18765 bytes
 test/gamepad_axis.bmp                         |    Bin 10122 -> 0 bytes
 test/gamepad_axis.h                           |    880 +-
 test/gamepad_axis.png                         |    Bin 0 -> 373 bytes
 test/gamepad_axis_arrow.bmp                   |    Bin 410 -> 0 bytes
 test/gamepad_axis_arrow.h                     |     51 +-
 test/gamepad_axis_arrow.png                   |    Bin 0 -> 134 bytes
 test/gamepad_back.bmp                         |    Bin 17952 -> 0 bytes
 test/gamepad_back.h                           |   2503 +-
 test/gamepad_back.png                         |    Bin 0 -> 12032 bytes
 test/gamepad_battery.bmp                      |    Bin 2122 -> 0 bytes
 test/gamepad_battery.h                        |    198 +-
 test/gamepad_battery.png                      |    Bin 0 -> 200 bytes
 test/gamepad_battery_unknown.bmp              |    Bin 2106 -> 0 bytes
 test/gamepad_battery_unknown.png              |    Bin 0 -> 330 bytes
 test/gamepad_battery_wired.bmp                |    Bin 2106 -> 0 bytes
 test/gamepad_battery_wired.h                  |    214 +-
 test/gamepad_battery_wired.png                |    Bin 0 -> 403 bytes
 test/gamepad_button.bmp                       |    Bin 10122 -> 0 bytes
 test/gamepad_button.h                         |   1100 +-
 test/gamepad_button.png                       |    Bin 0 -> 3018 bytes
 test/gamepad_button_background.bmp            |    Bin 8458 -> 0 bytes
 test/gamepad_button_background.h              |    759 +-
 test/gamepad_button_background.png            |    Bin 0 -> 595 bytes
 test/gamepad_button_small.bmp                 |    Bin 714 -> 0 bytes
 test/gamepad_button_small.h                   |     82 +-
 test/gamepad_button_small.png                 |    Bin 0 -> 207 bytes
 test/gamepad_face_abxy.bmp                    |    Bin 33030 -> 0 bytes
 test/gamepad_face_abxy.h                      |   2936 +-
 test/gamepad_face_abxy.png                    |    Bin 0 -> 2142 bytes
 test/gamepad_face_axby.bmp                    |    Bin 33030 -> 0 bytes
 test/gamepad_face_axby.h                      |   2927 +-
 test/gamepad_face_axby.png                    |    Bin 0 -> 2033 bytes
 test/gamepad_face_bayx.bmp                    |    Bin 33030 -> 0 bytes
 test/gamepad_face_bayx.h                      |   2932 +-
 test/gamepad_face_bayx.png                    |    Bin 0 -> 2092 bytes
 test/gamepad_face_sony.bmp                    |    Bin 33030 -> 0 bytes
 test/gamepad_face_sony.h                      |   2927 +-
 test/gamepad_face_sony.png                    |    Bin 0 -> 2039 bytes
 test/gamepad_front.bmp                        |    Bin 33894 -> 0 bytes
 test/gamepad_front.h                          |   4968 +-
 test/gamepad_front.png                        |    Bin 0 -> 25664 bytes
 test/gamepad_touchpad.bmp                     |    Bin 3724 -> 0 bytes
 test/gamepad_touchpad.h                       |    364 +-
 test/gamepad_touchpad.png                     |    Bin 0 -> 586 bytes
 test/gamepad_wired.bmp                        |    Bin 1226 -> 0 bytes
 test/gamepad_wired.h                          |    135 +-
 test/gamepad_wired.png                        |    Bin 0 -> 330 bytes
 test/gamepad_wireless.bmp                     |    Bin 1162 -> 0 bytes
 test/gamepad_wireless.h                       |    128 +-
 test/gamepad_wireless.png                     |    Bin 0 -> 322 bytes
 test/gamepadutils.c                           |     38 +-
 test/glass.bmp                                |    Bin 1537738 -> 0 bytes
 test/glass.h                                  | 133986 +--------------
 test/glass.png                                |    Bin 0 -> 70041 bytes
 test/icon.bmp                                 |    Bin 578 -> 0 bytes
 test/icon.h                                   |     69 +-
 test/icon.png                                 |    Bin 0 -> 183 bytes
 test/icon2x.bmp                               |    Bin 2198 -> 0 bytes
 test/icon2x.png                               |    Bin 0 -> 195 bytes
 test/logaudiodev.bmp                          |    Bin 65674 -> 0 bytes
 test/logaudiodev.png                          |    Bin 0 -> 17949 bytes
 test/msdf_font.bmp                            |    Bin 196662 -> 0 bytes
 test/msdf_font.png                            |    Bin 0 -> 52904 bytes
 test/physaudiodev.bmp                         |    Bin 65674 -> 0 bytes
 test/physaudiodev.png                         |    Bin 0 -> 13105 bytes
 test/sample.bmp                               |    Bin 69202 -> 0 bytes
 test/sample.png                               |    Bin 0 -> 24744 bytes
 test/sdl-test_round.bmp                       |    Bin 147594 -> 0 bytes
 test/sdl-test_round.png                       |    Bin 0 -> 22081 bytes
 test/soundboard.bmp                           |    Bin 65674 -> 0 bytes
 test/soundboard.png                           |    Bin 0 -> 11275 bytes
 test/soundboard_levels.bmp                    |    Bin 2698 -> 0 bytes
 test/soundboard_levels.png                    |    Bin 0 -> 1005 bytes
 test/speaker.bmp                              |    Bin 65674 -> 0 bytes
 test/speaker.png                              |    Bin 0 -> 9847 bytes
 test/testasyncio.c                            |     18 +-
 test/testaudio.c                              |     12 +-
 test/testautomation_pixels.c                  |    107 +
 test/testautomation_surface.c                 |     38 +-
 test/testclipboard.c                          |     12 +-
 test/testcustomcursor.c                       |      2 +-
 test/testffmpeg.c                             |      4 +-
 test/testgeometry.c                           |      4 +-
 test/testgpu_spinning_cube.c                  |      4 +-
 test/testgpurender_effects.c                  |      4 +-
 test/testgpurender_msdf.c                     |      4 +-
 test/testime.c                                |      2 +-
 test/testnative.c                             |      2 +-
 test/testoffscreen.c                          |     10 +-
 test/testrendercopyex.c                       |      4 +-
 test/testrendertarget.c                       |      4 +-
 test/testscale.c                              |      4 +-
 test/testshader.c                             |      8 +-
 test/testshape.c                              |     12 +-
 test/testsprite.c                             |      6 +-
 test/testspriteminimal.c                      |      4 +-
 test/testspritesurface.c                      |      4 +-
 test/testtray.c                               |     12 +-
 test/testutils.c                              |      4 +-
 test/testviewport.c                           |      2 +-
 test/testwaylandcustom.c                      |      4 +-
 test/testyuv.bmp                              |    Bin 739398 -> 0 bytes
 test/testyuv.c                                |     12 +-
 test/testyuv.png                              |    Bin 0 -> 278481 bytes
 test/trashcan.bmp                             |    Bin 65674 -> 0 bytes
 test/trashcan.png                             |    Bin 0 -> 18574 bytes
 143 files changed, 10608 insertions(+), 147151 deletions(-)
 delete mode 100644 test/audiofile.bmp
 create mode 100755 test/audiofile.png
 delete mode 100644 test/gamepad_axis.bmp
 mode change 100644 => 100755 test/gamepad_axis.h
 create mode 100755 test/gamepad_axis.png
 delete mode 100644 test/gamepad_axis_arrow.bmp
 mode change 100644 => 100755 test/gamepad_axis_arrow.h
 create mode 100755 test/gamepad_axis_arrow.png
 delete mode 100644 test/gamepad_back.bmp
 mode change 100644 => 100755 test/gamepad_back.h
 create mode 100755 test/gamepad_back.png
 delete mode 100644 test/gamepad_battery.bmp
 mode change 100644 => 100755 test/gamepad_battery.h
 create mode 100755 test/gamepad_battery.png
 delete mode 100644 test/gamepad_battery_unknown.bmp
 create mode 100755 test/gamepad_battery_unknown.png
 delete mode 100644 test/gamepad_battery_wired.bmp
 mode change 100644 => 100755 test/gamepad_battery_wired.h
 create mode 100755 test/gamepad_battery_wired.png
 delete mode 100644 test/gamepad_button.bmp
 mode change 100644 => 100755 test/gamepad_button.h
 create mode 100755 test/gamepad_button.png
 delete mode 100644 test/gamepad_button_background.bmp
 mode change 100644 => 100755 test/gamepad_button_background.h
 create mode 100755 test/gamepad_button_background.png
 delete mode 100644 test/gamepad_button_small.bmp
 mode change 100644 => 100755 test/gamepad_button_small.h
 create mode 100755 test/gamepad_button_small.png
 delete mode 100644 test/gamepad_face_abxy.bmp
 mode change 100644 => 100755 test/gamepad_face_abxy.h
 create mode 100755 test/gamepad_face_abxy.png
 delete mode 100644 test/gamepad_face_axby.bmp
 mode change 100644 => 100755 test/gamepad_face_axby.h
 create mode 100755 test/gamepad_face_axby.png
 delete mode 100644 test/gamepad_face_bayx.bmp
 mode change 100644 => 100755 test/gamepad_face_bayx.h
 create mode 100755 test/gamepad_face_bayx.png
 delete mode 100644 test/gamepad_face_sony.bmp
 mode change 100644 => 100755 test/gamepad_face_sony.h
 create mode 100755 test/gamepad_face_sony.png
 delete mode 100644 test/gamepad_front.bmp
 mode change 100644 => 100755 test/gamepad_front.h
 create mode 100755 test/gamepad_front.png
 delete mode 100644 test/gamepad_touchpad.bmp
 mode change 100644 => 100755 test/gamepad_touchpad.h
 create mode 100755 test/gamepad_touchpad.png
 delete mode 100644 test/gamepad_wired.bmp
 mode change 100644 => 100755 test/gamepad_wired.h
 create mode 100755 test/gamepad_wired.png
 delete mode 100644 test/gamepad_wireless.bmp
 mode change 100644 => 100755 test/gamepad_wireless.h
 create mode 100755 test/gamepad_wireless.png
 delete mode 100644 test/glass.bmp
 mode change 100644 => 100755 test/glass.h
 create mode 100644 test/glass.png
 delete mode 100644 test/icon.bmp
 mode change 100644 => 100755 test/icon.h
 create mode 100755 test/icon.png
 delete mode 100644 test/icon2x.bmp
 create mode 100755 test/icon2x.png
 delete mode 100644 test/logaudiodev.bmp
 create mode 100755 test/logaudiodev.png
 delete mode 100644 test/msdf_font.bmp
 create mode 100755 test/msdf_font.png
 delete mode 100644 test/physaudiodev.bmp
 create mode 100755 test/physaudiodev.png
 delete mode 100644 test/sample.bmp
 create mode 100755 test/sample.png
 delete mode 100644 test/sdl-test_round.bmp
 create mode 100755 test/sdl-test_round.png
 delete mode 100644 test/soundboard.bmp
 create mode 100755 test/soundboard.png
 delete mode 100644 test/soundboard_levels.bmp
 create mode 100755 test/soundboard_levels.png
 delete mode 100644 test/speaker.bmp
 create mode 100755 test/speaker.png
 delete mode 100644 test/testyuv.bmp
 create mode 100755 test/testyuv.png
 delete mode 100644 test/trashcan.bmp
 create mode 100755 test/trashcan.png

diff --git a/VisualC-GDK/tests/testgdk/testgdk.vcxproj b/VisualC-GDK/tests/testgdk/testgdk.vcxproj
index 2e3ecf87273e7..4ffc370c5521c 100644
--- a/VisualC-GDK/tests/testgdk/testgdk.vcxproj
+++ b/VisualC-GDK/tests/testgdk/testgdk.vcxproj
@@ -310,7 +310,7 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <CopyFileToFolders Include="..\..\..\test\icon.bmp">
+    <CopyFileToFolders Include="..\..\..\test\icon.png">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">Copying %(Filename)%(Extension)</Message>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">Copying %(Filename)%(Extension)</Message>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">Copying %(Filename)%(Extension)</Message>
diff --git a/VisualC-GDK/tests/testsprite/testsprite.vcxproj b/VisualC-GDK/tests/testsprite/testsprite.vcxproj
index 0c1ac0622cea6..65422be4142fd 100644
--- a/VisualC-GDK/tests/testsprite/testsprite.vcxproj
+++ b/VisualC-GDK/tests/testsprite/testsprite.vcxproj
@@ -310,7 +310,7 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <CopyFileToFolders Include="..\..\..\test\icon.bmp">
+    <CopyFileToFolders Include="..\..\..\test\icon.png">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">Copying %(Filename)%(Extension)</Message>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">Copying %(Filename)%(Extension)</Message>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">Copying %(Filename)%(Extension)</Message>
diff --git a/VisualC/examples/renderer/06-textures/06-textures.vcxproj b/VisualC/examples/renderer/06-textures/06-textures.vcxproj
index d99b62c0609c8..a2c43ff6f7316 100644
--- a/VisualC/examples/renderer/06-textures/06-textures.vcxproj
+++ b/VisualC/examples/renderer/06-textures/06-textures.vcxproj
@@ -8,7 +8,7 @@
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\06-textures\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\06-textures\textures.c" />
-    <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" />
+    <Content Include="$(SolutionDir)\..\test\sample.png" CopyToOutputDirectory="PreserveNewest" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 </Project>
\ No newline at end of file
diff --git a/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj b/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj
index 5e14c6d0932d2..f6a939c6d4553 100644
--- a/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj
+++ b/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj
@@ -8,7 +8,7 @@
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\08-rotating-textures\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\08-rotating-textures\rotating-textures.c" />
-    <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" />
+    <Content Include="$(SolutionDir)\..\test\sample.png" CopyToOutputDirectory="PreserveNewest" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 </Project>
\ No newline at end of file
diff --git a/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj b/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj
index 6013514fe37b3..ba3fe99194774 100644
--- a/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj
+++ b/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj
@@ -8,7 +8,7 @@
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\10-geometry\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\10-geometry\geometry.c" />
-    <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" />
+    <Content Include="$(SolutionDir)\..\test\sample.png" CopyToOutputDirectory="PreserveNewest" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 </Project>
\ No newline at end of file
diff --git a/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj b/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj
index c0af3e32dfb3b..97b943c795da9 100644
--- a/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj
+++ b/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj
@@ -8,7 +8,7 @@
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\11-color-mods\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\11-color-mods\color-mods.c" />
-    <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" />
+    <Content Include="$(SolutionDir)\..\test\sample.png" CopyToOutputDirectory="PreserveNewest" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 </Project>
\ No newline at end of file
diff --git a/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj b/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj
index 1ebbda55f5482..0e20fb8c481dc 100644
--- a/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj
+++ b/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj
@@ -8,7 +8,7 @@
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\14-viewport\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\14-viewport\viewport.c" />
-    <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" />
+    <Content Include="$(SolutionDir)\..\test\sample.png" CopyToOutputDirectory="PreserveNewest" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 </Project>
\ No newline at end of file
diff --git a/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj b/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj
index dbb7ca670a0b1..fb2a8fbb72fe3 100644
--- a/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj
+++ b/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj
@@ -8,7 +8,7 @@
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\15-cliprect\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\15-cliprect\cliprect.c" />
-    <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" />
+    <Content Include="$(SolutionDir)\..\test\sample.png" CopyToOutputDirectory="PreserveNewest" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 </Project>
\ No newline at end of file
diff --git a/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj b/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj
index 674462e8e421f..68c6d0eb8ced9 100644
--- a/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj
+++ b/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj
@@ -8,7 +8,7 @@
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\17-read-pixels\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\17-read-pixels\read-pixels.c" />
-    <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" />
+    <Content Include="$(SolutionDir)\..\test\sample.png" CopyToOutputDirectory="PreserveNewest" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 </Project>
\ No newline at end of file
diff --git a/VisualC/tests/testrendertarget/testrendertarget.vcxproj b/VisualC/tests/testrendertarget/testrendertarget.vcxproj
index b487b7e4fbab6..5b097c376e383 100644
--- a/VisualC/tests/testrendertarget/testrendertarget.vcxproj
+++ b/VisualC/tests/testrendertarget/testrendertarget.vcxproj
@@ -201,7 +201,7 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\..\test\icon.bmp">
+    <CustomBuild Include="..\..\..\test\icon.png">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename)%(Extension)</Message>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" "$(ProjectDir)\"
 </Command>
@@ -219,7 +219,7 @@
 </Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)\%(Filename)%(Extension);%(Outputs)</Outputs>
     </CustomBuild>
-    <CustomBuild Include="..\..\..\test\sample.bmp">
+    <CustomBuild Include="..\..\..\test\sample.png">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename)%(Extension)</Message>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" "$(ProjectDir)\"
 </Command>
diff --git a/VisualC/tests/testscale/testscale.vcxproj b/VisualC/tests/testscale/testscale.vcxproj
index dbb0e4cd4b2ad..86f45ee69ff51 100644
--- a/VisualC/tests/testscale/testscale.vcxproj
+++ b/VisualC/tests/testscale/testscale.vcxproj
@@ -201,7 +201,7 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\..\test\icon.bmp">
+    <CustomBuild Include="..\..\..\test\icon.png">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename)%(Extension)</Message>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" "$(ProjectDir)\"
 </Command>
@@ -219,7 +219,7 @@
 </Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)\%(Filename)%(Extension);%(Outputs)</Outputs>
     </CustomBuild>
-    <CustomBuild Include="..\..\..\test\sample.bmp">
+    <CustomBuild Include="..\..\..\test\sample.png">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename)%(Extension)</Message>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" "$(ProjectDir)\"
 </Command>
diff --git a/VisualC/tests/testsprite/testsprite.vcxproj b/VisualC/tests/testsprite/testsprite.vcxproj
index 5baba6e47c41f..65c58b1b25222 100644
--- a/VisualC/tests/testsprite/testsprite.vcxproj
+++ b/VisualC/tests/testsprite/testsprite.vcxproj
@@ -201,7 +201,7 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\..\test\icon.bmp">
+    <CustomBuild Include="..\..\..\test\icon.png">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename)%(Extension)</Message>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" "$(ProjectDir)\"
 </Command>
diff --git a/VisualC/tests/testyuv/testyuv.vcxproj b/VisualC/tests/testyuv/testyuv.vcxproj
index 5b7b9b4290a4d..82024b7210534 100644
--- a/VisualC/tests/testyuv/testyuv.vcxproj
+++ b/VisualC/tests/testyuv/testyuv.vcxproj
@@ -201,7 +201,7 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\..\test\testyuv.bmp">
+    <CustomBuild Include="..\..\..\test\testyuv.png">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename)%(Extension)</Message>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" "$(ProjectDir)\"
 </Command>
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 6e1f1c5d0edce..195545536db94 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -31,7 +31,7 @@ if(NOT CMAKE_VERSION VERSION_LESS 3.20)
     set(example_bin_dir "${example_bin_dir}$<$<BOOL:${is_multi_config}>:/$<CONFIG>>")
 endif()
 
-file(GLOB RESOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.bmp ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.wav ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.hex)
+file(GLOB RESOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.png ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.wav ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.hex)
 
 set(RESOURCE_FILE_NAMES)
 set(RESOURCE_FILES_BINDIR)
@@ -131,17 +131,17 @@ add_sdl_example_executable(renderer-primitives SOURCES renderer/02-primitives/pr
 add_sdl_example_executable(renderer-lines SOURCES renderer/03-lines/lines.c)
 add_sdl_example_executable(renderer-points SOURCES renderer/04-points/points.c)
 add_sdl_example_executable(renderer-rectangles SOURCES renderer/05-rectangles/rectangles.c)
-add_sdl_example_executable(renderer-textures SOURCES renderer/06-textures/textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp)
+add_sdl_example_executable(renderer-textures SOURCES renderer/06-textures/textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png)
 add_sdl_example_executable(renderer-streaming-textures SOURCES renderer/07-streaming-textures/streaming-textures.c)
-add_sdl_example_executable(renderer-rotating-textures SOURCES renderer/08-rotating-textures/rotating-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp)
-add_sdl_example_executable(renderer-scaling-textures SOURCES renderer/09-scaling-textures/scaling-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp)
-add_sdl_example_executable(renderer-geometry SOURCES renderer/10-geometry/geometry.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp)
-add_sdl_example_executable(renderer-color-mods SOURCES renderer/11-color-mods/color-mods.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp)
-add_sdl_example_executable(renderer-viewport SOURCES renderer/14-viewport/viewport.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp)
-add_sdl_example_executable(renderer-cliprect SOURCES renderer/15-cliprect/cliprect.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp)
-add_sdl_example_executable(renderer-read-pixels SOURCES renderer/17-read-pixels/read-pixels.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp)
+add_sdl_example_executable(renderer-rotating-textures SOURCES renderer/08-rotating-textures/rotating-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png)
+add_sdl_example_executable(renderer-scaling-textures SOURCES renderer/09-scaling-textures/scaling-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png)
+add_sdl_example_executable(renderer-geometry SOURCES renderer/10-geometry/geometry.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png)
+add_sdl_example_executable(renderer-color-mods SOURCES renderer/11-color-mods/color-mods.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png)
+add_sdl_example_executable(renderer-viewport SOURCES renderer/14-viewport/viewport.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png)
+add_sdl_example_executable(renderer-cliprect SOURCES renderer/15-cliprect/cliprect.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png)
+add_sdl_example_executable(renderer-read-pixels SOURCES renderer/17-read-pixels/read-pixels.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png)
 add_sdl_example_executable(renderer-debug-text SOURCES renderer/18-debug-text/debug-text.c)
-add_sdl_example_executable(renderer-affine-textures SOURCES renderer/19-affine-textures/affine-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp)
+add_sdl_example_executable(renderer-affine-textures SOURCES renderer/19-affine-textures/affine-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png)
 add_sdl_example_executable(audio-simple-playback SOURCES audio/01-simple-playback/simple-playback.c)
 add_sdl_example_executable(audio-simple-playback-callback SOURCES audio/02-simple-playback-callback/simple-playback-callback.c)
 add_sdl_example_executable(audio-load-wav SOURCES audio/03-load-wav/load-wav.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.wav)
@@ -149,11 +149,11 @@ add_sdl_example_executable(audio-multiple-streams SOURCES audio/04-multiple-stre
 add_sdl_example_executable(audio-planar-data SOURCES audio/05-planar-data/planar-data.c)
 add_sdl_example_executable(input-joystick-polling SOURCES input/01-joystick-polling/joystick-polling.c)
 add_sdl_example_executable(input-joystick-events SOURCES input/02-joystick-events/joystick-events.c)
-add_sdl_example_executable(input-gamepad-polling SOURCES input/03-gamepad-polling/gamepad-polling.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/gamepad_front.bmp)
+add_sdl_example_executable(input-gamepad-polling SOURCES input/03-gamepad-polling/gamepad-polling.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/gamepad_front.png)
 add_sdl_example_executable(input-gamepad-events SOURCES input/04-gamepad-events/gamepad-events.c)
 add_sdl_example_executable(camera-read-and-draw SOURCES camera/01-read-and-draw/read-and-draw.c)
 add_sdl_example_executable(pen-drawing-lines SOURCES pen/01-drawing-lines/drawing-lines.c)
-add_sdl_example_executable(asyncio-load-bitmaps SOURCES asyncio/01-load-bitmaps/load-bitmaps.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp ${CMAKE_CURRENT_SOURCE_DIR}/../test/gamepad_front.bmp ${CMAKE_CURRENT_SOURCE_DIR}/../test/speaker.bmp ${CMAKE_CURRENT_SOURCE_DIR}/../test/icon2x.bmp)
+add_sdl_example_executable(asyncio-load-bitmaps SOURCES asyncio/01-load-bitmaps/load-bitmaps.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png ${CMAKE_CURRENT_SOURCE_DIR}/../test/gamepad_front.png ${CMAKE_CURRENT_SOURCE_DIR}/../test/speaker.png ${CMAKE_CURRENT_SOURCE_DIR}/../test/icon2x.png)
 add_sdl_example_executable(misc-power SOURCES misc/01-power/power.c)
 add_sdl_example_executable(misc-clipboard SOURCES misc/02-clipboard/clipboard.c)
 add_sdl_example_executable(demo-snake SOURCES demo/01-snake/snake.c)
@@ -165,7 +165,7 @@ add_sdl_example_executable(demo-bytepusher SOURCES demo/04-bytepusher/bytepusher
 # - Add a new example in examples/
 # - Run python VisualC/examples/generate.py
 # - Take note of the newly generated .vcxproj files
-# - Modify the .vcxproj files if necessary (adding content such as BMP or WAV files)
+# - Modify the .vcxproj files if necessary (adding content such as PNG or WAV files)
 # - Open VisualC/SDL.sln in Visual Studio or JetBrains Rider
 # - Locate the appropriate folder in the Solution Explorer
 # - Add the newly generated projects: Right click -> Add -> Existing project...
diff --git a/examples/README.md b/examples/README.md
index ba3ad2b978c34..261e485afbd99 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -71,16 +71,16 @@ everything consistent. You can ignore it.
 
 This is how Ryan is doing it curr

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