Commit graph

2150 commits

Author SHA1 Message Date
Leon Styhre 9dbff79789 Reverted some recent renderer log output changes. 2023-02-16 22:44:47 +01:00
Leon Styhre eff400d6ed Cleaned up some code in HttpReq. 2023-02-16 22:30:32 +01:00
Leon Styhre c9848d694b Fixed an issue where SVG images would sometimes not get rasterized. 2023-02-16 00:00:45 +01:00
Leon Styhre 14ac905e09 Avoided some SVG rasterization attempts before the image size was set for some built-in assets. 2023-02-15 23:58:50 +01:00
Leon Styhre 1939080e82 Fixed an issue where the imageSelectedColor and textSelectedColor carousel properties would color shift too many items. 2023-02-15 19:19:16 +01:00
Leon Styhre 7b47d2e4d6 Added carousel theme support for offsetting items to achieve a diagonal layout. 2023-02-14 17:56:27 +01:00
Leon Styhre ed94a5b45b Added a menu option to retain extra MAME name information for unscraped game names. 2023-02-14 17:28:43 +01:00
Leon Styhre 47277f94b6 Fixed an issue where there was a theme loading error message if the 'all' badge slot type was used. 2023-02-13 22:41:42 +01:00
Leon Styhre fc20cde0f3 Made the imageSelectedColor carousel property work correctly with reflections. 2023-02-13 22:13:09 +01:00
Leon Styhre f511faff07 Added a defaultFolderImage property to the carousel and grid elements. 2023-02-13 21:38:52 +01:00
Leon Styhre 1347833afd Minimal code cleanup in Settings.cpp 2023-02-13 20:35:12 +01:00
Leon Styhre 432774b04e Added support to CarouselComponent for color shifting the selected item. 2023-02-13 20:30:03 +01:00
Leon Styhre 1ff82d535e Tiny optimization in GridComponent. 2023-02-13 20:21:02 +01:00
Leon Styhre a2183b9743 (macOS) Fixed an issue with fullscreen padding. 2023-02-12 22:56:35 +01:00
Leon Styhre 386debf2fa (macOS) Fixed a renderer regression 2023-02-12 22:39:30 +01:00
Leon Styhre 5be55d38ed Added support for running the application at lower resolution in fullscreen padded mode.
Also added support for offsetting the screen contents within the application window.
2023-02-12 22:14:09 +01:00
Leon Styhre b1dd2dd176 (Windows) Fixed an MSVC compiler warning. 2023-02-11 12:36:33 +01:00
Leon Styhre 3cb0b6a644 Added the ability to set the scraper retry count and timer settings from the user interface. 2023-02-11 12:32:51 +01:00
Leon Styhre 0ececf65bb Added callback and disabling support to SliderComponent. 2023-02-11 12:28:06 +01:00
Leon Styhre 4dc4b9ef02 Made some improvements to the layout when running on a vertically oriented screen. 2023-02-10 17:29:48 +01:00
Leon Styhre e663a717f0 Added support to the scraper for automatically retrying on errors. 2023-02-10 17:24:50 +01:00
Leon Styhre 07951d8d21 Multiple layout improvements when running on a vertically oriented screen. 2023-02-10 01:00:10 +01:00
Leon Styhre ebcc0f95b0 Fixed an issue in GridComponent where the item size was sometimes not calculated correctly when running on a vertically oriented screen. 2023-02-10 00:55:58 +01:00
Leon Styhre 79b5993732 Set a different placement and font size for the helpsystem when running on a vertically oriented screen. 2023-02-10 00:54:00 +01:00
Leon Styhre 3caba10582 Fixed an error with the last commit. 2023-02-10 00:51:03 +01:00
Leon Styhre c1044c0b3c Worked around an issue where some menu clipping boxes were not calculated correctly.
Also cleaned up some code.
2023-02-10 00:49:42 +01:00
Leon Styhre 3d1261b6d2 Added support for changing the medium and large system font sizes automatically depending on screen orientation.
Also fixed an issue where the font size was not calculated correctly when using a vertical screen orientation.
2023-02-10 00:45:10 +01:00
Leon Styhre f22da24486 Added a theme loading log entry about the applied aspect ratio configuration.
Also renamed some incorrectly named variables in ThemeData.
2023-02-10 00:34:24 +01:00
Leon Styhre a2e400dd2b Multiple layout improvements when running in vertical screen orientation.
Also cleaned up some code.
2023-02-10 00:25:22 +01:00
Leon Styhre 33bca1b0d3 Made many improvements to GUI sizing and positioning when running in vertical screen resolutions. 2023-02-07 18:51:04 +01:00
Leon Styhre b33c7603bb Added support for rotating the application screen contents 0, 90, 180 or 270 degrees.
Also improved post processing shader rendering when running in vertical orientation.
2023-02-06 23:38:35 +01:00
Leon Styhre 9dab1557ca The theme transitions menu entry is now grayed out if there are no transitions to choose between. 2023-02-01 20:00:36 +01:00
Leon Styhre 192f218bd5 Added two new textlist properties selectedBackgroundColor and selectedSecondaryBackgroundColor. 2023-02-01 19:55:24 +01:00
Leon Styhre 26860cd5cc Added a menu option to enable or disable theme variant triggers. 2023-01-31 19:26:39 +01:00
Leon Styhre cc896bb626 Added an allowDuplicates property to the gameselector element. 2023-01-31 19:11:58 +01:00
Leon Styhre f3b19a2704 Added two new gamecountGamesNoText and gamecountFavoritesNoText values to the text element systemdata property. 2023-01-30 18:40:28 +01:00
Leon Styhre 6c8985fe3e Made it possible to set negative values for the selectedItemMargins carousel property. 2023-01-29 23:05:28 +01:00
Leon Styhre 0fdb0500fe Removed support for the deprecated text element systemdata property values gamecount_games and gamecount_favorites. 2023-01-29 12:44:24 +01:00
Leon Styhre b617cc0f3b Removed support for the deprecated carousel type values horizontal_wheel and vertical_wheel. 2023-01-29 12:41:54 +01:00
Leon Styhre b2bfcf11f6 Added the ability to center-align badges. 2023-01-29 12:03:53 +01:00
Leon Styhre 66b416d718 Added support to GridComponent for color shifting the selected item. 2023-01-28 14:14:30 +01:00
Leon Styhre 6b45cdb0f8 Maybe fixed a rare locking issue. 2023-01-28 13:36:22 +01:00
Leon Styhre 530fd26a3b Added the ability to color shift badge icons, badge controller icons and badge folder link icons. 2023-01-28 11:27:05 +01:00
Leon Styhre d8dc08e4f6 (macOS) Fixed a curl compatibility issue on older OS releases. 2023-01-27 18:32:56 +01:00
Leon Styhre b01dfb5750 Changed the VSync startup log message to the standard format. 2023-01-25 21:56:07 +01:00
Leon Styhre 6135021c26 Fixed an issue where the SliderComponent knob was not always correctly positioned vertically. 2023-01-24 18:32:28 +01:00
Leon Styhre 639fa51bc6 Changed the splash screen text 'Scanning game files' to 'Searching for games'. 2023-01-24 18:18:01 +01:00
Leon Styhre 616d245b93 Made the splash screen progress bar slightly thinner and changed it to a slightly darker color. 2023-01-22 22:18:29 +01:00
Leon Styhre 2d6a1724ce Changed the splash screen text 'Populating systems' to 'Loading systems'. 2023-01-22 21:41:55 +01:00
Leon Styhre e44c18bc1b Added a startup progress bar to the splash screen. 2023-01-22 21:03:08 +01:00
Leon Styhre dd89d241f5 (Windows) Fixed an MSVC compiler warning. 2023-01-22 12:04:34 +01:00
Leon Styhre a982dce328 Changed the PlayStation 3 controller type to PlayStation 1/2/3 2023-01-21 13:45:54 +01:00
Leon Styhre 480263160d Added a Switch Pro controller type. 2023-01-21 12:58:16 +01:00
Leon Styhre 0466232c39 Changed the order of some buttons in the code to be more consistent. 2023-01-21 11:34:35 +01:00
Leon Styhre ff5273c265 Cleaned up some code in InputeManager. 2023-01-21 11:29:43 +01:00
Leon Styhre f7a050b1b9 Added the PlayStation 3 controller to GuiInputConfig. 2023-01-21 11:27:23 +01:00
Leon Styhre c5507f5f80 Added a PlayStation 3 controller type. 2023-01-21 11:02:32 +01:00
Leon Styhre 1ef39ceb2d Added Nintendo GameCube, Sega Master System and Sega Dreamcast controller badge icons. 2023-01-20 21:08:24 +01:00
Leon Styhre 623540dd35 Added support for specifying a theme name in the capabilities.xml file. 2023-01-20 18:37:32 +01:00
Leon Styhre 4d19316454 Added the number of theme transitions to a debug log message on capabilities.xml parsing.
Also fixed an issue where the reported number of aspect ratios was incorrect.
2023-01-18 19:27:06 +01:00
Leon Styhre 75a9552a82 Renamed slate-DE to slate-es-de and modern-DE to modern-es-de 2023-01-17 23:37:51 +01:00
Leon Styhre ff0f163de5 Added a maxSize property to GIFAnimComponent and LottieAnimComponent.
Also refactored and cleaned up the code in general.
2023-01-17 18:35:46 +01:00
Leon Styhre 8ec39e6eac Disabled double rendering of the debug overlay rectangle in ImageComponent if the maxSize property has not been used. 2023-01-17 18:03:00 +01:00
Leon Styhre 8273cb5a8f Changed 'Theme transition animations' to 'Theme transitions'. 2023-01-16 22:43:56 +01:00
Leon Styhre e096aef4e4 Fixed an issue where single-line scrollable containers could make the application hang. 2023-01-16 17:20:54 +01:00
Leon Styhre e8a093c19c Removed some deprecated theme engine code. 2023-01-15 18:40:04 +01:00
Leon Styhre 941fa013b6 Added support for applying per-variant transition profiles from included theme configuration files. 2023-01-15 18:24:08 +01:00
Leon Styhre ac662046d7 Changed the horizontal_wheel and vertical_wheel carousel type property values to horizontalWheel and verticalWheel. 2023-01-15 12:54:01 +01:00
Leon Styhre 558e13d0c9 Added support for displaying system name information per-game. 2023-01-15 12:51:59 +01:00
Leon Styhre fb1caaf879 Standardized some theme loading log messages in TextComponent. 2023-01-15 09:44:40 +01:00
Leon Styhre 3bbc761c8f Added the ability to control the system name suffix from the theme configuration.
Also removed the corresponding 'Show system names in collections' menu option.
2023-01-14 14:05:24 +01:00
Leon Styhre 635fdaca06 Changed the order of some variables in TextListComponent. 2023-01-13 14:22:31 +01:00
Leon Styhre f2fd8cf6a8 Modified and added some variables and properties to support better letter case controls for collection names. 2023-01-13 11:03:23 +01:00
Leon Styhre 0329bd77c2 Added support for mixed case custom collection names as well as the option to always group custom collections.
Also reversed an optimization in CollectionSystemsManager which caused some issues.
2023-01-12 19:45:54 +01:00
Leon Styhre 78a9bac280 Added an itemAxisRotation carousel property for rotating items around their own axis. 2023-01-11 23:33:50 +01:00
Leon Styhre f9779ded9a Removed some deprecated code from CarouselComponent. 2023-01-11 23:03:50 +01:00
Leon Styhre 1af689754f Added support for horizontal wheel carousels. 2023-01-11 22:29:30 +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 e560ab0f58 Added support for overriding the default 'unknown' values when a game has no metadata available. 2023-01-10 22:20:00 +01:00
Leon Styhre 87b37cb65e (Unix) Set the 'Disable desktop composition' option as disabled by default. 2023-01-09 18:20:36 +01:00
Leon Styhre 6d3d2ddb34 Added support for 2x and 4x MSAA anti-aliasing (OpenGL renderer only). 2023-01-09 17:55:54 +01:00
Leon Styhre 656c3661ea Renamed suppressedTransitionEntries to suppressedTransitionProfiles. 2023-01-08 19:30:16 +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 2933c0f9a9 Set startupToSystem and startupToGamelist transition animation default values when applicable. 2023-01-08 17:14:32 +01:00
Leon Styhre 71b4fc947a Added support for theme-controlled transition animations. 2023-01-08 17:00:36 +01:00
Leon Styhre 4cd24dbb0b String settings can now also be excluded from being saved to es_settings.xml
Also moved a Settings template function from the global namespace.
2023-01-06 18:37:41 +01:00
Leon Styhre d631435864 Fixed a compiler warning regarding an unsecure function in MathUtil. 2023-01-06 14:49:11 +01:00
Leon Styhre 6c75d0fc88 Fixed some Clang compiler warnings. 2023-01-06 13:48:59 +01:00
Leon Styhre bcc74db584 Added a selectedItemMargins property to CarouselComponent. 2023-01-05 22:10:45 +01:00
Leon Styhre 52ebc9098b Replaced a deprecated function if building with curl 7.85.0 or newer. 2023-01-05 19:37:23 +01:00
Leon Styhre 60a6776b53 Fixed an issue where defining the same sound file for multiple navigation sounds would log an error to es_log.txt on theme change. 2023-01-05 11:17:34 +01:00
Leon Styhre ad973e1ffa Removed support for all deprecated theme properties. 2023-01-04 21:36:22 +01:00
Leon Styhre fa67018b72 Added variant trigger support. 2023-01-04 19:01:41 +01:00
Leon Styhre 549d78dfed (Windows) Changed a debug output entry in VideoFFmpegComponent to convert forward slashes to backslashes. 2023-01-01 19:59:08 +01:00
Leon Styhre 8b33fceb8a Added checks for nonexistent navigation sounds in the theme configuration with fallback to the default sounds.
Also did some minor code cleanup.
2022-12-22 17:15:15 +01:00
Leon Styhre 1c83c762a8 Fixed an issue where the video element static image would not get displayed for legacy theme sets. 2022-12-21 20:02:12 +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 3b9ced603c Fixed an issue where the wrong help prompt was shown for the 'A' button when editing multi-line text fields. 2022-12-20 21:54:49 +01:00
Leon Styhre aa33558952 Some code cleanup. 2022-12-20 21:52:48 +01:00
Leon Styhre 1bbed6cc04 gamelist.xml files are no longer loaded from the ROMs/system directories. 2022-12-20 20:20:02 +01:00
Leon Styhre a54d6a5568 (Windows) Converted forward slashes to backslashes for some log output entries involving file names.
Also made some minor general log output changes in GamelistFileParser.
2022-12-19 20:38:41 +01:00
Leon Styhre 8f2065e491 Fixed a cosmetic text sizing issue in DateTimeEditComponent. 2022-12-18 15:53:12 +01:00
Leon Styhre 354da078a3 Fixed multiple issues where the wrong navigation sound would play. 2022-12-18 12:24:12 +01:00
Leon Styhre a7005f22e9 Renamed the textlist property selectorOffsetY to selectorVerticalOffset and added a selectorHorizontalOffset property.
Also enforced minimum and maximum values for a few textlist properties.
2022-12-18 12:02:50 +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 17597ab144 Renamed an incorrectly named static variable in ImageComponent. 2022-12-17 22:15:19 +01:00
Leon Styhre aaa96cd8dd An automatic aspect ratio menu entry is now added even for themes that only have a single aspect ratio defined. 2022-12-17 19:47:37 +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 cdc553d75f Added an arcade twin stick controller badge icon. 2022-12-15 18:30:48 +01:00
Leon Styhre 6d4086639a Disabled ScreenScraper controller scraping as they have ruined that functionality. 2022-12-15 18:27:45 +01:00
Leon Styhre ae6c062984 Added gameselectorEntry properties to a number of elements. 2022-12-15 18:23:48 +01:00
Leon Styhre da3fb9a825 Improved the random game selection functionality in GameSelectorComponent. 2022-12-15 18:11:33 +01:00
Leon Styhre f4d4abb33b Added theme support for defining relative brightness for images, videos and animations. 2022-12-14 20:17:41 +01:00
Leon Styhre ab31eafaca Some code cleanup. 2022-12-14 17:30:34 +01:00
Leon Styhre c260c929b5 Added itemSaturation properties to CarouselComponent and GridComponent. 2022-12-13 21:35:21 +01:00
Leon Styhre 6037e80bf1 Added color shift support to VideoComponent. 2022-12-12 21:51:27 +01:00
Leon Styhre 46a1e28aa2 Fixed an issue where the shader postprocessing function did not set the shader premultiplied flag. 2022-12-12 20:42:54 +01:00
Leon Styhre 19111a9c24 Added an itemStacking property to CarouselComponent. 2022-12-12 17:45:07 +01:00
Leon Styhre a5b08e3da2 Moved the position of one GridComponent property. 2022-12-11 17:48:56 +01:00
Leon Styhre 8b33c43dba Added support to GridComponent for flushing cached background and selector images on reload when in debug mode. 2022-12-11 16:40:47 +01:00
Leon Styhre abcd3e5bac Fixed an issue in CarouselComponent and GridComponent where the default image was rendered when it shouldn't.
Also moved a property position in GridComponent.
2022-12-11 12:10:08 +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 7ba596775d Fixed a GridComponent navigation issue when there was only a single column. 2022-12-10 20:36:52 +01:00
Leon Styhre 23438cd101 Updated ThemeData with the new itemFit grid property. 2022-12-10 20:27:05 +01:00
Leon Styhre c394e4ae8d Added an itemFit property to GridComponent. 2022-12-10 20:25:49 +01:00
Leon Styhre c6981084e0 Added cover fit cropping support to ImageComponent. 2022-12-10 20:20:45 +01:00
Leon Styhre f0e3addee6 Added support for setting one of the itemSize property axes to -1 to get square GridComponent items. 2022-12-10 14:31:04 +01:00
Leon Styhre cb4f78b763 Added color shift support to CarouselComponent items. 2022-12-09 19:27:48 +01:00
Leon Styhre 3c2dc7b551 Added a number of properties and corresponding functionality to GridComponent. 2022-12-09 18:49:32 +01:00
Leon Styhre 56b33c5371 Added text theming support to GridComponent. 2022-12-07 19:46:41 +01:00
Leon Styhre 304d304727 Added support for linear interpolation for font texture magnifications. 2022-12-07 18:24:00 +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 9e0a6df760 Added support for a left/right trigger help system button. 2022-12-07 17:34:07 +01:00
Leon Styhre f6c8921132 GridComponent item opacity is now adjusted for hidden entries and entries marked as not being games. 2022-12-07 17:26:35 +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 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 4b03c90bf3 Fixed an issue where using the trigger buttons did not reset any currently held buttons. 2022-12-03 15:15:53 +01:00
Leon Styhre 825d220be0 Animations in GridComponent are now finished on menu opening, game launch etc. 2022-12-03 14:29:17 +01:00
Leon Styhre b67ce99a0e Added navigation sound support to GridComponent. 2022-12-03 14:19:22 +01:00
Leon Styhre 48d86ccea7 Made two member functions in TextListComponent private instead of protected. 2022-12-03 14:18:30 +01:00
Leon Styhre 0a2a6d1907 Added a rowTransitions property to GridComponent. 2022-12-03 14:12:14 +01:00
Leon Styhre 3ec8ec14ca Fixed multiple navigation issues in GridComponent. 2022-12-03 14:01:17 +01:00
Leon Styhre 1631cbd30f Added automatic layout and dynamic rendering to GridComponent.
Also fixed multiple navigation issues.
2022-12-02 18:08:48 +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 99df997833 Added scrolling support to GridComponent.
Also changed the names of two properties.
2022-11-25 18:59:08 +01:00
Leon Styhre be903c0a86 Changed a value for the itemTransitions property for the carousel and grid components.
Also changed the position of a grid property and set the minimum columns value to 1.
2022-11-13 23:04:48 +01:00
Leon Styhre 9013faf445 Added proper item spacing, item offsets and element boundary clipping to GridComponent. 2022-11-13 22:31:41 +01:00
Leon Styhre 75ebd839b9 Placed the primary elements first in the ThemeData element map. 2022-11-13 19:59:26 +01:00
Leon Styhre 5ec0fda3a2 Implemented correct item rendering order in GridComponent. 2022-11-13 19:32:29 +01:00
Leon Styhre 8062ebaf3a GridComponent now sets its default position and size if this is not defined by the theme configuration. 2022-11-13 12:25:46 +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 12f2142c03 Improved the animation interpolation in CarouselComponent and TextListComponent.
Also eliminated an unnecessary cursor stop function call.
2022-11-11 18:16:51 +01:00
Leon Styhre 74ac8393e3 Small refactoring of AnimationController. 2022-11-11 18:11:31 +01:00
Leon Styhre 3fd18ec2ee Changed a function name in FlexboxComponent. 2022-11-11 18:05:59 +01:00
Leon Styhre 319992a0f7 Changed the include guard names for the primary components. 2022-11-08 21:44:42 +01:00
Leon Styhre b4338a3fb7 Refactored some image resizing functions. 2022-11-07 23:58:22 +01:00
Leon Styhre c73ff02012 Updated the file header comments for CarouselComponent and TextListComponent. 2022-11-06 21:35:36 +01:00
Leon Styhre 4e54508e45 Added a GridComponent skeleton. 2022-11-06 21:34:03 +01:00
Leon Styhre 5bedb7a8fa Small refactoring of CarouselComponent and TextListComponent. 2022-11-06 21:28:15 +01:00
Leon Styhre 645b41afa4 Fixed multiple issues with text rendering for legacy themes. 2022-11-06 00:02:48 +01:00
Leon Styhre 10d0a89a47 Disabled carousel item mipmapping for legacy themes. 2022-11-05 20:42:54 +01:00
Leon Styhre 486942c792 The cache manager now differentiates between mipmapped and non-mipmapped images. 2022-11-05 20:41:17 +01:00
Leon Styhre ad0cfdba8b Tidied up an if statement in GameSelectorComponent. 2022-11-05 15:50:03 +01:00
Leon Styhre 4894ead7e7 Fixed an issue where the gameselector element configuration could lead to a crash. 2022-11-05 13:39:41 +01:00
Leon Styhre 8b5bb18357 Fixed a small font rendering issue in BusyComponent on some devices at low resolutions. 2022-11-04 13:32:10 +01:00
Leon Styhre 502fb69b87 Removed some code comments. 2022-11-04 12:55:00 +01:00
Leon Styhre b4d2babf01 Added a selectedSecondaryColor property to TextListComponent. 2022-11-03 23:24:11 +01:00
Leon Styhre b91daa113d Fixed an uninitialized variable in ThemeData. 2022-11-03 23:19:25 +01:00
Leon Styhre 6b90326574 Removed a lot of pointless setter functions from TextListComponent. 2022-11-03 21:20:35 +01:00
Leon Styhre 246fd307b6 Changed a number of theme properties to be read by reference instead of via copy. 2022-11-03 16:03:21 +01:00
Leon Styhre cfd2f7e4e5 Removed the unnecessary applyTheme function from NinePatchComponent. 2022-11-03 15:44:52 +01:00
Leon Styhre b43c8cdd55 Improved some theme warning messages in TextListComponent.
Also changed some theme values to be read by reference instead of by copy in CarouselComponent.
2022-11-03 15:36: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 b426473ec0 The text cache is now always reset on text changes. 2022-11-03 12:09:19 +01:00
Leon Styhre 3ead13ad29 Added missing file error checking to BadgeComponent for custom badges and controller images. 2022-11-02 21:18:17 +01:00
Leon Styhre 71b8eba9ce Fixed an issue where the helpsystem would be incorrectly positioned when right-aligned. 2022-11-02 21:15:24 +01:00
Leon Styhre 7c02db291e Fixed a minor log formatting issue in ThemeData. 2022-11-01 23:11:06 +01:00
Leon Styhre 9584c1bcc7 Added support for placing aspectRatio tags inside variant tags and variables and colorScheme tags inside aspectRatio tags. 2022-11-01 17:13:37 +01:00
Leon Styhre 98d9ce42d2 Added support for automatic theme aspect ratio detection. 2022-11-01 17:08:51 +01:00
Leon Styhre 0d7468e9b4 Moved the color scheme parsing even earlier to prevent potential issues. 2022-10-31 21:50:54 +01:00
Leon Styhre f1bd530963 Fixed an issue where the color scheme configuration was parsed after the variant configuration. 2022-10-31 21:02:53 +01:00
Leon Styhre 4e84707e3a Changed the order of two theme properties to improve consistency. 2022-10-31 20:12:42 +01:00
Leon Styhre 8df54bd80e Added support for color schemes. 2022-10-31 19:32:13 +01:00
Leon Styhre bebb345936 Replaced the checkerboard pattern for the default blank texture with a truly blank texture. 2022-10-30 09:16:14 +01:00
Leon Styhre b17c78bc42 Increased the default VRAM limit from 256 to 512 MiB and increased the maximum limit from 1024 to 2048 MiB.
Also increased the default VRAM limit for the Raspberry Pi from 184 to 192 MiB.
2022-10-30 09:11:59 +01:00
Leon Styhre 941835977f Fixed a carousel item sizing issue when logoScale was set to lower than 1.0 for legacy theme sets. 2022-10-29 15:24:46 +02:00
Leon Styhre c870664615 Missing theme files defined using variables now only trigger debug messages instead of errors or warnings.
Also added two DebugSkipMissingThemeFiles and DebugSkipMissingThemeFilesCustomCollections settings.
2022-10-29 13:04:00 +02:00
Leon Styhre 03a9dc8e05 Improved some theme warning messages in BadgeComponent. 2022-10-29 12:54:52 +02: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 e1d911f401 Fixed an issue where text caches would not get cleared if the text was set to a blank value. 2022-10-28 21:31:40 +02:00
Leon Styhre 27936131f3 Added a special 'all' shortcut variant. 2022-10-28 21:08:44 +02:00
Leon Styhre b1a2b3f5ca Added support for overriding variables and to define them inside the variants tags. 2022-10-28 21:06:01 +02:00
Leon Styhre 7e2818c854 Fixed an issue where the wrong system name would show up on the carousel if the theme configuration was invalid. 2022-10-28 21:00:49 +02:00
Leon Styhre 3c82bb4dfb Changed the renderer pixel format from RGBA to BGRA.
Also implemented premultiplied alpha for all images, animations and videos and improved the carousel reflection falloff logic.
2022-10-28 00:08:41 +02:00
Leon Styhre c96696fb96 OCD commit. 2022-10-27 19:11:23 +02:00
Leon Styhre e36041669d Fixed an issue where DateTimeEditComponent would not center vertically. 2022-10-27 19:09:45 +02:00
Leon Styhre e4f4f29198 Merged the master branch into new-svg-renderer. 2022-10-26 19:52:01 +02:00
Leon Styhre 2fd5580e13 Fixed a small font offset problem mostly seen at really low resolutions. 2022-10-26 18:42:42 +02:00
Leon Styhre cbea006a70 Removed support for setting logoScale to lower than 1.0 for legacy themes as it introduced backward compatibility issues. 2022-10-25 22:58:03 +02:00
Leon Styhre 3252f8fa1b Reintroduced a transformation rounding in GuiComponent as some GPU drivers went crazy without it. 2022-10-25 21:11:16 +02:00
Leon Styhre 7c1a48ec5c Removed two unnecessary roundings from OptionListComponent. 2022-10-25 20:49:22 +02:00
Leon Styhre c50b6b35f4 Removed some unnecessary roundings. 2022-10-25 20:39:12 +02:00
Leon Styhre 18bbd97433 Fixed an issue where the textlist selector would not get sized correctly. 2022-10-25 20:34:58 +02:00
Leon Styhre a8d1c4a2e1 Fixed an issue in CarouselComponent where setting itemScale to less than 1.0 did not work as expected.
Also fixed a problem where carousel text entries did not get multiplied by itemScale.
2022-10-25 20:33:12 +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 97a9347d67 Improved font sizing for the launch screen, scraper and help system. 2022-10-25 01:06:02 +02:00
Leon Styhre 3de8275db6 Fixed multiple minor pixel alignment issues. 2022-10-25 00:43:27 +02:00
Leon Styhre 84f019680d Greatly improved text sizing and rendering. 2022-10-25 00:39:40 +02:00
Leon Styhre 103e59b54d Fixed an issue where mutually exclusive system variables could lead to theme loading errors. 2022-10-17 22:21:52 +02:00
Leon Styhre 45fa3d2c37 Added a pillarboxThreshold property to control these values for the video element. 2022-10-16 16:40:52 +02:00
Leon Styhre 0f327582c1 Fixed an issue where ScrollableContainer would reset too early. 2022-10-16 15:00:38 +02:00
Leon Styhre 6599c12554 Fixed an issue where ScrollableContainer would sometimes fade in text that had not been scrolled. 2022-10-16 13:51:22 +02:00
Leon Styhre 16c4fb6d17 Fixed some alignment issues in CarouselComponent. 2022-10-14 18:14:15 +02:00
Leon Styhre 5f6bd48022 One more try to fix a rounding issue in TextComponent. 2022-10-14 18:12:23 +02:00
Leon Styhre 7f5ed1c41d Fixed a minor graphical glitch in CarouselComponent. 2022-10-11 21:31:05 +02:00
Leon Styhre 8bbaec229f Fixed a rounding issue in TextComponent. 2022-10-11 19:37:35 +02:00
Leon Styhre 7e923cb9b6 Some refactoring of the OpenGL renderer and TextureDataManager. 2022-10-11 18:11:36 +02:00
Leon Styhre 11b035affa Fixed a rounding issue in TextComponent. 2022-10-11 18:08:57 +02:00
Leon Styhre d74966a3c4 Fixed a heisenbug where letters would sometimes get rendered with ugly edge artifacts. 2022-10-11 18:07:56 +02:00
Leon Styhre 241a0119ef Fixed a crash in the Font::wrapText function. 2022-10-10 21:12:49 +02:00
Leon Styhre 1c82228a9c Fixed two small logical errors. 2022-10-10 20:52:55 +02:00
Leon Styhre 39c9bd2cbc Added font size overflow restrictions to TextComponent and DateTimeComponent.
Also fixed a crash that could occur in TextComponent when blank/dummy fonts were used.
2022-10-10 20:37:04 +02:00
Leon Styhre 610ac9adb3 Implemented dynamic texture allocation to the font handling. 2022-10-10 20:32:35 +02:00
Leon Styhre 6af1f76be8 Fixed an issue where the help system was rendered on top of the menus. 2022-10-10 20:07:40 +02:00
Leon Styhre 0232635504 Refactoring/cleanup. 2022-10-09 19:13:54 +02:00
Leon Styhre 0757156caf Improved error handling for unloadable font files. 2022-10-09 18:01:30 +02:00
Leon Styhre 50832a5b64 Some code cleanup. 2022-10-09 17:59:27 +02:00
Leon Styhre fdcd4a4a9d (Windows) Fixed an MSVC compiler warning. 2022-10-08 11:22:46 +02:00
Leon Styhre d927135034 Fixed an issue where line breaks were included in single-line text entries. 2022-10-08 10:00:40 +02:00
Leon Styhre 508ea87963 Rewrite of the text wrapping code to work with languages which generally lack spaces, like Japanese.
Also implemented massive performance improvements to the text wrapping code.
2022-10-08 09:33:57 +02:00
Leon Styhre d2ca019a75 Avoided unnecessary SVG file parsing for images previously found to be invalid. 2022-10-06 20:20:48 +02:00
Leon Styhre bbe9666f69 Removed the use of a deprecated LunaSVG function that is no longer required. 2022-10-03 21:38:01 +02:00
Leon Styhre bf5cce31c6 Replaced the NanoSVG library with LunaSVG. 2022-10-03 18:43:30 +02:00
Leon Styhre 8f6262a3a9 Fixed an issue where the video player output frame width was not set correctly. 2022-10-01 17:19:53 +02:00
Leon Styhre e7f1a0f36c Updated VideoFFmpegComponent for deprecated functions in FFmpeg 5.1 2022-09-30 23:20:36 +02:00
Leon Styhre bfdeb2e004 Video player code cleanup. 2022-09-29 22:32:57 +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 2c84e9c59b Fixed two SliderComponent issues with inconsistent knob placements.
Also improved the component for use with vertical resolutions and cleaned up some code.
2022-09-28 17:23:44 +02:00
Leon Styhre f048d06b95 Fixed a text abbreviation issue. 2022-09-28 17:21:02 +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 87d1c19e68 Fixed an issue where the scrollable container would not get properly sized after using the single-game scraper. 2022-09-27 21:56:15 +02:00
Leon Styhre 430d3e5e30 Changed the default OpenGL version on the Steam Deck from 3.3 to 4.6 2022-09-27 17:47:10 +02:00
Leon Styhre 15e30bc0ca Increased the minimum VRAM limit from 80 MiB to 128 MiB. 2022-09-27 17:43:27 +02:00
Leon Styhre 7a5daaa6fa Increased the default VRAM limit from 256 MiB to 384 MiB.
Also enabled video framerate upscaling by default on the Steam Deck.
2022-09-27 17:38:02 +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 577ed366b4 Frame advances no longer take place for GIF and Lottie animations unless update() has been called. 2022-09-26 19:00:59 +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 47dd0e33d1 Added fading support for carousel items if the hidden or count-as-game metadata fields have been set. 2022-09-25 13:06:09 +02:00
Leon Styhre fcbe612a0b Fixed an issue where the text background opacity was not calculated correctly. 2022-09-25 10:02:24 +02:00
Leon Styhre 664a39df2c Fixed an issue where ScrollableContainer would not scroll at the correct speed. 2022-09-24 22:53:52 +02:00
Leon Styhre 9d0b3b911f Changed the argument order for the TextComponent constructor. 2022-09-24 21:37:00 +02:00
Leon Styhre 369cc7684b Eliminated a lot of unnecessary text rasterization when populating the gamelist carousel. 2022-09-24 16:47:14 +02:00
Leon Styhre 0736192417 Fixed a text abbreviation issue. 2022-09-24 16:45:18 +02:00
Leon Styhre 782d68f906 Attempt to fix a log output deadlock issue. 2022-09-23 22:49:17 +02:00
Leon Styhre 00b71c7b27 Fixed an issue where text element vertical auto-sizing did not work correctly. 2022-09-23 19:40:39 +02:00
Leon Styhre f620df4dff Eliminated some unnecessary carousel on-demand texture loading. 2022-09-22 20:11:37 +02:00
Leon Styhre 04473d0ff3 Added on-demand texture loading for wheel carousels.
Also added proper support for horizontal and vertical offsetting and fixed a clipping issue.
2022-09-22 19:11:53 +02:00
Leon Styhre 1e9b95baac Very minor code change. 2022-09-21 22:05:21 +02:00
Leon Styhre 7b7a99dbe2 Fixed an issue where overlapping wheel carousel items were not rendered in the correct order. 2022-09-21 22:03:03 +02:00
Leon Styhre 5f864d0b96 Fixed an issue where the itemAxisHorizontal carousel property did not work correctly. 2022-09-21 21:09:10 +02:00
Leon Styhre 02aba10a08 Added a ScreenScraper option to remove dots from game name searches when using the automatic scraper. 2022-09-20 22:45:32 +02:00
Leon Styhre 24a10a7807 Some improvements to the cursor logic in SystemView. 2022-09-20 21:16:39 +02:00
Leon Styhre ac5b3b15e0 Added a new 'itemAxisHorizontal' property to the carousel.
Also fixed a clipping issue when the vertical origin was not set to zero and cleaned up some code.
2022-09-20 17:05:24 +02:00
Leon Styhre 0f53d65f0d Increased the maximum carousel size to 2 per axis. 2022-09-20 00:39:03 +02:00
Leon Styhre 04c23a890f Fixed an issue where instant carousel item transitions would break view slide transitions. 2022-09-19 19:34:39 +02:00
Leon Styhre da343c49aa Added an 'Ignore keyboard input' option to the input device settings menu. 2022-09-19 19:05:06 +02:00
Leon Styhre db46180024 Fixed an issue where setting the carousel itemSize property to zero could crash the application.
Also fixed a small carousel glitch.
2022-09-19 19:02:17 +02:00
Leon Styhre 74a2256037 Added the properties 'itemsBeforeCenter' and 'itemsAfterCenter' to define entries for carousels of the wheel type. 2022-09-19 18:51:05 +02:00
Leon Styhre b435a8dd24 Decreased the splash screen logo size slightly. 2022-09-18 16:33:27 +02:00
Leon Styhre da7bfa0fa7 Fixed an issue where the TextListComponent debug overlay would not always be correctly positioned. 2022-09-18 16:02:03 +02:00
Leon Styhre c45678e857 Fixed an issue where line breaks could not be inserted into multline text entry fields. 2022-09-18 15:35:13 +02:00
Leon Styhre 3636eeba18 Fixed an issue where the carousel would not update when entering and exiting gamelist folders. 2022-09-17 19:27:06 +02:00
Leon Styhre 1258ddc78f Fixed some compiler errors on older GCC versions. 2022-09-17 18:17:57 +02:00
Leon Styhre d1d2349c57 Improved some theme warning log messages in CarouselComponent. 2022-09-17 18:05:51 +02:00
Leon Styhre bea6889926 Added carousel theme support for setting item transitions to 'slide' or 'instant'. 2022-09-17 12:42:27 +02:00
Leon Styhre 87749e7d37 Fixed an issue where overlapping carousel items were not rendered correctly during transitions. 2022-09-17 12:17:01 +02:00
Leon Styhre 3789a0ca12 Fixed a heisenbug where videos would sometimes not get rendered on application startup. 2022-09-17 10:24:46 +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 6fd47a5599 Fixed an issue where the video pillarboxes would not align precisely with the video content. 2022-09-16 23:30:51 +02:00
Leon Styhre d203f4be27 Changed the location for a theme property. 2022-09-16 19:43:36 +02:00
Leon Styhre 3f9023885e Prevented some unnecessary badge rendering. 2022-09-16 19:25:38 +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 7e892a7855 Changed the order of some theme properties. 2022-09-16 18:51:36 +02:00
Leon Styhre dca3a6d232 Fixed multiple issues in ScrollableContainer and added a new containerVerticalSnap property. 2022-09-16 18:49:39 +02:00
Leon Styhre 79a661b744 Changed the default vertical tile alignment from top to bottom. 2022-09-15 23:49:08 +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 611824be18 Improved some invalid theme configuration warnings in ImageComponent. 2022-09-15 21:53:26 +02:00
Leon Styhre 47c8f5988d Some very minor code cleanup. 2022-09-15 17:34:20 +02:00
Leon Styhre 3a41aa61c5 Fixed an issue where a legacy theme workaround for incorrect element types did not work as expected.
Also cleaned up a log warning message related to this.
2022-09-15 17:29:34 +02:00
Leon Styhre 59494b0a9b Fixed an issue where videos without any static images would sometimes have a delayed start. 2022-09-15 17:25:27 +02:00
Leon Styhre 78cdc49200 Fixed an issue where static images for video elements would sometimes not fade out during gamelist fast-scrolling. 2022-09-15 17:22:26 +02:00
Leon Styhre 0aa1d3bdc7 Added checks for whether video files set using the 'path' and 'default' properties actually exist before attempting to use them in VideoComponent. 2022-09-15 17:19:50 +02:00
Leon Styhre 8e43138722 Made GameSelectorComponent not return the same game repeatedly in a row. 2022-09-12 19:48:11 +02:00
Leon Styhre 8d5dc46fc6 Some minor code cleanup. 2022-09-12 19:03:45 +02:00
Leon Styhre 2da2a86397 Adjusted the splash screen sizing to be more consistent across various screen aspect ratios. 2022-09-11 17:24:05 +02:00
Leon Styhre a2eedde8d3 Fixed a small rounding error in TextComponent. 2022-09-10 20:05:58 +02:00
Leon Styhre c50f39dd05 Updated the CMake configuration for the removed legacy theme engine code. 2022-09-10 11:58:52 +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 f0fd5346c6 Changed the default origin from 0.5 0.5 to 0 0 for GIFAnimComponent and LottieAnimComponent. 2022-09-10 11:24:43 +02:00
Leon Styhre 8cc3d1aac5 Added some more workarounds for legacy theme sets with incorrectly defined element types. 2022-09-09 18:03:58 +02:00
Leon Styhre 807cf7b057 Fixed a rounding issue for the ImageComponent debug overlay. 2022-09-09 17:56:41 +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 a58153f08d The badge overlay images are now retained in the texture cache. 2022-09-08 19:04:56 +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 2742424ca2 Some general code cleanup. 2022-09-08 18:56:02 +02:00
Leon Styhre a2769b98d4 Added a workaround for playing broken video files with invalid PTS values. 2022-09-08 18:38:19 +02:00
Leon Styhre b9303e5494 Mipmapping is now taken into consideration when calculating the VRAM usage. 2022-09-07 21:17:01 +02:00
Leon Styhre 406aecc6a9 Added two new properties tileHorizontalAlignment and tileVerticalAlignment to the image element. 2022-09-07 20:18:15 +02:00
Leon Styhre d362f62b45 Added explicit sorting of the custom event scripts. 2022-09-07 20:01:04 +02:00
Leon Styhre c537de51ef Some general code cleanup. 2022-09-07 19:59:27 +02:00
Leon Styhre 8361c4f15c Moved the Alignment enumerator from Font to GuiComponent. 2022-09-07 19:54:55 +02:00
Leon Styhre 503ff07d81 Fixed an issue where the rating stars would not display properly in the metadata editor and in the scraper.
Also fixed a minor rounding issue.
2022-09-07 19:29:56 +02:00
Leon Styhre feef706ba4 (Windows) Fixed an MSVC compiler warning. 2022-09-06 22:59:32 +02:00
Leon Styhre 487cbd84bc Fixed an excessive texture pop-in issue caused by a recent commit. 2022-09-06 22:39:28 +02:00
Leon Styhre b4b709b589 Added a tileSize property to the image element so that the size of each individual image in tiled textures can be defined. 2022-09-06 21:33:50 +02:00
Leon Styhre b6dc0bd72c Removed the font texture linear magnification support as it caused various rendering artifacts. 2022-09-06 00:51:16 +02:00
Leon Styhre 9d46625739 Added support for texture mipmapping with trilinear filtering. 2022-09-05 23:36:49 +02:00
Leon Styhre 1bbf32a6f5 Fixed some menu alignment issues. 2022-09-05 23:05:09 +02:00
Leon Styhre 311595ff62 Removed an unnecessary rounding in TextComponent. 2022-09-05 23:03:04 +02:00
Leon Styhre 01d410867c Moved back the wide SVG images size compensation from TextureData to ImageComponent. 2022-09-05 23:00:47 +02:00
Leon Styhre 5d78412b9d Fixed some pixel alignment issues for the carousel. 2022-09-05 22:39:26 +02:00
Leon Styhre b079421205 Changed it so that only fonts of a certain minimum size gets linear texture magnification applied. 2022-09-05 22:36:33 +02:00
Leon Styhre ff0e76332c Added rounding to various translations like camera movements. 2022-09-05 20:13:47 +02:00
Leon Styhre 881b602cb4 Fixed a rendering issue in ScrollableContainer. 2022-09-05 00:30:19 +02:00
Leon Styhre e8c74450a0 Enabled linear interpolation for all font rendering regardless of resolution. 2022-09-05 00:11:53 +02:00
Leon Styhre d36e64e23a Fixed a rendering issue in ButtonComponent. 2022-09-04 23:55:53 +02:00
Leon Styhre 77a2383683 Fixed a font rendering issue in TextListComponent. 2022-09-04 23:48:27 +02:00
Leon Styhre b9a2031cf6 Increased the maximum allowed size for the carousel for legacy themes only. 2022-09-04 22:36:50 +02:00
Leon Styhre dda63403fa Improved the renderer scaling accuracy. 2022-09-04 22:01:59 +02:00
Leon Styhre d242c84ea8 Set linear interpolation for the rating component in GuiMetaDataEd and GuiScraperSearch. 2022-09-03 21:43:36 +02:00
Leon Styhre 455b970a59 Reverted a removal of vertex rounding during the project matrix calculation. 2022-09-03 21:22:31 +02:00
Leon Styhre 947ab458ae Fixed some Clang compiler warnings. 2022-09-03 16:39:59 +02:00
Leon Styhre ce50c1121b Enabled linear interpolation for font texture magnification when running on display resolutions at or above approximately 1920x1080. 2022-09-02 21:30:16 +02:00
Leon Styhre 9b1fb95865 Enabled linear interpolation for font texture minifications. 2022-09-02 21:03:19 +02:00
Leon Styhre a1027c2580 Removed some projection matrix and vertices roundings which caused multiple pixel alignment issues. 2022-09-02 21:01:31 +02:00
Leon Styhre 4ade04d760 Some minor code cleanup. 2022-09-02 20:52:49 +02:00
Leon Styhre 039c27fa8e Added support for sizing SVG images arbitrarily (overriding the image aspect ratio by stretching and squashing). 2022-09-02 20:48:45 +02:00
Leon Styhre 3a9c7b92e3 Added support for arbitrary image aspect ratios to RatingComponent.
Also added an overlay property and fixed some potential crashes.
2022-09-01 17:40:29 +02:00
Leon Styhre 819d1b0341 Fixed some potential crashes in ImageComponent caused by invalid theme configuration. 2022-09-01 17:35:40 +02:00
Leon Styhre 6215ae8b57 Fixed two minor issues in RatingComponent. 2022-08-31 22:30:31 +02:00
Leon Styhre 54ded5cbb6 Changed RatingComponent to use shader-based clipping. 2022-08-31 21:19:09 +02:00
Leon Styhre 7b279a7c73 Made SVG rasterizations slightly more accurate. 2022-08-31 21:17:13 +02:00
Leon Styhre ed69e46b42 Fixed some issues where bundled SVG images would not get cached at the correct resolution. 2022-08-30 20:26:48 +02:00
Leon Styhre eced44934e Added clamping of 0.0 to 1.0 to the rotationOrigin property. 2022-08-30 19:56:38 +02:00
Leon Styhre 496b60fa7d Added support for clipping to the core GLSL shader. 2022-08-30 19:42:37 +02:00
Leon Styhre 6126016289 Cleaned up some font-related code. 2022-08-30 19:31:57 +02:00
Leon Styhre f61d0f1df8 Added a property to RatingComponent to set interpolation method (nearest or linear) when using raster images. 2022-08-28 20:45:04 +02:00
Leon Styhre 2c86e4f99e Removed the deprecated SVG force rasterization flag from the cache manager. 2022-08-28 20:21:58 +02:00
Leon Styhre 48a9571609 Refactored RatingComponent to improve rendering accuracy and performance. 2022-08-28 20:11:20 +02:00
Leon Styhre 0060cd48dc (Windows) Fixed a couple of MSVC compiler warnings. 2022-08-23 22:50:14 +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 5dae37f558 Added support for caching SVG images. 2022-08-23 22:24:24 +02:00
Leon Styhre 047d080346 Fixed a small text abbreviation issue. 2022-08-21 21:24:46 +02:00
Leon Styhre e2fb03dbf3 Fixed an issue where the tile property for the image element did not work correctly with SVG images. 2022-08-21 19:06:51 +02:00
Leon Styhre fca9e51844 Added support for the letterCase property when using the carousel in the gamelist view. 2022-08-21 18:15:06 +02:00
Leon Styhre 08d5e4eff0 Enabled vertical abbreviations of multiline text entries in TextComponent.
Also fixed an issue where the debug overlay would not get rendered correctly for scrollable containers.
2022-08-21 16:51:21 +02:00
Leon Styhre ce217c48a4 Added support for vertical abbreviations of multiline text entries. 2022-08-21 16:33:29 +02:00
Leon Styhre 67488467c3 (Linux) The data installation directory is now excluded for themes and resources when built as an AppImage. 2022-08-20 11:30:15 +02:00
Leon Styhre 15314fff84 Eliminated some incorrect and unnecessary cursor stops in IList.
Also got rid of some unnecessary cursor stops triggered by TextListComponent.
2022-08-19 17:17:34 +02:00
Leon Styhre fa81853127 Changed some theme loading issues log output from warning to error for DateTimeComponent and TextComponent. 2022-08-19 17:11:16 +02:00
Leon Styhre 0b34bd8991 Added checks for valid imageType property values to ImageComponent and VideoComponent. 2022-08-19 17:07:45 +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 d24102db0e TextComponent now only accepts valid metadata and systemdata property values. 2022-08-18 23:44:22 +02:00
Leon Styhre 8c24d0a3b7 Fixed an issue where videos with no path set could sometimes get attempted to play. 2022-08-18 23:02:00 +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 389dc6ed79 Added mOpacity video fading support to VideoFFmpegComponent 2022-08-18 22:38:09 +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 e6ae806c31 Added an itemInterpolation theme property to control the interpolation method for carousel items. 2022-08-17 00:26:47 +02:00
Leon Styhre 141f8aadf4 Fixed an issue where the video would not start playing immediately after closing the media viewer if the showSnapshotDelay property was not set. 2022-08-16 23:39:33 +02:00
Leon Styhre 640793ec0a Fixed an issue where the video player would delay playing even though the showSnapshotDelay property was not set. 2022-08-16 23:10:40 +02:00
Leon Styhre 225a602a74 If the same raster image is used with different interpolation methods then these are now cached separately. 2022-08-16 22:37:36 +02:00
Leon Styhre 967b98008b Fixed an issue where raster graphic images could get scaled incorrectly. 2022-08-16 21:04:39 +02:00
Leon Styhre 91d4c0b45a Changed the default selectorColor and selectorColorEnd property values for TextListComponent. 2022-08-16 19:10:58 +02:00
Leon Styhre 85ce3ef7f6 Allow maxLogoCount to be set to 0 for legacy themes. 2022-08-14 23:04:25 +02:00
Leon Styhre 899ace3eb6 Added a manualUnloadAll function to TextureResource.
Also converted some variables to static inline and cleand up some code.
2022-08-14 21:31:02 +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
Leon Styhre 5699988767 Added a workaround for legacy theme sets where the md_releasedate and md_lastplayed element types have incorrectly been defined as text instead of datetime. 2022-08-14 14:46:56 +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 81268fb11c (Windows) Changed many logging entries to use backslashes instead of forward slashes as directory separators. 2022-07-01 16:39:18 +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 ffed5dee2d Added connection and transfer timeout settings to the scraper (not configurable via the GUI). 2022-06-29 17:28:39 +02:00
Leon Styhre 08d893b119 Fixed an issue where the IgnoreGamelist setting was saved although it shouldn't.
Also made a change so that passing the --ignore-gamelist command line option now immediately disables the ParseGamelistOnly setting.
2022-06-29 17:17:31 +02:00
Leon Styhre b897b8a15d Merge branch 'threadsafe_logging' 2022-06-26 14:19:43 +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
Joseph Geumlek 517186bbe0 Make Log() instances only lock in ~Log(), and make the mutex non-recursive. 2022-06-23 14:20:48 -07:00
Joseph Geumlek fefd70b943 Make logging more thread-safe 2022-06-21 22:06:20 -07:00
Leon Styhre bded2bf31f Added a ScreenScraper option to fallback to additional regions to allow scraping of country-specific games and unofficial releases. 2022-06-16 19:56:41 +02:00
Leon Styhre c9eb9022db A dummy theme set is now created if no theme sets were found on startup. 2022-06-11 18:35:44 +02:00
Leon Styhre 40bf018aaa Changed theme loading into a populateThemeSets function and created a separate getter function.
Also removed a deprecated theme check in the game directory.
2022-06-11 18:34:53 +02:00
Leon Styhre 0ef6a22248 Removed the 'Enable menu scroll indicators' menu option. 2022-06-10 19:54:29 +02:00
Leon Styhre c8cc7b7947 Fixed an issue where a virtual keyboard key repeat would sometimes continue to run when it shouldn't. 2022-06-10 19:30:21 +02:00
Leon Styhre cfc9d54068 Improved the behavior and consistency for the virtual keyboard when using non-standard keyboard mappings. 2022-06-10 19:28:01 +02:00
Leon Styhre d217a3315a Changed the SDL video initialization function from SDL_Init to SDL_InitSubSystem 2022-06-09 17:16:43 +02:00
Leon Styhre d96828f454 Suppressed MSVC compiler warnings C4251 caused by rlottie DLL interface exports. 2022-06-07 17:55:26 +02: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 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 c216f3804a Removed the RetroPie ES bug replication from TextListComponent for non-legacy theme sets. 2022-06-05 12:17:15 +02:00
Leon Styhre 0345fd8fa7 Fixed an issue where entering folders using the gamelist carousel could lead to a crash. 2022-06-04 17:44:00 +02:00
Leon Styhre 3ecb821c00 Added size restrictions to the 'size' and 'maxSize' theme properties for the image and video elements. 2022-06-04 17:25:36 +02:00
Leon Styhre 2ac706e0c5 Fixed an issue where large pixelated fonts sometimes displayed too many textlist rows. 2022-06-03 23:24:34 +02:00
Leon Styhre 269e2e8202 Added a wheelHorizontalAlignment property for aligning the carousel within the overall element area. 2022-06-03 20:53:15 +02:00
Leon Styhre 824089d703 Fixed an issue where the scroll indicators sometimes overlapped the menu titles. 2022-06-03 18:27:46 +02:00
Leon Styhre 765aaeb2df Changed the default quit shortcut to Alt + F4 and Command + Q.
Also renamed the setting 'Exit button combo' to 'Keyboard quit shortcut' and fixed an issue where the application sometimes quit when exiting an emulator using Alt + F4 while running in the background.
2022-05-31 22:06:47 +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 6a0b1bad5b Added custom event script triggers on application startup, screensaver start and screensaver end. 2022-05-18 23:56:51 +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 5b63ecb828 Removed the last remnants of the PowerSaver. 2022-05-18 21:08:55 +02:00
Leon Styhre e50be3376b Added an Xbox Kinect controller badge icon. 2022-05-12 23:31:11 +02:00
Leon Styhre 53ad5a3152 Fixed an issue where the texture buffer sometimes couldn't fit Chinese characters. 2022-05-09 20:12:08 +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 f990d91841 Reverted the previous commit. 2022-05-04 00:42:28 +02:00
Leon Styhre f86ab2ea89 Increased the font texture size slightly. 2022-05-03 23:35:47 +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 97da2df0a4 Found a better solution to the single-pixel alignment rendering issue. 2022-04-27 18:40:28 +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 440e089847 Fixed some graphical glitches in NinePatchComponent and ButtonComponent. 2022-04-21 20:29:17 +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 06f6840038 Carousel textures in the gamelist view now load dynamically. 2022-04-19 21:42:29 +02:00
Leon Styhre 7872f35d1b Fixed some compile errors when using old GCC versions. 2022-04-19 20:00:10 +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 277a729a2d Cleaned up the CMake configuration. 2022-04-19 17:24:54 +02:00
Leon Styhre 1798b96cf8 Added reflections support to CarouselComponent. 2022-04-18 21:37:58 +02:00
Leon Styhre 79c61b2d8a Fixed a text artifact issue caused by a missing rounding in TextComponent.
Also forced vertical center alignment if the text field is smaller than the font height.
2022-04-18 13:47:22 +02:00
Leon Styhre 63e7b58ec0 Fixed a renderer heisenbug that caused multiple single-pixel alignment issues. 2022-04-18 10:17:05 +02:00
Leon Styhre fafca5c194 Added carousel theme support for setting the opacity for unfocused entries. 2022-04-17 13:08:28 +02:00
Leon Styhre 468d2b3635 Added a green debug mode rectangle for CarouselComponent.
Also changed the debug mode rectangle from blue to green for TextListComponent.
2022-04-17 11:08:08 +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 01c2d7ff17 Adjusted some theme log warnings in BadgeComponent. 2022-04-16 22:12:24 +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 a149124252 Fixed an issue where two BadgeComponent default values were not always set. 2022-04-15 21:26:07 +02:00
Leon Styhre 7daf69092f Added theme support for controlling the TextListComponent collection indicators. 2022-04-15 21:20:43 +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 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 aa4258a31a Removed the 'Use plain ASCII for special gamelist characters' menu option. 2022-04-15 17:13:51 +02:00
Leon Styhre 254e271392 Added theme support for controlling the TextListComponent indicators. 2022-04-15 17:06:33 +02:00
Leon Styhre d62bc17400 Renamed the default theme set from rbsimple-DE to slate-DE 2022-04-14 22:46:30 +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 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 008fa23d5f Added a setting to define the OpenGL version to use. 2022-04-10 14:54:21 +02:00
Leon Styhre 91460495be Added size restrictions to fonts and textures to avoid crashes caused by invalid theme configuration. 2022-04-10 11:53:44 +02:00
Leon Styhre cb8596ab8a Prevented themes using the <resolution> tag from loading altogether. 2022-04-10 11:32:55 +02:00
Leon Styhre 3a8d19bad5 Added support for nested theme variables. 2022-04-10 11:24:15 +02:00
Leon Styhre 72ce3d33a8 Some code cleanup. 2022-04-09 16:32:47 +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 21f21c20f5 Added a scraper setting to convert underscores _ to spaces when searching. 2022-04-09 15:14:48 +02:00
Leon Styhre 088237fe85 Set the interactive scraper as disabled by default. 2022-04-06 23:53:21 +02:00
Leon Styhre acbbb0a630 Increased the default value for the MaxVRAM setting to 512 for the Steam Deck. 2022-04-03 13:37:41 +02:00
Leon Styhre c4cae406e9 Fixed a font loading crash caused by an insufficient font texture size.
Also added a preventive measure for similar crashes in the future and made some general cleanup of the font code.
2022-04-02 11:59:52 +02:00
Leon Styhre 8ce820e001 Fixed an issue where carousel shoulder button navigation was a bit inconsistent. 2022-03-25 23:38:04 +01:00
Leon Styhre e7aeb8e2b4 Removed the playing of some navigation sounds during textlist and carousel navigation. 2022-03-25 23:17:56 +01:00
Leon Styhre fa4151a3d9 Fixed some GCC compiler warnings. 2022-03-24 23:32:28 +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 5625f44a0a Added dimming support to RatingComponent. 2022-03-21 20:35:24 +01:00
Leon Styhre 3eacb27c3b Changed the helpsystem properties entrySpacing and iconTextSpacing to relative values.
Also reverted the helpsystem horizontal alignment functionality as it's not needed.
2022-03-20 19:07:52 +01:00
Leon Styhre 07f151d906 Moved TextListComponent and CarouselComponent from es-core to es-app. 2022-03-19 09:55:05 +01:00
Leon Styhre 6f6f388257 Added RatingComponent support to the system view. 2022-03-18 22:16:53 +01:00
Leon Styhre 44fe2f8fe7 Standardized some theme warning log output. 2022-03-18 20:31:04 +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 56d1b8f83d Fixed an issue where multiple carousel logos were rendered when there was only a single system. 2022-03-17 21:52:55 +01:00
Leon Styhre 86ad917bc8 Set logo scaling to linear interpolation in CarouselComponent. 2022-03-17 19:34:41 +01:00
Leon Styhre 5de2855d60 Added theme support for defining color saturation for the image, video and animation components. 2022-03-17 19:33:09 +01:00
Leon Styhre b6e38dcf67 Fixed multiple issues in CarouselComponent. 2022-03-17 00:02:16 +01:00
Leon Styhre 65d79edb54 Miniscule optimization in RendererOpenGL. 2022-03-16 20:26:13 +01:00
Leon Styhre 4b9f0c5d14 Removed the deprecated OpenGL ES 1.0 and 2.0 renderers. 2022-03-15 18:13:15 +01:00
Leon Styhre 02249ae6b9 (RPi) Fixed two compiler errors. 2022-03-15 18:02:19 +01:00
Leon Styhre e5ed25ed5f Removed an OpenGL initialization workaround that doesn't seem to be needed any longer. 2022-03-15 17:44:15 +01:00
Leon Styhre 2fe11bd827 A few fixes for the Emscripten WebAssembly build. 2022-03-15 17:17:56 +01:00
Leon Styhre 29501af68f Changed some variables names and debug logging info for the OpenGL renderer.
Also simplified a pixel conversion in the core.glsl shader.
2022-03-15 17:14:55 +01:00
Leon Styhre f859fd828d Cleaned up the GLSL shader files and related code. 2022-03-15 00:14:06 +01:00
Leon Styhre 06a037d8cf Shader flags are now sent as bit masks instead of via discreet values.
Also changed the shader flags to enums.
2022-03-14 22:30:24 +01:00
Leon Styhre 6b095bde05 (Windows) Fixed some compiler errors. 2022-03-14 20:29:25 +01:00
Leon Styhre 6ff0ff1c47 Renamed Renderer_GL21 and Shader_GL21 to RendererOpenGL and ShaderOpenGL. 2022-03-14 20:14:18 +01:00
Leon Styhre f0c35d8509 Refactored the rendering code into proper classes. 2022-03-14 19:51:48 +01:00
Leon Styhre a7db474a64 Unified the OpenGL and OpenGL ES renderers and removed the fixed function pipeline.
Also made some other rendering optimizations and cleaned up some code.
2022-03-13 23:52:32 +01:00
Leon Styhre adb162e0d1 Another go at getting post-processing to work properly with all graphics drivers. 2022-03-12 17:57:59 +01:00
Leon Styhre 32251e0264 Fixed multiple issues with the shader post-processing.
Also removed an unnecessary parameter for the createTexture() function.
2022-03-12 14:22:27 +01:00
Leon Styhre bebc9d58cf Added debug overlay support to GIFAnimComponent. 2022-03-12 10:19:47 +01:00
Leon Styhre 8497967510 Disabled rlottie caching in debug mode so animations can be replaced on the fly. 2022-03-12 10:11:04 +01:00
Leon Styhre ac6cc41059 Added a command line option to rotate the application screen 180 degrees.
Also fixed a shader post-processing bug when rotating the application screen.
2022-03-12 00:40:03 +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 63af859618 Modernized the OpenGL renderer and replaced most fixed function pipeline code with shaders.
Also greatly improved the shader post processing performance and added component dimming support.
2022-03-11 23:17:04 +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 2df8a867ad Fixed some compiler errors when building with FFmpeg 5.0 2022-03-06 14:38:19 +01:00
Leon Styhre cc05f778e4 (Windows) Made GIFAnimComponent work with filenames containing Unicode characters. 2022-03-06 12:53:20 +01:00