Commit graph

1404 commits

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