SDL: gdk: Fix the project

From 97a927b44e188b17f3a31287c5aceec730ed0397 Mon Sep 17 00:00:00 2001
From: Nikita Krapivin <[EMAIL REDACTED]>
Date: Sat, 27 May 2023 01:56:01 +0500
Subject: [PATCH] gdk: Fix the project

---
 VisualC-GDK/SDL/SDL.vcxproj               | 17 ++---
 VisualC-GDK/SDL/SDL.vcxproj.filters       | 17 ++---
 VisualC-GDK/tests/testgdk/src/testgdk.cpp | 77 ++++++++++++-----------
 include/SDL3/SDL_syswm.h                  |  2 +-
 4 files changed, 60 insertions(+), 53 deletions(-)

diff --git a/VisualC-GDK/SDL/SDL.vcxproj b/VisualC-GDK/SDL/SDL.vcxproj
index 9bb1dd2f9e12..f9768a123877 100644
--- a/VisualC-GDK/SDL/SDL.vcxproj
+++ b/VisualC-GDK/SDL/SDL.vcxproj
@@ -121,7 +121,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(ProjectDir)/../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
       <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -151,7 +151,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(ProjectDir)/../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
       <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -179,7 +179,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(ProjectDir)/../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
       <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -206,7 +206,7 @@
       <TypeLibraryName>.\Release/SDL.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>$(ProjectDir)/../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
       <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -237,7 +237,7 @@
       <TypeLibraryName>.\Release/SDL.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>$(ProjectDir)/../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
       <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -266,7 +266,7 @@
       <TypeLibraryName>.\Release/SDL.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>$(ProjectDir)/../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
       <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -475,6 +475,7 @@
     <ClInclude Include="..\..\src\sensor\SDL_sensor_c.h" />
     <ClInclude Include="..\..\src\sensor\SDL_syssensor.h" />
     <ClInclude Include="..\..\src\sensor\windows\SDL_windowssensor.h" />
+    <ClInclude Include="..\..\src\thread\generic\SDL_sysrwlock_c.h" />
     <ClInclude Include="..\..\src\thread\SDL_systhread.h" />
     <ClInclude Include="..\..\src\thread\SDL_thread_c.h" />
     <ClInclude Include="..\..\src\thread\generic\SDL_syscond_c.h" />
@@ -724,9 +725,11 @@
     <ClCompile Include="..\..\src\stdlib\SDL_string.c" />
     <ClCompile Include="..\..\src\stdlib\SDL_strtokr.c" />
     <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c" />
+    <ClCompile Include="..\..\src\thread\generic\SDL_sysrwlock.c" />
     <ClCompile Include="..\..\src\thread\SDL_thread.c" />
     <ClCompile Include="..\..\src\thread\windows\SDL_syscond_cv.c" />
     <ClCompile Include="..\..\src\thread\windows\SDL_sysmutex.c" />
+    <ClCompile Include="..\..\src\thread\windows\SDL_sysrwlock_srw.c" />
     <ClCompile Include="..\..\src\thread\windows\SDL_syssem.c" />
     <ClCompile Include="..\..\src\thread\windows\SDL_systhread.c" />
     <ClCompile Include="..\..\src\thread\windows\SDL_systls.c" />
@@ -777,4 +780,4 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/VisualC-GDK/SDL/SDL.vcxproj.filters b/VisualC-GDK/SDL/SDL.vcxproj.filters
index 71ab29e44dfa..443e589f9870 100644
--- a/VisualC-GDK/SDL/SDL.vcxproj.filters
+++ b/VisualC-GDK/SDL/SDL.vcxproj.filters
@@ -821,6 +821,9 @@
     <ClInclude Include="..\..\src\render\direct3d12\SDL_render_d3d12_xbox.h">
       <Filter>render\direct3d12</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\thread\generic\SDL_sysrwlock_c.h">
+      <Filter>thread\generic</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\src\audio\wasapi\SDL_wasapi.c" />
@@ -1225,9 +1228,6 @@
     <ClCompile Include="..\..\src\thread\windows\SDL_sysmutex.c">
       <Filter>thread\windows</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\thread\windows\SDL_sysrwlock_srw.c">
-      <Filter>thread\windows</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\src\thread\windows\SDL_syssem.c">
       <Filter>thread\windows</Filter>
     </ClCompile>
