Commit graph

79 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 b26da9d80d (Android) Added experimental support for running in multi-window mode 2024-11-18 22:57:39 +01:00
Leon Styhre ccf680b433 Changed Window to use TextComponent instead of using Font facilities directly 2024-08-11 13:28:26 +02:00
Leon Styhre 6b541ad501 Added localization support to parts of the application 2024-07-04 18:53:13 +02:00
Leon Styhre c2201da47a (Android) Added a system directories creation state to the splash screen 2024-01-06 12:55:29 +01:00
Leon Styhre e3387c9016 Changed the game launch state to be kept in Window instead of ViewController 2023-12-23 23:03:40 +01:00
Leon Styhre d87bb4e3a4 (Android) Resources and themes are now only copied to internal storage after upgrades or for new installations 2023-12-07 18:33:08 +01:00
Leon Styhre ca45ea6d08 Controller input is now blocked during ROM directory rescans to avoid crashes 2023-09-20 20:46:51 +02:00
Leon Styhre c32bbc4888 Reduced the slideshow screensaver fade-in time
Also made some general code cleanup
2023-08-20 13:21:11 +02:00
Leon Styhre 4918c16a98 Added key repeat support to MediaViewer and PDFViewer 2023-08-15 19:52:53 +02:00
Leon Styhre 481e2869ec Changed the concept of 'theme set' to simply 'theme' everywhere in the code 2023-08-14 22:40:32 +02:00
Leon Styhre bd591a74cb Added support for pasting text into the application when a text input field is focused 2023-07-20 16:01:24 +02:00
Leon Styhre b60f86ae04 Added zoom support to the PDF viewer
Also increased page rasterization resolution when running at lower screen resolutions
2023-07-04 17:47:00 +02:00
Leon Styhre 610da5d771 Added help prompts to the media viewer and PDF viewer
Also added trigger button support to the media viewer and fixed rendering of some PDF files with unusual orientations
2023-06-28 20:32:49 +02:00
Leon Styhre a964d89b80 Added up and down button navigation to switch between the media viewer and the PDF viewer 2023-06-25 13:30:49 +02:00
Leon Styhre bd2c229476 Added a PDF viewer
Also added the PoDoFo and Poppler libraries as dependencies
2023-06-21 23:02:19 +02:00
Leon Styhre e44c18bc1b Added a startup progress bar to the splash screen. 2023-01-22 21:03:08 +01: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 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 6a0b1bad5b Added custom event script triggers on application startup, screensaver start and screensaver end. 2022-05-18 23:56:51 +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 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 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 2c2e624160 Changed the opacity data type and functions from unsigned char to float. 2022-02-11 22:10:25 +01:00
Leon Styhre e730d24da0 Added a small delay to the cached background invalidation to give components some time to render. 2022-01-09 17:56:17 +01:00
Leon Styhre b16ea29088 Added theme support and proper application integration for LottieComponent. 2022-01-09 13:43:42 +01:00
Leon Styhre 254b00a3d8 Large refactoring to improve thread safety and improve singleton pattern usage. 2022-01-04 21:21:26 +01:00
Leon Styhre 9937476e18 Replaced some mutex locks with atomic variables.
Also removed an SDL audio issue workaround from AudioManager.
2021-11-16 17:49:05 +01:00
Leon Styhre c136f87a9f Small optimization when opening the menu. 2021-11-07 19:21:01 +01:00
Leon Styhre 93950cf4de Simplified the code for info popups. 2021-10-07 18:31:40 +02:00
Leon Styhre c7d815a125 Fixed multiple compiler warnings related to virtual functions. 2021-09-18 11:49:39 +02:00
Leon Styhre 0b6d987263 Fixed lots of compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-18 09:53:26 +02:00
Sophia Hadash c2042e66e2 Add help component theme options textColorDimmed and iconColorDimmed. 2021-08-23 12:58:06 +02:00
Leon Styhre 9d4deefdf4 Fixed an issue when entering a submenu before the parent menu was scaled up. 2021-08-19 22:28:31 +02:00
Leon Styhre 722468129e Replaced all internal matrix data types and functions with the GLM library equivalents.
Also changed some vectors.
2021-08-15 19:30:31 +02:00
Leon Styhre 23fdc00044 Formatted the es-core source tree using clang-format. 2021-07-07 20:31:46 +02:00
Leon Styhre 534a564237 Fixed an issue where slide transitions would continue to run after switching theme sets. 2021-06-22 18:08:20 +02:00
Leon Styhre dde840c5f8 Added a game launch screen. 2021-06-14 19:15:22 +02:00
Leon Styhre 75430f210a Some cosmetic code cleanup. 2021-06-11 17:02:06 +02:00
Leon Styhre 77bbe0592c Updated VideoFFmpegComponent to use libavfilter for frame processing and conversion. 2021-05-29 10:58:51 +02:00
Leon Styhre 4d4210a419 Added support for selecting between different controller types. 2021-05-23 19:12:31 +02:00
Leon Styhre 3ed17fbea2 Added a fullscreen game media viewer. 2021-05-16 13:12:31 +02:00
Leon Styhre e0e1a05f1e A transition now always takes place to the System view when changing theme sets.
Also fixed an issue where the camera would not move until after the menu was closed.
2021-04-05 10:05:08 +02:00
Leon Styhre 980a23d083 Moved some function definitions from Window.h to Window.cpp 2021-03-21 16:10:09 +01:00
Leon Styhre 60ee29f2ea Fixed an issue where the fallback screensaver would not fade in correctly. 2021-03-18 20:07:07 +01:00
Leon Styhre c5b0042dff Fixed the quick list scroll overlay and made it configurable using a menu option. 2021-01-12 22:41:28 +01:00
Leon Styhre debf072a0e Rewrote some code from C to C++ 2020-12-16 23:59:00 +01:00
Leon Styhre 00ba2e78ab Improvements to the screensaver and game overlay.
Also added functionality to jump to a game from the screensaver (without launching it).
2020-11-12 17:13:24 +01:00