Commit graph

673 commits

Author SHA1 Message Date
Leon Styhre 918ffd9b9e Fixed an issue where the gamelist view would sometimes not render after changing collection settings.
Also fixed some other glitches with the cached background not getting invalidated on collection changes.
2023-01-12 20:54:12 +01:00
Leon Styhre ab1129b2a0 Fixed a rare crash that could occur when enabling collections. 2023-01-12 19:07:29 +01:00
Leon Styhre 7ce6cd4c50 Elements set as not visible are now completely disabled in SystemView and GamelistView. 2023-01-11 18:37:00 +01:00
Leon Styhre 806d32a5c4 Fixed an issue where system view startup animations would not play when using the grid element. 2023-01-08 20:03:44 +01:00
Leon Styhre 3d5eb2a3cf Fixed an issue where fade animations would not finish playing under certain conditions. 2023-01-08 18:21:37 +01:00
Leon Styhre 71b4fc947a Added support for theme-controlled transition animations. 2023-01-08 17:00:36 +01:00
Leon Styhre 6c75d0fc88 Fixed some Clang compiler warnings. 2023-01-06 13:48:59 +01:00
Leon Styhre fa67018b72 Added variant trigger support. 2023-01-04 19:01:41 +01:00
Leon Styhre 14567baab4 Disabled automatic view style detection for non-legacy theme sets. 2023-01-01 15:32:16 +01:00
Leon Styhre 6699682efb Fixed an issue where the 'jump to game' help prompt could disappear from the grouped custom collections system. 2022-12-21 20:28:43 +01:00
Leon Styhre 10b971db5b Fixed an issue where the grouped custom collections system could get the wrong viewstyle set. 2022-12-21 20:27:36 +01:00
Leon Styhre 251e826589 The defaultImage property can now be used to display a static image in case no video file was found.
Also fixed a bug where the static image would not get displayed in the grouped custom collections view if there was no game found for the system and the previously selected entry already had it's video playing when navigating away from it.
2022-12-21 19:53:03 +01:00
Leon Styhre ae52489b6b Added support for up to two imageType values for CarouselComponent and GridComponent. 2022-12-17 22:20:29 +01:00
Leon Styhre 5581103642 Adjusted the system view and carousel transition animation times slightly. 2022-12-16 17:25:57 +01:00
Leon Styhre ae6c062984 Added gameselectorEntry properties to a number of elements. 2022-12-15 18:23:48 +01:00
Leon Styhre e3be493d0d Removed a few unused lambda captures from SystemView. 2022-12-11 17:02:21 +01:00
Leon Styhre 0b5419316d Changed a number of property names in CarouselComponent and GridComponent. 2022-12-11 11:22:08 +01:00
Leon Styhre 4e56dafc59 Made the SystemView grid animation slightly longer/slower. 2022-12-09 19:37:18 +01:00
Leon Styhre c12d57cb75 (Windows) Fixed an MSVC compiler warning. 2022-12-07 21:37:38 +01:00
Leon Styhre 2d24230a48 Fixed an issue where the GridComponent layout was not calculated if there was only a placeholder entry. 2022-12-07 21:23:53 +01:00
Leon Styhre 949f059b7e Fixed an issue where the CarouselComponent text property value was ignored. 2022-12-07 19:43:03 +01:00
Leon Styhre 2799974938 Expanded the quick system select menu option from a simple on/off entry to a selection of different button combinations.
Also did some minor code cleanup in GuiMenu.
2022-12-07 18:09:05 +01:00
Leon Styhre 5a18b593f4 Fixed a SystemView navigation rendering glitch when using GridComponent. 2022-12-05 23:12:41 +01:00
Leon Styhre 56c8a43b36 Changed the order of the A, B, X and Y help system buttons.
Also changed the gamelist help text from 'enter' and 'launch' to 'select' for the gamelist view.
2022-12-05 21:37:21 +01:00
Leon Styhre fbfb84187a Changed the button to start the screensaver from 'Back' to 'X'. 2022-12-05 21:21:48 +01:00
Leon Styhre b9e6cdd9da Fixed some GridComponent animation glitches when marking games as favorites. 2022-12-05 21:15:15 +01:00
Leon Styhre da93533aed Fixed multiple navigation issues. 2022-12-04 15:56:59 +01:00
Leon Styhre dfcf041efc Fixed a GridComponent slide transition issue when used in the system view.
Also fixed a general navigation issue.
2022-11-25 22:35:35 +01:00
Leon Styhre 0cd814a4d1 Added on-demand texture loading to GridComponent. 2022-11-25 22:07:36 +01:00
Leon Styhre 24fe15a84f Fixed some erratic camera movement issues during extreme SystemView navigation input. 2022-11-25 18:57:06 +01:00
Leon Styhre ed6b23a2c6 Fixed an issue where the default textlist size and position properties were not set for the system view.
Also moved some default value assignments to the TextListComponent itself.
2022-11-13 11:56:18 +01:00
Leon Styhre 48111ce5e4 Added basic GridComponent functionality and integration. 2022-11-12 14:08:53 +01:00
Leon Styhre 4e54508e45 Added a GridComponent skeleton. 2022-11-06 21:34:03 +01:00
Leon Styhre 7df82adf1e Fixed an issue where placeholder entries did not have the correct letter case. 2022-11-03 23:58:52 +01:00
Leon Styhre b4d2babf01 Added a selectedSecondaryColor property to TextListComponent. 2022-11-03 23:24:11 +01:00
Leon Styhre e88e802434 Added explicit video player stops on SystemView cursor changes. 2022-11-03 17:11:43 +01:00
Leon Styhre 412a19275d Added two letterCaseCollections and letterCaseGroupedCollections properties to TextListComponent and CarouselComponent.
Also refactored the letterCase logic overall in these two components.
2022-11-03 12:31:42 +01:00
Leon Styhre ab11f36ece Fixed an issue where manually starting the screensaver would not prevent file animations from playing. 2022-10-27 21:34:32 +02:00
Leon Styhre 4513b20339 Some minor font sizing improvements.
Also fixed a few implicit casts.
2022-10-25 01:20:31 +02:00
Leon Styhre 3de8275db6 Fixed multiple minor pixel alignment issues. 2022-10-25 00:43:27 +02:00
Leon Styhre 993efe8504 Fixed an issue where audio for static videos in the gamelist view would get muted on navigation. 2022-09-29 20:18:33 +02:00
Leon Styhre 49c9710afc Added 'none' as a supported carousel item type to show only text entries in the gamelist view. 2022-09-28 17:20:01 +02:00
Leon Styhre 9d1c352968 Fixed a System view fade transition issue. 2022-09-27 17:39:00 +02:00
Leon Styhre 06fd76abc3 Added a fadeAbovePrimary property to control whether elements above the system view carousel and textlist should be rendered during fade transitions. 2022-09-26 20:02:31 +02:00
Leon Styhre 035b1004db Added application platform identifiers for ScreenScraper. 2022-09-25 22:57:43 +02:00
Leon Styhre 65999e5a09 Fixed a SystemView clipping issue. 2022-09-25 20:55:26 +02:00
Leon Styhre 123f29aa43 Fixed multiple issues with carousel on-demand texture loading.
Also cleaned up some code.
2022-09-25 19:38:24 +02:00
Leon Styhre b7c947fb86 Fixed a fade transition issue in SystemView. 2022-09-24 16:50:14 +02:00
Leon Styhre 6a2a3b1259 Fixed some fade transition issues in SystemView. 2022-09-23 22:47:49 +02:00
Leon Styhre 1839dfc31a Fixed multiple issues in SystemView.
Also set the carousel zIndex value to 40 intead of 50 for legacy themes.
2022-09-23 17:19:24 +02:00
Leon Styhre f620df4dff Eliminated some unnecessary carousel on-demand texture loading. 2022-09-22 20:11:37 +02:00
Leon Styhre 170234cd93 Fixed an issue where the quick list scrolling overlay would not disappear as intended. 2022-09-20 21:26:56 +02:00
Leon Styhre 24a10a7807 Some improvements to the cursor logic in SystemView. 2022-09-20 21:16:39 +02:00
Leon Styhre 720a6fcc22 Added support for fade-in and fade-out of static videos. 2022-09-16 23:54:13 +02:00
Leon Styhre 4f88909eff Fixed multiple issues where horizontally scrolling TextListComponent rows would not stop and reset correctly. 2022-09-16 19:22:19 +02:00
Leon Styhre bee9cf0623 Fixed an issue where the origin property did not work correctly for scrollable text containers. 2022-09-16 18:52:53 +02:00
Leon Styhre 16880028d7 Fixed an issue where ScrollableContainer would cause excessive stuttering with some legacy theme sets. 2022-09-15 23:31:51 +02:00
Leon Styhre 47c8f5988d Some very minor code cleanup. 2022-09-15 17:34:20 +02:00
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