@@ -1240,9 +1240,6 @@
     <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c">
       <Filter>thread\generic</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\thread\generic\SDL_sysrwlock.c">
-      <Filter>thread\generic</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\src\stdlib\SDL_crc16.c">
       <Filter>stdlib</Filter>
     </ClCompile>
@@ -1370,8 +1367,14 @@
     <ClCompile Include="..\..\src\core\windows\pch_cpp.cpp">
       <Filter>core\windows</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\thread\windows\SDL_sysrwlock_srw.c">
+      <Filter>thread\windows</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\thread\generic\SDL_sysrwlock.c">
+      <Filter>thread\generic</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\..\src\core\windows\version.rc" />
   </ItemGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/VisualC-GDK/tests/testgdk/src/testgdk.cpp b/VisualC-GDK/tests/testgdk/src/testgdk.cpp
index d43c1f7a7230..1a962a4c2062 100644
--- a/VisualC-GDK/tests/testgdk/src/testgdk.cpp
+++ b/VisualC-GDK/tests/testgdk/src/testgdk.cpp
@@ -92,7 +92,7 @@ open_audio()
     }
 
     /* Let the audio run */
-    SDL_PauseAudioDevice(device, SDL_FALSE);
+    SDL_PlayAudioDevice(device);
 }
 
 static void
@@ -256,10 +256,11 @@ LoadSprite(const char *file)
 void
 DrawSprites(SDL_Renderer * renderer, SDL_Texture * sprite)
 {
-    SDL_Rect viewport, temp;
+    SDL_Rect viewport;
+    SDL_FRect temp;
 
     /* Query the sizes */
-    SDL_RenderGetViewport(renderer, &viewport);
+    SDL_GetRenderViewport(renderer, &viewport);
 
     /* Cycle the color and alpha, if desired */
     if (cycle_color) {
@@ -294,51 +295,51 @@ DrawSprites(SDL_Renderer * renderer, SDL_Texture * sprite)
 
     /* Test points */
     SDL_SetRenderDrawColor(renderer, 0xFF, 0x00, 0x00, 0xFF);
-    SDL_RenderDrawPoint(renderer, 0, 0);
-    SDL_RenderDrawPoint(renderer, viewport.w-1, 0);
-    SDL_RenderDrawPoint(renderer, 0, viewport.h-1);
-    SDL_RenderDrawPoint(renderer, viewport.w-1, viewport.h-1);
+    SDL_RenderPoint(renderer, 0.0f, 0.0f);
+    SDL_RenderPoint(renderer, (float)(viewport.w - 1), 0.0f);
+    SDL_RenderPoint(renderer, 0.0f, (float)(viewport.h - 1));
+    SDL_RenderPoint(renderer, (float)(viewport.w - 1), (float)(viewport.h - 1));
 
     /* Test horizontal and vertical lines */
     SDL_SetRenderDrawColor(renderer, 0x00, 0xFF, 0x00, 0xFF);
-    SDL_RenderDrawLine(renderer, 1, 0, viewport.w-2, 0);
-    SDL_RenderDrawLine(renderer, 1, viewport.h-1, viewport.w-2, viewport.h-1);
-    SDL_RenderDrawLine(renderer, 0, 1, 0, viewport.h-2);
-    SDL_RenderDrawLine(renderer, viewport.w-1, 1, viewport.w-1, viewport.h-2);
+    SDL_RenderLine(renderer, 1.0f, 0.0f, (float)(viewport.w - 2), 0.0f);
+    SDL_RenderLine(renderer, 1.0f, (float)(viewport.h - 1), (float)(viewport.w - 2), (float)(viewport.h - 1));
+    SDL_RenderLine(renderer, 0.0f, 1.0f, 0.0f, (float)(viewport.h - 2));
+    SDL_RenderLine(renderer, (float)(viewport.w - 1), 1, (float)(viewport.w - 1), (float)(viewport.h - 2));
 
     /* Test fill and copy */
     SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
-    temp.x = 1;
-    temp.y = 1;
-    temp.w = sprite_w;
-    temp.h = sprite_h;
+    temp.x = 1.0f;
+    temp.y = 1.0f;
+    temp.w = (float)sprite_w;
+    temp.h = (float)sprite_h;
     SDL_RenderFillRect(renderer, &temp);
-    SDL_RenderCopy(renderer, sprite, NULL, &temp);
-    temp.x = viewport.w-sprite_w-1;
-    temp.y = 1;
-    temp.w = sprite_w;
-    temp.h = sprite_h;
+    SDL_RenderTexture(renderer, sprite, NULL, &temp);
+    temp.x = (float)(viewport.w-sprite_w-1);
+    temp.y = 1.0f;
+    temp.w = (float)sprite_w;
+    temp.h = (float)sprite_h;
     SDL_RenderFillRect(renderer, &temp);
-    SDL_RenderCopy(renderer, sprite, NULL, &temp);
-    temp.x = 1;
-    temp.y = viewport.h-sprite_h-1;
-    temp.w = sprite_w;
-    temp.h = sprite_h;
+    SDL_RenderTexture(renderer, sprite, NULL, &temp);
+    temp.x = 1.0f;
+    temp.y = (float)(viewport.h-sprite_h-1);
+    temp.w = (float)sprite_w;
+    temp.h = (float)sprite_h;
     SDL_RenderFillRect(renderer, &temp);
-    SDL_RenderCopy(renderer, sprite, NULL, &temp);
-    temp.x = viewport.w-sprite_w-1;
-    temp.y = viewport.h-sprite_h-1;
-    temp.w = sprite_w;
-    temp.h = sprite_h;
+    SDL_RenderTexture(renderer, sprite, NULL, &temp);
+    temp.x = (float)(viewport.w-sprite_w-1);
+    temp.y = (float)(viewport.h-sprite_h-1);
+    temp.w = (float)(sprite_w);
+    temp.h = (float)(sprite_h);
     SDL_RenderFillRect(renderer, &temp);
-    SDL_RenderCopy(renderer, sprite, NULL, &temp);
+    SDL_RenderTexture(renderer, sprite, NULL, &temp);
 
     /* Test diagonal lines */
     SDL_SetRenderDrawColor(renderer, 0x00, 0xFF, 0x00, 0xFF);
-    SDL_RenderDrawLine(renderer, sprite_w, sprite_h,
-                       viewport.w-sprite_w-2, viewport.h-sprite_h-2);
-    SDL_RenderDrawLine(renderer, viewport.w-sprite_w-2, sprite_h,
-                       sprite_w, viewport.h-sprite_h-2);
+    SDL_RenderLine(renderer, (float)sprite_w, (float)sprite_h,
+                   (float)(viewport.w-sprite_w-2), (float)(viewport.h-sprite_h-2));
+    SDL_RenderLine(renderer, (float)(viewport.w-sprite_w-2), (float)sprite_h,
+                   (float)sprite_w, (float)(viewport.h-sprite_h-2));
 
     /* Update the screen! */
     SDL_RenderPresent(renderer);
@@ -352,12 +353,12 @@ loop()
 
     /* Check for events */
     while (SDL_PollEvent(&event)) {
-        if (event.type == SDL_KEYDOWN && !event.key.repeat) {
-            SDL_Log("Initial SDL_KEYDOWN: %s", SDL_GetScancodeName(event.key.keysym.scancode));
+        if (event.type == SDL_EVENT_KEY_DOWN && !event.key.repeat) {
+            SDL_Log("Initial SDL_EVENT_KEY_DOWN: %s", SDL_GetScancodeName(event.key.keysym.scancode));
         }
 #if defined(__XBOXONE__) || defined(__XBOXSERIES__)
         /* On Xbox, ignore the keydown event because the features aren't supported */
-        if (event.type != SDL_KEYDOWN) {
+        if (event.type != SDL_EVENT_KEY_DOWN) {
             SDLTest_CommonEvent(state, &event, &done);
         }
 #else
diff --git a/include/SDL3/SDL_syswm.h b/include/SDL3/SDL_syswm.h
index 518384db52a7..9cb03d9e46ca 100644
--- a/include/SDL3/SDL_syswm.h
+++ b/include/SDL3/SDL_syswm.h
@@ -94,7 +94,7 @@
 #endif /* !SDL_DISABLE_SYSWM_WAYLAND */
 
 #ifndef SDL_DISABLE_SYSWM_WINDOWS
-#ifdef __WIN32__
+#if defined(__WIN32__) || defined(__GDK__)
 #define SDL_ENABLE_SYSWM_WINDOWS
 #endif
 #endif /* !SDL_DISABLE_SYSWM_WINDOWS */