Skip to content

Commit a68cb56

Browse files
committed
Megred ES-DE stable-3.1
2 parents b8cc8b0 + a59b801 commit a68cb56

39 files changed

+3118
-2752
lines changed

ANDROID-DEV.md

Lines changed: 57 additions & 12 deletions
Large diffs are not rendered by default.

ANDROID.md

Lines changed: 80 additions & 15 deletions
Large diffs are not rendered by default.

CHANGELOG.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# ES-DE Frontend - Changelog
22

3-
## Version 3.1.1 (in development)
3+
## Version 3.1.1 / 3.1.1-39
44

5-
**Release date:** TBD
5+
**Release date:** 2024-12-13
66

77
### Release overview
88

9-
This release adds support for four more languages, reduces the memory footprint under some circumstances and enables a few more emulators.
9+
This release adds support for four more languages, reduces the memory footprint under some circumstances and enables a number of new emulators.
1010

1111
On Android the default audio driver has been changed from AAudio to OpenSL ES which should decrease audio latency on many devices. There is however a new menu entry in the Sound settings menu that makes it possible to easily revert to AAudio in case of issues with the OpenSL ES driver. Also for Android there is now experimental support for running ES-DE in multi-window mode on tablets and other devices that support this.
1212

13-
In addition to the above there are a number of bug fixes and other minor improvements.
13+
In addition to the above there are a number of bug fixes and other improvements.
1414

1515
### Detailed list of changes
1616

