Commit graph

615 commits

Author SHA1 Message Date
Leon Styhre 8699bdcbb9 Fixed an issue where System view videos with a static path set would still display the static image. 2022-09-15 17:27:16 +02:00
Leon Styhre ab5af86f7e Fixed an issue where system view elements could render outside the designated area. 2022-09-12 19:06:09 +02:00
Leon Styhre 8d5dc46fc6 Some minor code cleanup. 2022-09-12 19:03:45 +02:00
Leon Styhre d2641d5c2c Set forceloading of all images for the startup system to avoid texture pop-in. 2022-09-10 16:07:43 +02:00
Leon Styhre 596bc5e8af Removed a lot of deprecated theme engine code from the legacy engine. 2022-09-10 11:55:35 +02:00
Leon Styhre 74d3e1f063 Modernized some code. 2022-09-10 11:35:55 +02:00
Leon Styhre 34b56c490b Fixed an issue where some default label fields were not getting properly initialized for legacy theme sets. 2022-09-09 17:58:43 +02:00
Leon Styhre 2a4d9d334d Gamelist fade animations are now cancelled on certain navigation actions. 2022-09-09 17:52:20 +02:00
Leon Styhre b3148a7f74 Added a dummy RatingComponent object to SystemView to keep the cached texture entries from expiring. 2022-09-08 18:59:33 +02:00
Leon Styhre 5d78412b9d Fixed some pixel alignment issues for the carousel. 2022-09-05 22:39:26 +02:00
Leon Styhre ff0e76332c Added rounding to various translations like camera movements. 2022-09-05 20:13:47 +02:00
Leon Styhre e553f68e90 Greatly improved application startup time by removing a lot of unnecessary splash screen re-rasterizations. 2022-08-23 22:34:56 +02:00
Leon Styhre ebb099de5a Fixed a crash caused by attempting to read data from a deleted object. 2022-08-21 22:56:20 +02:00
Leon Styhre ef2f3f3ba9 Fixed an issue where setting a nonexistent file for the carousel defaultItem property could lead to double gamelist carousel text fallback items. 2022-08-21 18:37:51 +02:00
Leon Styhre 7718e97d29 Renamed the functions updateInfoPanel and legacyUpdateInfoPanel to updateView and legacyUpdateView in GamelistView. 2022-08-19 17:14:20 +02:00
Leon Styhre de5a642cf6 Added a metadataElement theme property to the image, video, animation and text element types to control fading and hiding of arbitrary elements. 2022-08-18 22:51:21 +02:00
Leon Styhre 58803fe8f7 Fixed an issue where the theme controlled opacity tag did not have any effect on rating elements. 2022-08-17 17:07:52 +02:00
Leon Styhre 93e0bfab5b Fixed an issue where text elements that had an opacity set to lower than FF via the color tag were faded in during gamelist scrolling. 2022-08-17 17:04:19 +02:00
Leon Styhre ea8aac03f0 Fixed two minor compatibility issues for legacy themes. 2022-08-16 19:12:20 +02:00
Leon Styhre 397f221cda Changed some defaults for unthemed systems. 2022-08-16 19:10:14 +02:00
Leon Styhre 0dfdf1c20c Fixed an issue where reloading using Ctrl+r would sometimes not update modified image files. 2022-08-14 21:31:59 +02:00
Leon Styhre b69706fc35 The currently loaded theme set name is now logged to to es_log.txt on startup, reload and theme change. 2022-08-14 20:24:26 +02:00
Joseph Geumlek f7eeabeee0 Avoid nullptr if Gamelist View uses carousel. 2022-06-26 13:17:44 -07:00
Leon Styhre 9480f125bb Added support for the physicalmedia image type to the image, video and carousel elements. 2022-06-07 17:32:42 +02:00
Leon Styhre 76384d1d34 Added system view support for the 'rating' text metadata type. 2022-06-06 22:44:48 +02:00
Leon Styhre 2e3ac5bf0e Fixed an issue where using a text rating without a rating element in the gamelist view would crash the application. 2022-06-06 22:28:24 +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 d508a123d2 Fixed a few logoText issues for legacy themes. 2022-06-04 17:31:51 +02:00
Leon Styhre 94a8ef8791 Fixed two issues were thumbnails and game images were not displayed for the Detailed and Video view styles respectively.
Also removed support for the thumbnail game media type and fixed an issue where the logo and logotext were displayed at the same time in the gamelist view.
2022-06-03 19:56:30 +02:00
Leon Styhre 846b0a07ef Fixed an issue with rendering elements above the carousel for legacy theme sets. 2022-06-03 19:34:39 +02:00
Leon Styhre 6a0b1bad5b Added custom event script triggers on application startup, screensaver start and screensaver end. 2022-05-18 23:56:51 +02:00
Leon Styhre 41357ce7f5 Fixed an issue where the game-end event was triggered immediately if running in the background. 2022-05-16 22:34:51 +02:00
Leon Styhre dc601a483d Enabled screensaver controls when running in Kid UI mode. 2022-05-16 19:55:08 +02:00
Leon Styhre e9dabf7084 Fixed a compiler warning on NetBSD. 2022-05-15 18:58:39 +02:00
Leon Styhre dbfab96e03 Added rudimentary on-demand texture loading to CarouselComponent. 2022-04-20 23:00:53 +02:00
Leon Styhre defbbfd13f Removed the setting 'Preload gamelists on startup'. 2022-04-20 22:39:27 +02:00
Leon Styhre a112fc035f Changed the variable names in CarouselComponent to use 'item' instead of 'logo'. 2022-04-17 10:40:18 +02:00
Leon Styhre f463766497 Generalized the carousel property names and added support for setting media types for gamelist carousels. 2022-04-16 21:54:58 +02:00
Leon Styhre 7daf69092f Added theme support for controlling the TextListComponent collection indicators. 2022-04-15 21:20:43 +02:00
Leon Styhre 2001a9f639 Added a collection badge to be shown when editing custom collections.
Also changed the default badge lines value from 2 to 3.
2022-04-15 19:27:38 +02:00
Leon Styhre 254e271392 Added theme support for controlling the TextListComponent indicators. 2022-04-15 17:06:33 +02:00
Leon Styhre 30b02456c0 Added a folder badge including support for a folder link overlay. 2022-04-13 16:53:28 +02:00
Leon Styhre 963834afec Renamed 'launch file' to 'folder link'. 2022-04-12 18:35:57 +02:00
Leon Styhre 45af7441e9 Added support for launching game files inside folders without having to enter the folder. 2022-04-11 23:28:18 +02:00
Leon Styhre 16955e5318 Fixed an issue where the theme sets were not always sorted correctly. 2022-04-09 15:57:37 +02:00
Leon Styhre 7e0df9063c Fixed a crash on startup if no games were found. 2022-03-28 17:47:34 +02:00
Leon Styhre b96f6bc131 Fixed an issue where a default primary component was not set in GamelistView. 2022-03-25 21:50:50 +01:00
Leon Styhre 3a1c9d41ce Fully generalized SystemView and GamelistView and rewrote CarouselComponent into a template class.
Also cleaned up some code and fixed an issue where navigation sounds would not play when using the shoulder buttons.
2022-03-24 23:05:23 +01:00
Leon Styhre 6f6f388257 Added RatingComponent support to the system view. 2022-03-18 22:16:53 +01:00
Leon Styhre a115b3f941 Added alignment support and separate dimming of gamelist and system views to the help system. 2022-03-18 20:14:51 +01:00
Leon Styhre f0c35d8509 Refactored the rendering code into proper classes. 2022-03-14 19:51:48 +01:00
Leon Styhre 755b2c9f50 Changed some render variables to more verbose names.
Also fixed an issue with fade transitions for legacy themes.
2022-03-11 23:51:41 +01:00
Leon Styhre 6ffd4b1740 Multiple improvements to the fade transitions in SystemView. 2022-03-11 23:20:27 +01:00
Leon Styhre 9867c3d595 Fixed an issue where gamelist scroll fade-in animations would continue to play after opening and closing a menu. 2022-03-06 23:31:32 +01:00
Leon Styhre 9e2c24ef79 Fixed an issue where videos would still play if the video theme configuration was broken. 2022-03-06 22:52:13 +01:00
Leon Styhre ecdbf6d3d5 Added GIF animation support to SystemView.
Also improved some rendering logic in SystemView.
2022-03-05 21:10:40 +01:00
Leon Styhre 46fd4ce5cc Added GIF animation support to GamelistView. 2022-03-05 21:04:22 +01:00
Leon Styhre fec860f5d3 Merge branch 'master' into new-theme-engine-phase-four 2022-02-27 16:44:59 +01:00
Leon Styhre c96ab29e95 Fixed a few GCC compiler warnings. 2022-02-27 15:23:33 +01:00
Leon Styhre 32349dc9a6 Renamed LottieComponent to LottieAnimComponent. 2022-02-23 21:54:57 +01:00
Leon Styhre e92af0548c Added DateTimeComponent support to SystemView. 2022-02-20 15:49:32 +01:00
Leon Styhre 992c39d3a3 Added Lottie animation support to SystemView. 2022-02-19 22:46:52 +01:00
Leon Styhre c06dea5d2d Lottie animations are now paused during view transitions. 2022-02-19 22:44:02 +01:00
Leon Styhre 29514d4db9 Added video support to SystemView. 2022-02-19 21:22:46 +01:00
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 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 57a594225a Added initial game selector support to SystemView. 2022-02-13 22:30:03 +01:00
Leon Styhre afa6221582 Fixed a potential crash in GamelistBase. 2022-02-13 20:05:32 +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 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 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 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 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 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 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 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 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 c3dbdd431c Fixed some potential segfaults on emergency shutdown. 2022-01-10 17:41: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 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 6431804ee7 Removed the deprecated VideoVlcComponent. 2022-01-02 13:13:01 +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 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 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 80555eb7a3 Moved the System view preloading to the correct location. 2021-12-08 19:57:31 +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 dd0f36f82b Changed most increment and decrement operators from postfix to prefix for es-app. 2021-11-17 17:35: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
Leon Styhre b742951dc0 Removed some unnecessary includes of AudioManager.h 2021-11-15 20:52:36 +01:00
Leon Styhre c4b574f571 Implemented a proper solution for the carousel logo alignment issue. 2021-11-09 22:13:58 +01:00
Leon Styhre 46228c6a9d Fixed an issue where an invalid UIMode entry in es_settings.xml could lead to a crash. 2021-11-06 20:47:30 +01:00
Leon Styhre ee60dcb88c Fixed a small code formatting issue. 2021-11-05 12:03:16 +01:00
shadash 761b086331 652: cleanup code, theme tags 2021-11-05 10:26:14 +01:00
Sophia Hadash b822aea514 Merge branch 'master' into 652-allow-system-placeholders-to-be-a-combination-of-text-and-image-make-text-and-image-customizable 2021-11-05 09:22:46 +01:00
Leon Styhre 51ade956ed Fixed an issue where reloading the System view could lead to an invalid camera position. 2021-11-04 23:21:12 +01:00
Leon Styhre 99604d3a34 Added the System view loading to the ViewController preload to avoid texture pop-ins. 2021-11-04 21:59:24 +01:00
Leon Styhre b957cfcea6 Improvements to some logo alignment issues in the System view carousel. 2021-11-04 21:33:28 +01:00
Leon Styhre 063ffd7195 Fixed an issue where the system carousel and info bar would glitch during slide transitions. 2021-10-29 19:48:07 +02:00
Leon Styhre ee0fe9a8d1 Fixed an issue where the system carousel would get the wrong zIndex value. 2021-10-28 22:58:04 +02:00
Leon Styhre d5fa6bc82c Added support for scraping title screens, box back covers and physical media images. 2021-10-28 21:00:23 +02:00
Sophia Hadash ac84716273 Merge branch 'master' into 653-properly-apply-z-index-in-the-system-view 2021-10-26 21:56:45 +02:00
Sophia Hadash 6dbcb62011 Merge branch 'master' into 652-allow-system-placeholders-to-be-a-combination-of-text-and-image-make-text-and-image-customizable 2021-10-26 21:56:08 +02:00
Leon Styhre 270a2e3857 Added an option to preload gamelists on startup. 2021-10-25 17:56:17 +02:00
Leon Styhre 1aa360598d Renamed BadgesComponent to BadgeComponent. 2021-10-23 20:28:07 +02:00
Leon Styhre b5a61a0617 Renamed 'controller types' to 'game controllers' (code) and simply 'controllers' (metadata editor). 2021-10-23 20:14:17 +02:00
Leon Styhre 84514f67d0 Added support for controller types. 2021-10-23 19:08:32 +02:00
shadash 3070a66e2c introduce 'legacyZIndexMode' tag in carousel
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-23 17:34:20 +02:00
Leon Styhre 1650b33b9a Changed a few code comments. 2021-10-18 18:12:19 +02:00
shadash 957c1fa7fc render extras with z-index higher than the carousel above the carousel
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-15 22:54:04 +02:00
Leon Styhre c2d059f92e (Windows) Fixed two MSVC compiler warnings. 2021-10-13 17:23:29 +02:00
Leon Styhre 48db23691d Merged BadgeComponent code into master branch. 2021-10-12 23:13:38 +02:00
Leon Styhre ae96cb4c54 Further improvements to the badges code. 2021-10-12 22:53:02 +02:00
Sophia Hadash 716aa3df4a cleanup 2021-10-12 10:48:32 +02:00
Sophia Hadash c388c7fd12 support old placeholder format as a fallback
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-11 23:27:11 +02:00
shadash f74b2761bf extend placeholder definition to customizable image + text
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-11 23:12:21 +02:00
Leon Styhre 848277141a Optimized the badges code.
Also made a small adjustment to the alternative emulator badge.
2021-10-11 21:28:37 +02:00
Leon Styhre 93950cf4de Simplified the code for info popups. 2021-10-07 18:31:40 +02:00