diff --git a/.gitignore b/.gitignore index e79b4a5556..6bee5b0885 100644 --- a/.gitignore +++ b/.gitignore @@ -224,3 +224,4 @@ param.sfo *.self *.vpk /.vs +/deps/SPIRV-Cross/out/build/x64-Debug diff --git a/frontend/drivers/platform_uwp.c b/frontend/drivers/platform_uwp.c index fc4dc131bf..0ad61f3d55 100644 --- a/frontend/drivers/platform_uwp.c +++ b/frontend/drivers/platform_uwp.c @@ -276,19 +276,19 @@ static int frontend_uwp_parse_drive_list(void *data, bool load_content) enum msg_hash_enums enum_idx = load_content ? MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY; - char drive[] = " :\\"; bool have_any_drives = false; - home_dir[0] = '\0'; fill_pathname_home_dir(home_dir, sizeof(home_dir)); - for (drive[0] = 'A'; drive[0] <= 'Z'; drive[0]++) + DWORD drives = GetLogicalDrives(); + for (int i = 0; i < 26; i++) { - if (uwp_drive_exists(drive)) + if (drives & (1 << i)) { + TCHAR driveName[] = { TEXT('A') + i, TEXT(':'), TEXT('\\'), TEXT('\0') }; menu_entries_append_enum(list, - drive, + driveName, msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), enum_idx, FILE_TYPE_DIRECTORY, 0, 0); diff --git a/libretro-common/vfs/vfs_implementation_uwp.cpp b/libretro-common/vfs/vfs_implementation_uwp.cpp index bf0d76c8db..5452da5284 100644 --- a/libretro-common/vfs/vfs_implementation_uwp.cpp +++ b/libretro-common/vfs/vfs_implementation_uwp.cpp @@ -380,7 +380,7 @@ libretro_vfs_implementation_file *retro_vfs_file_open_impl( if (mode == RETRO_VFS_FILE_ACCESS_READ) { desireAccess = GENERIC_READ; - creationDisposition = OPEN_ALWAYS; + creationDisposition = OPEN_EXISTING; } else {