Commit graph

947 commits

Author SHA1 Message Date
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 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 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 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 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 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 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 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 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 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 a2eedde8d3 Fixed a small rounding error in TextComponent. 2022-09-10 20:05:58 +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 807cf7b057 Fixed a rounding issue for the ImageComponent debug overlay. 2022-09-09 17:56:41 +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 406aecc6a9 Added two new properties tileHorizontalAlignment and tileVerticalAlignment to the image element. 2022-09-07 20:18:15 +02:00
Leon Styhre c537de51ef Some general code cleanup. 2022-09-07 19:59:27 +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 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 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 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 947ab458ae Fixed some Clang compiler warnings. 2022-09-03 16:39:59 +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 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 496b60fa7d Added support for clipping to the core GLSL shader. 2022-08-30 19:42:37 +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 5dae37f558 Added support for caching SVG images. 2022-08-23 22:24:24 +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 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 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 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 0ef6a22248 Removed the 'Enable menu scroll indicators' menu option. 2022-06-10 19:54:29 +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 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 e50be3376b Added an Xbox Kinect controller badge icon. 2022-05-12 23:31:11 +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 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 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 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 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 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 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 72ce3d33a8 Some code cleanup. 2022-04-09 16:32:47 +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 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 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 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 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 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 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
Leon Styhre f9b2dfe037 (Windows) Made LottieAnimComponent work with filenames containing Unicode characters. 2022-03-06 11:36:19 +01:00
Leon Styhre 60213003b1 (Windows) Fixed some incomprehensible compiler errors. 2022-03-05 22:12:50 +01:00
Leon Styhre 73643eb8d9 (Windows) Fixed a compiler error. 2022-03-05 21:36:40 +01:00
Leon Styhre ed540359c5 Updated GIFAnimComponent to a fully working state. 2022-03-05 20:56:47 +01:00
Leon Styhre f953e0d409 Fixed a Lottie animation issue where extra frames would play when alternating.
Also did some general code cleanup.
2022-03-05 20:40:13 +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 abb48e45e7 Added GIFAnimComponent skeleton. 2022-02-23 22:04:18 +01:00
Leon Styhre 32349dc9a6 Renamed LottieComponent to LottieAnimComponent. 2022-02-23 21:54:57 +01:00
Leon Styhre c7a4449e36 Fixed a use-after-free in GameSelectorComponent. 2022-02-20 19:31:19 +01:00
Leon Styhre a97e86a6aa Renamed the menu option to enable or disable audio playback for gamelist videos. 2022-02-20 16:07:27 +01:00
Leon Styhre 73e0e59b8c Fixed an issue where hidden videos would still play. 2022-02-20 15:04:05 +01:00
Leon Styhre c06dea5d2d Lottie animations are now paused during view transitions. 2022-02-19 22:44:02 +01:00
Leon Styhre f803e23fd2 Added theme support for disabling audio playback for each defined video. 2022-02-19 21:45:31 +01:00
Leon Styhre 77beb39801 Fixed an issue where videos would not get centered if pillarboxes were enabled. 2022-02-19 20:31:54 +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 0266a6e7e6 Fixed a video fade-in issue when using the GLES renderer. 2022-02-15 22:34:26 +01:00
Leon Styhre 5ac6bcb902 Added opacity support to the scanline shader. 2022-02-15 22:13:11 +01:00
Leon Styhre a9d1f6e307 Added support for setting the video fade-in time via the theme configuration. 2022-02-15 21:26:40 +01:00
Leon Styhre 4f019c3775 Added support for defining multiple imageType entries.
Also made some improvements to GameSelectorComponent and related logic.
2022-02-14 19:32:07 +01:00
Leon Styhre eb3729a5fb Fixed a few crashes related to GameSelectorComponent. 2022-02-13 23:15:43 +01:00
Leon Styhre 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