Commit graph

255 commits

Author SHA1 Message Date
Leon Styhre 7ea52c13a5 StringUtil::toCapitalized() will now capitalize characters following the ( and [ characters 2024-07-16 21:19:49 +02:00
Leon Styhre cac5ec0402 Fixed an issue where the StringUtil::toCapitalized() function didn't correctly capitalize multi-byte Unicode characters
Also modernized some code
2024-07-16 21:13:50 +02:00
Leon Styhre 42f7e46d08 Added localization plural rules support 2024-07-16 10:15:42 +02:00
Leon Styhre 4ffc5d6bf9 Added a very simplified implementation of std::format 2024-07-15 17:39:03 +02:00
Leon Styhre 59507ecc0c Renamed the zh_rCN locale to zh_CN 2024-07-12 21:25:43 +02:00
Leon Styhre a5b1b17c2c Changed the application name in all header files 2024-07-10 18:04:40 +02:00
Leon Styhre 6d9a95a667 Added initial zh_rCN localization support 2024-07-10 17:52:44 +02:00
Leon Styhre 1df2641e0c Changed to scaling the menu title per language instead of the overall menu 2024-07-04 19:33:07 +02:00
Leon Styhre 661bb5d539 Added support for per-language menu scaling 2024-07-04 18:38:49 +02:00
Leon Styhre dfc217d006 Added localization support for en_US to be able to handle special cases 2024-07-04 18:36:37 +02:00
Leon Styhre eeccee307d Added a menu option for selecting the application language 2024-07-02 23:57:44 +02:00
Leon Styhre e3148e6cda (Windows) Added an extra precaution in case of an invalid locale entry 2024-07-02 22:09:51 +02:00
Leon Styhre 2d3a559cee Added support for falling back to the closest matching locale if there is not an exact match 2024-07-02 22:05:40 +02:00
Leon Styhre 63729cce19 (Android) Added localization support 2024-07-02 18:04:42 +02:00
Leon Styhre 302305b3ee Changed to using SDL_GetPreferredLocales() also on Linux
Also set the LANGUAGE environment variable on Linux
2024-06-30 23:22:48 +02:00
Leon Styhre 552f540a49 (macOS) Added language auto-detection 2024-06-30 23:10:04 +02:00
Leon Styhre 51c9507b87 (Windows) Added localization support 2024-06-30 22:27:22 +02:00
Leon Styhre ec8a49623a Added initial localization support 2024-06-29 21:24:28 +02:00
Leon Styhre 4260ecdbfc (Linux and Unix) Made it possible to change the application data directory using the ESDE_APPDATA_DIR environment variable 2024-03-10 14:56:19 +01:00
Leon Styhre a49f22144f (Android) Removed symlink support 2024-03-09 12:30:28 +01:00
Leon Styhre 6bad84a27a Fixed a number of potential issues where SDL_Event unions were not properly initialized 2024-01-05 10:42:28 +01:00
Leon Styhre 83ff89acb2 (Android) Removed support for using the SAF to list directory contents 2024-01-03 17:32:04 +01:00
Leon Styhre d934cfb48f Added support for filtering UTF-8 strings using UTF8-CPP 2024-01-03 17:29:22 +01:00
Leon Styhre 63c21fcea0 (Android) Added support for getting directory listings via the SAF 2023-12-30 17:01:54 +01:00
Leon Styhre 116d73c62a Removed some std::filesystem code
Also fixed an issue with launching emulators not defined via find rules
2023-12-19 17:35:58 +01:00
Leon Styhre a0d636ffb8 Changed the application name to ES-DE in all source file headers 2023-12-16 19:48:25 +01:00
Leon Styhre 946a783100 The .emulationstation directory is now ignored if there is already an ES-DE directory 2023-12-16 12:37:09 +01:00
Leon Styhre 361bf832e1 Changed the application name from EmulationStation Desktop Edition to ES-DE 2023-12-16 12:30:13 +01:00
Leon Styhre 6b0bfbfc09 Changed to a new application data directory structure 2023-12-15 22:35:28 +01:00
Leon Styhre 56ccba81d1 Removed all instances of hardcoded application directory entries
Also changed some source file headers
2023-12-15 18:33:02 +01:00
Leon Styhre 932cb60027 Changed some more FileSystemUtil functions to use std::filesystem facilities 2023-12-14 00:25:08 +01:00
Leon Styhre b72e2a20a8 Changed a number of FileSystemUtil functions to use std::filesystem facilities 2023-12-13 22:04:14 +01:00
Leon Styhre 6bcbd70237 (Android) Changed a variable for the private data directory 2023-12-13 20:07:23 +01:00
Leon Styhre 8571dfe7bf (Android) Implemented a cleaner way of handling the private data directory 2023-12-12 23:21:27 +01:00
Leon Styhre 8403b40d4c Moved some code 2023-12-11 18:23:20 +01:00
Leon Styhre 3ae7bc6b5b (Android) Updated the game launching logic 2023-12-07 18:51:09 +01:00
Leon Styhre d87bb4e3a4 (Android) Resources and themes are now only copied to internal storage after upgrades or for new installations 2023-12-07 18:33:08 +01:00
Leon Styhre a83763c2c3 (Android) Added preliminary support for copying assets to the internal data directory 2023-12-07 18:28:55 +01:00
Leon Styhre 811118d3ee (Android) Added support for launching emulators with scoped storage permissions 2023-12-07 18:22:43 +01:00
Leon Styhre b2e9507b0e (Android) Small change to PlatformUtil 2023-12-07 18:19:34 +01:00
Leon Styhre 25f017d9f8 (Android) Added support for defining a specific Intent action in the find rule configuration 2023-12-07 18:16:38 +01:00
Leon Styhre 310fb6e809 (Android) Added find rules logic and launch command configuration logic
Also did some general refactoring of the emulator launch code
2023-12-07 18:15:04 +01:00
Leon Styhre a09e4096ac (Android) Added preliminary support for requesting storage permissions 2023-12-07 18:10:47 +01:00
Leon Styhre 87a8d5a23a Fixed a few issues reported by scan-build 2023-11-02 12:38:19 +01:00
Leon Styhre 78a4223b8e (Windows) Fixed an issue where Unicode characters in folder names would sometimes crash the application 2023-10-17 23:58:38 +02:00
Leon Styhre 925d1b218b Added event polling when suspending ES-DE on game launch
Also added a ~5 MB log output size limitation for launched games on Unix and macOS
2023-10-16 18:27:46 +02:00
Leon Styhre e3e319f2af Fixed a regression where StringUtil::toCapitalized() stopped working 2023-08-21 17:01:43 +02:00
Leon Styhre fd1da398ac The %STARTDIR% variable could not be combined with running ES-DE in the background while launching games on Linux and macOS 2023-08-16 23:02:38 +02:00
Leon Styhre 88373f06ee Changed two FileSystemUtil functions to use std::filesystem facilities 2023-08-14 19:03:37 +02:00
Leon Styhre de4bd7341f Changed a number of stream operations to open files in binary mode to always get proper Unix line breaks 2023-08-10 23:02:36 +02:00
Leon Styhre 590591d0fb Added a check to MathUtil::md5Hash() to not attempt to hash directories 2023-08-03 20:14:04 +02:00
Leon Styhre 57fffd88b2 Added support to MathUtil::md5Hash() for streaming files in chunks 2023-08-02 20:34:32 +02:00
Leon Styhre c22bdae16e Changed most try/catch statements in FileSystemUtil to actually output the std::filesystem error messages 2023-08-02 20:28:29 +02:00
Leon Styhre 05cfbb55bd Added try/catch statements to a couple of std::filesystem functions in FileSystemUtil 2023-08-02 19:32:46 +02:00
Leon Styhre 5705672957 Added a getFileSize() function to FileSystemUtil
Also modernized createEmptyFile() to use std::filesystem::path
2023-08-02 19:20:50 +02:00
Leon Styhre 3472c6f852 Added a FileSystemUtil function to return the system home directory 2023-07-31 17:49:58 +02:00
Leon Styhre 66555101bf Added a FileSystemUtil function to create an empty file 2023-07-31 17:40:06 +02:00
Leon Styhre c0ec753dc7 Replaced a number of homecooked functions in FileSystemUtil with those from the C++ standard library 2023-07-29 19:14:07 +02:00
Leon Styhre 768539e8e7 (Windows) Fixed an issue where attempting to capitalize multi-byte Unicode strings crashed the application if built using the MSVC compiler 2023-07-28 21:46:24 +02:00
Leon Styhre 3b62dc6ee7 (Windows) Fixed an issue where wide string conversions were not done correctly 2023-07-28 21:44:03 +02:00
Leon Styhre 849ed7499b Some minor code cleanup 2023-07-24 16:53:24 +02:00
Leon Styhre c06f598d80 (macOS) Suppressed a compiler warning 2023-07-07 18:32:11 +02:00
Leon Styhre 19c8d5bb38 (Linux) The esBinary variable is now set correctly when running as an AppImage 2023-07-03 17:41:22 +02:00
Leon Styhre 15e5a8b305 Added a function to FileSystemUtil to return the ES-DE binary path
Also fixed an issue where the fallback to argv[0] in FileSystemUtil::setExePath() was not working correctly
2023-07-02 23:16:39 +02:00
Leon Styhre 923240aac0 Added options to the miximage generator for how to fit screenshots that do not match the aspect ratio of the miximage frame 2023-07-01 11:15:43 +02:00
Leon Styhre 6bf8c5af46 Added Windows support for the PDF viewer 2023-06-22 21:15:35 +02:00
Leon Styhre e7e3db7f6d Minor change to a error log output in PlatformUtil 2023-06-21 22:44:29 +02:00
Leon Styhre b30f8a48d3 Fixed an issue where FileSystemUtil::renameFile() did sometimes not provide a return value for if it actually succeeded or not 2023-04-02 21:01:28 +02:00
Leon Styhre d631435864 Fixed a compiler warning regarding an unsecure function in MathUtil. 2023-01-06 14:49:11 +01:00
Leon Styhre ab31eafaca Some code cleanup. 2022-12-14 17:30:34 +01:00
Leon Styhre 126d93709e Updated the CImg functions and miximage generator for BGRA instead of RGBA pixel format. 2022-10-28 21:39:57 +02:00
Leon Styhre 9d2a9ed9d9 Fixed an issue where StringUtil::delimitedStringToVector could return empty elements. 2022-08-19 17:03:55 +02:00
Leon Styhre f6c109e3fc (Windows) Trigger emergency shutdown on wide string conversion errors to preserve data integrity at all times. 2022-08-13 16:27:44 +02:00
Leon Styhre f550ba7dfc (Windows) Added error handling to StringUtil::stringToWideString() and StringUtil::wideStringToString() to avoid crashes caused by invalid characters. 2022-08-01 19:51:25 +02:00
Leon Styhre 0d23719fe7 (Windows) Fixed an issue where file paths would get escaped with quotation marks even if they did not contain any spaces. 2022-07-01 16:32:31 +02:00
Leon Styhre 25ac88c2f6 (Windows) Increased window size one pixel horizontally instead of decreasing it one pixel vertically on game launch. 2022-06-26 12:18:28 +02:00
Leon Styhre 0008e44294 Removed all short enums comments as they're now properly solved by AllowShortEnumsOnASingleLine. 2022-06-05 12:36:55 +02:00
Leon Styhre d418c05614 Added scraper support for the platforms arcadia (Emerson Arcadia 2001) and crvision (VTech CreatiVision).
Also removed an unnecessary code comment.
2022-05-19 17:32:12 +02:00
Leon Styhre 92c4ae3cdf Changed the execution order of some custom event scripts. 2022-05-18 23:01:32 +02:00
Leon Styhre fdf63a9ad0 Fixed an issue where the 'quit' custom event would not trigger on application shutdown. 2022-05-18 22:57:03 +02:00
Leon Styhre 595037b301 Fixed some minor function argument name mismatches. 2022-05-08 14:22:11 +02:00
Leon Styhre 9df3436d82 (Windows) Fixed an issue where symlinking media directories would crash the application. 2022-05-07 12:16:31 +02:00
Leon Styhre 4d5364e9e4 (Windows) Fixed a MinGW compile error. 2022-04-30 21:19:15 +02:00
Leon Styhre 6caf4d193b Added support for a %STARTDIR% es_systems.xml variable. 2022-04-30 20:43:29 +02:00
Leon Styhre de48b69760 Prevented a potential endless loop in StringUtil::replace() 2022-04-30 18:31:53 +02:00
Leon Styhre 2f80d1e578 Removed some unnecessary log output when locating emulators when running as a Flatpak. 2022-04-27 18:57:17 +02:00
Leon Styhre 7eecf6bb41 (Linux) Yet another ugly hack to detect installed emulators when running as a Flatpak. 2022-04-27 17:33:43 +02:00
Leon Styhre a9b17a7375 Removed some unreachable directories from the Flatpak path hack. 2022-04-26 23:20:47 +02:00
Leon Styhre b7d3b242fd (Linux) Ugly Flatpak PATH hack. 2022-04-26 21:26:25 +02:00
Leon Styhre a98ba7a42d A check is now done on game launch that emulator binaries are actually files or symlinks. 2022-04-24 11:17:51 +02:00
Leon Styhre cad06bd841 Changed the RPi preprocessor name from _RPI_ to RASPBERRY_PI. 2022-04-19 17:29:29 +02:00
Leon Styhre 03e457516a Fixed an issue where the StringUtil::replace function did not remove repeating occurances. 2022-04-15 20:33:53 +02:00
Leon Styhre 02249ae6b9 (RPi) Fixed two compiler errors. 2022-03-15 18:02:19 +01:00
Leon Styhre 2fe11bd827 A few fixes for the Emscripten WebAssembly build. 2022-03-15 17:17:56 +01:00
Leon Styhre 6b095bde05 (Windows) Fixed some compiler errors. 2022-03-14 20:29:25 +01:00
Leon Styhre d8b99b1dff Escaped some characters needed to get emulator wildcards to work with certain directories. 2022-02-21 19:05:29 +01:00
Leon Styhre da802aec61 Added emulator filename wildcard support for es_systems.xml and es_find_rules.xml 2022-02-21 17:23:23 +01:00
Leon Styhre fabc18a680 Updated the StringUtil::replace function to avoid potential endless loops. 2022-02-21 17:14:51 +01:00
Leon Styhre ee1a0f7cd3 Added support for using the tilde symbol for ROM path tags in es_systems.xml 2022-02-16 19:32:02 +01:00
Leon Styhre e6d6f3252f Improved the StringUtil::toCapitalized function. 2022-02-10 21:56:02 +01:00