flycast icon indicating copy to clipboard operation
flycast copied to clipboard

Replace nowide with C++17 filesystem

Open IsaacMarovitz opened this issue 7 months ago • 1 comments

Flycast has very many dependencies, some of which have been superseded by better or more standardised implementations.

C++17 filesystem has support for UTF-8 API functions more or less removing the need for nowide here and cutting out one dependency.

IsaacMarovitz avatar Jun 19 '25 05:06 IsaacMarovitz

c++17 filesystem uses UTF-8 on UTF-8 platforms but uses the local code page on windows. In order to use UTF-8, you need to use special std::fs constructs and methods (u8path, u8string, ...) To complicate things further, c++20 deprecates some of these methods!

So I think we need some convenience classes/functions to handle these conversions properly (and c++20-compatble) and avoid errors in the code.

flyinghead avatar Jun 19 '25 07:06 flyinghead