diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cbc23feb..dc1d7e98f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ * Unified the desktop OpenGL and OpenGL ES renderers and upgraded to OpenGL 3.3 and OpenGL ES 3.0 respectively * Greatly improved the performance of shader post-processing such as scanlines and blur rendering * Added support for asterisks/wildcards for emulator name matching, usable both in es_find_rules.xml and es_systems.xml -* 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 +* 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 * Removed the "Play videos immediately (override theme)" setting * Renamed the sound menu option "Play audio for videos in the gamelist view" to "Play audio for gamelist and system view videos" @@ -36,12 +36,12 @@ * Added theme support for defining the video fade-in time * Added theme support for enabling and disabling video pillarboxes and scanline rendering * Added theme support for enabling or disabling audio playback for videos -* Added theme support for setting the horizontal alignment for the help prompts (left/center/right) * Added theme support for setting separate textColorDimmed and iconColorDimmed properties for the system and gamelist views * Disabled the pillarboxes and scanline rendering menu options when using a non-legacy theme set * Improved theme element placement by replacing the "alignment" and "logoAlignment" properties with specific horizontal and vertical properties * Made it possible to use almost all game metadata field when theming text elements * Made it possible to set the image interpolation method (nearest neighbor or linear filtering) per image from the theme configuration +* Changed the helpsystem properties entrySpacing and iconTextSpacing from fixed pixel values to relative values * Added support for using unsigned integers for theme properties * Added scraper support for displaying the returned platform if it does not match the game platform, or if multiple platforms are defined for the system * Added scraping of fan art and updated the media viewer to display these images @@ -60,7 +60,7 @@ * Added a log warning for unthemed systems during theme set loading * Changed the warning log level for missing theme files to debug level if the paths are set using variables * Added new theme system variables for differentiating between collections and non-collection systems -* Added a color model conversion shader for converting from BGRA to RGBA +* Added shader support for performing BGRA to RGBA color conversion * Added opacity support to the scanline shader * Added the rlottie library as a Git subtree * Updated to build correctly with FFmpeg 5.0 @@ -71,7 +71,7 @@ * Improved the in-tree build on macOS to not needing to install any libraries when compiling the "external" dependencies * Large refactoring to improve thread safety and improve singleton pattern usage * Moved all Platform functions to the utility namespace instead of using the global namespace -* Implemented proper XML attribute support in ThemeData that eliminated the risk of name collisions +* Implemented proper XML attribute support in ThemeData that eliminates the risk of name collisions * Migrated the carousel code from SystemView to a separate new CarouselComponent * Changed all occurances of "GameList" to "Gamelist" throughout the codebase * Removed a huge amount of unnecessary Window* function parameters throughout the codebase @@ -93,10 +93,11 @@ ### Bug fixes -* During some menu operations that reloaded the gamelist view, the cached background could miss some elements as they were not rendered in time +* 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 * When multi-scraping in semi-automatic mode and a long game name was scrolling, the start position was not reset when scraping the next game +* Navigation sounds for the trigger buttons would play when repeatedly pressed at the start or end of text lists * Slide and fade transitions would sometimes stop working after changing theme sets * Using fade transitions, when holding a direction button to scroll the system view carousel, the key repeat would cause an unwanted background rendering * The outermost logos would sometimes glitch out during carousel transitions @@ -115,6 +116,28 @@ * The device text flickered in GuiDetectDevice when configuring a controller * The selector bar was not aligned correctly during menu scale-up animations +## Version 1.2.1 (in development) + +**Release date:** TBD + +### Release overview + +v1.2 maintenance release. Some minor bugs were fixed but most importantly this release brings support for a lot more standalone emulators on all supported platforms. + +### Detailed list of changes + +* Added support for the standalone emulators Citra, Dolphin, DuckStation, MAME, melonDS, mGBA, Mupen64Plus, PPSSPP, Redream and VBA-M +* Added support for the standalone emulators sixtyforce and xemu on macOS +* Added support for the standalone emulator Cemu on Windows +* Added the .rvz file extension for the Dolphin emulator + +### Bug fixes + +* When multi-scraping in semi-automatic mode and a long game name was scrolling, the start position was not reset when scraping the next game +* During multi-scraping the busy indicator was not displayed after a result was acquired but before the thumbnail was completely downloaded +* The ScummVM platform entry was missing for TheGamesDB which resulted in very inaccurate scraper searches +* Fixed an incorrect RetroArch core path for the emulator VBA-M + ## Version 1.2.0 **Release date:** 2021-12-28 diff --git a/INSTALL-DEV.md b/INSTALL-DEV.md index c57251c45..c578ea726 100644 --- a/INSTALL-DEV.md +++ b/INSTALL-DEV.md @@ -1742,15 +1742,20 @@ By default the emulators that will be automatically searched for by ES-DE are (r ``` RetroArch-Win64\retroarch.exe RetroArch\retroarch.exe +cemu\Cemu.exe Citra\canary-mingw\citra.exe Citra\nightly-mingw\citra.exe Dolphin-x64\Dolphin.exe dosbox-staging\dosbox.exe +duckstation\duckstation-nogui-x64-ReleaseLTCG.exe +duckstation\duckstation-qt-x64-ReleaseLTCG.exe mame\mame.exe +melonDS\melonDS.exe mGBA\mGBA.exe mupen64plus\mupen64plus-ui-console.exe PCSX2\pcsx2.exe PPSSPP\PPSSPPWindows64.exe +redream\redream.exe RPCS3\rpcs3.exe VBA-M\visualboyadvance-m.exe xemu\xemu.exe @@ -1758,15 +1763,20 @@ xenia\xenia.exe yuzu\yuzu-windows-msvc\yuzu.exe ..\RetroArch-Win64\retroarch.exe ..\RetroArch\retroarch.exe +..\cemu\Cemu.exe ..\Citra\canary-mingw\citra.exe ..\Citra\nightly-mingw\citra.exe ..\Dolphin-x64\Dolphin.exe ..\dosbox-staging\dosbox.exe +..\duckstation\duckstation-nogui-x64-ReleaseLTCG.exe +..\duckstation\duckstation-qt-x64-ReleaseLTCG.exe ..\mame\mame.exe +..\melonDS\melonDS.exe ..\mGBA\mGBA.exe ..\mupen64plus\mupen64plus-ui-console.exe ..\PCSX2\pcsx2.exe ..\PPSSPP\PPSSPPWindows64.exe +..\redream\redream.exe ..\RPCS3\rpcs3.exe ..\VBA-M\visualboyadvance-m.exe ..\xemu\xemu.exe diff --git a/THEMES-DEV.md b/THEMES-DEV.md index ba635550b..a83af04ab 100644 --- a/THEMES-DEV.md +++ b/THEMES-DEV.md @@ -1344,12 +1344,13 @@ Properties: #### carousel -Displays a carousel for selecting game systems. +A carousel for navigating and selecting games or systems. - When using fade transitions, any elements placed below or at the same zIndex value as the carousel will be faded to black during transitions, and any elements with a higher zIndex value than the carousel will be faded to transparent. +On the system view when using fade transitions, any elements placed below or at the same zIndex value as the carousel will be faded to black during transitions, and any elements with a higher zIndex value than the carousel will be faded to transparent. Supported views: * `system` +* `gamelist` Instances per view: * `single` @@ -1433,9 +1434,10 @@ Properties: #### textlist -A text list for navigating and selecting games. +A text list for navigating and selecting games or systems. Supported views: +* `system` * `gamelist` Instances per view: @@ -1512,7 +1514,9 @@ Properties: #### helpsystem -The help system is a special element that displays a context-sensitive list of actions the user can take at any time. You should try and keep the position constant throughout every screen. Note that this element does not have a zIndex value, instead it's always rendered on top of all other elements. As well an origin value of `0 0` is always applied for this element. +The helpsystem is a special element that displays a context-sensitive list of actions the user can take at any time. You should try and keep the position constant throughout every screen. Note that this element does not have a zIndex value, instead it's always rendered on top of all other elements. + +It's possible to set this element as right-aligned or center-aligned using a combination of the `pos` and `origin` properties. For example `0.99 0.954` and `1 0` will place it in the lower right corner of the screen. Supported views: * `system` @@ -1523,29 +1527,33 @@ Instances per view: Properties: * `pos` - type: NORMALIZED_PAIR - - This works a bit different than for the other elements. If `horizontalAlignment` is set to `left` then the x axis value works as expected, but if it's set to `right` then it acts as an offset from the right side of the screen. If setting the alignment to `center` the x axis value should be set to `0` as it doesn't make much sense to add an offset in this case. The y axis value always works as expected and is not affected by the choice of horizontal alignment. - - Default is `0.012 0.9515` when `horizontalAlignment` is set to `left` or `right` - - Default is `0 0.9515` when `horizontalAlignment` is set to `center` -* `horizontalAlignment` - type: STRING - - Controls alignment on the X axis. - - Valid values are `left`, `center` or `right` - - Default is `left` + - Default is `0.012 0.9515` +* `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. + - Minimum value per axis is `0` and maximum value per axis is `1` + - Default is `0 0` * `textColor` - type: COLOR - Default is `777777FF` * `textColorDimmed` - type: COLOR + - Text color to use when the background is dimmed (when a menu is open). - Default is the same value as textColor. * `iconColor` - type: COLOR - Default is `777777FF` * `iconColorDimmed` - type: COLOR + - Icon color to use when the background is dimmed (when a menu is open). - Default is the same value as iconColor. * `fontPath` - type: PATH * `fontSize` - type: FLOAT + - This property also implicitly sets the icon size and is therefore the means to change the overall size of the helpsystem element. + - Default is `0.035` * `entrySpacing` - type: FLOAT - - Spacing in pixels between the help system elements. - - Default is `16.0` + - Spacing between the help element pairs. + - Minimum value is `0` and maximum value is `0.04` + - Default is `0.00833` * `iconTextSpacing` - type: FLOAT - - Spacing in pixels within a help system element between its icon and text. - - Default is `8.0` + - Spacing between the icon and text within a help element pair. + - Minimum value is `0` and maximum value is `0.04` + - Default is `0.00416` * `letterCase` - type: STRING - Valid values are `uppercase`, `lowercase` or `capitalize` - Default is `uppercase` diff --git a/THEMES-LEGACY.md b/THEMES-LEGACY.md index 0055552ff..7ee53b721 100644 --- a/THEMES-LEGACY.md +++ b/THEMES-LEGACY.md @@ -870,10 +870,6 @@ ES-DE borrows the concept of "nine patches" from Android (or "9-Slices"). Curren * `iconColorDimmed` - type: COLOR. Default is the same value as iconColor. Must be placed under the 'system' view. * `fontPath` - type: PATH. * `fontSize` - type: FLOAT. -* `entrySpacing` - type: FLOAT. Default is 16.0. - - Spacing in pixels between the help system components. -* `iconTextSpacing` - type: FLOAT. Default is 8.0. - - Spacing in pixels within a help system component between it's icon and text. * `customButtonIcon` - type: PATH. - A button icon override. Specify the button type in the attribute `button`. The available buttons are: `dpad_updown`, diff --git a/THEMES.md b/THEMES.md index 47f748e15..46793fc55 100644 --- a/THEMES.md +++ b/THEMES.md @@ -868,10 +868,6 @@ ES-DE borrows the concept of "nine patches" from Android (or "9-Slices"). Curren * `iconColorDimmed` - type: COLOR. Default is the same value as iconColor. Must be placed under the 'system' view. * `fontPath` - type: PATH. * `fontSize` - type: FLOAT. -* `entrySpacing` - type: FLOAT. Default is 16.0. - - Spacing in pixels between the help system components. -* `iconTextSpacing` - type: FLOAT. Default is 8.0. - - Spacing in pixels within a help system component between it's icon and text. * `customButtonIcon` - type: PATH. - A button icon override. Specify the button type in the attribute `button`. The available buttons are: `dpad_updown`, diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md index 341bf00ab..389af7c7e 100644 --- a/USERGUIDE-DEV.md +++ b/USERGUIDE-DEV.md @@ -530,15 +530,17 @@ chmod +x ./rpcs3-v0.0.19-13103-cc21d1b3_linux64.AppImage At the moment the following emulators are supported in AppImage format when using the bundled configuration: -| System name | Emulator | Filename configuration | -| :----------- | :-------- | :------------------------------ | -| _Multiple_ | RetroArch | RetroArch-Linux-x86_64.AppImage | -| gba | mGBA | mGBA*.AppImage | -| gc | Dolphin | Dolphin_Emulator*.AppImage | -| ps3 | RPCS3 | rpcs3*.AppImage | -| xbox | xemu | Xemu*.AppImage | -| switch | Yuzu | yuzu*.AppImage | -| wii | Dolphin | Dolphin_Emulator*.AppImage | +| System name | Emulator | Filename configuration | +| :----------- | :---------- | :------------------------------ | +| _Multiple_ | RetroArch | RetroArch-Linux-x86_64.AppImage | +| gba | mGBA | mGBA*.AppImage | +| gc | Dolphin | Dolphin_Emulator*.AppImage | +| ps3 | RPCS3 | rpcs3*.AppImage | +| psx | DuckStation | duckstation-nogui-x64.AppImage | +| psx | DuckStation | duckstation-qt-x64.AppImage | +| xbox | xemu | Xemu*.AppImage | +| switch | Yuzu | yuzu*.AppImage | +| wii | Dolphin | Dolphin_Emulator*.AppImage | RetroArch does not embed any version information into the filename so no wildcard is required. @@ -2034,7 +2036,7 @@ All emulators are RetroArch cores unless marked as **(Standalone**) | System name | Full name | Default emulator | Alternative emulators | Needs BIOS | Recommended game setup | | :-------------------- | :--------------------------------------------- | :-------------------------------- | :-------------------------------- | :----------- | :----------------------------------- | | 3do | 3DO | 4DO | | | | -| 64dd | Nintendo 64DD | Mupen64Plus-Next [UW],
ParaLLEl N64 [M] | ParaLLEl N64 [UW],
Mupen64Plus **(Standalone)** [UMW*] | | | +| 64dd | Nintendo 64DD | Mupen64Plus-Next [UW],
ParaLLEl N64 [M] | ParaLLEl N64 [UW],
Mupen64Plus **(Standalone)** [UMW*],
sixtyforce **(Standalone)** [M] | | | | ags | Adventure Game Studio Game Engine | _Placeholder_ | | | | | amiga | Commodore Amiga | PUAE | | Yes | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disc, or in separate folder with .m3u playlist if multi-disc | | amiga600 | Commodore Amiga 600 | PUAE | | Yes | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disc, or in separate folder with .m3u playlist if multi-disc | @@ -2070,7 +2072,7 @@ All emulators are RetroArch cores unless marked as **(Standalone**) | doom | Doom | PrBoom | | | | | dos | DOS (PC) | DOSBox-Core | DOSBox-Pure,
DOSBox-SVN,
DOSBox Staging **(Standalone)** [UMW*] | No | In separate folder (one folder per game with complete file structure retained) | | dragon32 | Dragon 32 | _Placeholder_ | | | | -| dreamcast | Sega Dreamcast | Flycast | | | | +| dreamcast | Sega Dreamcast | Flycast | Redream **(Standalone)** [UMW*] | No | In separate folder | | epic | Epic Games Store | Epic Games Store application **(Standalone)** | | No | Shell script/batch file in root folder | | famicom | Nintendo Family Computer | Nestopia UE | FCEUmm,
Mesen,
QuickNES | No | Single archive or ROM file in root folder | | fba | FinalBurn Alpha | FB Alpha 2012 | FB Alpha 2012 Neo Geo,
FB Alpha 2012 CPS-1,
FB Alpha 2012 CPS-2,
FB Alpha 2012 CPS-3 | Yes | Single archive file following MAME name standard in root folder | @@ -2108,8 +2110,8 @@ All emulators are RetroArch cores unless marked as **(Standalone**) | naomi | Sega NAOMI | Flycast | | | | | naomigd | Sega NAOMI GD-ROM | Flycast | | | | | n3ds | Nintendo 3DS | Citra [UW],
Citra **(Standalone)** [M] | Citra 2018 [UW],
Citra **(Standalone)** [UW*] | No | Single ROM file in root folder | -| n64 | Nintendo 64 | Mupen64Plus-Next [UW],
ParaLLEl N64 [M] | ParaLLEl N64 [UW],
Mupen64Plus **(Standalone)** [UMW*] | No | Single archive or ROM file in root folder | -| nds | Nintendo DS | DeSmuME | DeSmuME 2015,
melonDS | | | +| n64 | Nintendo 64 | Mupen64Plus-Next [UW],
ParaLLEl N64 [M] | ParaLLEl N64 [UW],
Mupen64Plus **(Standalone)** [UMW*],
sixtyforce **(Standalone)** [M] | No | Single archive or ROM file in root folder | +| nds | Nintendo DS | DeSmuME | DeSmuME 2015,
melonDS,
melonDS **(Standalone)** [UMW*] | | | | neogeo | SNK Neo Geo | FinalBurn Neo | | Yes | Single archive file following MAME name standard in root folder | | neogeocd | SNK Neo Geo CD | NeoCD | | Yes | Single archive in root folder (which includes the CD image and ripped audio) | | neogeocdjp | SNK Neo Geo CD [Japan] | NeoCD | | Yes | Single archive in root folder (which includes the CD image and ripped audio) | @@ -2133,7 +2135,7 @@ All emulators are RetroArch cores unless marked as **(Standalone**) | ps4 | Sony PlayStation 4 | _Placeholder_ | | | | | psp | Sony PlayStation Portable | PPSSPP | PPSSPP **(Standalone)** | No | Single ISO file in root folder | | psvita | Sony PlayStation Vita | _Placeholder_ | | | | -| psx | Sony PlayStation | Beetle PSX | Beetle PSX HW,
PCSX ReARMed,
DuckStation | Yes | .chd file in root folder for single-disc games, .m3u playlist in root folder for multi-disc games | +| psx | Sony PlayStation | Beetle PSX | Beetle PSX HW,
PCSX ReARMed,
DuckStation,
DuckStation **(Standalone)** [UW*] | Yes | .chd file in root folder for single-disc games, .m3u playlist in root folder for multi-disc games | | samcoupe | SAM Coupé | SimCoupe | | | | | satellaview | Nintendo Satellaview | Snes9x - Current | Snes9x 2010,
bsnes,
bsnes-mercury Accuracy,
Mesen-S | | | | saturn | Sega Saturn | Beetle Saturn | Kronos [UW],
YabaSanshiro [UW],
Yabause | | | @@ -2167,7 +2169,7 @@ All emulators are RetroArch cores unless marked as **(Standalone**) | videopac | Philips Videopac G7000 | O2EM | | | | | virtualboy | Nintendo Virtual Boy | Beetle VB | | | | | wii | Nintendo Wii | Dolphin | Dolphin **(Standalone)** [UMW*] | | | -| wiiu | Nintendo Wii U | _Placeholder_ | | | | +| wiiu | Nintendo Wii U | Cemu **(Standalone)** [W*] | | No | In separate folder | | wonderswan | Bandai WonderSwan | Beetle Cygne | | | | | wonderswancolor | Bandai WonderSwan Color | Beetle Cygne | | | | | x1 | Sharp X1 | x1 | | | Single archive or ROM file in root folder |