From 6a5193b583445886ecd02d5bdb6aecf9e7d4a54d Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Tue, 6 Sep 2022 21:39:48 +0200 Subject: [PATCH] Documentation update. --- CHANGELOG.md | 7 ++++++- CREDITS.md | 4 ++-- THEMES-DEV.md | 17 ++++++++++------- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b81c3573f..2fc48e978 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * Deprecated multiple older theming concepts like features, extras and hardcoded metadata attributes * Renamed the default theme set from rbsimple-DE to slate-DE * Added support for caching of SVG images +* Added support for sizing SVG images arbitrarily (overriding the image aspect ratio by stretching and squashing) * (Windows) Made game launching more seamless by making the application window one pixel wider instead of one pixel less in height * Added ares standalone as an alternative emulator for many systems * (Linux) Added support for the Nintendo Wii U (wiiu) game system @@ -27,6 +28,7 @@ * Added CPCemu standalone as an alternative emulator for the amstradcpc system * Added MAME standalone as an alternative emulator for the gx4000 system * Added the .bin file extension to the gx4000 system +* Removed the .7z and .zip file extensions from the 3do system * (Linux) Added Flatpak support for Mednafen using the Mednaffe package * (Linux) Added Flatpak support for Solarus using the Solarus Launcher package * Added support for folder links, used for launching game files inside folders without having to enter them @@ -38,6 +40,9 @@ * OpenGL ES: Added an OpenGLVersion setting for choosing between OpenGL ES 3.0, 3.1 and 3.2 (has to be manually set in es_settings.xml) * Greatly improved the performance of shader post-processing such as scanlines and blur rendering * Greatly improved application startup speed by avoiding a lot of unnecessary SVG rasterizations +* Added support for texture mipmapping with trilinear filtering +* Improved the renderer scaling accuracy +* Added a tileSize property to the image element so that the size of each individual image in tiled textures can be defined * Added support for substituting the emulator binary in staticpath rules with an explicit command (useful for launching specific binaries in Flatpaks) * The actual names for emulators with find rule entries are now displayed in the error popup window if they're not found during game launch * Reorganized the UI Settings menu a bit and added entries to set the variant and aspect ratio for newer theme sets @@ -145,7 +150,6 @@ ### Bug fixes -* A vertex rounding heisenbug caused single-pixel alignment issues at multiple places throughout the application * During some menu operations that reloaded the gamelist view, the cached background could miss some components as they were not rendered in time * Changing some values using the metadata editor could lead to an incorrect sort order if the changes were done from within a grouped custom collection * Changing the setting "Group unthemed custom collections" could lead to incorrect custom collections sorting under some circumstances @@ -168,6 +172,7 @@ * Theme sets were not always sorted correctly (as seen when mixing uppercase and lowercase letters in theme names) * The device text flickered in GuiDetectDevice when configuring a controller * The selector bar was not aligned correctly during menu scale-up animations +* The bottom menu selector bar was not getting rendered when running at really low resolutions like 320x240 * Doing a manual reload using Ctrl+r in debug mode would sometimes not update modified image files * Abbreviations of long words in multiline text entries sometimes exceeded the designated text area * The text debug overlay had the wrong size for scrollable containers diff --git a/CREDITS.md b/CREDITS.md index 0d8dac98b..84e8ca345 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -10,8 +10,8 @@ RetroPie community **Desktop Edition**\ Leon Styhre \ -Joseph Geumlek \ -Sophia Hadash +Sophia Hadash \ +Joseph Geumlek # UI Art & Design diff --git a/THEMES-DEV.md b/THEMES-DEV.md index f4c5aa8d2..2ee4ebba4 100644 --- a/THEMES-DEV.md +++ b/THEMES-DEV.md @@ -779,11 +779,11 @@ Instances per view: Properties: * `pos` - type: NORMALIZED_PAIR * `size` - type: NORMALIZED_PAIR - - If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.001 0.001` in this case. - - Minimum value per axis is `0.001` and maximum value per axis is `2`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio. + - If only one axis is specified (and the other is zero), then the other axis will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.001 0.001` in this case. If scaling SVG images to non-standard aspect ratios, then be aware that rasterization is always done while maintaining aspect ratio and the stretching or squashing is done using the GPU. This means that the image quality will not be that good if excessive stretching is done to such images. + - Minimum value per axis is `0.001` and maximum value per axis is `3`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio. * `maxSize` - type: NORMALIZED_PAIR - - The image will be resized as large as possible so that it fits within this size while maintaining 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). - - Minimum value per axis is `0.001` and maximum value per axis is `2` + - The image will be resized as large as possible so that it fits within this size while maintaining 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). Although this property is possible to combine with the `tile` property that does not make a whole lot of sense, instead use the `size` property for tiled images. + - Minimum value per axis is `0.001` and maximum value per axis is `3` * `origin` - type: NORMALIZED_PAIR - Where on the element `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the element exactly in the middle of the screen. If the position and size attributes are themeable, origin is implied. - Minimum value per axis is `0` and maximum value per axis is `1` @@ -818,8 +818,11 @@ Properties: - If more than one gameselector element has been defined, this property makes it possible to state which one to use. If multiple gameselector elements have been defined and this property is missing then the first entry will be chosen and a warning message will be logged. If only a single gameselector has been defined, this property is ignored. The value of this property must match the `name` attribute value of the gameselector element. This property is only needed for the `system` view and only if the `imageType` property is utilized. * `tile` - type: BOOLEAN - If true, the image will be tiled instead of stretched to fit its size. Useful for backgrounds. +* `tileSize` - type: NORMALIZED_PAIR + - Size of the individual images making up the tile as opposed to the overall size for the element which is defined by the `size` property. If only one axis is specified (and the other is zero), then the other axis will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and tiling will be disabled in this case. If scaling SVG images to non-standard aspect ratios, then be aware that rasterization is always done while maintaining aspect ratio and the stretching or squashing is done using the GPU. This means that the image quality will not be that good if excessive stretching is done to such images. If this property is omitted, then the size will be set to the actual image dimensions. For SVG images this means whatever canvas size has been defined inside the file. Be aware that tiles are built from the bottom left corner rather than from the upper left corner so make sure to set this property accordingly so the texture alignment is correct. + - Minimum value per axis is `0` and maximum value per axis is `1`. * `interpolation` - type: STRING - - Interpolation method to use when scaling raster images. Nearest neighbor (`nearest`) preserves sharp pixels and linear filtering (`linear`) makes the image smoother. This property has no effect on scalable vector graphics (SVG) images. + - Interpolation method to use when scaling. Nearest neighbor (`nearest`) preserves sharp pixels and linear filtering (`linear`) makes the image smoother. This property has limited effect on scalable vector graphics (SVG) images unless the image is stretched or squashed using the `size` property. - Valid values are `nearest` or `linear` - Default is `nearest` * `color` - type: COLOR @@ -1428,9 +1431,9 @@ Properties: - Default is `horizontal` * `size` - type: NORMALIZED_PAIR - Minimum value per axis is `0.05` and maximum value per axis is `1.5` - - Default is `1 0.2325` + - Default is `1 0.2324` * `pos` - type: NORMALIZED_PAIR - - Default is `0 0.38375` + - Default is `0 0.38378` * `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 themeable, origin is implied. - Minimum value per axis is `0` and maximum value per axis is `1`