Commit graph

669 commits

Author SHA1 Message Date
Leon Styhre 4f019c3775 Added support for defining multiple imageType entries.
Also made some improvements to GameSelectorComponent and related logic.
2022-02-14 19:32:07 +01:00
Leon Styhre eb3729a5fb Fixed a few crashes related to GameSelectorComponent. 2022-02-13 23:15:43 +01:00
Leon Styhre cc8123f5a6 Added a GameSelectorComponent for displaying game media in SystemView. 2022-02-13 20:03:34 +01:00
Leon Styhre 31c5b200d1 Added support for using unsigned integers for theme properties. 2022-02-13 15:01:55 +01:00
Leon Styhre 027265da67 Added themeable opacity support for the help system. 2022-02-13 12:18:33 +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 e0540ee03b Video pillarboxes and scanline rendering can now be controlled from the theme configuration. 2022-02-12 17:46:31 +01:00
Leon Styhre 6572fa8f23 The displayRelative property can now be overridden for the md_lastplayed metadata type. 2022-02-12 17:43:20 +01:00
Leon Styhre f585f87497 Added support for setting component opacity from the theme configuration. 2022-02-12 17:38:55 +01:00
Leon Styhre c24cf1e57a Fixed an issue where RatingComponent outlines would not fade correctly. 2022-02-12 13:36:40 +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 ead1d5af9c Fixed a small alignment issue in ComponentList. 2022-02-11 23:33:29 +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 89efdef39c Fixed an issue where horizontal and vertical color gradients were mixed up.
Also added logging in case an invalid gradient type is used in a theme.
2022-02-11 18:44:24 +01:00
Leon Styhre 4eb763d816 Replaced the ambiguous alignment properties with specific horizontal and vertical properties. 2022-02-11 00:19:08 +01:00
Leon Styhre 28a3beb9ce ScrollableContainer parameters are now themeable. 2022-02-10 20:02:56 +01:00
Leon Styhre 09bc9770f2 Changed the theme property forceUppercase to the more versatile letterCase property. 2022-02-09 22:06:34 +01:00
Leon Styhre 6db671de3d Added support to TextComponent for lowercase and capitalized text conversions.
Also changed camelCase to capitalized and textStyle to letterCase in various places.
2022-02-09 20:44:22 +01:00
Leon Styhre b9e9178169 Fixed multiple issues in CarouselComponent. 2022-02-09 18:22:06 +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 b5d49e9b43 Migrated the carousel code from SystemView to CarouselComponent. 2022-02-06 14:01:40 +01:00
Leon Styhre afe249c5fc Added CarouselComponent skeleton. 2022-02-04 21:42:08 +01:00
Leon Styhre c530373ddc Improved the integration of the variant and aspect ratio options in the UI Settings menu.
Also reorganized the order of some settings.
2022-02-01 18:06:32 +01:00
Leon Styhre 36fe3c871c Fixed an issue where corrupt textures could get rendered. 2022-02-01 17:51:00 +01:00
Leon Styhre 2bf5e6f3f1 Fixed two text color issues when resetting ScrollableContainer. 2022-01-31 22:53:21 +01:00
Leon Styhre 0e9e47e090 Fixed an issue where text transparencies would not work. 2022-01-31 22:37:10 +01:00
Leon Styhre e96aa82dd3 Fixed an issue where some images would not get rendered. 2022-01-30 20:48:31 +01:00
Leon Styhre f2c708bf79 Fixed two incorrect intializations in TextComponent. 2022-01-30 19:36:58 +01:00
Leon Styhre bf222d7eb0 Fixed some missing initializations in TextComponent. 2022-01-30 19:31:53 +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 4b1138ebc7 Fixed an issue where ScrollableContainer could round its size to zero.
Also added a sizing check to prevent application hangs on zero-sized containers.
2022-01-29 11:06:58 +01:00
Leon Styhre 24f65a2560 Prevented ImageComponent from attempting to render an empty texture. 2022-01-25 18:18:16 +01:00
Leon Styhre a147c87cea Added a new getRatingValue function to RatingComponent. 2022-01-22 21:25:35 +01:00
Leon Styhre 487422454e Added support for the 'metadata' element to TextComponent and DateTimeComponent. 2022-01-22 21:24:19 +01:00
Leon Styhre a443f86235 Removed a huge amount of unnecessary Window* function arguments. 2022-01-19 18:01:54 +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 1a2920c5fc Some minor code cleanup in TextListComponent.h 2022-01-17 21:35:59 +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 89cf82b88e When multi-scraping and scrolling a long name, the start position would sometimes not reset correctly. 2022-01-15 19:28:41 +01:00
Leon Styhre c7964b7ebc Renamed GameList to Gamelist throughout the codebase. 2022-01-15 13:38:09 +01:00
Leon Styhre 8596aca68c Added an OpenGL ES 2.0 renderer. 2022-01-13 19:39:49 +01:00
Leon Styhre a233b96c2a Removed some unnecessary typedefs and replaced the remaining ones with the more modern 'using' keyword.
Also harmonized the names of some user defined types and made some other minor cleanup.
2022-01-11 21:57:00 +01:00
Leon Styhre d45a67eeab (Windows) Fixed a few compiler errors and warnings. 2022-01-10 19:53:23 +01:00
Leon Styhre 5a085c585e Fixed a frame caching issue in LottieComponent. 2022-01-10 17:42:01 +01:00
Leon Styhre aeb0292a3e Changed a variable to inline static in BadgeComponent. 2022-01-09 23:41:56 +01:00
Leon Styhre 5c07e29101 Fixed an issue where the cached background would sometimes miss some GUI elements. 2022-01-09 19:50:11 +01:00
Leon Styhre 6ff91e89ca Disabled debug mode in LottieComponent and fixed a small bug. 2022-01-09 19:26:42 +01:00
Leon Styhre cd7cfe36ce Added play direction support to LottieComponent.
Also fixed some bugs and cleaned up the code a bit.
2022-01-09 18:17:23 +01:00
Leon Styhre b16ea29088 Added theme support and proper application integration for LottieComponent. 2022-01-09 13:43:42 +01:00
Leon Styhre b3421823a7 Added rudimentary frame caching support to LottieComponent. 2022-01-08 15:04:10 +01:00
Leon Styhre 3f629b6c1e Created proper program structure for LottieComponent. 2022-01-08 11:25:29 +01:00
Leon Styhre 3ee4e4cb35 Added threading support and proper frame pacing to LottieComponent. 2022-01-07 19:09:07 +01:00
Leon Styhre 0021bee104 (Windows) Fixed two compiler warnings. 2022-01-07 00:30:31 +01:00
Leon Styhre f56d7cc67b Added a preliminary Lottie animation component.
Also added two temporary test animations.
2022-01-06 23:15:29 +01:00
Leon Styhre c62a069448 Fixed an issue where the audio device was accessed after it had been closed. 2022-01-05 00:08:50 +01:00
Leon Styhre 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 796951bf44 Fixed an issue in TextEditComponent when clearing really long strings. 2021-12-27 19:52:45 +01:00
Leon Styhre 4227a609a2 Made the window corners slightly more rounded. 2021-12-06 18:58:51 +01:00
Leon Styhre f5ff480fc4 Fixed a GCC compiler warning. 2021-12-02 17:40:45 +01:00
Leon Styhre a4f8fe78e1 Fixed a time zone issue related to the Unix epoch. 2021-11-26 20:55:54 +01:00
Leon Styhre 7ebf895613 Fixed a ScrollableContainer sizing issue while running in the background when games are launched. 2021-11-22 19:46:05 +01:00
Leon Styhre 2bbbab7d70 Small optimization in VideoFFmpegComponent. 2021-11-18 17:25:09 +01:00
Leon Styhre af52d9b0ac Changed most increment and decrement operators from postfix to prefix for es-core. 2021-11-17 17:48:49 +01:00
Leon Styhre 4c6bfb8b78 Fixed a few issues reported by UBSan. 2021-11-16 22:03:34 +01:00
Leon Styhre 9937476e18 Replaced some mutex locks with atomic variables.
Also removed an SDL audio issue workaround from AudioManager.
2021-11-16 17:49:05 +01:00
Leon Styhre 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 f8c10c539d Added two asserts to ComponentGrid to check for invalid grid layouts. 2021-11-13 15:33:42 +01:00
Leon Styhre 36b7146d7f Made the video player shut down slightly faster under some circumstances. 2021-11-12 23:48:12 +01:00
Leon Styhre 3e59a451c9 Improved the padding consistency for OptionListComponent arrows across different screen resolutions. 2021-11-11 19:54:10 +01:00
Leon Styhre b68640939a Improved consistency of sizing and padding for buttons across different screen resolutions. 2021-11-11 19:51:42 +01:00
Leon Styhre 22200c3025 Fixed an issue where TextListComponent would not correctly handle the forceUppercase theme property. 2021-11-11 19:49:46 +01:00
Leon Styhre 6a7f002a94 Improved the sizing of screen corners in NinePatchComponent. 2021-11-11 19:47:59 +01:00
Leon Styhre c4fb3eafbe Fixed a small alignment issue in SliderComponent. 2021-11-11 19:45:44 +01:00
Leon Styhre 99d0f17e6b Fixed a small alignment issue in ComponentList. 2021-11-11 19:43:58 +01:00
Leon Styhre fd980d7e4a The alternative emulator badges and filters are now disabled if the per-game setting has been disabled. 2021-11-10 22:38:25 +01:00
Leon Styhre 3e12fcb420 General refactoring and minor optimizations throughout the codebase. 2021-11-09 22:40:08 +01:00
Leon Styhre d3b135e387 Set the FFmpeg video player HW decoding as disabled by default. 2021-11-08 17:58:36 +01:00
Leon Styhre ac4710a18e Added proper support for the Raspberry Pi 4. 2021-11-07 23:54:52 +01:00
Leon Styhre c642848081 Reverted the last commit as the issue does not seem to be in the code. 2021-11-07 22:49:23 +01:00
Leon Styhre 433c77261f Fixed a small issue with the sizing of the badges. 2021-11-07 22:22:34 +01:00
Leon Styhre c5a1555de3 Added proper frame drop support to the FFmpeg video player.
Also made multiple large optimizations.
2021-11-07 18:14:38 +01:00
Leon Styhre cdf0227ad4 Fixed a small alignment issue in the scraper GUI and removed an ugly hack. 2021-11-05 20:31:24 +01:00
Leon Styhre f7643e96a4 Added support for two more controller icons. 2021-11-02 19:01:00 +01:00
Leon Styhre 190b3ba054 Fixed an issue where rasterized window corners would look excessively pixelated. 2021-10-30 13:07:07 +02:00
Leon Styhre 1c79723894 Improved the NinePatchComponent corner sizing for screens in portrait orientation. 2021-10-29 20:10:15 +02:00
Leon Styhre 28f0f8549c Fixed an issue where the OptionList arrows would not get correctly centered vertically. 2021-10-29 19:45:46 +02:00
Leon Styhre 59839546a5 Fixed an issue where ComponentList elements would not get correctly centered vertically. 2021-10-29 19:44:27 +02:00
Leon Styhre a6f72ff934 Replaced a hack in NinePatchComponent with a proper solution. 2021-10-29 19:38:45 +02:00
Leon Styhre c4a7380d40 Added a few more controller types and icons.
Also fixed an incorrect name for one controller and made some other name changes.
2021-10-27 19:10:48 +02:00
Leon Styhre a979c6d0e5 Made the menu texture render correctly when running really low on texture memory. 2021-10-26 18:29:30 +02:00
Leon Styhre fbb974de03 Removed an unnecessary force load setter from ImageComponent. 2021-10-26 18:28:21 +02:00
Leon Styhre 4e02ce230b Disabled dynamic loading of images in BadgeComponent. 2021-10-26 18:27:30 +02:00
Leon Styhre 3d3d951842 Renamed alwaysRasterize to forceRasterization.
Also removed an unnecessary function call in ImageComponent.
2021-10-26 18:22:41 +02:00
Leon Styhre f32c3dc6f4 Reintroduced column mode for BadgeComponent.
Also fixed an issue with direction in FlexboxComponent when using column mode.
2021-10-25 19:13:54 +02:00
Leon Styhre 7ed0267f5b Made a large optimization to the SVG rasterization logic. 2021-10-25 18:39:58 +02:00
Leon Styhre 960f6e56be Fixed an incorrect text debug overlay color in SliderComponent. 2021-10-24 14:53:53 +02:00
Leon Styhre b83db7d33e Added text debug overlay to SliderComponent.
Also changed a variable name to align with the standard naming conventions.
2021-10-24 14:48:42 +02:00
Leon Styhre 71b5c50b85 Made the SliderComponent width consistent across different screen aspect ratios. 2021-10-24 14:17:43 +02:00
Leon Styhre 5247a9f5fe Fixed an issue where the wrong scroll indicator could be shown. 2021-10-24 12:10:38 +02:00
Leon Styhre f2c787e769 Moved the resources/help directory to resources/graphics/help 2021-10-23 20:49:00 +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
Leon Styhre edc11e6255 Added a setter to ImageComponent for mForceLoad. 2021-10-23 17:36:13 +02:00
Leon Styhre 89aefab54c Small simplification in ImageComponent. 2021-10-23 17:35:23 +02:00
Leon Styhre dd94aeec96 Fixed two casting issues. 2021-10-23 15:53:31 +02:00
Leon Styhre 6cee6d2732 Fixed multiple image scaling and rasterization issues. 2021-10-23 15:45:44 +02:00
Leon Styhre bd62f2af14 Fixed an issue where the bar and knob in SliderComponent were not correctly aligned vertically. 2021-10-23 15:36:16 +02:00
Leon Styhre 022f8c7e8b Fixed an issue where resizing in SwitchComponent would not reposition the image. 2021-10-23 15:30:35 +02:00
Leon Styhre 114c91679e Increased the start delay slightly for the scraper GUI game name scrolling. 2021-10-18 19:58:04 +02:00
Leon Styhre 484606fb6f Added horizontal scrolling of long game names to the scraper GUI. 2021-10-18 19:24:47 +02:00
Leon Styhre ccc3cae46b Fixed some small rounding issues in TextListComponent.h 2021-10-18 19:15:50 +02:00
Leon Styhre 94c825e3a3 Changed the 'marquee' variable names to 'loop' in TextListComponent.h 2021-10-18 18:07:20 +02:00
Leon Styhre 1166539466 Fixed a general ImageComponent scaling issue caused by incorrect rounding. 2021-10-17 21:51:21 +02:00
Leon Styhre 975ff0eb69 Fixed a potential rounding issue. 2021-10-17 21:20:17 +02:00
Leon Styhre 62d327b071 Merge branch '655-fix-the-left-and-right-alignment-in-badgescomponent' 2021-10-17 18:45:52 +02:00
Leon Styhre af1d1b3109 Fixed some rounding issues and the right-alignment in FlexboxComponent. 2021-10-17 18:45:21 +02:00
Leon Styhre 11ca17fc91 Fixed an issue where the wrong scroll indicators could be displayed. 2021-10-17 16:14:28 +02:00
shadash 8fd05fcd77 bugfix, simplification
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-17 01:11:01 +02:00
Leon Styhre 690083a123 The scroll indicators don't fade in and out any longer if quick jumping in a list. 2021-10-16 13:21:52 +02:00
Sophia Hadash 1c93ca2c07 fix right align
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-15 21:33:34 +02:00
shadash c68f78f3d1 fix right align
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-15 21:28:12 +02:00
Leon Styhre 3683866062 Improved the layout of the scraper GUIs.
Also added the scroll indicators and replaced a text margin hack with a proper solution.
2021-10-15 20:58:40 +02:00
Leon Styhre 050dccb6b8 Fixed an issue with international characters getting clipped in ScrollableContainer. 2021-10-15 20:31:51 +02:00
Leon Styhre 7311a49f82 Removed an unnecessary column from MenuComponent and adjusted the scroll indicators. 2021-10-14 22:38:30 +02:00
Leon Styhre 10e284c929 Text in ScrollableContainer now mostly stays within the initial area. 2021-10-14 21:59:09 +02:00
Leon Styhre a1ed59553f Made it possible to set a 'a/select' help prompt for TextComponent. 2021-10-14 21:29:23 +02:00
Leon Styhre eb611d12db Fixed some issues in FlexboxComponent.
Also added some sanity checks and size restrictions to BadgeComponent and FlexboxComponent.
2021-10-13 18:18:23 +02:00
Leon Styhre b9b4bd120d Fixed multiple issues where ComponentGrid would display incorrect help prompts. 2021-10-12 23:32:26 +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
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 76ef1629c0 Added a simple static scroll indicator and set this as the default.
Also made some minor adjustments to the scroll indicator placement.
2021-10-10 20:07:44 +02:00
Leon Styhre 33d3df9db4 (Windows) Fixed some MSVC compiler warnings. 2021-10-10 18:28:00 +02:00
Leon Styhre 261ad3735a Very minor code consistency fix. 2021-10-10 18:21:42 +02:00
Leon Styhre bef997420d Added menu scroll indicators. 2021-10-10 18:15:37 +02:00
shadash a93b975ca0 bug fixes, adjust theme badge proportions
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-10 13:29:26 +02:00
shadash 123e50cf17 change dimension constraints to use container size.
make margins proportional to screen size.

Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-09 17:04:04 +02:00
Leon Styhre 20760c1b43 Added support to OptionListComponent to abbreviate non-multiselect entries. 2021-10-09 13:06:04 +02:00
Leon Styhre 33792baa53 Replaced an alignment hack with a proper fix in OptionListComponent.
Also fixed an issue where the number of selected OptionListComponent entries would not get displayed.
2021-10-08 22:50:37 +02:00
Leon Styhre 9c20498339 The OptionListComponent key repeat parameters are now configurable. 2021-10-08 21:11:38 +02:00
Leon Styhre ce593686a5 Added key repeat support to DateTimeEditComponent.
Also made some other improvements and cleaned up the code.
2021-10-08 19:38:14 +02:00
Leon Styhre a4d2b87ede Added support for key repeat to OptionListComponent. 2021-10-08 19:13:37 +02:00
Leon Styhre 766e04c0b8 Fixed an issue where the last TextListComponent row would sometimes be partially rendered.
Also fixed another related linespacing issue in TextListComponent.
2021-10-06 17:14:25 +02:00