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