Commit graph

1553 commits

Author SHA1 Message Date
Leon Styhre c4eb1b8b97 Greatly simplified the video controls code.
Also fixed a cosmetic issue with carousel fade transitions.
2022-02-19 17:04:23 +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 4f019c3775 Added support for defining multiple imageType entries.
Also made some improvements to GameSelectorComponent and related logic.
2022-02-14 19:32:07 +01:00
Leon Styhre eb3729a5fb Fixed a few crashes related to GameSelectorComponent. 2022-02-13 23:15:43 +01:00
Leon Styhre 57a594225a Added initial game selector support to SystemView. 2022-02-13 22:30:03 +01:00
Leon Styhre 81b819a96a Fixed some incorrect debug log messages in GamelistFileParser. 2022-02-13 20:06:35 +01:00
Leon Styhre afa6221582 Fixed a potential crash in GamelistBase. 2022-02-13 20:05:32 +01:00
Leon Styhre cc8123f5a6 Added a GameSelectorComponent for displaying game media in SystemView. 2022-02-13 20:03:34 +01:00
Leon Styhre 0d799575ca Fixed an issue where the logo text was incorrectly displayed for legacy themes. 2022-02-13 12:39:17 +01:00
Leon Styhre 1bca9e185e Changed to the more specific imageType and systemdata theme properties.
Also made it possible to set the image interpolation method from the theme, and added clamping to the lineSpacing property.
2022-02-13 11:45:06 +01:00
Leon Styhre 8103bef3b8 Fixed a minor animation glitch in the gamelist view.
Also removed the explicit setDisplayRelative() call which made it impossible to override this theme setting.
2022-02-12 17:50:44 +01:00
Leon Styhre 1cba6e202e Disabled the pillarboxes and scanline rendering menu options if using a non-legacy theme set. 2022-02-12 17:47:59 +01:00
Leon Styhre a42d63e567 Code cleanup by moving a lot of casts to the appropriate getter functions. 2022-02-11 23:38:23 +01:00
Leon Styhre 2c2e624160 Changed the opacity data type and functions from unsigned char to float. 2022-02-11 22:10:25 +01:00
Leon Styhre 85cb10d71a Changed some string::compare functions to == operators.
Also removed an unused theme property.
2022-02-11 18:39:16 +01:00
Leon Styhre 28a3beb9ce ScrollableContainer parameters are now themeable. 2022-02-10 20:02:56 +01:00
Leon Styhre bdbc0580d2 Added two more theme system variables. 2022-02-09 23:10:45 +01:00
Leon Styhre 59f9791efe Added new theme system variables for differentiating between collections and non-collection systems. 2022-02-09 23:00:15 +01:00
Leon Styhre b9e9178169 Fixed multiple issues in CarouselComponent. 2022-02-09 18:22:06 +01:00
Leon Styhre 98e265413e Removed some unnecessary legacy gamelist code. 2022-02-09 18:19:01 +01:00
Leon Styhre 027af497d5 Fixed an issue where VideoComponent static images were not fading out correctly in the gamelist view. 2022-02-09 18:16:15 +01:00
Leon Styhre 03f8e020c3 Fixed a reverse scrolling issue in CarouselComponent. 2022-02-09 00:05:06 +01:00
Leon Styhre 69b9b587d6 Added support for text entries to CarouselComponent.
Also fixed some issues with the carousel wheels and removed an unused function in ThemeData.
2022-02-07 21:05:56 +01:00
Leon Styhre 0bd38ba26c Updated SystemView for non-legacy carousel theming. 2022-02-06 20:36:06 +01:00
Leon Styhre 3ceecdc793 Added metadata property support for the SystemView text fields. 2022-02-06 20:13:53 +01:00
Leon Styhre 6d01e85885 Reshuffled some functions in SystemView. 2022-02-06 14:55:48 +01:00
Leon Styhre b5d49e9b43 Migrated the carousel code from SystemView to CarouselComponent. 2022-02-06 14:01:40 +01:00
Leon Styhre d564a234c1 Implemented a better legacy theme detection in GamelistView. 2022-02-06 13:58:50 +01:00
Leon Styhre c530373ddc Improved the integration of the variant and aspect ratio options in the UI Settings menu.
Also reorganized the order of some settings.
2022-02-01 18:06:32 +01:00
Leon Styhre 17d8f8eb5b Fixed a camera animation issue when changing theme variant or aspect ratio. 2022-02-01 00:06:40 +01:00
Leon Styhre d4f572d78d Added preliminary menu options for changing theme variants and aspect ratios. 2022-01-31 23:53:32 +01:00
Leon Styhre d414c3b845 Removed some unnecessary functions in SystemData. 2022-01-30 21:53:22 +01:00
Leon Styhre 872aaf6b48 Preliminary update to SystemView for the new theme engine. 2022-01-30 21:16:03 +01:00
Leon Styhre db05fb3800 Fixed an issue where an extra game image could be shown for legacy themes. 2022-01-30 20:00:49 +01:00
Leon Styhre 3bf46c3fb0 Added support for two new 'scrollFadeIn' and 'defaultImage' properties.
Also fixed some issues with theming ScrollableContainer.
2022-01-30 19:30:38 +01:00
Leon Styhre c35a297d9a Large update to get the new theme engine up and running. 2022-01-29 18:41:22 +01:00
Leon Styhre 0ca2b62edf Some minor code cleanup. 2022-01-29 18:16:30 +01:00
Leon Styhre dc20a9e21b Cleaned up ThemeData a bit. 2022-01-23 20:03:50 +01:00
Leon Styhre 644f79ebec Improved the theme loading error logging.
Also cleaned up the code a bit.
2022-01-23 17:50:51 +01:00
Leon Styhre 098cde5f98 Pointless change to silence a GCC compiler warning. 2022-01-22 21:50:42 +01:00
Leon Styhre 62d5c1e656 Rewrote the gamelist logic for the new theme engine.
Also split out all legacy mode (backward compatibility) functions to a separate header file.
2022-01-22 21:42:43 +01:00
Leon Styhre 7275f020f1 Fixed the gamelist fade-in animation which was too slow. 2022-01-19 19:30:11 +01:00
Leon Styhre a443f86235 Removed a huge amount of unnecessary Window* function arguments. 2022-01-19 18:01:54 +01:00
Leon Styhre 21b167ed9b Added support to the new gamelist classes for changing view styles.
Also removed the deprecated 'grid' view style and corresponding menu option.
2022-01-18 22:04:05 +01:00
Leon Styhre 4e444c369c Made the new gamelist code work correctly for the detailed view style. 2022-01-18 21:09:06 +01:00
Leon Styhre 51578903ff Replaced the legacy gamelist code with rudimentary support for GamelistBase and GamelistView. 2022-01-18 20:42:50 +01:00
Leon Styhre dfeddebc66 Removed a lot of unnecessary combinations of the virtual and override keywords. 2022-01-18 17:40:47 +01:00
Leon Styhre ec0a7ad2f1 Added the preliminary GamelistBase and GamelistView classes. 2022-01-18 17:14:17 +01:00
Leon Styhre 50db59a6f6 Updated the include guards for UIModeController. 2022-01-17 21:59:00 +01:00
Leon Styhre e6c36e88c5 Moved UIModeController.cpp from the es-app/views directory to es-app 2022-01-17 21:53:23 +01:00
Leon Styhre 2ebfb45bdf Some minor code cleanup. 2022-01-17 20:47:30 +01:00
Leon Styhre a6be6225d8 Renamed SystemScreensaver to Screensaver. 2022-01-17 18:43:29 +01:00
Leon Styhre acd18bd1f8 Very minor change to the command line --help output. 2022-01-17 18:35:03 +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 e64976d4bc Renamed GuiGameScraper to GuiScraperSingle. 2022-01-16 11:10:32 +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 c2619fd520 Added media type checks for fan art and TheGamesDB box back covers to the multi-scraper. 2022-01-15 18:29:38 +01:00
Leon Styhre d343e785af Fixed an issue with scraping fan art images using ScreenScraper. 2022-01-15 18:14:11 +01:00
Leon Styhre 97e08922a0 Renamed GamelistFileParse to GamelistFileParser and moved it to its own namespace. 2022-01-15 14:12:56 +01:00
Leon Styhre b43c991a9d Renamed Gamelist.cpp/Gamelist.h to GamelistFileParse. 2022-01-15 13:57:08 +01:00
Leon Styhre 7323dd5dfd Renamed some GAME_LIST constants to GAMELIST. 2022-01-15 13:49:14 +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 a135edb02e Fixed multiple issues with scraping and saving metadata in GuiMetaDataEd. 2022-01-15 13:02:45 +01:00
Leon Styhre 65702b6689 Added the ability to set a sortname specifically for custom collections. 2022-01-15 11:50:51 +01:00
Leon Styhre 6ca4d6b96e Removed an unused constructor parameter for GuiMetaDataEd. 2022-01-14 23:42:52 +01:00
Leon Styhre 3fd060dc4f Fixed an issue where some media files were sometimes not removed when clearing games. 2022-01-14 21:17:00 +01:00
Leon Styhre 1fc3dfda8c Fixed an issue when changing the grouping setting for custom collections. 2022-01-14 17:29:20 +01:00
Leon Styhre cd2ef3d179 Fixed an issue where custom collections could get the wrong sort order after metadata changes. 2022-01-14 17:27:42 +01:00
Leon Styhre 73beeeaeaf Fixed two Emscripten compiler warnings. 2022-01-13 20:07:04 +01:00
Leon Styhre 750ee07351 Improved the structure of main.cpp
Also partially added support for Emscripten.
2022-01-12 21:38:37 +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 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 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 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 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 f8e201d347 Moved the CollectionSystemsManager cleanup from the destructor to a deinit function. 2022-01-04 23:14:12 +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 119dfc90f8 Changed ViewController::get() to ViewController::getInstance() 2022-01-04 21:49:22 +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 2a4e7d22b8 Fixed an issue where the busy indicator would not get displayed during multi-scraping. 2022-01-03 18:44:19 +01:00
Leon Styhre 5bb009e604 Added scraper support for displaying the returned platform if it does not match the game platform. 2022-01-03 18:37:43 +01:00
Leon Styhre 6f35f16470 Added a missing scummvm system entry for the TheGamesDB scraper. 2022-01-03 18:22:41 +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 0a72780b59 Fixed two small typos. 2022-01-02 21:02:43 +01:00
Leon Styhre 6431804ee7 Removed the deprecated VideoVlcComponent. 2022-01-02 13:13:01 +01:00
Leon Styhre 20dbaa01f2 Added year 2022 to the copyright messages. 2022-01-02 12:22:51 +01:00
Leon Styhre 17dbae3c20 (Unix) Added the 1.2.0 release to the AppData file. 2022-01-02 12:20:22 +01:00
Leon Styhre 2bb5d0c164 Bumped the version to 1.3.0-alpha 2021-12-29 15:54:26 +01:00
Leon Styhre a3561f4c88 Bumped the version to 1.2.0 2021-12-28 11:27:01 +01:00
Leon Styhre 595786601e Fixed a potential memory leak when enabling the 'All games' collection. 2021-12-27 16:05:58 +01:00
Leon Styhre 44cf76095f Fixed an issue where leading and trailing spaces were not trimmed when defining the ROM directory. 2021-12-26 17:10:30 +01:00
Leon Styhre 361a93fd37 (Windows) Added support for appending strings to the winregistryvalue find rule. 2021-12-24 12:26:34 +01:00
Leon Styhre d199554d86 (macOS) Disabled the startup animations also when starting with a gamelist view. 2021-12-23 12:31:04 +01:00
Leon Styhre 4bbd0bc1af (macOS) Disabled the startup animations as they are not working correctly as of SDL 2.0.18 2021-12-23 11:45:21 +01:00
Leon Styhre c2d3719edf Fixed an issue where stale gamelist entries could get displayed. 2021-12-22 18:53:29 +01:00
Leon Styhre 7a7f29825d Bumped the version to 1.2.0-dev 2021-12-19 19:16:09 +01:00
Leon Styhre 230a4a68dc Bumped the version to 1.2.0-rc 2021-12-19 15:08:09 +01:00
Leon Styhre daf66c4b60 Added proper support for interpreting directories as files. 2021-12-17 20:18:47 +01:00
Leon Styhre 96bbd25e79 Added support for prefixing the es_systems.xml %EMULATOR_% variable with a command.
Also added trimming of leading and trailing whitespace characters from the launch command.
2021-12-16 18:05:36 +01:00
Leon Styhre a0743e6871 (Windows) Fixed an issue with the winregistryvalue find rule. 2021-12-16 17:36:09 +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 b04c6d88a9 Changed the email address for the DEB package. 2021-12-13 17:15:24 +01:00
Leon Styhre 2c421c86e0 Bumped the version to v1.2.0-rc-dev 2021-12-11 12:01:54 +01:00
Leon Styhre 0e9367de9f Bumped the version to 1.2.0-beta3 2021-12-10 16:55:46 +01:00
Leon Styhre 9e86908a47 (Windows) Fixed a window focusing issue when hiding the taskbar. 2021-12-09 20:23:09 +01:00
Leon Styhre 171679efa9 Filter the first 'a' button press after returning from a game when running in background. 2021-12-09 18:56:25 +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 de45f3d298 Fixed an issue where the launch screen would contain text rendering artifacts. 2021-12-08 19:58:50 +01:00
Leon Styhre 80555eb7a3 Moved the System view preloading to the correct location. 2021-12-08 19:57:31 +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 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 50a8edecf3 Added the system name and full system name as arguments to the game-start and game-end custom events. 2021-12-05 11:28:09 +01:00
Leon Styhre 0b79c19883 Bumped the version to 1.2.0-beta3-dev 2021-12-05 11:16:41 +01:00
Leon Styhre 36dd70b476 Fixed an issue where text scrolling would get disabled upon failed game launches. 2021-12-02 20:42:49 +01:00
Leon Styhre 42c07ee4c5 Another go at fixing a crash after scraping. 2021-12-02 19:28:10 +01:00
Leon Styhre c75ce3c8b0 Fixed a missed code path for a previous crash fix. 2021-12-02 18:35:02 +01:00
Leon Styhre ae0605b785 Bumped the version to 1.2.0-beta2 2021-12-02 17:59:39 +01:00
Leon Styhre a794c717b6 Fixed an issue where the multi-scraper would sometimes not reload the gamelists. 2021-12-02 17:36:00 +01:00
Leon Styhre 654dc2a546 Fixed a crash that could occur when aborting the single-scraper followed by a re-scrape. 2021-12-02 17:34:30 +01:00
Leon Styhre 8373d59e29 (macOS) All dependencies are now built in-tree. 2021-11-30 22:14:18 +01:00
Leon Styhre 6e479dac74 Fixed an issue where the first scraper result row was focused when it shouldn't. 2021-11-27 11:49:56 +01:00
Leon Styhre 775674a77f The 'Custom game collections' menu entry is now grayed out if there are no custom collections. 2021-11-27 00:26:01 +01:00
Leon Styhre 05bcb9b011 Fixed a potential crash when deleting the last custom collection. 2021-11-27 00:08:16 +01:00
Leon Styhre 04453c42ff Removed a blank line that was accidentally added via the last commit. 2021-11-26 23:25:58 +01:00
Leon Styhre 909f96622d Clearing an arcade game name in the metadata editor now sets it to the expanded MAME name. 2021-11-26 23:24:43 +01:00
Leon Styhre 2db8724f4a Fixed a view style change issue that could occur after scraping. 2021-11-26 23:01:10 +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 0ddbfe8921 (Unix) Fixed an issue in the AppData file and removed a deprecated .desktop entry. 2021-11-25 18:54:24 +01:00
Leon Styhre 1f9f9b903c (Linux) Reverted the past few commits and removed support for Snap packages. 2021-11-24 20:31:46 +01:00
Leon Styhre f03d233048 (Linux) Added CMake configuration and launch script for the Snap package. 2021-11-24 18:39:48 +01:00
Leon Styhre 241e1c7f01 Small cosmetic change to the AppData file. 2021-11-23 20:36:58 +01:00
Leon Styhre fc540f3e1f Removed the hardcoded 'run in background' setting for Steam games. 2021-11-22 20:19:10 +01:00
Leon Styhre 7c07c0d5cf Added a 'winregistryvalue' find rule and a %RUNINBACKGROUND% variable. 2021-11-22 20:03:05 +01:00
Leon Styhre 71b9a3a255 (Linux) Fixed an issue with RPM package generation. 2021-11-21 20:04:28 +01:00
Leon Styhre 0da0b8f855 (Unix) Reorganized the .desktop file. 2021-11-21 19:54:07 +01:00
Leon Styhre 95b766e1da Added an AppData file for Linux and BSD Unix.
Also renamed the .desktop file.
2021-11-21 19:38:38 +01:00
Leon Styhre 445b914379 Completely refactored MameNames. 2021-11-17 21:32:40 +01:00
Leon Styhre 9cbdaefe58 Moved a decrement operator and an increment operator from postfix to prefix. 2021-11-17 18:00:00 +01:00
Leon Styhre dd0f36f82b Changed most increment and decrement operators from postfix to prefix for es-app. 2021-11-17 17:35:34 +01:00
Leon Styhre 4c6bfb8b78 Fixed a few issues reported by UBSan. 2021-11-16 22:03:34 +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