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
Leon Styhre
0a2a6d1907
Added a rowTransitions property to GridComponent.
2022-12-03 14:12:14 +01:00
Leon Styhre
3ec8ec14ca
Fixed multiple navigation issues in GridComponent.
2022-12-03 14:01:17 +01:00
Leon Styhre
1631cbd30f
Added automatic layout and dynamic rendering to GridComponent.
...
Also fixed multiple navigation issues.
2022-12-02 18:08:48 +01:00
Leon Styhre
dfcf041efc
Fixed a GridComponent slide transition issue when used in the system view.
...
Also fixed a general navigation issue.
2022-11-25 22:35:35 +01:00
Leon Styhre
0cd814a4d1
Added on-demand texture loading to GridComponent.
2022-11-25 22:07:36 +01:00
Leon Styhre
99df997833
Added scrolling support to GridComponent.
...
Also changed the names of two properties.
2022-11-25 18:59:08 +01:00
Leon Styhre
be903c0a86
Changed a value for the itemTransitions property for the carousel and grid components.
...
Also changed the position of a grid property and set the minimum columns value to 1.
2022-11-13 23:04:48 +01:00
Leon Styhre
9013faf445
Added proper item spacing, item offsets and element boundary clipping to GridComponent.
2022-11-13 22:31:41 +01:00
Leon Styhre
75ebd839b9
Placed the primary elements first in the ThemeData element map.
2022-11-13 19:59:26 +01:00
Leon Styhre
5ec0fda3a2
Implemented correct item rendering order in GridComponent.
2022-11-13 19:32:29 +01:00
Leon Styhre
8062ebaf3a
GridComponent now sets its default position and size if this is not defined by the theme configuration.
2022-11-13 12:25:46 +01:00
Leon Styhre
ed6b23a2c6
Fixed an issue where the default textlist size and position properties were not set for the system view.
...
Also moved some default value assignments to the TextListComponent itself.
2022-11-13 11:56:18 +01:00
Leon Styhre
48111ce5e4
Added basic GridComponent functionality and integration.
2022-11-12 14:08:53 +01:00
Leon Styhre
12f2142c03
Improved the animation interpolation in CarouselComponent and TextListComponent.
...
Also eliminated an unnecessary cursor stop function call.
2022-11-11 18:16:51 +01:00
Leon Styhre
74ac8393e3
Small refactoring of AnimationController.
2022-11-11 18:11:31 +01:00
Leon Styhre
3fd18ec2ee
Changed a function name in FlexboxComponent.
2022-11-11 18:05:59 +01:00
Leon Styhre
319992a0f7
Changed the include guard names for the primary components.
2022-11-08 21:44:42 +01:00
Leon Styhre
b4338a3fb7
Refactored some image resizing functions.
2022-11-07 23:58:22 +01:00
Leon Styhre
c73ff02012
Updated the file header comments for CarouselComponent and TextListComponent.
2022-11-06 21:35:36 +01:00
Leon Styhre
4e54508e45
Added a GridComponent skeleton.
2022-11-06 21:34:03 +01:00
Leon Styhre
5bedb7a8fa
Small refactoring of CarouselComponent and TextListComponent.
2022-11-06 21:28:15 +01:00
Leon Styhre
645b41afa4
Fixed multiple issues with text rendering for legacy themes.
2022-11-06 00:02:48 +01:00
Leon Styhre
10d0a89a47
Disabled carousel item mipmapping for legacy themes.
2022-11-05 20:42:54 +01:00
Leon Styhre
486942c792
The cache manager now differentiates between mipmapped and non-mipmapped images.
2022-11-05 20:41:17 +01:00
Leon Styhre
ad0cfdba8b
Tidied up an if statement in GameSelectorComponent.
2022-11-05 15:50:03 +01:00
Leon Styhre
4894ead7e7
Fixed an issue where the gameselector element configuration could lead to a crash.
2022-11-05 13:39:41 +01:00
Leon Styhre
8b5bb18357
Fixed a small font rendering issue in BusyComponent on some devices at low resolutions.
2022-11-04 13:32:10 +01:00
Leon Styhre
502fb69b87
Removed some code comments.
2022-11-04 12:55:00 +01:00
Leon Styhre
b4d2babf01
Added a selectedSecondaryColor property to TextListComponent.
2022-11-03 23:24:11 +01:00
Leon Styhre
b91daa113d
Fixed an uninitialized variable in ThemeData.
2022-11-03 23:19:25 +01:00
Leon Styhre
6b90326574
Removed a lot of pointless setter functions from TextListComponent.
2022-11-03 21:20:35 +01:00
Leon Styhre
246fd307b6
Changed a number of theme properties to be read by reference instead of via copy.
2022-11-03 16:03:21 +01:00
Leon Styhre
cfd2f7e4e5
Removed the unnecessary applyTheme function from NinePatchComponent.
2022-11-03 15:44:52 +01:00
Leon Styhre
b43c8cdd55
Improved some theme warning messages in TextListComponent.
...
Also changed some theme values to be read by reference instead of by copy in CarouselComponent.
2022-11-03 15:36:43 +01:00
Leon Styhre
412a19275d
Added two letterCaseCollections and letterCaseGroupedCollections properties to TextListComponent and CarouselComponent.
...
Also refactored the letterCase logic overall in these two components.
2022-11-03 12:31:42 +01:00
Leon Styhre
b426473ec0
The text cache is now always reset on text changes.
2022-11-03 12:09:19 +01:00
Leon Styhre
3ead13ad29
Added missing file error checking to BadgeComponent for custom badges and controller images.
2022-11-02 21:18:17 +01:00
Leon Styhre
71b8eba9ce
Fixed an issue where the helpsystem would be incorrectly positioned when right-aligned.
2022-11-02 21:15:24 +01:00
Leon Styhre
7c02db291e
Fixed a minor log formatting issue in ThemeData.
2022-11-01 23:11:06 +01:00
Leon Styhre
9584c1bcc7
Added support for placing aspectRatio tags inside variant tags and variables and colorScheme tags inside aspectRatio tags.
2022-11-01 17:13:37 +01:00
Leon Styhre
98d9ce42d2
Added support for automatic theme aspect ratio detection.
2022-11-01 17:08:51 +01:00
Leon Styhre
0d7468e9b4
Moved the color scheme parsing even earlier to prevent potential issues.
2022-10-31 21:50:54 +01:00
Leon Styhre
f1bd530963
Fixed an issue where the color scheme configuration was parsed after the variant configuration.
2022-10-31 21:02:53 +01:00
Leon Styhre
4e84707e3a
Changed the order of two theme properties to improve consistency.
2022-10-31 20:12:42 +01:00
Leon Styhre
8df54bd80e
Added support for color schemes.
2022-10-31 19:32:13 +01:00
Leon Styhre
bebb345936
Replaced the checkerboard pattern for the default blank texture with a truly blank texture.
2022-10-30 09:16:14 +01:00
Leon Styhre
b17c78bc42
Increased the default VRAM limit from 256 to 512 MiB and increased the maximum limit from 1024 to 2048 MiB.
...
Also increased the default VRAM limit for the Raspberry Pi from 184 to 192 MiB.
2022-10-30 09:11:59 +01:00
Leon Styhre
941835977f
Fixed a carousel item sizing issue when logoScale was set to lower than 1.0 for legacy theme sets.
2022-10-29 15:24:46 +02:00
Leon Styhre
c870664615
Missing theme files defined using variables now only trigger debug messages instead of errors or warnings.
...
Also added two DebugSkipMissingThemeFiles and DebugSkipMissingThemeFilesCustomCollections settings.
2022-10-29 13:04:00 +02:00
Leon Styhre
03a9dc8e05
Improved some theme warning messages in BadgeComponent.
2022-10-29 12:54:52 +02:00
Leon Styhre
126d93709e
Updated the CImg functions and miximage generator for BGRA instead of RGBA pixel format.
2022-10-28 21:39:57 +02:00
Leon Styhre
e1d911f401
Fixed an issue where text caches would not get cleared if the text was set to a blank value.
2022-10-28 21:31:40 +02:00
Leon Styhre
27936131f3
Added a special 'all' shortcut variant.
2022-10-28 21:08:44 +02:00
Leon Styhre
b1a2b3f5ca
Added support for overriding variables and to define them inside the variants tags.
2022-10-28 21:06:01 +02:00
Leon Styhre
7e2818c854
Fixed an issue where the wrong system name would show up on the carousel if the theme configuration was invalid.
2022-10-28 21:00:49 +02:00
Leon Styhre
3c82bb4dfb
Changed the renderer pixel format from RGBA to BGRA.
...
Also implemented premultiplied alpha for all images, animations and videos and improved the carousel reflection falloff logic.
2022-10-28 00:08:41 +02:00
Leon Styhre
c96696fb96
OCD commit.
2022-10-27 19:11:23 +02:00
Leon Styhre
e36041669d
Fixed an issue where DateTimeEditComponent would not center vertically.
2022-10-27 19:09:45 +02:00
Leon Styhre
e4f4f29198
Merged the master branch into new-svg-renderer.
2022-10-26 19:52:01 +02:00
Leon Styhre
2fd5580e13
Fixed a small font offset problem mostly seen at really low resolutions.
2022-10-26 18:42:42 +02:00
Leon Styhre
cbea006a70
Removed support for setting logoScale to lower than 1.0 for legacy themes as it introduced backward compatibility issues.
2022-10-25 22:58:03 +02:00
Leon Styhre
3252f8fa1b
Reintroduced a transformation rounding in GuiComponent as some GPU drivers went crazy without it.
2022-10-25 21:11:16 +02:00
Leon Styhre
7c1a48ec5c
Removed two unnecessary roundings from OptionListComponent.
2022-10-25 20:49:22 +02:00
Leon Styhre
c50b6b35f4
Removed some unnecessary roundings.
2022-10-25 20:39:12 +02:00
Leon Styhre
18bbd97433
Fixed an issue where the textlist selector would not get sized correctly.
2022-10-25 20:34:58 +02:00
Leon Styhre
a8d1c4a2e1
Fixed an issue in CarouselComponent where setting itemScale to less than 1.0 did not work as expected.
...
Also fixed a problem where carousel text entries did not get multiplied by itemScale.
2022-10-25 20:33:12 +02:00
Leon Styhre
4513b20339
Some minor font sizing improvements.
...
Also fixed a few implicit casts.
2022-10-25 01:20:31 +02:00
Leon Styhre
97a9347d67
Improved font sizing for the launch screen, scraper and help system.
2022-10-25 01:06:02 +02:00
Leon Styhre
3de8275db6
Fixed multiple minor pixel alignment issues.
2022-10-25 00:43:27 +02:00
Leon Styhre
84f019680d
Greatly improved text sizing and rendering.
2022-10-25 00:39:40 +02:00
Leon Styhre
103e59b54d
Fixed an issue where mutually exclusive system variables could lead to theme loading errors.
2022-10-17 22:21:52 +02:00
Leon Styhre
45fa3d2c37
Added a pillarboxThreshold property to control these values for the video element.
2022-10-16 16:40:52 +02:00
Leon Styhre
0f327582c1
Fixed an issue where ScrollableContainer would reset too early.
2022-10-16 15:00:38 +02:00
Leon Styhre
6599c12554
Fixed an issue where ScrollableContainer would sometimes fade in text that had not been scrolled.
2022-10-16 13:51:22 +02:00
Leon Styhre
16c4fb6d17
Fixed some alignment issues in CarouselComponent.
2022-10-14 18:14:15 +02:00
Leon Styhre
5f6bd48022
One more try to fix a rounding issue in TextComponent.
2022-10-14 18:12:23 +02:00
Leon Styhre
7f5ed1c41d
Fixed a minor graphical glitch in CarouselComponent.
2022-10-11 21:31:05 +02:00
Leon Styhre
8bbaec229f
Fixed a rounding issue in TextComponent.
2022-10-11 19:37:35 +02:00
Leon Styhre
7e923cb9b6
Some refactoring of the OpenGL renderer and TextureDataManager.
2022-10-11 18:11:36 +02:00
Leon Styhre
11b035affa
Fixed a rounding issue in TextComponent.
2022-10-11 18:08:57 +02:00
Leon Styhre
d74966a3c4
Fixed a heisenbug where letters would sometimes get rendered with ugly edge artifacts.
2022-10-11 18:07:56 +02:00
Leon Styhre
241a0119ef
Fixed a crash in the Font::wrapText function.
2022-10-10 21:12:49 +02:00
Leon Styhre
1c82228a9c
Fixed two small logical errors.
2022-10-10 20:52:55 +02:00
Leon Styhre
39c9bd2cbc
Added font size overflow restrictions to TextComponent and DateTimeComponent.
...
Also fixed a crash that could occur in TextComponent when blank/dummy fonts were used.
2022-10-10 20:37:04 +02:00
Leon Styhre
610ac9adb3
Implemented dynamic texture allocation to the font handling.
2022-10-10 20:32:35 +02:00
Leon Styhre
6af1f76be8
Fixed an issue where the help system was rendered on top of the menus.
2022-10-10 20:07:40 +02:00
Leon Styhre
0232635504
Refactoring/cleanup.
2022-10-09 19:13:54 +02:00
Leon Styhre
0757156caf
Improved error handling for unloadable font files.
2022-10-09 18:01:30 +02:00
Leon Styhre
50832a5b64
Some code cleanup.
2022-10-09 17:59:27 +02:00
Leon Styhre
fdcd4a4a9d
(Windows) Fixed an MSVC compiler warning.
2022-10-08 11:22:46 +02:00
Leon Styhre
d927135034
Fixed an issue where line breaks were included in single-line text entries.
2022-10-08 10:00:40 +02:00
Leon Styhre
508ea87963
Rewrite of the text wrapping code to work with languages which generally lack spaces, like Japanese.
...
Also implemented massive performance improvements to the text wrapping code.
2022-10-08 09:33:57 +02:00
Leon Styhre
d2ca019a75
Avoided unnecessary SVG file parsing for images previously found to be invalid.
2022-10-06 20:20:48 +02:00
Leon Styhre
bbe9666f69
Removed the use of a deprecated LunaSVG function that is no longer required.
2022-10-03 21:38:01 +02:00
Leon Styhre
bf5cce31c6
Replaced the NanoSVG library with LunaSVG.
2022-10-03 18:43:30 +02:00
Leon Styhre
8f6262a3a9
Fixed an issue where the video player output frame width was not set correctly.
2022-10-01 17:19:53 +02:00
Leon Styhre
e7f1a0f36c
Updated VideoFFmpegComponent for deprecated functions in FFmpeg 5.1
2022-09-30 23:20:36 +02:00
Leon Styhre
bfdeb2e004
Video player code cleanup.
2022-09-29 22:32:57 +02:00
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
f048d06b95
Fixed a text abbreviation issue.
2022-09-28 17:21:02 +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
430d3e5e30
Changed the default OpenGL version on the Steam Deck from 3.3 to 4.6
2022-09-27 17:47:10 +02:00
Leon Styhre
15e30bc0ca
Increased the minimum VRAM limit from 80 MiB to 128 MiB.
2022-09-27 17:43:27 +02:00
Leon Styhre
7a5daaa6fa
Increased the default VRAM limit from 256 MiB to 384 MiB.
...
Also enabled video framerate upscaling by default on the Steam Deck.
2022-09-27 17:38:02 +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
0736192417
Fixed a text abbreviation issue.
2022-09-24 16:45:18 +02:00
Leon Styhre
782d68f906
Attempt to fix a log output deadlock issue.
2022-09-23 22:49:17 +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
02aba10a08
Added a ScreenScraper option to remove dots from game name searches when using the automatic scraper.
2022-09-20 22:45:32 +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
da343c49aa
Added an 'Ignore keyboard input' option to the input device settings menu.
2022-09-19 19:05:06 +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
b435a8dd24
Decreased the splash screen logo size slightly.
2022-09-18 16:33:27 +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
d203f4be27
Changed the location for a theme property.
2022-09-16 19:43:36 +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
7e892a7855
Changed the order of some theme properties.
2022-09-16 18:51:36 +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
3a41aa61c5
Fixed an issue where a legacy theme workaround for incorrect element types did not work as expected.
...
Also cleaned up a log warning message related to this.
2022-09-15 17:29:34 +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
2da2a86397
Adjusted the splash screen sizing to be more consistent across various screen aspect ratios.
2022-09-11 17:24:05 +02:00
Leon Styhre
a2eedde8d3
Fixed a small rounding error in TextComponent.
2022-09-10 20:05:58 +02:00
Leon Styhre
c50f39dd05
Updated the CMake configuration for the removed legacy theme engine code.
2022-09-10 11:58:52 +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
8cc3d1aac5
Added some more workarounds for legacy theme sets with incorrectly defined element types.
2022-09-09 18:03:58 +02:00
Leon Styhre
807cf7b057
Fixed a rounding issue for the ImageComponent debug overlay.
2022-09-09 17:56:41 +02:00
Leon Styhre
2a4d9d334d
Gamelist fade animations are now cancelled on certain navigation actions.
2022-09-09 17:52:20 +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
b9303e5494
Mipmapping is now taken into consideration when calculating the VRAM usage.
2022-09-07 21:17:01 +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
d362f62b45
Added explicit sorting of the custom event scripts.
2022-09-07 20:01:04 +02:00
Leon Styhre
c537de51ef
Some general code cleanup.
2022-09-07 19:59:27 +02:00
Leon Styhre
8361c4f15c
Moved the Alignment enumerator from Font to GuiComponent.
2022-09-07 19:54:55 +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
b6dc0bd72c
Removed the font texture linear magnification support as it caused various rendering artifacts.
2022-09-06 00:51:16 +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
b079421205
Changed it so that only fonts of a certain minimum size gets linear texture magnification applied.
2022-09-05 22:36:33 +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
e8c74450a0
Enabled linear interpolation for all font rendering regardless of resolution.
2022-09-05 00:11:53 +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
455b970a59
Reverted a removal of vertex rounding during the project matrix calculation.
2022-09-03 21:22:31 +02:00
Leon Styhre
947ab458ae
Fixed some Clang compiler warnings.
2022-09-03 16:39:59 +02:00
Leon Styhre
ce50c1121b
Enabled linear interpolation for font texture magnification when running on display resolutions at or above approximately 1920x1080.
2022-09-02 21:30:16 +02:00
Leon Styhre
9b1fb95865
Enabled linear interpolation for font texture minifications.
2022-09-02 21:03:19 +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
7b279a7c73
Made SVG rasterizations slightly more accurate.
2022-08-31 21:17:13 +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
eced44934e
Added clamping of 0.0 to 1.0 to the rotationOrigin property.
2022-08-30 19:56:38 +02:00
Leon Styhre
496b60fa7d
Added support for clipping to the core GLSL shader.
2022-08-30 19:42:37 +02:00
Leon Styhre
6126016289
Cleaned up some font-related code.
2022-08-30 19:31:57 +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
e553f68e90
Greatly improved application startup time by removing a lot of unnecessary splash screen re-rasterizations.
2022-08-23 22:34:56 +02:00
Leon Styhre
5dae37f558
Added support for caching SVG images.
2022-08-23 22:24:24 +02:00
Leon Styhre
047d080346
Fixed a small text abbreviation issue.
2022-08-21 21:24:46 +02:00
Leon Styhre
e2fb03dbf3
Fixed an issue where the tile property for the image element did not work correctly with SVG images.
2022-08-21 19:06:51 +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
ce217c48a4
Added support for vertical abbreviations of multiline text entries.
2022-08-21 16:33:29 +02:00
Leon Styhre
67488467c3
(Linux) The data installation directory is now excluded for themes and resources when built as an AppImage.
2022-08-20 11:30:15 +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
9d2a9ed9d9
Fixed an issue where StringUtil::delimitedStringToVector could return empty elements.
2022-08-19 17:03:55 +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
225a602a74
If the same raster image is used with different interpolation methods then these are now cached separately.
2022-08-16 22:37:36 +02:00
Leon Styhre
967b98008b
Fixed an issue where raster graphic images could get scaled incorrectly.
2022-08-16 21:04:39 +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
899ace3eb6
Added a manualUnloadAll function to TextureResource.
...
Also converted some variables to static inline and cleand up some code.
2022-08-14 21:31:02 +02:00
Leon Styhre
b69706fc35
The currently loaded theme set name is now logged to to es_log.txt on startup, reload and theme change.
2022-08-14 20:24:26 +02:00
Leon Styhre
5699988767
Added a workaround for legacy theme sets where the md_releasedate and md_lastplayed element types have incorrectly been defined as text instead of datetime.
2022-08-14 14:46:56 +02:00
Leon Styhre
f6c109e3fc
(Windows) Trigger emergency shutdown on wide string conversion errors to preserve data integrity at all times.
2022-08-13 16:27:44 +02:00
Leon Styhre
f550ba7dfc
(Windows) Added error handling to StringUtil::stringToWideString() and StringUtil::wideStringToString() to avoid crashes caused by invalid characters.
2022-08-01 19:51:25 +02:00
Leon Styhre
81268fb11c
(Windows) Changed many logging entries to use backslashes instead of forward slashes as directory separators.
2022-07-01 16:39:18 +02:00
Leon Styhre
0d23719fe7
(Windows) Fixed an issue where file paths would get escaped with quotation marks even if they did not contain any spaces.
2022-07-01 16:32:31 +02:00
Leon Styhre
ffed5dee2d
Added connection and transfer timeout settings to the scraper (not configurable via the GUI).
2022-06-29 17:28:39 +02:00
Leon Styhre
08d893b119
Fixed an issue where the IgnoreGamelist setting was saved although it shouldn't.
...
Also made a change so that passing the --ignore-gamelist command line option now immediately disables the ParseGamelistOnly setting.
2022-06-29 17:17:31 +02:00
Leon Styhre
b897b8a15d
Merge branch 'threadsafe_logging'
2022-06-26 14:19:43 +02:00
Leon Styhre
25ac88c2f6
(Windows) Increased window size one pixel horizontally instead of decreasing it one pixel vertically on game launch.
2022-06-26 12:18:28 +02:00
Joseph Geumlek
517186bbe0
Make Log() instances only lock in ~Log(), and make the mutex non-recursive.
2022-06-23 14:20:48 -07:00
Joseph Geumlek
fefd70b943
Make logging more thread-safe
2022-06-21 22:06:20 -07:00
Leon Styhre
bded2bf31f
Added a ScreenScraper option to fallback to additional regions to allow scraping of country-specific games and unofficial releases.
2022-06-16 19:56:41 +02:00
Leon Styhre
c9eb9022db
A dummy theme set is now created if no theme sets were found on startup.
2022-06-11 18:35:44 +02:00
Leon Styhre
40bf018aaa
Changed theme loading into a populateThemeSets function and created a separate getter function.
...
Also removed a deprecated theme check in the game directory.
2022-06-11 18:34:53 +02:00
Leon Styhre
0ef6a22248
Removed the 'Enable menu scroll indicators' menu option.
2022-06-10 19:54:29 +02:00
Leon Styhre
c8cc7b7947
Fixed an issue where a virtual keyboard key repeat would sometimes continue to run when it shouldn't.
2022-06-10 19:30:21 +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
d217a3315a
Changed the SDL video initialization function from SDL_Init to SDL_InitSubSystem
2022-06-09 17:16:43 +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
765aaeb2df
Changed the default quit shortcut to Alt + F4 and Command + Q.
...
Also renamed the setting 'Exit button combo' to 'Keyboard quit shortcut' and fixed an issue where the application sometimes quit when exiting an emulator using Alt + F4 while running in the background.
2022-05-31 22:06:47 +02:00
Leon Styhre
d418c05614
Added scraper support for the platforms arcadia (Emerson Arcadia 2001) and crvision (VTech CreatiVision).
...
Also removed an unnecessary code comment.
2022-05-19 17:32:12 +02:00
Leon Styhre
6a0b1bad5b
Added custom event script triggers on application startup, screensaver start and screensaver end.
2022-05-18 23:56:51 +02:00
Leon Styhre
92c4ae3cdf
Changed the execution order of some custom event scripts.
2022-05-18 23:01:32 +02:00
Leon Styhre
fdf63a9ad0
Fixed an issue where the 'quit' custom event would not trigger on application shutdown.
2022-05-18 22:57:03 +02:00
Leon Styhre
5b63ecb828
Removed the last remnants of the PowerSaver.
2022-05-18 21:08:55 +02:00
Leon Styhre
e50be3376b
Added an Xbox Kinect controller badge icon.
2022-05-12 23:31:11 +02:00
Leon Styhre
53ad5a3152
Fixed an issue where the texture buffer sometimes couldn't fit Chinese characters.
2022-05-09 20:12:08 +02:00
Leon Styhre
595037b301
Fixed some minor function argument name mismatches.
2022-05-08 14:22:11 +02:00
Leon Styhre
9df3436d82
(Windows) Fixed an issue where symlinking media directories would crash the application.
2022-05-07 12:16:31 +02:00
Leon Styhre
f990d91841
Reverted the previous commit.
2022-05-04 00:42:28 +02:00
Leon Styhre
f86ab2ea89
Increased the font texture size slightly.
2022-05-03 23:35:47 +02:00
Leon Styhre
4d5364e9e4
(Windows) Fixed a MinGW compile error.
2022-04-30 21:19:15 +02:00
Leon Styhre
6caf4d193b
Added support for a %STARTDIR% es_systems.xml variable.
2022-04-30 20:43:29 +02:00
Leon Styhre
de48b69760
Prevented a potential endless loop in StringUtil::replace()
2022-04-30 18:31:53 +02:00
Leon Styhre
2f80d1e578
Removed some unnecessary log output when locating emulators when running as a Flatpak.
2022-04-27 18:57:17 +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
7eecf6bb41
(Linux) Yet another ugly hack to detect installed emulators when running as a Flatpak.
2022-04-27 17:33:43 +02:00
Leon Styhre
a9b17a7375
Removed some unreachable directories from the Flatpak path hack.
2022-04-26 23:20:47 +02:00
Leon Styhre
b7d3b242fd
(Linux) Ugly Flatpak PATH hack.
2022-04-26 21:26:25 +02:00
Leon Styhre
a98ba7a42d
A check is now done on game launch that emulator binaries are actually files or symlinks.
2022-04-24 11:17:51 +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
defbbfd13f
Removed the setting 'Preload gamelists on startup'.
2022-04-20 22:39:27 +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
cad06bd841
Changed the RPi preprocessor name from _RPI_ to RASPBERRY_PI.
2022-04-19 17:29:29 +02:00
Leon Styhre
277a729a2d
Cleaned up the CMake configuration.
2022-04-19 17:24:54 +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
63e7b58ec0
Fixed a renderer heisenbug that caused multiple single-pixel alignment issues.
2022-04-18 10:17:05 +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
03e457516a
Fixed an issue where the StringUtil::replace function did not remove repeating occurances.
2022-04-15 20:33:53 +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
aa4258a31a
Removed the 'Use plain ASCII for special gamelist characters' menu option.
2022-04-15 17:13:51 +02:00
Leon Styhre
254e271392
Added theme support for controlling the TextListComponent indicators.
2022-04-15 17:06:33 +02:00
Leon Styhre
d62bc17400
Renamed the default theme set from rbsimple-DE to slate-DE
2022-04-14 22:46:30 +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
45af7441e9
Added support for launching game files inside folders without having to enter the folder.
2022-04-11 23:28:18 +02:00
Leon Styhre
008fa23d5f
Added a setting to define the OpenGL version to use.
2022-04-10 14:54:21 +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
cb8596ab8a
Prevented themes using the <resolution> tag from loading altogether.
2022-04-10 11:32:55 +02:00
Leon Styhre
3a8d19bad5
Added support for nested theme variables.
2022-04-10 11:24:15 +02:00
Leon Styhre
72ce3d33a8
Some code cleanup.
2022-04-09 16:32:47 +02:00
Leon Styhre
16955e5318
Fixed an issue where the theme sets were not always sorted correctly.
2022-04-09 15:57:37 +02:00
Leon Styhre
21f21c20f5
Added a scraper setting to convert underscores _ to spaces when searching.
2022-04-09 15:14:48 +02:00
Leon Styhre
088237fe85
Set the interactive scraper as disabled by default.
2022-04-06 23:53:21 +02:00
Leon Styhre
acbbb0a630
Increased the default value for the MaxVRAM setting to 512 for the Steam Deck.
2022-04-03 13:37:41 +02:00
Leon Styhre
c4cae406e9
Fixed a font loading crash caused by an insufficient font texture size.
...
Also added a preventive measure for similar crashes in the future and made some general cleanup of the font code.
2022-04-02 11:59:52 +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
6f6f388257
Added RatingComponent support to the system view.
2022-03-18 22:16:53 +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
65d79edb54
Miniscule optimization in RendererOpenGL.
2022-03-16 20:26:13 +01:00
Leon Styhre
4b9f0c5d14
Removed the deprecated OpenGL ES 1.0 and 2.0 renderers.
2022-03-15 18:13:15 +01:00
Leon Styhre
02249ae6b9
(RPi) Fixed two compiler errors.
2022-03-15 18:02:19 +01:00
Leon Styhre
e5ed25ed5f
Removed an OpenGL initialization workaround that doesn't seem to be needed any longer.
2022-03-15 17:44:15 +01:00
Leon Styhre
2fe11bd827
A few fixes for the Emscripten WebAssembly build.
2022-03-15 17:17:56 +01:00
Leon Styhre
29501af68f
Changed some variables names and debug logging info for the OpenGL renderer.
...
Also simplified a pixel conversion in the core.glsl shader.
2022-03-15 17:14:55 +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
6b095bde05
(Windows) Fixed some compiler errors.
2022-03-14 20:29:25 +01:00
Leon Styhre
6ff0ff1c47
Renamed Renderer_GL21 and Shader_GL21 to RendererOpenGL and ShaderOpenGL.
2022-03-14 20:14:18 +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
adb162e0d1
Another go at getting post-processing to work properly with all graphics drivers.
2022-03-12 17:57:59 +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
ac6cc41059
Added a command line option to rotate the application screen 180 degrees.
...
Also fixed a shader post-processing bug when rotating the application screen.
2022-03-12 00:40:03 +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
9867c3d595
Fixed an issue where gamelist scroll fade-in animations would continue to play after opening and closing a menu.
2022-03-06 23:31:32 +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
978790956e
Removed Lottie animation support for legacy themes.
2022-03-05 21:16:33 +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
d8b99b1dff
Escaped some characters needed to get emulator wildcards to work with certain directories.
2022-02-21 19:05:29 +01:00
Leon Styhre
1bca70820c
Removed an unused function declaration in AudioManager.
2022-02-21 19:04:07 +01:00
Leon Styhre
da802aec61
Added emulator filename wildcard support for es_systems.xml and es_find_rules.xml
2022-02-21 17:23:23 +01:00
Leon Styhre
fabc18a680
Updated the StringUtil::replace function to avoid potential endless loops.
2022-02-21 17:14:51 +01:00
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