dolphin/Source/Core
JosJuice 86910f406e VideoCommon: Fix std::filesystem::path encoding conversion
In std::string, you can store strings using any encoding, but in Dolphin
we have decided to use UTF-8. The problem is that if you convert between
std::string and std::filesystem::path using the built-in methods, the
standard library will make up its own assumption of what encoding you're
using in the std::string. On most OSes this is UTF-8, but on Windows
it's whatever the user's code page is.

What I believe is the C++ standard authors' intended solution to this is
to use std::u8string instead of std::string, but that's a big hassle to
move over to, because there's no convenient way to convert between
std::string and std::u8string. Instead, in Dolphin, we have added helper
functions that convert between std::string and std::filesystem::path in
the manner we want. You *always* have to use these when converting
between std::string and std::filesystem::path, otherwise we get these
kinds of encoding problems that we've been having with custom textures.

Fixes https://bugs.dolphin-emu.org/issues/13328.
2023-08-16 09:56:56 +02:00
..
AudioCommon cubeb: Change name to "Dolphin Emulator" 2023-07-22 23:12:34 +02:00
Common NandPaths: Use initializer_list instead of unordered_set 2023-08-12 14:00:41 -07:00
Core Merge pull request #12090 from mandar1jn/figures-split 2023-08-13 14:29:46 -04:00
DiscIO Merge pull request #11955 from TellowKrinkle/CMakeDependencies 2023-06-30 19:06:04 +02:00
DolphinNoGUI Merge pull request #11873 from AdmiralCurtiss/pause-and-lock-host 2023-06-06 13:50:20 +02:00
DolphinQt Merge pull request #12100 from AdmiralCurtiss/tooltip-pushbutton 2023-08-13 21:44:24 +02:00
DolphinTool Merge pull request #11960 from Minty-Meeo/dolphin-tool-code-review-4 2023-06-17 14:18:21 +02:00
InputCommon Merge pull request #12109 from JosJuice/android-adddevice-null 2023-08-15 22:22:45 +02:00
MacUpdater CMake: Fix storyboard copying 2023-04-29 16:10:38 -05:00
UICommon Merge pull request #11955 from TellowKrinkle/CMakeDependencies 2023-06-30 19:06:04 +02:00
UpdaterCommon CMake: Use targets for all optionally-external dependencies 2023-06-15 01:41:41 -05:00
VideoBackends Merge pull request #12061 from iwubcode/cubemap_backends_only 2023-08-10 18:36:48 -04:00
VideoCommon VideoCommon: Fix std::filesystem::path encoding conversion 2023-08-16 09:56:56 +02:00
WinUpdater StringUtil: Move CommandLineToUtf8Argv() into Common namespace 2023-05-16 14:23:21 -04:00
CMakeLists.txt
DolphinLib.ARM64.props
DolphinLib.props VideoCommon: add material asset. A material is similar to other graphics engines where it provides data to be used in conjunction with a shader asset to generate a runtime AbstractShader 2023-07-09 12:21:34 -05:00
DolphinLib.vcxproj
DolphinLib.vcxproj.user
DolphinLib.x64.props