@@ -21,28 +21,39 @@ In addition to the above there are a number of bug fixes and other minor improve
2121
* Decreased the memory footprint under some circumstances by completely freeing up video player resources after finishing view transitions
2222
* The Git index stat cache is now refreshed for all themes when starting the theme downloader (this speeds up the inventory under some circumstances)
2323
* Added Mandarine standalone as an alternative emulator for the n3ds system
24+
* Added DREAMM standalone as an alternative emulator for the dos, pc and scummvm systems on Linux, macOS and Windows
25+
* Added Kronos standalone as an alternative emulator for the saturn and saturnjp systems on Linux and Windows
2426
* (Android) Changed the default audio driver from AAudio to OpenSL ES
2527
* (Android) Added an audio driver menu option to the Sound settings menu
2628
* (Android) Added experimental support for running in multi-window mode
2729
* (Android) Directories for corrupt themes are now automatically removed when the theme downloader is started
2830
* (Android) Added experimental support for the Nintendo Wii U (wiiu) game system
31+
* (Android) Added SWF Player standalone as an alternative emulator for the flash system
32+
* (Android) Added Infinity standalone as an alternative emulator for the pico8 system
33+
* (Android) Added Virtual Virtual Boy standalone as an alternative emulator for the virtualboy system
2934
* (Android) Changed Flycast standalone to use %ROMSAF% instead of %ROM% as the latter caused game launching to fail on some devices
3035
* (Android) Added support for launching individual games directly with EKA2L1 for the ngage system
36+
* (Android) Removed the FinalBurn Neo RetroArch core as an alternative emulator for the neogeocd and neogeocdjp systems as it didn't work correctly
3137
* (Android) Adjusted the layout for the onboarding configurator to look better on screens with wider aspect ratios
3238
* (Android) Added exception handling to the onboarding configurator for broken devices where the SAF directory picker is missing
3339
* (Android) The storage permission now only needs to be granted once in the onboarding configurator as indicated with an "Already granted" button
3440
* (Android) Added a temporary workaround to avoid crashes on non-character keyboard input when editing text (caused by a bug in the SDL library)
3541
* (Android) Updated a number of Java and Kotlin dependencies to the latest stable versions
3642
* (Android) Removed the built-in application update check for the Samsung Galaxy Store and Huawei AppGallery builds
3743
* (Linux) Added support for the AppImage release of melonDS
44+
* (macOS) Added support for the Sony PlayStation Vita (psvita) game system
45+
* (macOS) Added the %RUNINBACKGROUND% variable for RPCS3 to work around an emulator issue where ES-DE would directly resume on game launch
46+
* (Windows) Added FinalBurn Neo standalone as an alternative emulator for the neogeocd and neogeocdjp systems
3847
* (Windows) Added Yaba Sanshiro 2 standalone as an alternative emulator for the saturn and saturnjp systems
3948
* (Windows) Added BeebEm standalone as an alternative emulator for the bbcmicro system
4049
* (Windows) Added a find rule for the SSE2 build of DuckStation
4150
* Added the -f flag for fullscreen mode for melonDS standalone on Linux, macOS and Windows
51+
* Various translation updates for multiple languages
4252
* Added support to the theme downloader for detecting and handling theme repository URL changes
4353
* Added a "textBackgroundCornerRadius" property to the carousel element
4454
* Added a "textBackgroundCornerRadius" property to the grid element
4555
* Made the "backgroundCornerRadius" and "selectorCornerRadius" properties for the grid element apply also to colored rectangles
56+
* Changed an snprintf call in MathUtil as it could cause false positives for buffer overflow checks when building with GCC fortification
4657
* (modern-es-de) Replaced some legacy carousel icons
4758
* Added the Nanum Square Neo Korean font
4859
* Updated SDL to 2.30.9 on Android, Windows, macOS and the Linux AppImage builds
@@ -57,8 +68,10 @@ In addition to the above there are a number of bug fixes and other minor improve
5768
* (Android) Audio was not working correctly on some Android 15 devices (fixed by updating SDL to 2.30.9)
5869
* (Android) Switching from ES-DE to another app and back again while the "no ROMs" dialog was shown crashed the application
5970
* (Android) Switching from ES-DE to the home app and back again while the onboarding configurator was running crashed the application
71+
* (Android) On some devices, disabling the "Blur background when menu is open" option led to rendering issues
6072
* (Windows) The video and slideshow screensavers didn't work if a custom game media directory had been configured
6173
* There was a regression where filesystem case-sensitivity was not considered when looking for media files for the screensaver
74+
* Some metadata values were sometimes not saved by the single-game scraper if overwriting was disabled and the language was not set to English
6275
* Invalid popup notifications were sometimes shown after a download error message had been displayed in the theme downloader
6376
* Attempting to view media for a game that had no downloaded media paused the playback of all static theme videos
6477
* Pasting text into a text edit field would make the cursor jump to an incorrect position

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ endif()
1919
project(es-de)
2020

2121
# Application version, update this when making a new release.
22-
set(ES_VERSION 3.1.1-alpha)
22+
set(ES_VERSION 3.1.1)
2323

2424
# Set this to ON to show verbose compiler output (e.g. compiler flags, include directories etc.)
2525
set(CMAKE_VERBOSE_MAKEFILE OFF CACHE BOOL "Show verbose compiler output" FORCE)

FAQ-ANDROID.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ You only need to buy the Patreon release once, and then you can use it on all yo
2424

2525
## ES-DE doesn't work on my device, can I get a refund?
2626

27-
Although the overwhelming majority of people have successfully got ES-DE to run on their devices (assuming they are fulfilling the basic requirements of 64-bit Android 10 or later) there are some devices that have been problematic. Unfortunately Android is not really a standardized operating system and hardware manufacturers are sometimes applying custom patches and such which may prevent ES-DE from working correctly. We will refund anyone that bought ES-DE on Patreon within one month from the purchase date if they are unable to get ES-DE to run on their device. Just send a DM on Patreon and we will issue a refund as soon as possible. We are however unfortunately not able to refund purchases on the Samsung Galaxy Store and Huawei AppGallery. But make sure to read the next question below as your device may be compatible after all.
27+
Although the overwhelming majority of people have successfully got ES-DE to run on their devices (assuming they are fulfilling the basic requirements of 64-bit Android 10 or later) there are some devices that have been problematic. Unfortunately Android is not really a standardized operating system and hardware manufacturers are sometimes applying custom patches and such which may prevent ES-DE from working correctly. We will refund anyone that bought ES-DE on Patreon within one month from the purchase date if they are unable to get ES-DE to run on their device. Just send a DM on Patreon and we will issue a refund as soon as possible. We are unfortunately not able to directly refund purchases on the Samsung Galaxy Store and Huawei AppGallery, but you may still be able to get a refund by contacting Samsung or Huawei. Anyway, make sure to read the next question below as your device may be compatible after all.
2828

