Commit graph

1317 commits

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