Commit graph

1158 commits

Author SHA1 Message Date
Leon Styhre 2ebfb45bdf Some minor code cleanup. 2022-01-17 20:47:30 +01:00
Leon Styhre 0c8efee8ad General refactoring and code cleanup. 2022-01-16 18:18:28 +01:00
Leon Styhre 8a6652552f Set the clang-format option SpaceBeforeCpp11BracedList to true. 2022-01-16 12:09:55 +01:00
Leon Styhre 5f2f439fc3 Moved the fan art scrape menu option to the bottom and set it as disabled by default. 2022-01-16 10:43:12 +01:00
Leon Styhre 89cf82b88e When multi-scraping and scrolling a long name, the start position would sometimes not reset correctly. 2022-01-15 19:28:41 +01:00
Leon Styhre c7964b7ebc Renamed GameList to Gamelist throughout the codebase. 2022-01-15 13:38:09 +01:00
Leon Styhre 92f5284bf3 Added support for scraping fan art images.
Also added scraping of box back covers when using TheGamesDB.
2022-01-15 13:16:23 +01:00
Leon Styhre dde456cbc8 Removed the unnecessary Renderer::getWindowFlags() function. 2022-01-14 18:23:51 +01:00
Leon Styhre 73beeeaeaf Fixed two Emscripten compiler warnings. 2022-01-13 20:07:04 +01:00
Leon Styhre 8596aca68c Added an OpenGL ES 2.0 renderer. 2022-01-13 19:39:49 +01:00
Leon Styhre 90fa63f91c Removed support for supplying a separate format than internalFormat when creating OpenGL textures. 2022-01-12 22:25:41 +01:00
Leon Styhre d85c966e49 Added logging of the display refresh rate on startup. 2022-01-12 21:26:43 +01:00
Leon Styhre a233b96c2a Removed some unnecessary typedefs and replaced the remaining ones with the more modern 'using' keyword.
Also harmonized the names of some user defined types and made some other minor cleanup.
2022-01-11 21:57:00 +01:00
Leon Styhre d45a67eeab (Windows) Fixed a few compiler errors and warnings. 2022-01-10 19:53:23 +01:00
Leon Styhre b4e08ba92b Renamed Platform to utils/PlatformUtil 2022-01-10 18:56:04 +01:00
Leon Styhre 2d149c5161 Moved all Platform functions to the utility namespace. 2022-01-10 18:43:17 +01:00
Leon Styhre 5a085c585e Fixed a frame caching issue in LottieComponent. 2022-01-10 17:42:01 +01:00
Leon Styhre c3dbdd431c Fixed some potential segfaults on emergency shutdown. 2022-01-10 17:41:08 +01:00
Leon Styhre f80658696c Removed some unnecessary time measurement constants. 2022-01-09 23:50:08 +01:00
Leon Styhre aeb0292a3e Changed a variable to inline static in BadgeComponent. 2022-01-09 23:41:56 +01:00
Leon Styhre 5c07e29101 Fixed an issue where the cached background would sometimes miss some GUI elements. 2022-01-09 19:50:11 +01:00
Leon Styhre f66bb91496 Decreased the background caching invalidation delay from 50 to 25 ms. 2022-01-09 19:48:29 +01:00
Leon Styhre 6ff91e89ca Disabled debug mode in LottieComponent and fixed a small bug. 2022-01-09 19:26:42 +01:00
Leon Styhre cd7cfe36ce Added play direction support to LottieComponent.
Also fixed some bugs and cleaned up the code a bit.
2022-01-09 18:17:23 +01:00
Leon Styhre e730d24da0 Added a small delay to the cached background invalidation to give components some time to render. 2022-01-09 17:56:17 +01:00
Leon Styhre a1abaa7112 Increased the default per-file maximum Lottie cache size from 100 to 150 MiB. 2022-01-09 13:45:44 +01:00
Leon Styhre b16ea29088 Added theme support and proper application integration for LottieComponent. 2022-01-09 13:43:42 +01:00
Leon Styhre d45c690586 Some CMake configuration changes for building with rlottie. 2022-01-08 16:23:23 +01:00
Leon Styhre b3421823a7 Added rudimentary frame caching support to LottieComponent. 2022-01-08 15:04:10 +01:00
Leon Styhre 3f629b6c1e Created proper program structure for LottieComponent. 2022-01-08 11:25:29 +01:00
Leon Styhre 3ee4e4cb35 Added threading support and proper frame pacing to LottieComponent. 2022-01-07 19:09:07 +01:00
Leon Styhre 0c552dd8fb Added a GLSL shader to convert the color model BGRA to RGBA.
Also added support for specifying a separate format as compared to internalFormat when creating textures, although the shader should be used primarily as this is not really supported by the OpenGL standard.
2022-01-07 18:54:52 +01:00
Leon Styhre 0021bee104 (Windows) Fixed two compiler warnings. 2022-01-07 00:30:31 +01:00
Leon Styhre 19147eee66 (Windows) CMake configuration changes to make rlottie build correctly. 2022-01-07 00:29:31 +01:00
Leon Styhre 998830181f Added CMake configuration for the Lottie animation support. 2022-01-06 23:19:37 +01:00
Leon Styhre f56d7cc67b Added a preliminary Lottie animation component.
Also added two temporary test animations.
2022-01-06 23:15:29 +01:00
Leon Styhre c62a069448 Fixed an issue where the audio device was accessed after it had been closed. 2022-01-05 00:08:50 +01:00
Leon Styhre 87ace0b8cb Changed some shared_ptr return values to use values instead of references. 2022-01-04 22:36:15 +01:00
Leon Styhre 0cbcb7a516 Changed Settings::getInstance() from returning a smart_ptr to returning a regular pointer. 2022-01-04 21:54:55 +01:00
Leon Styhre 5d79c3d77e Fixed a compile error when building with the bundled TLS/SSL certificates. 2022-01-04 21:38:46 +01:00
Leon Styhre 254b00a3d8 Large refactoring to improve thread safety and improve singleton pattern usage. 2022-01-04 21:21:26 +01:00
Leon Styhre f36245886f Set the 'Scrape actual folders' option as enabled by default.
Also moved it higher up in the scraper options menu.
2022-01-03 18:20:49 +01:00
Leon Styhre 6431804ee7 Removed the deprecated VideoVlcComponent. 2022-01-02 13:13:01 +01:00
Leon Styhre fa993a0489 Fixed a texture corruption issue caused by too aggressive optimizations. 2021-12-27 21:24:34 +01:00
Leon Styhre 796951bf44 Fixed an issue in TextEditComponent when clearing really long strings. 2021-12-27 19:52:45 +01:00
Leon Styhre c63e5e4529 Fixed an additional issue in the ROM selection dialog. 2021-12-27 19:26:42 +01:00
Leon Styhre 7f314d0108 Fixed a few cosmetic issues in the ROM selection dialog. 2021-12-27 19:00:22 +01:00
Leon Styhre 246e9ae8be Fixed a cosmetic issue with the ROM directory setup dialog caused by an optimization. 2021-12-26 17:07:57 +01:00
Leon Styhre 2d8d1e6831 (macOS) Reduced the CPU usage significantly while running in the background. 2021-12-14 18:17:46 +01:00
Leon Styhre 08bba3cbaf (macOS) Removed the Monterey VSync workaround as Apple has patched its OS. 2021-12-14 17:15:04 +01:00
Leon Styhre ab92a4135a Fixed an issue where using fallback fonts at very low resolutions could lead to a crash. 2021-12-14 17:12:39 +01:00
Leon Styhre 5fd2c86c7d Fixed an issue where corrupt Unicode strings could crash the application. 2021-12-14 17:08:37 +01:00
Leon Styhre 55316365d8 Fixed an issue where buggy controller drivers could crash the application. 2021-12-10 16:51:41 +01:00
Leon Styhre 045e56ae3f (Windows) Changed the fullscreen mode to SDL_WINDOW_BORDERLESS.
Also removed the 'AMD and Intel GPU game launch workaround' menu option.
2021-12-09 18:53:22 +01:00
Leon Styhre 0978c697a2 (macOS) Updated a code comment as the issue described was resolved with SDL 2.0.18 2021-12-08 21:19:24 +01:00
Leon Styhre 5019d8c065 Moved the ScreenScraper account toggle to the bottom of the scraper account screen. 2021-12-06 20:21:32 +01:00
Leon Styhre 4227a609a2 Made the window corners slightly more rounded. 2021-12-06 18:58:51 +01:00
Leon Styhre 7e8d1f6434 (Windows) Improved game launching with the AMD and Intel GPU workaround setting enabled. 2021-12-06 18:51:50 +01:00
Leon Styhre 515577c8f9 (Unix) Changed the fullscreen mode to SDL_WINDOW_FULLSCREEN_DESKTOP.
Also removed the --windowed, --fullscreen-normal and --fullscreen-borderless command line options and menu entry.
2021-12-05 13:51:39 +01:00
Leon Styhre 6e24c8d77b Increased the amount of custom event arguments from two to four. 2021-12-05 11:25:11 +01:00
Leon Styhre f5ff480fc4 Fixed a GCC compiler warning. 2021-12-02 17:40:45 +01:00
Leon Styhre 0fdd169835 Fixed a compile error on BSD Unix. 2021-12-01 19:10:17 +01:00
Leon Styhre 3516ee7a26 (macOS) Set the Monterey VSync workaround setting as enabled by default. 2021-12-01 18:05:43 +01:00
Leon Styhre a2253113f7 (macOS) Some fixes to make the legacy build work again. 2021-12-01 17:57:23 +01:00
Leon Styhre 8373d59e29 (macOS) All dependencies are now built in-tree. 2021-11-30 22:14:18 +01:00
Leon Styhre a4f8fe78e1 Fixed a time zone issue related to the Unix epoch. 2021-11-26 20:55:54 +01:00
Leon Styhre 5482950689 Updated a code comment regarding the use of bundled TLS certificates. 2021-11-25 18:56:30 +01:00
Leon Styhre 360be460a2 Added a CMake option to use the bundled TLS certificates with cURL. 2021-11-25 17:34:34 +01:00
Leon Styhre 7ebf895613 Fixed a ScrollableContainer sizing issue while running in the background when games are launched. 2021-11-22 19:46:05 +01:00
Leon Styhre 2bbbab7d70 Small optimization in VideoFFmpegComponent. 2021-11-18 17:25:09 +01:00
Leon Styhre 0314b2d439 Fixed a performance regression caused by excessive mutex locks. 2021-11-18 17:20:59 +01:00
Leon Styhre e91e23a053 Small code simplification in Settings. 2021-11-18 17:19:30 +01:00
Leon Styhre bd1fa04e79 (RPi) Fixed a compiler error. 2021-11-17 21:38:27 +01:00
Leon Styhre 445b914379 Completely refactored MameNames. 2021-11-17 21:32:40 +01:00
Leon Styhre af52d9b0ac Changed most increment and decrement operators from postfix to prefix for es-core. 2021-11-17 17:48:49 +01:00
Leon Styhre 4c6bfb8b78 Fixed a few issues reported by UBSan. 2021-11-16 22:03:34 +01:00
Leon Styhre 9937476e18 Replaced some mutex locks with atomic variables.
Also removed an SDL audio issue workaround from AudioManager.
2021-11-16 17:49:05 +01:00
Leon Styhre a5e10a6434 (Windows) Fixed a compiler error. 2021-11-15 23:45:17 +01:00
Leon Styhre 999b9a6c04 Improved thread safety in TextureData and TextureDataManager. 2021-11-15 23:33:16 +01:00
Leon Styhre 7b06e9fb8b Fixed some thread safety issues in Sound. 2021-11-15 23:27:02 +01:00
Leon Styhre 81d6f0fd30 Improved thread safety for Settings.
Also moved some data from the global namespace to an anonymous namespace.
2021-11-15 22:53:21 +01:00
Leon Styhre 6bc4a09c9b Multiple thread safety improvements to AudioManager and VideoFFmpegComponent.
Also some general refactoring and re-enabling of some SDL_AudioStream functions.
2021-11-15 22:43:06 +01:00
Leon Styhre b742951dc0 Removed some unnecessary includes of AudioManager.h 2021-11-15 20:52:36 +01:00
Leon Styhre 57d172bb14 Some code cleanup in the logger. 2021-11-15 20:47:00 +01:00
Leon Styhre f8c10c539d Added two asserts to ComponentGrid to check for invalid grid layouts. 2021-11-13 15:33:42 +01:00
Leon Styhre 4cf291798a Fixed a grid layout issue for the virtual keyboard. 2021-11-13 15:31:44 +01:00
Leon Styhre 36b7146d7f Made the video player shut down slightly faster under some circumstances. 2021-11-12 23:48:12 +01:00
Leon Styhre 1005dfcdb7 (macOS) Added a Monterey VSync bug workaround. 2021-11-12 19:49:24 +01:00
Leon Styhre 043db7e05e (RPi) Fixed a crash by null terminating the Unicode lookup tables. 2021-11-11 22:41:13 +01:00
Leon Styhre 3e59a451c9 Improved the padding consistency for OptionListComponent arrows across different screen resolutions. 2021-11-11 19:54:10 +01:00
Leon Styhre b68640939a Improved consistency of sizing and padding for buttons across different screen resolutions. 2021-11-11 19:51:42 +01:00
Leon Styhre 22200c3025 Fixed an issue where TextListComponent would not correctly handle the forceUppercase theme property. 2021-11-11 19:49:46 +01:00
Leon Styhre 6a7f002a94 Improved the sizing of screen corners in NinePatchComponent. 2021-11-11 19:47:59 +01:00
Leon Styhre c4fb3eafbe Fixed a small alignment issue in SliderComponent. 2021-11-11 19:45:44 +01:00
Leon Styhre 99d0f17e6b Fixed a small alignment issue in ComponentList. 2021-11-11 19:43:58 +01:00
Leon Styhre fd980d7e4a The alternative emulator badges and filters are now disabled if the per-game setting has been disabled. 2021-11-10 22:38:25 +01:00
Leon Styhre 39926abc41 Some very small optimizations in CImgUtil. 2021-11-09 22:57:15 +01:00
Leon Styhre 3e12fcb420 General refactoring and minor optimizations throughout the codebase. 2021-11-09 22:40:08 +01:00
Leon Styhre d3b135e387 Set the FFmpeg video player HW decoding as disabled by default. 2021-11-08 17:58:36 +01:00
Leon Styhre ac4710a18e Added proper support for the Raspberry Pi 4. 2021-11-07 23:54:52 +01:00