2929
## ES-DE hangs at the onboarding configurator, is the app not compatible with my device?
3030

@@ -36,7 +36,7 @@ There seems to be an issue with Gmail (both web version and app) that a few peop
3636

3737
## Will I lose any settings or data when upgrading to a new release?
3838

39-
No, you will not lose any settings or data when you upgrade. Just download the latest version and sideload it on your device to apply the update.
39+
No, you will not lose any settings or data when you upgrade, everything will stay intact.
4040

4141
## Why do I get a "There was a problem parsing the package" error when I attempt to install ES-DE?
4242

INSTALL-DEV.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1868,7 +1868,7 @@ Here's an example es_systems.xml file for Android:
18681868
<path>%ROMPATH%/psx</path>
18691869
<extension>.bin .BIN .cbn .CBN .ccd .CCD .chd .CHD .cue .CUE .ecm .ECM .exe .EXE .img .IMG .iso .ISO .m3u .M3U .mdf .MDF .mds .MDS .minipsf .MINIPSF .pbp .PBP .psexe .PSEXE .psf .PSF .toc .TOC .z .Z .znx .ZNX .7z .7Z .zip .ZIP</extension>
18701870
<command label="Beetle PSX">%EMULATOR_RETROARCH% %EXTRA_CONFIGFILE%=/storage/emulated/0/Android/data/%ANDROIDPACKAGE%/files/retroarch.cfg %EXTRA_LIBRETRO%=mednafen_psx_libretro_android.so %EXTRA_ROM%=%ROM%</command>
1871-
<command label="DuckStation (Standalone)">%EMULATOR_DUCKSTATION% %EXTRABOOL_resumeState%=false %EXTRA_bootPath%=%ROMSAF%</command>
1871+
<command label="DuckStation (Standalone)">%EMULATOR_DUCKSTATION% %ACTIVITY_CLEAR_TASK% %ACTIVITY_CLEAR_TOP% %EXTRABOOL_resumeState%=false %EXTRA_bootPath%=%ROMSAF%</command>
18721872
<platform>psx</platform>
18731873
<theme>psx</theme>
18741874
</system>

INSTALL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1873,7 +1873,7 @@ Here's an example es_systems.xml file for Android:
18731873
<path>%ROMPATH%/psx</path>
18741874
<extension>.bin .BIN .cbn .CBN .ccd .CCD .chd .CHD .cue .CUE .ecm .ECM .exe .EXE .img .IMG .iso .ISO .m3u .M3U .mdf .MDF .mds .MDS .minipsf .MINIPSF .pbp .PBP .psexe .PSEXE .psf .PSF .toc .TOC .z .Z .znx .ZNX .7z .7Z .zip .ZIP</extension>
18751875
<command label="Beetle PSX">%EMULATOR_RETROARCH% %EXTRA_CONFIGFILE%=/storage/emulated/0/Android/data/%ANDROIDPACKAGE%/files/retroarch.cfg %EXTRA_LIBRETRO%=mednafen_psx_libretro_android.so %EXTRA_ROM%=%ROM%</command>
1876-
<command label="DuckStation (Standalone)">%EMULATOR_DUCKSTATION% %EXTRABOOL_resumeState%=false %EXTRA_bootPath%=%ROMSAF%</command>
1876+
<command label="DuckStation (Standalone)">%EMULATOR_DUCKSTATION% %ACTIVITY_CLEAR_TASK% %ACTIVITY_CLEAR_TOP% %EXTRABOOL_resumeState%=false %EXTRA_bootPath%=%ROMSAF%</command>
18771877
<platform>psx</platform>
18781878
<theme>psx</theme>
18791879
</system>

