diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c8667921..b9e4f0f39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -129,6 +129,7 @@ * Renamed Gamelist.cpp to GamelistFileParser.cpp and moved it to its own namespace instead of using the global namespace * Renamed GuiGameScraper.cpp to GuiScraperSingle.cpp * Renamed SystemScreensaver.cpp to Screensaver.cpp +* Refactored RatingComponent to improve rendering accuracy and performance * Moved UIModeController.cpp from the es-app/views directory to es-app * Set the clang-format option SpaceBeforeCpp11BracedList to true and reformatted the codebase * Added the clang-format option AllowShortEnumsOnASingleLine and set it to false diff --git a/THEMES-DEV.md b/THEMES-DEV.md index a9912bda7..4e7e3f8c3 100644 --- a/THEMES-DEV.md +++ b/THEMES-DEV.md @@ -1361,7 +1361,9 @@ Instances per view: Properties: * `pos` - type: NORMALIZED_PAIR * `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.) + - These values are mutually exclusive, if an X axis value is defined then the element will be sized based on this, and if an Y axis value is defined then the element will be sized based on that. If both the X and Y axis values are defined then the Y axis value will take precedence and the X axis value will be ignored. This makes sure that the image aspect ratio is always maintained. + - Minimum value per axis is `0.01` and maximum value for the X axis is `1` and maximum value for the Y axis is `0.5` + - Default is `0 0.06` * `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` @@ -1374,6 +1376,10 @@ Properties: - Default is `0.5 0.5` * `gameselector` - type: STRING - 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. +* `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 if the rating element uses scalable vector graphics (SVG) images. + - Valid values are `nearest` or `linear` + - Default is `nearest` * `color` - type: COLOR - Multiply each pixel's color by this color. For example, an all-white image with `FF0000` would become completely red. You can also control the transparency of an image with `FFFFFFAA` - keeping all the pixels their normal color and only affecting the alpha channel. * `filledPath` - type: PATH diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md index c5308e393..f3bdbe52b 100644 --- a/USERGUIDE-DEV.md +++ b/USERGUIDE-DEV.md @@ -1101,7 +1101,7 @@ To map the controller to the keyboard and to set a 33 MHz CPU speed, the file co There are multiple ways to run Amiga games, but the recommended approach is to use WHDLoad. The best way is to use hard disk images in `.hdf`, `.hdz` or `.lha` format, meaning there will be a single file per game. This makes it just as easy to play Amiga games as any console with game ROMs. -An alternative would be to use `.adf` images as not all games may be available with WHDLoad support. For this, you can either put single-disc images in the root folder or in a dedicated adf directory, or multiple-disk games in separate folders. It's highly recommended to create `.m3u` playlist files for multi-disc images as described earlier. +An alternative would be to use `.adf` images as not all games may be available with WHDLoad support. For this, you can either put single-disc images in the root folder or in a dedicated adf directory, or multiple-disk games in separate folders. It's highly recommended to create `.m3u` playlist files for multi-disc images as described [here](USERGUIDE-DEV.md#multiple-game-files-installation). Here's an example of what the file structure could look like: @@ -2948,7 +2948,7 @@ The **@** symbol indicates that the emulator is _deprecated_ and will be removed | gb | Nintendo Game Boy | Gambatte | SameBoy,
Gearboy,
TGB Dual,
Mesen-S,
bsnes,
mGBA,
mGBA **(Standalone)**,
VBA-M,
VBA-M **(Standalone)** | No | Single archive or ROM file in root folder | | gba | Nintendo Game Boy Advance | mGBA | mGBA **(Standalone)**,
VBA-M,
VBA-M **(Standalone)** [UMW*],
VBA Next,
gpSP | No | Single archive or ROM file in root folder | | gbc | Nintendo Game Boy Color | Gambatte | SameBoy,
Gearboy,
TGB Dual,
Mesen-S,
bsnes,
mGBA,
mGBA **(Standalone)**,
VBA-M,
VBA-M **(Standalone)** | No | Single archive or ROM file in root folder | -| gc | Nintendo GameCube | Dolphin | Dolphin **(Standalone)** [UMW*], PrimeHack **(Standalone)** [UW*],
Triforce **(Standalone)** [UW*] | No | Single .iso file in root folder | +| gc | Nintendo GameCube | Dolphin | Dolphin **(Standalone)** [UMW*],
PrimeHack **(Standalone)** [UW*],
Triforce **(Standalone)** [UW*] | No | Single .iso file in root folder | | genesis | Sega Genesis | Genesis Plus GX | Genesis Plus GX Wide,
PicoDrive,
BlastEm,
BlastEm **(Standalone)** [U],
Mednafen **(Standalone)** [UMW*],
ares **(Standalone)** [UMW*] | No | Single archive or ROM file in root folder | | gx4000 | Amstrad GX4000 | Caprice32 | CrocoDS,
MAME **(Standalone)** [UMW*] | No | Single archive or ROM file in root folder | | intellivision | Mattel Electronics Intellivision | FreeIntv | | | | diff --git a/USERGUIDE.md b/USERGUIDE.md index 26f1e76cf..91e3f37df 100644 --- a/USERGUIDE.md +++ b/USERGUIDE.md @@ -1088,7 +1088,7 @@ To map the controller to the keyboard and to set a 33 MHz CPU speed, the file co There are multiple ways to run Amiga games, but the recommended approach is to use WHDLoad. The best way is to use hard disk images in `.hdf`, `.hdz` or `.lha` format, meaning there will be a single file per game. This makes it just as easy to play Amiga games as any console with game ROMs. -An alternative would be to use `.adf` images as not all games may be available with WHDLoad support. For this, you can either put single-disc images in the root folder or in a dedicated adf directory, or multiple-disk games in separate folders. It's highly recommended to create `.m3u` playlist files for multi-disc images as described earlier. +An alternative would be to use `.adf` images as not all games may be available with WHDLoad support. For this, you can either put single-disc images in the root folder or in a dedicated adf directory, or multiple-disk games in separate folders. It's highly recommended to create `.m3u` playlist files for multi-disc images as described [here](USERGUIDE.md#multiple-game-files-installation). Here's an example of what the file structure could look like: