diff --git a/CHANGELOG.md b/CHANGELOG.md index b5ba47183..7d848db09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ Apart from this, many small improvements and bug fixes are part of the release, * Changed the default screensaver type from "dim" to "video" and made the fallback screensaver "dim" instead of "black" * Moved the video screensaver audio setting to the sound settings menu * Added support for the Nintendo Switch game system (using the Yuzu emulator) +* Added an option to use plain ASCII characters for the favorite, folder and tickmark symbols, which makes some themes with very pixelated fonts look coherent * Created a new main menu entry for input device settings * Moved the input device configuration tool to the input device settings menu * Adjusted the size and position of the various menus to accomodate one additional entry on the screen @@ -75,6 +76,7 @@ Apart from this, many small improvements and bug fixes are part of the release, * Games that were filtered out were included in the random game selection for the grouped custom collections view * After switching theme sets with only a single system available, diagonal slide transitions would sometimes play when moving to the system view * Ongoing slide transition animations would continue to play after switching theme sets +* Long game names that were horizontally scrolling in the gamelist view would sometimes flicker when returning to the start position * On Windows, images with Unicode characters in the game name that were resized when scraping would not get saved with valid filenames * The glitches when configuring trigger buttons in GuiInputConfig have been fixed * GuiDetectDevice wouldn't detect controller input that was of the "axis" type (i.e. analog inputs) @@ -250,7 +252,7 @@ Many bugs have been fixed, and numerous features that were only partially implem **The issues below are relevant for ES-DE v1.1.0** -* On macOS Big Sur (and possibly other OS versions) when connecting a DualShock 4 controller either via Bluetooth or using a USB cable, two separate controller devices are registered in parallel. This is a bug in either macOS or the DualShock driver and it makes it seem as if ES-DE is registering double button presses when actually two separate controller devices are generating identical input. A workaround if using Bluetooth mode is to plug in the USB cable just after connecting the controller, wait a second or two and then remove the cable again. This will remove the cabled device, leaving only the Bluetooth device active. Another workaround is to enable the setting "Only accept input from first controller" in the ES-DE input device settings. The reason this bug may not be visible in other games and applications is that ES-DE auto-configures and enables all connected controllers while for example RetroArch requires you to manually setup each controller. This issue does not seem to be present on older macOS versions such as El Capitan. +* On macOS Big Sur (and possibly other OS versions) when connecting a DualShock 4 controller either via Bluetooth or using a USB cable, two separate controller devices are registered in parallel. This is a bug in either macOS or the DualShock driver and it makes it seem as if ES-DE is registering double button presses when actually two separate controller devices are generating identical input. A workaround if using Bluetooth mode is to plug in the USB cable just after connecting the controller, wait a second or two and then remove the cable again. This will remove the cabled device, leaving only the Bluetooth device active. Another workaround is to enable the setting "Only accept input from first controller" in the ES-DE input device settings. The reason why this bug may not be visible in some other games and applications is that ES-DE enables and auto-configures all connected controllers. * Some screen tearing can be seen in the upper part of the screen when using the slide transitions with certain graphics drivers and resolutions. This problem will hopefully be resolved in ES-DE v1.2 when moving to the GLM library. diff --git a/README.md b/README.md index 03cda353a..91b0ac4eb 100644 --- a/README.md +++ b/README.md @@ -110,4 +110,4 @@ _There are four types of built-in screensavers available, including a slideshow _ES-DE is fully themeable, so if you prefer another look than what the default theme rbsimple-DE gives you, it's possible to apply another theme set. In the example above a modified version of the [Fundamental](https://github.com/G-rila/es-theme-fundamental) theme is used. Be aware though that although ES-DE is backwards compatible with older EmulationStation themes, some newer features which are specific to ES-DE will not work, at least not until the theme authors update their themes._ ![alt text](images/current/es-de_ui_easy_setup.png "ES-DE Easy Setup") -_A lot of effort has been spent on trying to make ES-DE easy to setup and use. The above screenshot shows the dialog if starting the application without any game files present in the default ROM directory. ES-DE also ships with a very comprehensive game systems configuration file, so unless you really want to customize your setup, you should not need to tinker with the configuration._ \ No newline at end of file +_A lot of effort has been spent on making ES-DE easy to setup and use. The above screenshot shows the dialog if starting the application without any game files present in the default ROM directory. ES-DE also ships with a comprehensive game systems configuration file, so unless you really want to customize your setup, you should not need to tinker with the configuration._ \ No newline at end of file diff --git a/THEMES.md b/THEMES.md index eabadb7ce..cc2fc3888 100644 --- a/THEMES.md +++ b/THEMES.md @@ -398,7 +398,7 @@ or to specify only a portion of the value of a theme property: # Reference -## Views, their elements, and themable properties: +## Views, their elements, and themeable properties: #### basic * `helpsystem name="help"` - ALL @@ -608,7 +608,7 @@ Common to almost all elements is a `pos` and `size` property of the NORMALIZED_P The order you define properties in does not matter. Remember, you do *not* need to specify every property! -*Note that a view may choose to only make only certain properties on a particular element themable!* +*Note that a view may choose to only make only certain properties on a particular element themeable!* #### image @@ -620,7 +620,7 @@ Can be created as an extra. * `maxSize` - type: NORMALIZED_PAIR. - The image will be resized as large as possible so that it fits within this size and maintains its aspect ratio. Use this instead of `size` when you don't know what kind of image you're using so it doesn't get grossly oversized on one axis (e.g. with a game's image metadata). * `origin` - type: NORMALIZED_PAIR. - - Where on the image `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the image exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themable, "ORIGIN" is implied. + - Where on the image `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the image exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `rotation` - type: FLOAT. - angle in degrees that the image should be rotated. Positive values will rotate clockwise, negative values will rotate counterclockwise. * `rotationOrigin` - type: NORMALIZED_PAIR. @@ -694,7 +694,7 @@ Can be created as an extra. * `maxSize` - type: NORMALIZED_PAIR. - The video will be resized as large as possible so that it fits within this size and maintains its aspect ratio. Use this instead of `size` when you don't know what kind of video you're using so it doesn't get grossly oversized on one axis (e.g. with a game's video metadata). * `origin` - type: NORMALIZED_PAIR. - - Where on the image `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the image exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themable, "ORIGIN" is implied. + - Where on the image `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the image exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `rotation` - type: FLOAT. - angle in degrees that the text should be rotated. Positive values will rotate clockwise, negative values will rotate counterclockwise. * `rotationOrigin` - type: NORMALIZED_PAIR. @@ -723,7 +723,7 @@ Can be created as an extra. - `w 0` - automatically wrap text so it doesn't go beyond `w` (expanding vertically). - `w h` - works like a "text box." If `h` is non-zero and `h` <= `fontSize` (implying it should be a single line of text), text that goes beyond `w` will be truncated with an elipses (...). * `origin` - type: NORMALIZED_PAIR. - - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the component exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themable, "ORIGIN" is implied. + - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the component exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `rotation` - type: FLOAT. - angle in degrees that the text should be rotated. Positive values will rotate clockwise, negative values will rotate counterclockwise. * `rotationOrigin` - type: NORMALIZED_PAIR. @@ -749,7 +749,7 @@ Can be created as an extra. * `pos` - type: NORMALIZED_PAIR. * `size` - type: NORMALIZED_PAIR. * `origin` - type: NORMALIZED_PAIR. - - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the component exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themable, "ORIGIN" is implied. + - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the component exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `selectorColor` - type: COLOR. - Color of the "selector bar." * `selectorImagePath` - type: PATH. @@ -795,7 +795,7 @@ EmulationStation borrows the concept of "nine patches" from Android (or "9-Slice * `size` - type: NORMALIZED_PAIR. - Only one value is actually used. The other value should be zero. (e.g. specify width OR height, but not both. This is done to maintain the aspect ratio.) * `origin` - type: NORMALIZED_PAIR. - - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the component exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themable, "ORIGIN" is implied. + - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the component exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `rotation` - type: FLOAT. - angle in degrees that the rating should be rotated. Positive values will rotate clockwise, negative values will rotate counterclockwise. * `rotationOrigin` - type: NORMALIZED_PAIR. @@ -819,7 +819,7 @@ EmulationStation borrows the concept of "nine patches" from Android (or "9-Slice - `w 0` - automatically wrap text so it doesn't go beyond `w` (expanding vertically). - `w h` - works like a "text box." If `h` is non-zero and `h` <= `fontSize` (implying it should be a single line of text), text that goes beyond `w` will be truncated with an elipses (...). * `origin` - type: NORMALIZED_PAIR. - - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the component exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themable, "ORIGIN" is implied. + - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the component exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `rotation` - type: FLOAT. - angle in degrees that the text should be rotated. Positive values will rotate clockwise, negative values will rotate counterclockwise. * `rotationOrigin` - type: NORMALIZED_PAIR. @@ -866,7 +866,7 @@ EmulationStation borrows the concept of "nine patches" from Android (or "9-Slice * `size` - type: NORMALIZED_PAIR. Default is "1 0.2325" * `pos` - type: NORMALIZED_PAIR. Default is "0 0.38375". * `origin` - type: NORMALIZED_PAIR. - - Where on the carousel `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the carousel exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themable, "ORIGIN" is implied. + - Where on the carousel `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the carousel exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `color` - type: COLOR. - Controls the color of the carousel background. - Default is FFFFFFD8 diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md index 27df93b32..ff6ecf093 100644 --- a/USERGUIDE-DEV.md +++ b/USERGUIDE-DEV.md @@ -916,6 +916,10 @@ Whether to sort your favorite games above your other games in the gamelists. With this setting enabled, there is a star symbol added at the beginning of the game name in the gamelist views. It's strongly recommended to keep this setting enabled if the option to sort favorite games above non-favorites has been enabled. If not, favorite games would be sorted on top of the gamelist with no visual indication that they are favorites, which would be very confusing. +**Use plain ASCII for special gamelist characters** + +There are some special characters in ES-DE such as the favorites star, the folder icon and the tickmark (seen when editing custom collections) that are displayed using symbols from the bundled Font Awesome. This normally looks perfectly fine, but on some specific themes with very pixelated fonts such as [es-themes-snes-mini](https://github.com/ruckage/es-theme-snes-mini) and [es-themes-workbench](https://github.com/ehettervik/es-theme-workbench) these symbols look terrible. For such themes, this option is available, which will use plain ASCII characters instead of the Font Awesome symbols. For the favorites an asterisk `*` will be used, for folders a hash sign `#` will be used and for the tickmark an exclamation mark `!` will be used. This only applies to the gamelist view, at all other places in the application the Font Awesome symbols are retained. Make sure to disable this option if not using such a pixelated theme as it looks equally terrible to enable this option on themes where it's not supposed to be used. + **Enable quick list scrolling overlay** With this option enabled, there will be an overlay displayed when scrolling the gamelists quickly, i.e. when holding down the _Up_, _Down_, _Left shoulder_ or _Right shoulder_ buttons for some time. The overlay will darken the background slightly and display the first two characters of the game name. If the game is a favorite and the setting to sort favorites above non-favorites has been enabled, a star will be shown instead.