Commit graph

1880 commits

Author SHA1 Message Date
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