Leon Styhre
c7a4449e36
Fixed a use-after-free in GameSelectorComponent.
2022-02-20 19:31:19 +01:00
Leon Styhre
5f4a26c38c
Set fan art scraping as enabled by default.
2022-02-20 17:49:57 +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
e92af0548c
Added DateTimeComponent support to SystemView.
2022-02-20 15:49:32 +01:00
Leon Styhre
73e0e59b8c
Fixed an issue where hidden videos would still play.
2022-02-20 15:04:05 +01:00
Leon Styhre
3795edb1b9
Removed the broken rotation support for video elements.
2022-02-20 15:03:31 +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
29514d4db9
Added video support to SystemView.
2022-02-19 21:22:46 +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
4b0d3a4ecb
Clamped the themeable origin values to 0.0 to 1.0
2022-02-19 20:24:25 +01:00
Leon Styhre
374a66dd76
Removed the 'Play videos immediately' setting.
2022-02-19 17:16:38 +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
ee1a0f7cd3
Added support for using the tilde symbol for ROM path tags in es_systems.xml
2022-02-16 19:32:02 +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
9f04d7aad8
Fixed an issue where marquee images would not show for legacy themes.
2022-02-13 11:23:41 +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
69c1a1259d
Added opacity support to the BGRA to RGBA shader.
2022-02-12 17:40:25 +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
35970dd95d
(Windows) Fixed a few MSVC compiler warnings.
2022-02-11 23:45:25 +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
8fd05bb2a2
Fixed a flickering text issue in GuiDetectDevice.
2022-02-11 21:36:22 +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
9a24423c82
Fixed an issue where transition animations could stop working after switching theme sets.
2022-02-11 18:40:39 +01:00
Leon Styhre
85cb10d71a
Changed some string::compare functions to == operators.
...
Also removed an unused theme property.
2022-02-11 18:39:16 +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
e6d6f3252f
Improved the StringUtil::toCapitalized function.
2022-02-10 21:56:02 +01:00
Leon Styhre
28a3beb9ce
ScrollableContainer parameters are now themeable.
2022-02-10 20:02:56 +01:00
Leon Styhre
70eb937f85
Fixed a potential crash for legacy themes with broken configuration.
2022-02-09 23:12:12 +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
9856a3da1b
ThemeData now only prints debug messages for missing files set using variables.
2022-02-09 18:45:03 +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
bc8c23d642
Enabled the video player audio by default.
2022-02-01 20:54:36 +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
061974eddf
Added UI labels to the theme aspect ratios.
2022-01-31 23:22:42 +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
285d2a7bcc
Removed an unnecessary color opacity variable from GuiComponent.
2022-01-31 22:36:08 +01:00
Leon Styhre
d140804dad
Adjusted a few log warning messages in ThemeData.
2022-01-30 21:35:39 +01:00
Leon Styhre
1dd5e52760
Updated ThemeData to more strictly enforce the new theme engine format.
2022-01-30 21:13:49 +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
0ca2b62edf
Some minor code cleanup.
2022-01-29 18:16:30 +01:00
Leon Styhre
336ff3ea7c
Added an extra assert macro to GuiComponent.
2022-01-29 18:12:30 +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
dc20a9e21b
Cleaned up ThemeData a bit.
2022-01-23 20:03:50 +01:00
Leon Styhre
644f79ebec
Improved the theme loading error logging.
...
Also cleaned up the code a bit.
2022-01-23 17:50:51 +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
6229592c74
Added two new 'metadata' and 'scrollHide' elements to ThemeData.
2022-01-22 21:21:13 +01:00
Leon Styhre
d04a49957c
Added a metadata field to GuiComponent.
...
Also did some general code cleanup of GuiComponent.
2022-01-22 21:17:28 +01:00
Leon Styhre
2aabe2eef3
Reduced CPU usage significantly when a menu is open.
2022-01-19 19:31:27 +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
5f2f439fc3
Moved the fan art scrape menu option to the bottom and set it as disabled by default.
2022-01-16 10:43:12 +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
92f5284bf3
Added support for scraping fan art images.
...
Also added scraping of box back covers when using TheGamesDB.
2022-01-15 13:16:23 +01:00
Leon Styhre
dde456cbc8
Removed the unnecessary Renderer::getWindowFlags() function.
2022-01-14 18:23:51 +01:00
Leon Styhre
73beeeaeaf
Fixed two Emscripten compiler warnings.
2022-01-13 20:07:04 +01:00
Leon Styhre
8596aca68c
Added an OpenGL ES 2.0 renderer.
2022-01-13 19:39:49 +01:00
Leon Styhre
90fa63f91c
Removed support for supplying a separate format than internalFormat when creating OpenGL textures.
2022-01-12 22:25:41 +01:00
Leon Styhre
d85c966e49
Added logging of the display refresh rate on startup.
2022-01-12 21:26:43 +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
b4e08ba92b
Renamed Platform to utils/PlatformUtil
2022-01-10 18:56:04 +01:00
Leon Styhre
2d149c5161
Moved all Platform functions to the utility namespace.
2022-01-10 18:43:17 +01:00
Leon Styhre
5a085c585e
Fixed a frame caching issue in LottieComponent.
2022-01-10 17:42:01 +01:00
Leon Styhre
c3dbdd431c
Fixed some potential segfaults on emergency shutdown.
2022-01-10 17:41:08 +01:00
Leon Styhre
f80658696c
Removed some unnecessary time measurement constants.
2022-01-09 23:50:08 +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
f66bb91496
Decreased the background caching invalidation delay from 50 to 25 ms.
2022-01-09 19:48:29 +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
e730d24da0
Added a small delay to the cached background invalidation to give components some time to render.
2022-01-09 17:56:17 +01:00
Leon Styhre
a1abaa7112
Increased the default per-file maximum Lottie cache size from 100 to 150 MiB.
2022-01-09 13:45:44 +01:00
Leon Styhre
b16ea29088
Added theme support and proper application integration for LottieComponent.
2022-01-09 13:43:42 +01:00
Leon Styhre
d45c690586
Some CMake configuration changes for building with rlottie.
2022-01-08 16:23:23 +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
0c552dd8fb
Added a GLSL shader to convert the color model BGRA to RGBA.
...
Also added support for specifying a separate format as compared to internalFormat when creating textures, although the shader should be used primarily as this is not really supported by the OpenGL standard.
2022-01-07 18:54:52 +01:00
Leon Styhre
0021bee104
(Windows) Fixed two compiler warnings.
2022-01-07 00:30:31 +01:00
Leon Styhre
19147eee66
(Windows) CMake configuration changes to make rlottie build correctly.
2022-01-07 00:29:31 +01:00
Leon Styhre
998830181f
Added CMake configuration for the Lottie animation support.
2022-01-06 23:19:37 +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
87ace0b8cb
Changed some shared_ptr return values to use values instead of references.
2022-01-04 22:36:15 +01:00
Leon Styhre
0cbcb7a516
Changed Settings::getInstance() from returning a smart_ptr to returning a regular pointer.
2022-01-04 21:54:55 +01:00
Leon Styhre
5d79c3d77e
Fixed a compile error when building with the bundled TLS/SSL certificates.
2022-01-04 21:38:46 +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
f36245886f
Set the 'Scrape actual folders' option as enabled by default.
...
Also moved it higher up in the scraper options menu.
2022-01-03 18:20:49 +01:00
Leon Styhre
6431804ee7
Removed the deprecated VideoVlcComponent.
2022-01-02 13:13:01 +01:00
Leon Styhre
fa993a0489
Fixed a texture corruption issue caused by too aggressive optimizations.
2021-12-27 21:24:34 +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
c63e5e4529
Fixed an additional issue in the ROM selection dialog.
2021-12-27 19:26:42 +01:00
Leon Styhre
7f314d0108
Fixed a few cosmetic issues in the ROM selection dialog.
2021-12-27 19:00:22 +01:00
Leon Styhre
246e9ae8be
Fixed a cosmetic issue with the ROM directory setup dialog caused by an optimization.
2021-12-26 17:07:57 +01:00
Leon Styhre
2d8d1e6831
(macOS) Reduced the CPU usage significantly while running in the background.
2021-12-14 18:17:46 +01:00
Leon Styhre
08bba3cbaf
(macOS) Removed the Monterey VSync workaround as Apple has patched its OS.
2021-12-14 17:15:04 +01:00
Leon Styhre
ab92a4135a
Fixed an issue where using fallback fonts at very low resolutions could lead to a crash.
2021-12-14 17:12:39 +01:00
Leon Styhre
5fd2c86c7d
Fixed an issue where corrupt Unicode strings could crash the application.
2021-12-14 17:08:37 +01:00
Leon Styhre
55316365d8
Fixed an issue where buggy controller drivers could crash the application.
2021-12-10 16:51:41 +01:00
Leon Styhre
045e56ae3f
(Windows) Changed the fullscreen mode to SDL_WINDOW_BORDERLESS.
...
Also removed the 'AMD and Intel GPU game launch workaround' menu option.
2021-12-09 18:53:22 +01:00
Leon Styhre
0978c697a2
(macOS) Updated a code comment as the issue described was resolved with SDL 2.0.18
2021-12-08 21:19:24 +01:00
Leon Styhre
5019d8c065
Moved the ScreenScraper account toggle to the bottom of the scraper account screen.
2021-12-06 20:21:32 +01:00
Leon Styhre
4227a609a2
Made the window corners slightly more rounded.
2021-12-06 18:58:51 +01:00
Leon Styhre
7e8d1f6434
(Windows) Improved game launching with the AMD and Intel GPU workaround setting enabled.
2021-12-06 18:51:50 +01:00
Leon Styhre
515577c8f9
(Unix) Changed the fullscreen mode to SDL_WINDOW_FULLSCREEN_DESKTOP.
...
Also removed the --windowed, --fullscreen-normal and --fullscreen-borderless command line options and menu entry.
2021-12-05 13:51:39 +01:00
Leon Styhre
6e24c8d77b
Increased the amount of custom event arguments from two to four.
2021-12-05 11:25:11 +01:00
Leon Styhre
f5ff480fc4
Fixed a GCC compiler warning.
2021-12-02 17:40:45 +01:00
Leon Styhre
0fdd169835
Fixed a compile error on BSD Unix.
2021-12-01 19:10:17 +01:00
Leon Styhre
3516ee7a26
(macOS) Set the Monterey VSync workaround setting as enabled by default.
2021-12-01 18:05:43 +01:00
Leon Styhre
a2253113f7
(macOS) Some fixes to make the legacy build work again.
2021-12-01 17:57:23 +01:00
Leon Styhre
8373d59e29
(macOS) All dependencies are now built in-tree.
2021-11-30 22:14:18 +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
5482950689
Updated a code comment regarding the use of bundled TLS certificates.
2021-11-25 18:56:30 +01:00
Leon Styhre
360be460a2
Added a CMake option to use the bundled TLS certificates with cURL.
2021-11-25 17:34:34 +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
0314b2d439
Fixed a performance regression caused by excessive mutex locks.
2021-11-18 17:20:59 +01:00
Leon Styhre
e91e23a053
Small code simplification in Settings.
2021-11-18 17:19:30 +01:00