mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-25 22:19:10 +00:00
Fix UWP build in non-UNICODE mode
This commit is contained in:
parent
c59771d7fc
commit
ccebbb6c6e
8 changed files with 25 additions and 25 deletions
|
@ -145,7 +145,7 @@ void SDL_WasapiDeviceEventHandler::OnDeviceAdded(DeviceWatcher ^ sender, DeviceI
|
||||||
available and switch automatically. (!!! FIXME...?) */
|
available and switch automatically. (!!! FIXME...?) */
|
||||||
|
|
||||||
SDL_assert(sender == this->watcher);
|
SDL_assert(sender == this->watcher);
|
||||||
char *utf8dev = WIN_StringToUTF8(info->Name->Data());
|
char *utf8dev = WIN_StringToUTF8W(info->Name->Data());
|
||||||
if (utf8dev) {
|
if (utf8dev) {
|
||||||
SDL_AudioSpec spec;
|
SDL_AudioSpec spec;
|
||||||
SDL_zero(spec);
|
SDL_zero(spec);
|
||||||
|
|
|
@ -266,7 +266,7 @@ WASAPI doesn't need this. This is just for DirectSound/WinMM.
|
||||||
char *WIN_LookupAudioDeviceName(const WCHAR *name, const GUID *guid)
|
char *WIN_LookupAudioDeviceName(const WCHAR *name, const GUID *guid)
|
||||||
{
|
{
|
||||||
#if defined(SDL_PLATFORM_WINRT) || defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)
|
#if defined(SDL_PLATFORM_WINRT) || defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)
|
||||||
return WIN_StringToUTF8(name); /* No registry access on WinRT/UWP and Xbox, go with what we've got. */
|
return WIN_StringToUTF8W(name); /* No registry access on WinRT/UWP and Xbox, go with what we've got. */
|
||||||
#else
|
#else
|
||||||
static const GUID nullguid = { 0 };
|
static const GUID nullguid = { 0 };
|
||||||
const unsigned char *ptr;
|
const unsigned char *ptr;
|
||||||
|
|
|
@ -119,19 +119,19 @@ static int SDLCALL windows_file_open(IOStreamWindowsData *iodata, const char *fi
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
LPTSTR tstr = WIN_UTF8ToString(filename);
|
LPWSTR str = WIN_UTF8ToStringW(filename);
|
||||||
#if defined(SDL_PLATFORM_WINRT)
|
#if defined(SDL_PLATFORM_WINRT)
|
||||||
CREATEFILE2_EXTENDED_PARAMETERS extparams;
|
CREATEFILE2_EXTENDED_PARAMETERS extparams;
|
||||||
SDL_zero(extparams);
|
SDL_zero(extparams);
|
||||||
extparams.dwSize = sizeof(extparams);
|
extparams.dwSize = sizeof(extparams);
|
||||||
extparams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL;
|
extparams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL;
|
||||||
h = CreateFile2(tstr,
|
h = CreateFile2(str,
|
||||||
(w_right | r_right),
|
(w_right | r_right),
|
||||||
(w_right) ? 0 : FILE_SHARE_READ,
|
(w_right) ? 0 : FILE_SHARE_READ,
|
||||||
(must_exist | truncate | a_mode),
|
(must_exist | truncate | a_mode),
|
||||||
&extparams);
|
&extparams);
|
||||||
#else
|
#else
|
||||||
h = CreateFile(tstr,
|
h = CreateFileW(str,
|
||||||
(w_right | r_right),
|
(w_right | r_right),
|
||||||
(w_right) ? 0 : FILE_SHARE_READ,
|
(w_right) ? 0 : FILE_SHARE_READ,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -139,7 +139,7 @@ static int SDLCALL windows_file_open(IOStreamWindowsData *iodata, const char *fi
|
||||||
FILE_ATTRIBUTE_NORMAL,
|
FILE_ATTRIBUTE_NORMAL,
|
||||||
NULL);
|
NULL);
|
||||||
#endif
|
#endif
|
||||||
SDL_free(tstr);
|
SDL_free(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(SDL_PLATFORM_XBOXONE) && !defined(SDL_PLATFORM_XBOXSERIES) && !defined(SDL_PLATFORM_WINRT)
|
#if !defined(SDL_PLATFORM_XBOXONE) && !defined(SDL_PLATFORM_XBOXSERIES) && !defined(SDL_PLATFORM_WINRT)
|
||||||
|
|
|
@ -53,7 +53,7 @@ int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enumer
|
||||||
// also prevent any wildcards inserted by the app from being respected.
|
// also prevent any wildcards inserted by the app from being respected.
|
||||||
SDL_snprintf(pattern, patternlen, "%s\\*", path);
|
SDL_snprintf(pattern, patternlen, "%s\\*", path);
|
||||||
|
|
||||||
WCHAR *wpattern = WIN_UTF8ToString(pattern);
|
WCHAR *wpattern = WIN_UTF8ToStringW(pattern);
|
||||||
SDL_free(pattern);
|
SDL_free(pattern);
|
||||||
if (!wpattern) {
|
if (!wpattern) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -75,7 +75,7 @@ int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enumer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char *utf8fn = WIN_StringToUTF8(fn);
|
char *utf8fn = WIN_StringToUTF8W(fn);
|
||||||
if (!utf8fn) {
|
if (!utf8fn) {
|
||||||
retval = -1;
|
retval = -1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -92,7 +92,7 @@ int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enumer
|
||||||
|
|
||||||
int SDL_SYS_RemovePath(const char *path)
|
int SDL_SYS_RemovePath(const char *path)
|
||||||
{
|
{
|
||||||
WCHAR *wpath = WIN_UTF8ToString(path);
|
WCHAR *wpath = WIN_UTF8ToStringW(path);
|
||||||
if (!wpath) {
|
if (!wpath) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -114,12 +114,12 @@ int SDL_SYS_RemovePath(const char *path)
|
||||||
|
|
||||||
int SDL_SYS_RenamePath(const char *oldpath, const char *newpath)
|
int SDL_SYS_RenamePath(const char *oldpath, const char *newpath)
|
||||||
{
|
{
|
||||||
WCHAR *woldpath = WIN_UTF8ToString(oldpath);
|
WCHAR *woldpath = WIN_UTF8ToStringW(oldpath);
|
||||||
if (!woldpath) {
|
if (!woldpath) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
WCHAR *wnewpath = WIN_UTF8ToString(newpath);
|
WCHAR *wnewpath = WIN_UTF8ToStringW(newpath);
|
||||||
if (!wnewpath) {
|
if (!wnewpath) {
|
||||||
SDL_free(woldpath);
|
SDL_free(woldpath);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -133,7 +133,7 @@ int SDL_SYS_RenamePath(const char *oldpath, const char *newpath)
|
||||||
|
|
||||||
int SDL_SYS_CreateDirectory(const char *path)
|
int SDL_SYS_CreateDirectory(const char *path)
|
||||||
{
|
{
|
||||||
WCHAR *wpath = WIN_UTF8ToString(path);
|
WCHAR *wpath = WIN_UTF8ToStringW(path);
|
||||||
if (!wpath) {
|
if (!wpath) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ int SDL_SYS_CreateDirectory(const char *path)
|
||||||
|
|
||||||
int SDL_SYS_GetPathInfo(const char *path, SDL_PathInfo *info)
|
int SDL_SYS_GetPathInfo(const char *path, SDL_PathInfo *info)
|
||||||
{
|
{
|
||||||
WCHAR *wpath = WIN_UTF8ToString(path);
|
WCHAR *wpath = WIN_UTF8ToStringW(path);
|
||||||
if (!wpath) {
|
if (!wpath) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ extern "C" const char *SDL_GetWinRTFSPath(SDL_WinRT_Path pathType)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *utf8Path = WIN_StringToUTF8(ucs2Path);
|
char *utf8Path = WIN_StringToUTF8W(ucs2Path);
|
||||||
utf8Paths[pathType] = utf8Path;
|
utf8Paths[pathType] = utf8Path;
|
||||||
SDL_free(utf8Path);
|
SDL_free(utf8Path);
|
||||||
return utf8Paths[pathType].c_str();
|
return utf8Paths[pathType].c_str();
|
||||||
|
@ -176,12 +176,12 @@ extern "C" char *SDL_SYS_GetPrefPath(const char *org, const char *app)
|
||||||
}
|
}
|
||||||
SDL_wcslcpy(path, srcPath, SDL_arraysize(path));
|
SDL_wcslcpy(path, srcPath, SDL_arraysize(path));
|
||||||
|
|
||||||
worg = WIN_UTF8ToString(org);
|
worg = WIN_UTF8ToStringW(org);
|
||||||
if (!worg) {
|
if (!worg) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
wapp = WIN_UTF8ToString(app);
|
wapp = WIN_UTF8ToStringW(app);
|
||||||
if (!wapp) {
|
if (!wapp) {
|
||||||
SDL_free(worg);
|
SDL_free(worg);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -225,7 +225,7 @@ extern "C" char *SDL_SYS_GetPrefPath(const char *org, const char *app)
|
||||||
|
|
||||||
SDL_wcslcat(path, L"\\", new_wpath_len + 1);
|
SDL_wcslcat(path, L"\\", new_wpath_len + 1);
|
||||||
|
|
||||||
retval = WIN_StringToUTF8(path);
|
retval = WIN_StringToUTF8W(path);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,7 @@ char *SDL_SYS_GetUserFolder(SDL_Folder folder)
|
||||||
|
|
||||||
wpath += L"\\";
|
wpath += L"\\";
|
||||||
|
|
||||||
return WIN_StringToUTF8(wpath.c_str());
|
return WIN_StringToUTF8W(wpath.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_PLATFORM_WINRT */
|
#endif /* SDL_PLATFORM_WINRT */
|
||||||
|
|
|
@ -30,23 +30,23 @@
|
||||||
void *SDL_LoadObject(const char *sofile)
|
void *SDL_LoadObject(const char *sofile)
|
||||||
{
|
{
|
||||||
void *handle;
|
void *handle;
|
||||||
LPTSTR tstr;
|
LPWSTR wstr;
|
||||||
|
|
||||||
if (!sofile) {
|
if (!sofile) {
|
||||||
SDL_InvalidParamError("sofile");
|
SDL_InvalidParamError("sofile");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
tstr = WIN_UTF8ToString(sofile);
|
wstr = WIN_UTF8ToStringW(sofile);
|
||||||
#ifdef SDL_PLATFORM_WINRT
|
#ifdef SDL_PLATFORM_WINRT
|
||||||
/* WinRT only publicly supports LoadPackagedLibrary() for loading .dll
|
/* WinRT only publicly supports LoadPackagedLibrary() for loading .dll
|
||||||
files. LoadLibrary() is a private API, and not available for apps
|
files. LoadLibrary() is a private API, and not available for apps
|
||||||
(that can be published to MS' Windows Store.)
|
(that can be published to MS' Windows Store.)
|
||||||
*/
|
*/
|
||||||
handle = (void *)LoadPackagedLibrary(tstr, 0);
|
handle = (void *)LoadPackagedLibrary(wstr, 0);
|
||||||
#else
|
#else
|
||||||
handle = (void *)LoadLibrary(tstr);
|
handle = (void *)LoadLibrary(wstr);
|
||||||
#endif
|
#endif
|
||||||
SDL_free(tstr);
|
SDL_free(wstr);
|
||||||
|
|
||||||
/* Generate an error message if all loads failed */
|
/* Generate an error message if all loads failed */
|
||||||
if (!handle) {
|
if (!handle) {
|
||||||
|
|
|
@ -34,7 +34,7 @@ using namespace Windows::Foundation;
|
||||||
using namespace Windows::UI::Popups;
|
using namespace Windows::UI::Popups;
|
||||||
|
|
||||||
static String ^ WINRT_UTF8ToPlatformString(const char *str) {
|
static String ^ WINRT_UTF8ToPlatformString(const char *str) {
|
||||||
wchar_t *wstr = WIN_UTF8ToString(str);
|
wchar_t *wstr = WIN_UTF8ToStringW(str);
|
||||||
String ^ rtstr = ref new String(wstr);
|
String ^ rtstr = ref new String(wstr);
|
||||||
SDL_free(wstr);
|
SDL_free(wstr);
|
||||||
return rtstr;
|
return rtstr;
|
||||||
|
|
|
@ -310,7 +310,7 @@ static int WINRT_AddDisplaysForOutput(SDL_VideoDevice *_this, IDXGIAdapter1 *dxg
|
||||||
WIN_SetErrorFromHRESULT(__FUNCTION__ ", IDXGIOutput::FindClosestMatchingMode failed", hr);
|
WIN_SetErrorFromHRESULT(__FUNCTION__ ", IDXGIOutput::FindClosestMatchingMode failed", hr);
|
||||||
goto done;
|
goto done;
|
||||||
} else {
|
} else {
|
||||||
display.name = WIN_StringToUTF8(dxgiOutputDesc.DeviceName);
|
display.name = WIN_StringToUTF8W(dxgiOutputDesc.DeviceName);
|
||||||
WINRT_DXGIModeToSDLDisplayMode(&closestMatch, &display.desktop_mode);
|
WINRT_DXGIModeToSDLDisplayMode(&closestMatch, &display.desktop_mode);
|
||||||
|
|
||||||
hr = dxgiOutput->GetDisplayModeList(DXGI_FORMAT_B8G8R8A8_UNORM, 0, &numModes, NULL);
|
hr = dxgiOutput->GetDisplayModeList(DXGI_FORMAT_B8G8R8A8_UNORM, 0, &numModes, NULL);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue