Explorar o código

winrt: Add EffectiveLocation support for newer Win10 releases

Ethan Lee %!s(int64=5) %!d(string=hai) anos
pai
achega
a7d91ebaa5
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  1. 6 1
      src/filesystem/winrt/SDL_sysfilesystem.cpp

+ 6 - 1
src/filesystem/winrt/SDL_sysfilesystem.cpp

@@ -48,7 +48,12 @@ SDL_WinRTGetFSPathUNICODE(SDL_WinRT_Path pathType)
         {
             static wstring path;
             if (path.empty()) {
-                path = Windows::ApplicationModel::Package::Current->InstalledLocation->Path->Data();
+                /* Windows 1903 supports mods, via the EffectiveLocation API */
+                if (Windows::Foundation::Metadata::ApiInformation::IsApiContractPresent("Windows.Foundation.UniversalApiContract", 8, 0)) {
+                    path = Windows::ApplicationModel::Package::Current->EffectiveLocation->Path->Data();
+                } else {
+                    path = Windows::ApplicationModel::Package::Current->InstalledLocation->Path->Data();
+                }
             }
             return path.c_str();
         }