ROADMAP.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ ES-DE is developed using an agile methodology so which features to include per r
55
A more detailed breakdown can be found on the [Kanban](https://gitlab.com/es-de/emulationstation-de/-/boards) board, and for previous releases the [Changelog](CHANGELOG.md) contains all relevant details.
66

77
**General functionality**
8+
89
* RetroAchievements.org integration
910
* "Time played" counter per game, similar to how it works in Steam
1011
* Bulk metadata editor
@@ -14,15 +15,16 @@ A more detailed breakdown can be found on the [Kanban](https://gitlab.com/es-de/
1415

1516
**User interface**
1617

17-
* Menu reorganization, possibly adding basic/advanced modes
1818
* Simple file browsing component
1919

2020
**Theme engine**
21+
2122
* Composite element support for enabling advanced and finely controlled layouts
2223
* Element animation support (storyboards)
2324
* Scrollbar component for the system and gamelist views
2425

2526
**Scraper**
27+
2628
* Support for additional scraper services
2729

2830
**Infrastructure**
@@ -33,4 +35,4 @@ A more detailed breakdown can be found on the [Kanban](https://gitlab.com/es-de/
3335
* Proper audio mixer
3436
* Improved multi-threading
3537
* Reduced amount of gamelist reloading to retain cached textures and improve overall performance
36-
* Replacement for the abandoned FreeImage library
38+
* Replacement for the FreeImage library

THEMES.md

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -755,16 +755,20 @@ The following languages are supported:
755755
| :------------ | :----------------------- | :----------------------- |
756756
| en_US | English (United States) | English (United States) |
757757
| en_GB | English (United Kingdom) | English (United Kingdom) |
758+
| ca_ES | Catalan | Català |
759+
| de_DE | German | Deutsch |
758760
| es_ES | Spanish (Spain) | Español (España) |
759761
| fr_FR | French | Français |
760762
| it_IT | Italian | Italiano |
763+
| nl_NL | Dutch | Nederlands |
761764
| pl_PL | Polish | Polski |
762765
| pt_BR | Portuguese (Brazil) | Português (Brasil) |
763766
| ro_RO | Romanian | Română |
764767
| ru_RU | Russian | Русский |
765768
| sv_SE | Swedish | Svenska |
766-
| ja_JP | Japanese | 日本語 |
767-
| zh_CN | Simplified Chinese | 简体中文 |
769+
| ja_JP | Japanese | 日本語 |
770+
| ko_KR | Korean | 한국어 |
771+
| zh_CN | Simplified Chinese | 简体中文 |
768772

769773
Note that the native name is what is shown inside the _UI Settings_ menu for the _Theme Language_ and _Application Language_ settings.
770774

@@ -1895,6 +1899,11 @@ Properties:
18951899
- This property makes it possible to size the text relative to the overall item size. If using this and also defining a text background color using `textBackgroundColor` or `textSelectedBackgroundColor` then this color will still fill the entire item size.
18961900
- Minimum value is `0.2` and maximum value is `1`
18971901
- Default is `1`
1902+
* `textBackgroundCornerRadius` - type: FLOAT
1903+
- Setting this property higher than zero applies rounded corners to the text background, assuming it has a color set. The radius is a percentage of the screen width. Note that the maximum allowed value is quite arbitrary as the renderer will in practice limit the maximum roundness so it can never go beyond half the text background height.
1904+
- Minimum value is `0` and maximum value is `0.5`
1905+
- Default is `0` (corners are not rounded)
1906+
- This property can only be used if `textBackgroundColor` has a value defined.
18981907
* `textColor` - type: COLOR
18991908
- Default is `000000FF`
19001909
* `textBackgroundColor` - type: COLOR
@@ -2101,7 +2110,7 @@ Properties:
21012110
- Minimum value is `0.2` and maximum value is `1`
21022111
- Default is `1`
21032112
* `backgroundCornerRadius` - type: FLOAT
2104-
- Setting this property higher than zero applies rounded corners to the image defined by `backgroundImage`. The radius is a percentage of the screen width and not directly related to the image size. This makes it possible to apply identically sized corners regardless of image dimensions. The size is calculated internally with `itemScale` and `backgroundRelativeScale` set to `1`. Note that the maximum allowed value is quite arbitrary as the renderer will in practice limit the maximum roundness so it can never go beyond half the width or height. It means that setting this property sufficiently high will turn a perfectly square image into a perfectly round one.
2113+
- Setting this property higher than zero applies rounded corners to the image defined by `backgroundImage`, or to the colored rectangle if `backgroundColor` has been defined without using a background image. The radius is a percentage of the screen width and not directly related to the background size. This makes it possible to apply identically sized corners regardless of image dimensions. The size is calculated internally with `itemScale` and `backgroundRelativeScale` set to `1`. Note that the maximum allowed value is quite arbitrary as the renderer will in practice limit the maximum roundness so it can never go beyond half the width or height. It means that setting this property sufficiently high will turn a perfectly square background into a perfectly round one.
21052114
- Minimum value is `0` and maximum value is `0.5`
21062115
- Default is `0` (corners are not rounded)
21072116
* `backgroundColor` - type: COLOR
@@ -2124,7 +2133,7 @@ Properties:
21242133
- Valid values are `bottom`, `middle` or `top`
21252134
- Default is `top`
21262135
* `selectorCornerRadius` - type: FLOAT
2127-
- Setting this property higher than zero applies rounded corners to the image defined by `backgroundImage`. The radius is a percentage of the screen width and not directly related to the image size. This makes it possible to apply identically sized corners regardless of image dimensions. The size is calculated internally with `itemScale` and `selectorRelativeScale` set to `1`. Note that the maximum allowed value is quite arbitrary as the renderer will in practice limit the maximum roundness so it can never go beyond half the width or height. It means that setting this property sufficiently high will turn a perfectly square image into a perfectly round one.
2136+
- Setting this property higher than zero applies rounded corners to the image defined by `selectorImage`, or to the colored rectangle if `selectorColor` has been defined without using a selector image. The radius is a percentage of the screen width and not directly related to the selector size. This makes it possible to apply identically sized corners regardless of image dimensions. The size is calculated internally with `itemScale` and `selectorRelativeScale` set to `1`. Note that the maximum allowed value is quite arbitrary as the renderer will in practice limit the maximum roundness so it can never go beyond half the width or height. It means that setting this property sufficiently high will turn a perfectly square selector into a perfectly round one.
21282137
- Minimum value is `0` and maximum value is `0.5`
21292138
- Default is `0` (corners are not rounded)
21302139
* `selectorColor` - type: COLOR
@@ -2144,6 +2153,11 @@ Properties:
21442153
- This property makes it possible to size the text relative to the overall item size.
21452154
- Minimum value is `0.2` and maximum value is `1`
21462155
- Default is `1`
2156+
* `textBackgroundCornerRadius` - type: FLOAT
2157+
- Setting this property higher than zero applies rounded corners to the text background, assuming it has a color set. The radius is a percentage of the screen width. Note that the maximum allowed value is quite arbitrary as the renderer will in practice limit the maximum roundness so it can never go beyond half the text background height.
2158+
- Minimum value is `0` and maximum value is `0.5`
2159+
- Default is `0` (corners are not rounded)
2160+
- This property can only be used if `textBackgroundColor` has a value defined.
21472161
* `textColor` - type: COLOR
21482162
- Default is `000000FF`
21492163
* `textBackgroundColor` - type: COLOR

0 commit comments

Comments
 (0)