diff --git a/CHANGELOG.md b/CHANGELOG.md index a8b17e573..42a47b367 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Catch-up release which implements some things that didn't make it into 2.0.0. Mo * Added a setting to set the user theme directory to an arbitrary location (not configurable via the GUI) * Added scrollable text container support to the system view * Added six new theme properties for sizing and placement of the helpsystem when a menu is open +* Added a new gameOverridePath property to the image element to enable per-game static image overrides * Added support for the Sinclair ZX Spectrum Next (zxnext) game system * Added support for the Sinclair Spectrum ZX emulator ZEsarUX * Added support for the Sinclair Spectrum ZX Next emulator #CSpect on Linux and Windows @@ -42,6 +43,7 @@ Catch-up release which implements some things that didn't make it into 2.0.0. Mo * (Windows) Fixed a regression that made .bat and .lnk files with some special characters in the filename impossible to launch * Clearing or deleting a game could hang the application if the media files could not be deleted due to insufficient permissions * Multi-row text with blank lines that was not displayed in a scrollable container was sometimes not wrapped correctly +* The default image element property could be used even if no imageType entries were defined * Fixed several potential container overflows in GuiTextEditKeyboardPopup that could lead to rare crashes when running on an ARM processor * Fixed a potential container overflow in ViewController that could lead to rare crashes when running on an ARM processor * (macOS) When opening the main menu an error message was logged about accessing a nonexistent ShowQuitMenu setting diff --git a/THEMES-DEV.md b/THEMES-DEV.md index 80b32e710..d01edae11 100644 --- a/THEMES-DEV.md +++ b/THEMES-DEV.md @@ -1808,6 +1808,9 @@ Properties: - Default is `false` * `path` - type: PATH - Explicit path to an image file. Most common extensions are supported (including .jpg, .png, and unanimated .gif). If `imageType` is also defined then this will take precedence as these two properties are not intended to be used together. If you need a fallback image in case of missing game media, use the `default` property instead. +* `gameOverridePath` - type: PATH + - Defines a directory where per-game overrides for the static image defined by the `path` property are kept. Supported file extensions are .jpg, .png, .gif (unanimated) and .svg and they are searched for in this precise order. How this works is that the basename of the game file will be used to check for an image file in the defined path in a very similar fashion as to how downloaded media is searched. For example if `gameOverridePath` has been set to `./imageOverrides` a match for the game file `~/ROMs/arcade/aburner.zip` would be `./imageOverrides/arcade/aburner.png` (or any of the other supported file extensions). In this case the image defined by the `path` property will be replaced for this specific game. Note that only static images can be overridden, not scraped media. + - This property can only be used in the `gamelist` view and only if `imageType` is undefined. * `default` - type: PATH - Path to a default image file. The default image will be displayed when the selected game does not have an image of the type defined by the `imageType` property (i.e. this `default` property does nothing unless a valid `imageType` property has been set). It's also applied to any custom collection that does not contain any games when browsing the grouped custom collections system. * `imageType` - type: STRING