Commit graph

49 commits

Author SHA1 Message Date
XargonWan 76ed6199cb
feat/update-noruntime (#11)
* Documentation update

* Added the NooDS RetroArch core as an alternative emulator for the gba and nds systems

* Documentation update

* Updated the archive/el_GR.po file

* Fixed an issue where MD5 hashes were calculated when using the single-game scraper

* Refactored the helpsystem code and added support for using an arbitrary amount of helpsystem elements

* Removed the obsolete HelpStyle code

* Fixed some Clang compiler warnings

* Added 'thumbstickclick' as a supported 'entries' property value for the helpsystem element

* Documentation update

* Added 'lr' and 'ltrt' as supported 'entries' property values for the helpsystem element

* Documentation update

* Made it possible to set per-element icon overrides for the helpsystem element

* Fixed an issue where the helpsystem icons were sometimes not getting updated

* Fixed an issue where the default helpsystem element was not displayed if there was no theme configuration for it

* Eliminated some unnecessary helpsystem updates

* Changed a code comment

* Added 'imageSize', 'imageMaxSize', 'imageCropSize' and 'imageCropPos' properties to the video element

* Documentation update

* Added support for a 'none' value to the helpsystem element scope property

* Documentation update

* Rewrote the logic for the 'none' value for the helpsystem element scope property

* Added 'rotation' and 'rotationOrigin' properties to the helpsystem element

* Documentation update

* Added an 'entryLayout' property to the helpsystem element

* Added support for a 'none' value to the video element imageType property

* Documentation update

* Added a 'fadeInType' property to the video element

* Documentation update

* Added a clock element and a corresponding menu entry

* Documentation update

* Adjusted the default position for the clock

* Fixed an issue where applying rounded corners caused rendering artfifacts if the texture did not use premultiplied alpha

* Added a BackgroundComponent to replace NinePatchComponent for rendering menu and popup backgrounds

* Rewrote most components to use BackgroundComponent instead of NinePatchComponent

* Removed the obsolete frame.png and frame.svg graphics resource files

* Increased the background blur slightly when a menu is open

* Removed an unused variable

* Small adjustment to the GuiInfoPopup corner roundness

* Made the menu and launch screen scale up at the same speed regardless of the display refresh rate

* Documentation update

* (Linux) Added support for the Flatpak release of Ruffle

* Added the .ruf file extension to the flash system

* Fixed an issue where the DateTimeComponent gamelist fadeout didn't work correctly

* Changed the rendering order so that the clock is rendered above the textlist quick scrolling overlay

* Added an option to completely disable the game launch screen

* Added a screensaver-game-select custom event

* Added game-select and system-select custom events and a corresponding 'Browsing custom events' menu option

* (Linux) Changed the AppImage find rule for Mandarine to mandarine-qt*.AppImage

* Documentation update

* Made a HelpComponent function private instead of public

* (iOS) Fixed a build issue

* Added support for building against ICU 76.1 and later

* Added a SystemStatus class to poll Bluetooth, Wi-Fi, cellular and battery information from the operating system

* Fixed an issue where the wrong SystemStatus Wi-Fi debug info was shown

* (Android) Changed system status polling to run on the main thread

* (Windows) Fixed a typo that caused a build error

* (Linux) Fixed an issue where the battery was not detected

* (macOS) Fixed an issue where the battery capacity was not calculated correctly

* (Windows) Fixed a linker error due to two missing libraries

* (Linux) Added the BlueZ library as a dependency

* (Linux) Added the BlueZ library as a dependency

* Added a CMake find module for BlueZ

* (Linux) Fixed a CMake find module name mismatch for BlueZ

* Changed the CMake configuration to only check for the BlueZ library on Linux and not on FreeBSD

* Changed a CMake configuration comment

* OCD commit

* (Linux) Added support for checking for multiple Bluetooth adapters

* Disabled system status polling on FreeBSD and Haiku

* Added clamping to the battery capacity to work around buggy OS drivers

* Added system status indicator icons

* Added a system status component

* (Android) Fixed an issue where there was a PLACEHOLDER entry present for the consolearcade system in the es_systems.xml file

* Added menu options to toggle the system status indicators

* Fixed some issues with the system status indicators

* Fixed an issue where the battery text was not updated correctly when changing its menu option

* Documentation update

* (macOS) Added a NSBluetoothAlwaysUsageDescription key to the Info.plist file

* Fixed an issue where the battery percentage text was sometimes shown when it shouldn't have been

* Fixed an issue where some theme properties did not load correctly for the clock element

* Reorganized the positions of the systemstatus and clock elements in ThemeData

* (linear-es-de) Added configuration for the systemstatus and clock elements

* Made a small adjustment to the systemstatus element's default position

* (linear-es-de) Small adjustment to the position of the systemstatus element

* Changed SystemStatusComponent to use a height property instead of a size property

* (linear-es-de) Updated the theme config to use a height property for the systemstatus element

* Documentation update

* (linear-es-de) Relocated the configuration for the systemstatus and clock elements

* Removed the backgroundMargins and lineSpacing properties for the clock element and added backgroundColorEnd, backgroundGradientType and backgroundPadding

* (linear-es-de) Removed an obsolete property for the clock element

* (modern-es-de) Added systemstatus and clock configuration

* (slate-es-de) Added systemstatus and clock configuration

* Fixed a rendering issue when combining rotation and background padding for the clock element

* Added backgroundColor, backgroundColorEnd, backgroundGradientType, backgroundPadding and backgroundCornerRadius properties to the helpsystem element

* Added 'rotation' and 'rotationOrigin' properties to the systemstatus element

* Documentation update

* Added libgallium to the TSAN_suppressions file

* Added a compensation for a strange helpsystem sizing issue when drawing the element background

* Fixed an issue where the override for the 'battery_low' systemstatus icon did not work

* Added two sorting flags to make the translation update script generate identical output across different machines

* Changed the .po update script to not use fuzzy matching

* Added a .continueignore entry to the .gitignore file

* Updated all .po files with the new translation messages

* Updated the en_US and en_GB translations

* Updated the sv_SE translations

* (Android) Added MAME4droid Current emulator entries for all systems where MAME4droid 2024 was supported

Also changed from MAME4droid 2024 to MAME4droid Current for all systems where only this emulator was supported

* (Linux) Added a find rule entry for the new PCSX2 binary name (pcsx2)

* (Linux) Added a find rule entry for the new DuckStation binary name (duckstation)

* Added the b2 RetroArch core as an alternative emulator for the bbcmicro system

* Documentation update

* Updated SDL to 2.32.2

* Updated the MAME index files to include ROMs up to MAME version 0.275

* Bundled the February 2025 release of the Mozilla TLS/SSL certificates

* Documentation update

* Updated the nl_NL translations

* Updated the ro_RO translations

* Updated the fr_FR translations

* Updated the pt_BR translations

* Updated the it_IT translations

* Updated the fr_FR translations

* Updated the ko_KR translations

* Updated the es_ES translations

* Updated the de_DE translations

* Updated the es_ES translations

* Updated the ro_RO translations

* Updated the ru_RU translations

* Updated the ja_JP translations

* Updated the zh_CN translations

* Updated the sv_SE translations

* Updated the ca_ES translations

* Added a 'scope' property to the systemstatus and clock elements

* Documentation update

* Updated the pl_PL translations

* (linear-es-de) Added system metadata translations for 15 languages

* Added support for the Vircon32 Virtual Console (vircon32) game system

* (linear-es-de) Added support for the Vircon32 Virtual Console (vircon32) game system

* (modern-es-de) Added support for the Vircon32 Virtual Console (vircon32) game system

* (slate-es-de) Added support for the Vircon32 Virtual Console (vircon32) game system

* Documentation update

* Added the .m3u file extension to the sega32x, sega32xjp and sega32xna systems

* (Android) Added a find rule entry for the new Cemu package name

* Added A7800 standalone as an alternative emulator for the atari7800 system on Linux and Windows

* (Linux) Added XM6 TypeG Wine and XM6 TypeG Proton as alternative emulators for the x68000 system

Also added XM6 TypeG standalone as an alternative emulator for the x68000 system on Windows

* (Android) Added Azahar standalone as an alternative emulator for the n3ds system

* Documentation update

* (Linux) Added MFME Wine and MFME Proton as alternative emulators for the arcade system

Also added MFME standalone as an alternative emulator for the arcade system on Windows

* Added a %ROMRAWWIN% variable

* (Linux) Added support for the manually downloaded release of Mesen

* Added Mesen standalone as an alternative emulator for the colecovision, wonderswan and wonderswancolor systems on Linux and Windows

* Added Azahar standalone as an alternative emulator for the n3ds system on Linux and Windows

* Documentation update

* Made a small adjustment to the button_y_PS helpsystem button

* Updated the de_DE translations

* Updated the de_DE translations

* Updated the zh_TW translations

* Documentation update

* Fixed some segfaults that could occur during emergency shutdown

* Improved the cleanup on window deinit

* Fixed a crash on window deinit

* Fixed a rare issue where reloading the application could lead to a crash

* Optimized HelpComponent updates by caching the icons

* The HelpComponent icon cache is now cleared when pressing ctrl-r

* Added an 'entryRelativeScale' property to the helpsystem element

* Fixed a code comment typo

* Documentation update

* Updated the sv_SE translations

* (linear-es-de) Adjusted the relative scale between the icons and text for the helpsystem element

* Split the backgroundPadding property into backgroundHorizontalPadding and backgroundVerticalPadding properties for the helpsystem, systemstatus and clock elements

* (slate-es-de) Updated to use the new backgroundHorizontalPadding and backgroundVerticalPadding properties for the systemstatus and clock elements

* Documentation update

* The LANG and LANGUAGE variables are now set explicitly to the UTF-8 character encoding on Linux, macOS and Android

* (modern-es-de) Adjusted the relative scale between the icons and text for the helpsystem element

* Added the bsnes-jg RetroArch core as an alternative emulator for the satellaview, sfc, snes, snesna and sufami systems

* (Windows) Fixed an issue where there could be double quotation marks added to the launch command under some special circumstances

* Enabled directories interpreted as files with MAME RetroArch for the apple2, apple2gs and fmtowns systems on Linux, macOS and Windows

* (Windows) Added back accidentally deleted MAME standalone entry for the apple2 system

* Documentation update

* (Windows) Made the hack to remove double quotation marks on game launch slightly less dangerous

* Simplified a number of HelpComponent function and variable names

* (Android) The launch sound is no longer played if the launch screen is set as disabled

* The launch sound is now always stopped when returning to ES-DE after a game launch

* The launch sound is no longer played if the launch screen is set as disabled when built with the DEINIT_ON_LAUNCH option

* Prevented the launch sound from getting stopped when running in the background on game launch

* Updated the de_DE translations

* Fixed an issue where the menus would sometimes contain fractional rows

* Updated the ko_KR translations

* (Android) Added SkyEmu standalone as an alternative emulator for the gb, gba, gbc and nds systems

* Documentation update

* Added support for the 8:7 display aspect ratio

* Added translations for the '8:7 vertical' message

* Documentation update

* Documentation update

* Fixed an issue where a double free in GuiLaunchScreen could cause an unclean application shutdown

* Updated the archive/el_GR.po file

* (Linux) Added MFME Wine and MFME Proton as alternative emulators for the mame system

Also added MFME standalone as an alternative emulator for the mame system on Windows

* (Linux) Added find rule entries for Lindbergh Loader

* Added initial support for the Microsoft Xbox One (xboxone) game system

* (linear-es-de) Added support for the Microsoft Xbox One (xboxone) game system

* (modern-es-de) Added support for the Microsoft Xbox One (xboxone) game system

* (slate-es-de) Added support for the Microsoft Xbox One (xboxone) game system

* Documentation update

* Added support for the Sega Mark III (mark3) game system

* (linear-es-de) Added support for the Sega Mark III (mark3) game system

* (modern-es-de) Added support for the Sega Mark III (mark3) game system

* (slate-es-de) Added support for the Sega Mark III (mark3) game system

* Documentation update

* Added support for the Sony PlayStation 4 (ps4) game system on Linux, macOS and Windows

* Updated the archive/el_GR.po file

* Documentation update

* (Linux) Moved an emulator entry in es_find_rules.xml that was not sorted correctly

* (Android) Added a find rule entry for the Pizza Boy SC Basic emulator

* Added the CannonBall and Mr.Boom RetroArch cores as alternative emulators for the ports system

* Documentation update

* Updated the dummy ROMs archives with the latest systems

* Added RPCS3 Game Serial as an alternative emulator for the consolearcade and ps3 systems on Linux, macOS and Windows

* Documentation update

* (linear-es-de) Updated the system metadata for the mark3, vircon32 and xboxone systems

* (linear-es-de) Added zh_TW metadata translations for most systems

* (linear-es-de) Added zh_TW metadata translations for some systems

* (linear-es-de) Updated the system metadata for some systems

Also removed two obsolete system metadata files

* (linear-es-de) Updated some sv_SE system metadata entries

* Fixed an issue where the update_version_string.sh script would not update the Info.plist file correctly

* Bumped the version to 3.2.0

* Fixed a potential crash when disabling the help prompts

* Updated "update from upstream"script to fetch `stable-3.2`

* Added HelpStyle definition if def RETRODECK

* Removed HelpStyle (was introduced by RetroDECK)

* Added dependencies for ES-DE 3.2.0: dav1d, bluez, libvpx e icu

* fix(manifest): libvpx hash

* fix(manifest): update ICU source SHA256 hash

* fix(icu): change build system to simple and update build commands

* fix(icu): switch build system to autotools and update build directory structure

* fix(es-de): remove ICU dependency and update build options for ES-DE for statically linking it

* Documentation update

* feat(manifest): update runtime version to 6.8

* feat(automation): added the AppImage build job

* feat(build): install PipeWire development dependencies for ES-DE workflow

* feat(build): update dependencies for ES-DE workflow

* feat(workflow): add job to check and delete empty releases after builds

* fix(build): update release notes format in build workflow [skip ci]

* Triggering build

* feat(build): add Bluetooth development dependencies and improve AppImage naming

* feat(build): rename AppImage output for ES-DE to RetroDECK format

* feat(build): update script for RetroDECK AppImage creation

* feat(build): add bcm_host and brcmegl dependencies to build workflow

* feat(build): replace brcmegl with fuse in dependency installation

* Documentation update for the 3.2.0 release

* feat(manifest): reverted runtime version to 6.7 in application YAML

---------

Co-authored-by: Leon Styhre <leon.styhre@nw-soft.com>
2025-04-08 13:33:45 +09:00
Leon Styhre 1dbcba90e6 Changed the application name to ES-DE in the GLSL shader headers 2023-12-26 11:10:19 +01:00
Leon Styhre 1d1732306e Changed the OpenGL ES GLSL precision qualifiers from mediump to highp to fix some mobile GPU postprocessing rendering issues 2023-12-23 19:29:43 +01:00
Leon Styhre 27be4007a2 Added workarounds for some mobile GPUs which do not support all OpenGL operations when using the BGRA pixel format 2023-12-07 17:56:27 +01:00
Leon Styhre 848d19a80b Added support for binding multiple texture units for use in the shaders 2023-09-07 21:02:38 +02:00
Leon Styhre 8c9ebc2dcd Renamed the textureSize shader uniform to texSize to avoid collision with the GLSL keyword
Also some additional minor renderer code cleanup
2023-08-31 17:11:32 +02:00
Leon Styhre 170d8e3791 Added rounded corner support to the image, video, animation, carousel and grid elements 2023-08-20 19:41:07 +02:00
Leon Styhre 9e277ed1ff Improved the blur shaders to run faster at higher resolutions and to look identical regardless of display resolution
Also improved the blur shaders rendering quality when rotating the screen 90 or 270 degrees
2023-08-18 20:22:08 +02:00
Leon Styhre d9f38dab3e Added support for changing the saturation for font textures. 2023-03-03 22:37:39 +01:00
Leon Styhre 3869a51e9c Improved image quality for the blur shaders when rotating screen 90 or 270 degrees. 2023-02-21 18:43:18 +01:00
Leon Styhre b33c7603bb Added support for rotating the application screen contents 0, 90, 180 or 270 degrees.
Also improved post processing shader rendering when running in vertical orientation.
2023-02-06 23:38:35 +01:00
Leon Styhre c63fd2e72b Fixed a premultiplied alpha shader issue that lead to artifacting when brightness was adjusted. 2022-12-15 19:13:37 +01:00
Leon Styhre f195ba72a2 Changed the brightness shaders from exposure to actual brightness calculations. 2022-12-14 23:09:17 +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 59d5e1b5b8 Changed the color channel mix for grayscale conversions. 2022-12-13 22:45:05 +01:00
Leon Styhre 6037e80bf1 Added color shift support to VideoComponent. 2022-12-12 21:51:27 +01:00
Leon Styhre 1517826b23 Fixed an issue where lowered saturation would not work correctly when combined with scanline rendering. 2022-12-12 20:24:16 +01:00
Leon Styhre 0ad339d4c4 Fixed an issue where lowered saturation could not be combined with color shifts. 2022-12-12 20:21:22 +01:00
Leon Styhre ef671580c3 Fixed an issue where grayscale conversion was not done correctly for BGRA textures. 2022-10-30 16:31:43 +01:00
Leon Styhre 064909bf96 Changed some comments in the GLSL core shader file. 2022-10-28 21:41:55 +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 496b60fa7d Added support for clipping to the core GLSL shader. 2022-08-30 19:42:37 +02:00
Leon Styhre 1798b96cf8 Added reflections support to CarouselComponent. 2022-04-18 21:37:58 +02: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 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 1abfc06038 (macOS) Changed a keyword that made the GLSL compilation fail. 2022-03-15 00:25:02 +01:00
Leon Styhre ddcc542dc9 Removed some deprecated GLSL shader files. 2022-03-15 00:18:34 +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 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 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 8f6565b9f0 Code formatted the blur GLSL shaders. 2022-02-15 22:17:24 +01:00
Leon Styhre 5ac6bcb902 Added opacity support to the scanline shader. 2022-02-15 22:13:11 +01:00
Leon Styhre 69c1a1259d Added opacity support to the BGRA to RGBA shader. 2022-02-12 17:40:25 +01:00
Leon Styhre 0c552dd8fb Added a GLSL shader to convert the color model BGRA to RGBA.
Also added support for specifying a separate format as compared to internalFormat when creating textures, although the shader should be used primarily as this is not really supported by the OpenGL standard.
2022-01-07 18:54:52 +01:00
Leon Styhre d986fc7eaa Standardized the header section of the GLSL files and shell scripts. 2021-05-14 18:52:38 +02:00
Leon Styhre 01112408f6 Minor cosmetic GLSL shader code cleanup. 2021-05-14 15:22:14 +02:00
Leon Styhre fddf099a74 Cosmetic code cleanup of some GLSL shader code. 2021-05-14 15:12:53 +02:00
Leon Styhre 40e04bbf58 Updated some comments in the GLSL shaders. 2021-02-28 15:00:13 +01:00
Leon Styhre 2dbcb6a7d9 Fixed an issue where the GLSL shader alpha values would be handled differently depending on the graphics driver. 2021-02-28 12:59:08 +01:00
Leon Styhre c38e087b28 Fixed an issue where some pragma directives crashed the GLSL shader compiler on Windows. 2020-11-29 22:42:05 +01:00
Leon Styhre d1adb313e6 Improved the opacity shader. 2020-09-13 09:57:00 +02:00
Leon Styhre a34bc45e56 Added an opacity shader. 2020-09-12 19:17:26 +02:00
Leon Styhre 3643c08caf Updates to the OpenGL shader handling. 2020-09-12 12:14:48 +02:00
Leon Styhre fd10aba815 Updated the GLSL shader logic and added a postprocessing function. 2020-09-04 18:59:19 +02:00
Leon Styhre d512c2b11d Implemented OpenGL GLSL shader support. 2020-08-30 22:19:37 +02:00