Commit graph

2108 commits

Author SHA1 Message Date
Leon Styhre 848d19a80b Added support for binding multiple texture units for use in the shaders 2023-09-07 21:02:38 +02:00
Leon Styhre 8c9ebc2dcd Renamed the textureSize shader uniform to texSize to avoid collision with the GLSL keyword
Also some additional minor renderer code cleanup
2023-08-31 17:11:32 +02:00
Leon Styhre e3e319f2af Fixed a regression where StringUtil::toCapitalized() stopped working 2023-08-21 17:01:43 +02:00
Leon Styhre 5ddad6d55e Fixed an issue where the rows in TextListComponent were not always sized correctly vertically 2023-08-21 17:00:15 +02:00
Leon Styhre de905babf0 Small change to two RatingComponent theme log warnings 2023-08-20 21:01:23 +02:00
Leon Styhre 7406f2ed78 Some small optimizations in ImageComponent and TextComponent 2023-08-20 20:37:04 +02:00
Leon Styhre 170d8e3791 Added rounded corner support to the image, video, animation, carousel and grid elements 2023-08-20 19:41:07 +02:00
Leon Styhre 912c8bb75a Changed the screensaver to never show the same game again until all games have been cycled through 2023-08-20 15:28:30 +02:00
Leon Styhre b669280412 Set scanline rendering as disabled by default for the slideshow screensaver 2023-08-20 13:22:20 +02:00
Leon Styhre c32bbc4888 Reduced the slideshow screensaver fade-in time
Also made some general code cleanup
2023-08-20 13:21:11 +02:00
Leon Styhre 9e277ed1ff Improved the blur shaders to run faster at higher resolutions and to look identical regardless of display resolution
Also improved the blur shaders rendering quality when rotating the screen 90 or 270 degrees
2023-08-18 20:22:08 +02:00
Leon Styhre fd1da398ac The %STARTDIR% variable could not be combined with running ES-DE in the background while launching games on Linux and macOS 2023-08-16 23:02:38 +02:00
Leon Styhre 93b745063f Increased the default value for the ScraperSearchFileHashMaxSize setting from 128 to 192 MiB 2023-08-16 19:09:57 +02:00
Leon Styhre 4918c16a98 Added key repeat support to MediaViewer and PDFViewer 2023-08-15 19:52:53 +02:00
Leon Styhre 481e2869ec Changed the concept of 'theme set' to simply 'theme' everywhere in the code 2023-08-14 22:40:32 +02:00
Leon Styhre 88373f06ee Changed two FileSystemUtil functions to use std::filesystem facilities 2023-08-14 19:03:37 +02:00
Leon Styhre 706dd767f1 Added a 'Systems sorting' option to the Other settings menu 2023-08-13 21:32:54 +02:00
Leon Styhre d7c03e52fb Fixed an issue where the background was too dark when opening a menu with the dark menu color scheme and the option to blur the background was disabled 2023-08-13 18:27:23 +02:00
Leon Styhre 2aa74878bb Changed the sort types 'filename, ascending' and 'filename, descending' to 'name, ascending' and 'name, descending' 2023-08-13 18:19:25 +02:00
Leon Styhre c15aa73de2 Added 'iterationCount' and 'onIterationsDone' properties to the video element 2023-08-13 14:48:00 +02:00
Leon Styhre 89d94bc1b0 Fixed an issue where the video player would not play the last couple of frames for any videos 2023-08-13 12:25:43 +02:00
Leon Styhre fd955d5a6e Changed the 'path' property for the video element to consider the value set even if it points to a non-existing file 2023-08-13 11:17:59 +02:00
Leon Styhre 28ca932b65 Added the device serial number to the es_log.txt entries when adding or removing controllers 2023-08-12 18:43:15 +02:00
Leon Styhre 7ab8b82bcc The media viewer now only stops info popups if there is actually any media to display 2023-08-11 19:38:38 +02:00
Leon Styhre de4bd7341f Changed a number of stream operations to open files in binary mode to always get proper Unix line breaks 2023-08-10 23:02:36 +02:00
Leon Styhre 4a390fb8e0 Added a 'containerScrollGap' property to the text element 2023-08-10 19:22:46 +02:00
Leon Styhre f463ee7d7b Added a number of properties to allow horizontally scrolling text entries with GridComponent 2023-08-10 19:20:44 +02:00
Leon Styhre 98482f45c9 Added a textHorizontalScrollGap property to CarouselComponent and TextListComponent 2023-08-09 20:02:21 +02:00
Leon Styhre 6ae8c87864 Added a number of properties to allow horizontally scrolling text entries with CarouselComponent
Also added support for rotating horizontal scrollable containers
2023-08-09 18:57:23 +02:00
Leon Styhre 950541b261 TextComponent now sets rotation to zero if it's attempted to be combined with a horizontal container 2023-08-08 21:02:33 +02:00
Leon Styhre c164f3bfdc Minor code cleanup 2023-08-08 20:00:21 +02:00
Leon Styhre 274a95b28e Fixed some Clang compiler warnings 2023-08-08 19:43:40 +02:00
Leon Styhre 7999f89c5b Added new textHorizontalScrolling, textHorizontalScrollSpeed and textHorizontalScrollDelay textlist properties
Also removed the horizontal text scrolling code and did some general refactoring
2023-08-08 19:35:20 +02:00
Leon Styhre c30d035e3f Removed all horizontal text scrolling code from ComponentList (TextComponent is now used instead for this)
Also some general code cleanup and refactoring
2023-08-08 19:18:16 +02:00
Leon Styhre 3591c0f1ba Changed TextComponent to convert newlines to spaces instad of nulls when using horizontally scrolling containers 2023-08-07 23:48:02 +02:00
Leon Styhre e7ada6111b Added a 'containerType' property to the text element to select between vertical and horizontal containers 2023-08-07 22:58:35 +02:00
Leon Styhre 23749f16eb Fixed an issue where some theme loading warning messages for the gamelistinfo element were not formatted correctly 2023-08-07 22:04:29 +02:00
Leon Styhre a4ba7de722 Added a 'stationary' property to all secondary elements to set them as stationary during slide transitions
Also changed the view mode enum to an enum class
2023-08-06 23:51:53 +02:00
Leon Styhre 40d27ff772 Added MD5 file hash searching support to the scraper when using ScreenScraper 2023-08-03 20:48:54 +02:00
Leon Styhre 590591d0fb Added a check to MathUtil::md5Hash() to not attempt to hash directories 2023-08-03 20:14:04 +02:00
Leon Styhre 57fffd88b2 Added support to MathUtil::md5Hash() for streaming files in chunks 2023-08-02 20:34:32 +02:00
Leon Styhre c22bdae16e Changed most try/catch statements in FileSystemUtil to actually output the std::filesystem error messages 2023-08-02 20:28:29 +02:00
Leon Styhre 05cfbb55bd Added try/catch statements to a couple of std::filesystem functions in FileSystemUtil 2023-08-02 19:32:46 +02:00
Leon Styhre 5705672957 Added a getFileSize() function to FileSystemUtil
Also modernized createEmptyFile() to use std::filesystem::path
2023-08-02 19:20:50 +02:00
Leon Styhre d67252eefc (Windows) Fixed an MSVC compiler warning 2023-08-01 17:49:08 +02:00
Leon Styhre f91a87251d Added a download percentage indicator to the application updater together with some other minor improvements
Also cleaned up HttpReq in general and added a progress meter callback
2023-08-01 17:36:15 +02:00
Leon Styhre 4f3d66c45b Added support for downloading the Windows and macOS packages via the application updater 2023-07-31 19:25:54 +02:00
Leon Styhre 3472c6f852 Added a FileSystemUtil function to return the system home directory 2023-07-31 17:49:58 +02:00
Leon Styhre 66555101bf Added a FileSystemUtil function to create an empty file 2023-07-31 17:40:06 +02:00
Leon Styhre 0267a9db00 Some video code cleanup 2023-07-30 20:12:23 +02:00
Leon Styhre d8409da174 (Windows) Converted forward slashes to backslashes for a ThemeData log message 2023-07-30 18:36:38 +02:00
Leon Styhre ed1e11418b Completely removed support for legacy EmulationStation theme sets 2023-07-30 18:17:27 +02:00
Leon Styhre 40f258f0f4 Improved font rendering for BusyComponent and GuiInfoPopup 2023-07-29 20:27:36 +02:00
Leon Styhre 8a42b01165 Reverted a rounding change in ComponentGrid as it caused unforeseen issues 2023-07-29 20:26:27 +02:00
Leon Styhre c0ec753dc7 Replaced a number of homecooked functions in FileSystemUtil with those from the C++ standard library 2023-07-29 19:14:07 +02:00
Leon Styhre e5758d047e Improved menu system font rendering on GPUs without proper texture filtering support 2023-07-29 18:41:43 +02:00
Leon Styhre f39d09d6b7 Added a rounding when sizing BusyComponent to improve its rendering at low resolutions 2023-07-29 16:33:07 +02:00
Leon Styhre 772f2dea90 (macOS) Changed the minimum required OS version from 10.14 'Mojave' to 10.15 'Catalina'
Also completely removed support for the legacy OS build
2023-07-29 16:08:40 +02:00
Leon Styhre 2d151921db Fixed an issue where the camera offset in ComponentList was not correctly calculated when reaching the bottom of a list 2023-07-29 11:27:12 +02:00
Leon Styhre 0d18239893 Changed ComponentList to fixed row heights 2023-07-29 11:25:13 +02:00
Leon Styhre 768539e8e7 (Windows) Fixed an issue where attempting to capitalize multi-byte Unicode strings crashed the application if built using the MSVC compiler 2023-07-28 21:46:24 +02:00
Leon Styhre 3b62dc6ee7 (Windows) Fixed an issue where wide string conversions were not done correctly 2023-07-28 21:44:03 +02:00
Leon Styhre 69e46d96a5 Added a parameter for whether to resize ButtonComponent when calling setText() 2023-07-27 13:06:07 +02:00
Leon Styhre f797ade74f Fixed an issue where the textlist properties selectedBackgroundColor and selectedSecondaryBackgroundColor were not offset by selectorVerticalOffset 2023-07-25 00:06:00 +02:00
Leon Styhre 849ed7499b Some minor code cleanup 2023-07-24 16:53:24 +02:00
Leon Styhre 07d390ccda Added theme support for the 'manual' metadata type for the text element 2023-07-20 17:33:49 +02:00
Leon Styhre be2b761356 Fixed an issue where SDL_StartTextInput() was sometimes set when not actually inputting any text 2023-07-20 16:03:59 +02:00
Leon Styhre bd591a74cb Added support for pasting text into the application when a text input field is focused 2023-07-20 16:01:24 +02:00
Leon Styhre cfd4290e3f Removed parts of the buggy controller drivers crash prevention as it caused unforeseen issues 2023-07-15 23:59:52 +02:00
Leon Styhre 5e64694e3c Added support for a lot more emoji characters by bundling the Google Noto Emoji font 2023-07-15 22:23:13 +02:00
Leon Styhre 954492b1f4 Some more changes to make the dark menu color scheme the default choice 2023-07-13 17:46:06 +02:00
Leon Styhre 8e24c7b1d4 The textlist navigation sound will now always start playing immediately when scrolling a single entry 2023-07-13 14:26:11 +02:00
Leon Styhre 8b67782340 Enabled textlist fast-scrolling for the system view 2023-07-13 13:42:29 +02:00
Leon Styhre c06f598d80 (macOS) Suppressed a compiler warning 2023-07-07 18:32:11 +02:00
Leon Styhre 1c7a18830e Removed the entry counter from the media viewer and added an option for whether to display the media types 2023-07-05 23:19:57 +02:00
Leon Styhre 9af8031c0c Changed the order of some GuiComponent functions 2023-07-04 22:20:32 +02:00
Leon Styhre 728b4c7768 Popup notifications are now stopped when starting the media viewer 2023-07-04 18:09:10 +02:00
Leon Styhre 8a6611a6f5 Added a popup notification if PDF manual rendering failed
Also removed two unnecessary navigation scroll sounds on PDF rendering failure
2023-07-04 18:07:28 +02:00
Leon Styhre b60f86ae04 Added zoom support to the PDF viewer
Also increased page rasterization resolution when running at lower screen resolutions
2023-07-04 17:47:00 +02:00
Leon Styhre 47c321e434 Enabled linear interpolation support for ImageComponent::setRawImage() 2023-07-04 17:41:41 +02:00
Leon Styhre 19c8d5bb38 (Linux) The esBinary variable is now set correctly when running as an AppImage 2023-07-03 17:41:22 +02:00
Leon Styhre 15e5a8b305 Added a function to FileSystemUtil to return the ES-DE binary path
Also fixed an issue where the fallback to argv[0] in FileSystemUtil::setExePath() was not working correctly
2023-07-02 23:16:39 +02:00
Leon Styhre 923b6b2ed1 Changed the order of some NinePatchComponent functions 2023-07-02 11:58:59 +02:00
Leon Styhre 569bf22690 Set the menu color scheme to 'dark' by default 2023-07-01 22:05:30 +02:00
Leon Styhre 30ca0497aa Added options to the video and slideshow screensavers to only include favorite games 2023-07-01 15:57:29 +02:00
Leon Styhre 923240aac0 Added options to the miximage generator for how to fit screenshots that do not match the aspect ratio of the miximage frame 2023-07-01 11:15:43 +02:00
Leon Styhre d94249d67e Fixed an issue where the rating component was sometimes color shifted incorrectly 2023-06-29 21:04:44 +02:00
Leon Styhre 03bfac0a9b Added a game manual badge 2023-06-29 20:43:32 +02:00
Leon Styhre 1dca0673c5 (Windows) Fixed an issue where the log output time stamp was missing in es_log.txt when built using MinGW 2023-06-28 22:21:42 +02:00
Leon Styhre 87abe71316 Set scraping of game manuals as enabled by default 2023-06-28 20:42:51 +02:00
Leon Styhre 610da5d771 Added help prompts to the media viewer and PDF viewer
Also added trigger button support to the media viewer and fixed rendering of some PDF files with unusual orientations
2023-06-28 20:32:49 +02:00
Leon Styhre 974ae11461 (Windows) Added a check for whether OpenGL 3.3 is supported by the GPU driver 2023-06-26 22:43:52 +02:00
Leon Styhre 8ad3bd2afd Prevented the up and down buttons to quit the media viewer and PDF viewer 2023-06-25 13:36:57 +02:00
Leon Styhre a964d89b80 Added up and down button navigation to switch between the media viewer and the PDF viewer 2023-06-25 13:30:49 +02:00
Leon Styhre f9780e58d8 Improved PDF viewer integration
Also fixed a crash on shutdown caused by the PDF viewer
2023-06-22 22:15:59 +02:00
Leon Styhre 6bf8c5af46 Added Windows support for the PDF viewer 2023-06-22 21:15:35 +02:00
Leon Styhre 2fa71dfd0b Removed the PoDoFo dependency and replaced its functionality with the Poppler library 2023-06-22 11:34:03 +02:00
Leon Styhre 3d5a8aa08f Fixed an issue where TextureResource::initFromPixels() was not setting the source size correctly 2023-06-21 23:06:55 +02:00
Leon Styhre bd2c229476 Added a PDF viewer
Also added the PoDoFo and Poppler libraries as dependencies
2023-06-21 23:02:19 +02:00
Leon Styhre 177dd23b7c Added a setRawImage function to ImageComponent to load raw pixel data into textures 2023-06-21 22:52:25 +02:00
Leon Styhre e7e3db7f6d Minor change to a error log output in PlatformUtil 2023-06-21 22:44:29 +02:00
Leon Styhre 075ad393d0 Moved a #define in VideoFFmpegComponent 2023-06-21 20:35:19 +02:00
Leon Styhre d83374b38f Added an option to scrape game manuals using ScreenScraper
Also changed the scraper auto-retry functionality to not run on non-recoverable errors or duing manual scraping
2023-05-08 17:14:52 +02:00
Leon Styhre 7077a5c3ae Adjusted some colors for the dark menu color scheme 2023-05-07 23:25:52 +02:00
Leon Styhre b6d17810be Added support for changing between light and dark color schemes for the menu system 2023-05-07 22:56:24 +02:00
Leon Styhre feae03375e Improved resilience to buggy controller drivers which would sometimes crash the application 2023-05-06 10:40:36 +02:00
Leon Styhre 8bc31e2fd8 Removed a lot of unnecessary NinePatchComponent::fitTo() function arguments 2023-04-30 16:49:51 +02:00
Leon Styhre 9a9ef0e97b Changed the default OpenGL version from 4.6 to 3.3 when building for RetroDECK 2023-04-28 21:00:03 +02:00
Leon Styhre 471d0ac63a Re-enabled support for using the default property without any imageType property for the image element 2023-04-21 18:28:47 +02:00
Leon Styhre ac272bc944 Fixed an image positioning issue in GridComponent when using the scaleInwards property 2023-04-13 22:43:31 +02:00
Leon Styhre 88df22cb61 Added a scaleInwards property to the grid element to contain scaling within the element boundaries 2023-04-12 23:06:13 +02:00
Leon Styhre 6cfa888b4d Fixed an issue where using the cropSize property could lead to a crash under very rare circumstances 2023-04-12 22:29:11 +02:00
Leon Styhre 499fecf100 Removed a small optimization that caused some issues under rare circumstances 2023-04-10 20:28:29 +02:00
Leon Styhre 0f0f24887e (Windows) Fixed a compile error 2023-04-10 20:21:38 +02:00
Leon Styhre 1697508393 Added a new gameOverridePath property to the image element to enable per-game static image overrides
Also fixed an issue where the default image element property could be used even if no imageType entries were defined
2023-04-10 20:16:19 +02:00
Leon Styhre dfe7469101 Added six new theme properties for sizing and placement of the helpsystem when a menu is open 2023-04-09 12:47:44 +02:00
Leon Styhre 0f3db2fbf1 Fixed a line wrapping issue for text with blank lines that was not displayed in a scrollable container 2023-04-08 15:35:56 +02:00
Leon Styhre 814029bb66 (Windows) Converted forward slashes to backslashes for a log message. 2023-04-06 11:50:18 +02:00
Leon Styhre 2209c384aa Added a UserThemeDirectory setting for relocating the user theme directory 2023-04-06 11:40:32 +02:00
Leon Styhre b30f8a48d3 Fixed an issue where FileSystemUtil::renameFile() did sometimes not provide a return value for if it actually succeeded or not 2023-04-02 21:01:28 +02:00
Leon Styhre 1953d42f92 Theme sets are now repopulated when there were new downloads or updates using GuiThemeDownloader 2023-03-31 22:12:31 +02:00
Leon Styhre 8ab9bacc9d Added proper helpsystem handling to ComponentGrid for some previously unhandled horizontal grid layouts 2023-03-31 20:33:38 +02:00
Leon Styhre 8545c619ed Fixed an issue where the scissor box size in ScrollableContainer was sometimes not calculated correctly 2023-03-26 19:29:35 +02:00
Leon Styhre 0939e5f05b Added support for changing the BusyComponent text dynamically 2023-03-21 18:35:43 +01:00
Leon Styhre 6347ec9a3d Any theme directories with names ending with disabled (regardless of case) are now ignored 2023-03-21 17:22:17 +01:00
Leon Styhre 608d8a3c09 Fixed several container overflows in GuiTextEditKeyboardPopup that could lead to rare crashes when running on an ARM processor 2023-03-12 12:13:49 +01:00
Leon Styhre 7b58d3256a Added a format exception to get around a clang-format bug. 2023-03-09 21:11:08 +01:00
Lubosz Sarnecki aae8eee6d0 VideoFFmpegComponent: Fix build with FFMpeg 6.0.
Version 58 of libav removes the deprecated enums AV_CODEC_CAP_TRUNCATED
and AV_CODEC_FLAG_TRUNCATED, just don't use these. They are "redunant
with parsers".
See https://github.com/FFmpeg/FFmpeg/commit/dd846bc4a91

The struct member `pkt_duration` was also deprecatred in favor of
`duration`.
See https://github.com/FFmpeg/FFmpeg/commit/4397f9a5a0

Remove LIBAVUTIL_VERSION_MINOR requirement in branches for FFmpeg 5.1+,
as they also apply for 6.0.
2023-03-09 11:26:01 +01:00
Leon Styhre eb9cc282a8 Fixed an incorrect cropSize calculation which sometimes triggered an assertion. 2023-03-08 19:47:30 +01:00
Leon Styhre 03a44249af Expanded the random system or game button from an on/off entry to a selection of games only, games and systems or disabled. 2023-03-06 19:27:59 +01:00
Leon Styhre f99552a458 Fixed an issue where cursor callbacks were not always executed in CarouselComponent.
Also added an immediate return from onDemandTextureLoad() in the carousel and grid components if there are no entries.
2023-03-05 17:51:16 +01:00
Leon Styhre e96cbc52f9 Carousel fastScrolling is now disabled if there are less than three entries. 2023-03-05 17:37:24 +01:00
Leon Styhre deaa4e13b3 Fixed an issues where textlist entries would sometimes scroll horizontally even though they fit inside the element width. 2023-03-04 21:57:33 +01:00
Leon Styhre 309e635be4 Added an iterationCount property to GIFAnimComponent and LottieAnimComponent. 2023-03-04 20:36:49 +01:00
Leon Styhre b034fe61fe Fixed an issue where unfocusedItemSaturation couldn't be combined with imageSaturation for the carousel and grid elements. 2023-03-04 12:42:50 +01:00
Leon Styhre 088cf3fd34 Added color shift support to GIFAnimComponent and LottieAnimComponent. 2023-03-04 10:28:43 +01:00
Leon Styhre 0c9259e09b Added grid theme support for setting the saturation and dimming for unfocused items. 2023-03-03 23:51:42 +01:00
Leon Styhre 0c6c5ab986 Added carousel theme support for setting the saturation and dimming for unfocused items. 2023-03-03 22:41:53 +01:00
Leon Styhre d9f38dab3e Added support for changing the saturation for font textures. 2023-03-03 22:37:39 +01:00
Leon Styhre 0aae28c7a4 Fixed an issue where image cropping didn't always work correctly. 2023-03-02 18:14:01 +01:00
Leon Styhre ed4290978f Moved a property in ThemeData. 2023-03-01 21:19:20 +01:00
Leon Styhre 95ef3b0555 Added a new cropSize property to the video element. 2023-03-01 20:55:22 +01:00
Leon Styhre b9a2a146b7 Added a new cropSize property to the image element. 2023-03-01 20:13:07 +01:00
Leon Styhre fa7b317982 Added a new imageFit property to the carousel. 2023-03-01 20:10:03 +01:00
Leon Styhre 7ca5e56b46 Fixed multiple issues with the horizontal wheel carousel. 2023-02-26 00:28:28 +01:00
Leon Styhre b8c3303f80 Fixed an issue where scrollable container properties had no effect unless the container property was explicitly set to true. 2023-02-25 14:40:55 +01:00
Leon Styhre 8408428f61 Fixed an issue where defining a carousel or grid defaultImage property only for the gamelist view would lead to very long startup times. 2023-02-25 13:58:02 +01:00
Leon Styhre 5ba73ebf1f Added two new flipHorizontal and flipVertical properties to image element. 2023-02-23 17:10:55 +01:00
Leon Styhre 28719da52e Fixed an issue where the textlist scrolling overlay would sometimes not disappear. 2023-02-23 17:09:27 +01:00
Leon Styhre fbd804460c Added a new fastScrolling property to the carousel. 2023-02-23 17:08:21 +01:00
Leon Styhre 4159fc8b9a Changed the default number of scraper retries on error from 5 to 3. 2023-02-21 18:44:31 +01:00
Leon Styhre a6b95fdea4 Fixed multiple issues with the postprocessing shaders. 2023-02-21 18:41:35 +01:00
Leon Styhre b335901ee6 Disabled non-blurred backgrounds when rotating screen 90 or 270 degrees. 2023-02-21 18:39:56 +01:00
Leon Styhre b980a2f742 Made the callback function in OptionListComponent more generic. 2023-02-20 17:52:51 +01:00
Leon Styhre 786d8bd57c Fixed an issue where aborting input configuration when using the --force-input-config command line option would crash the application. 2023-02-19 14:32:22 +01:00
Leon Styhre ace7dde017 Added an emulator metadata property value for the text element. 2023-02-19 11:50:47 +01:00
Leon Styhre ccb9380559 Added a comment to the Log file headers that the class is thread safe. 2023-02-18 20:32:36 +01:00
Leon Styhre 270351b033 Added an application updater that checks for new releases on startup. 2023-02-18 12:42:19 +01:00
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