2021-01-03 10:58:27 +00:00
# EmulationStation Desktop Edition (ES-DE) - Changelog
2020-06-14 10:55:31 +00:00
2021-05-02 10:45:39 +00:00
[[_TOC_]]
2022-02-20 19:01:49 +00:00
## Version 2.0.0 (in development)
2021-12-29 16:22:18 +00:00
**Release date:** TBD
### Release overview
### Detailed list of changes
2022-01-02 12:28:24 +00:00
2022-01-29 18:03:21 +00:00
* Made fundamental changes to the application logic by removing most view styles and replacing them with a new theme variants concept
* Added theme support for defining and applying different layouts for various display aspect ratios such as 16:9 and 4:3
* Made gamelist theming much more flexible by allowing any number of elements of any types to be defined
* Deprecated multiple older theming concepts like features, extras and hardcoded metadata attributes
2022-03-15 18:00:02 +00:00
* Modernized the OpenGL renderer by replacing the fixed function pipeline with shaders
2022-04-10 18:36:07 +00:00
* Unified the desktop OpenGL and OpenGL ES renderers and upgraded to OpenGL 3.3 (as default) and OpenGL ES 3.0 respectively
* OpenGL: Added an OpenGLVersion setting for choosing between OpenGL 3.3, 4.2 and 4.6 (has to be manually set in es_settings.xml)
* 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)
2022-03-15 18:00:02 +00:00
* Greatly improved the performance of shader post-processing such as scanlines and blur rendering
2022-02-21 18:28:55 +00:00
* Added support for asterisks/wildcards for emulator name matching, usable both in es_find_rules.xml and es_systems.xml
2022-03-28 16:05:47 +00:00
* 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
2022-02-01 17:43:42 +00:00
* Reorganized the UI Settings menu a bit and added entries to set the variant and aspect ratio for newer theme sets
2022-02-20 18:32:01 +00:00
* 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"
2022-02-14 19:13:52 +00:00
* Added support for defining which types of game media to use for all image elements (and also for the video component static image)
2022-01-29 18:03:21 +00:00
* Added a legacy (backward compatibility) mode for still supporting older RetroPie EmulationStation themes
* Added theme support for Lottie animations (vector graphics)
2022-03-06 12:05:05 +00:00
* Added theme support for GIF animations
2022-02-14 19:13:52 +00:00
* Added a GameSelectorComponent for displaying game media and metadata in the system view
2022-03-18 22:03:53 +00:00
* Added support to the system view for displaying videos, Lottie animations, GIF animations, date/time components and game ratings
2022-02-09 21:17:31 +00:00
* Replaced the forceUppercase theme property with a more versatile letterCase property (forceUppercase is retained for legacy theme compatibility)
2022-01-29 18:03:21 +00:00
* Made it possible to set any text element as a scrollable container using either metadata values or literal strings
2022-02-10 23:32:34 +00:00
* Added support for defining the scrollable container speed, start delay and reset delay from the theme configuration
2022-02-12 17:01:44 +00:00
* Added theme support for defining the opacity for most element types
2022-03-18 22:03:53 +00:00
* Added theme support for defining color saturation for images, videos and animations
2022-02-20 18:32:01 +00:00
* Added theme support for defining the video fade-in time
2022-02-12 17:01:44 +00:00
* Added theme support for enabling and disabling video pillarboxes and scanline rendering
2022-02-20 18:32:01 +00:00
* Added theme support for enabling or disabling audio playback for videos
2022-03-18 22:03:53 +00:00
* Added theme support for setting separate textColorDimmed and iconColorDimmed properties for the system and gamelist views
2022-04-10 18:36:07 +00:00
* Added support for nesting of theme variables
* Prevented loading of theme sets using the "resolution" tag introduced by RetroPie in 2020 as it's a very bad idea to use this logic
2022-02-12 17:01:44 +00:00
* Disabled the pillarboxes and scanline rendering menu options when using a non-legacy theme set
2022-02-10 23:32:34 +00:00
* Improved theme element placement by replacing the "alignment" and "logoAlignment" properties with specific horizontal and vertical properties
2022-01-30 20:49:20 +00:00
* Made it possible to use almost all game metadata field when theming text elements
2022-02-13 11:22:40 +00:00
* Made it possible to set the image interpolation method (nearest neighbor or linear filtering) per image from the theme configuration
2022-03-28 16:05:47 +00:00
* Changed the helpsystem properties entrySpacing and iconTextSpacing from fixed pixel values to relative values
2022-02-14 19:13:52 +00:00
* Added support for using unsigned integers for theme properties
2022-01-03 17:55:13 +00:00
* 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
2022-01-15 15:24:20 +00:00
* Added scraping of fan art and updated the media viewer to display these images
* Added scraping of box back covers when using TheGamesDB
2022-03-30 17:14:28 +00:00
* Moved the option "Scrape actual folders" higher up in the scraper options menu
2022-01-15 15:24:20 +00:00
* Added the ability to set a manual sortname specifically for custom collections using the metadata editor
2022-01-16 17:36:59 +00:00
* When scraping in semi-automatic mode, horizontal scrolling of long game names are no longer reset when automatically selecting the result
2022-02-20 18:32:01 +00:00
* Added support for using the tilde (~) symbol in the es_systems.xml path entries to expand to the user home directory
2022-01-22 21:04:53 +00:00
* Reduced CPU usage significantly when a menu is open by not rendering the bottom of the stack
2022-02-09 21:17:31 +00:00
* Reduced CPU usage significantly by only rendering the necessary systems in SystemView
2022-03-15 18:00:02 +00:00
* Added support for dimming components (fade to black)
2022-01-15 15:24:20 +00:00
* Added logging of the display refresh rate on startup
2022-03-15 18:00:02 +00:00
* Added a command line option to rotate the application screen 180 degrees
2022-04-10 18:36:07 +00:00
* Added support for the platform pico8 (only platform and scraper support, no system or theme configuration added yet)
2022-01-29 18:03:21 +00:00
* Improved the theme loading error logging to make it consistent and easier to understand
* Added a log warning for unthemed systems during theme set loading
2022-02-09 21:17:31 +00:00
* Changed the warning log level for missing theme files to debug level if the paths are set using variables
2022-02-09 22:14:36 +00:00
* Added new theme system variables for differentiating between collections and non-collection systems
2022-03-28 16:05:47 +00:00
* Added shader support for performing BGRA to RGBA color conversion
2022-02-20 18:32:01 +00:00
* Added opacity support to the scanline shader
2022-01-09 19:40:36 +00:00
* Added the rlottie library as a Git subtree
2022-03-15 18:00:02 +00:00
* Updated to build correctly with FFmpeg 5.0
* Refactored the rendering code from a shared namespace into proper classes
* Removed the deprecated OpenGL ES 1.0 renderer
2022-01-09 19:40:36 +00:00
* On Windows all dependencies were moved in-tree to the "external" directory to greatly simplify the build environment
2022-02-02 20:26:06 +00:00
* Updated the build scripts to support native M1/ARM builds on macOS
* Improved the in-tree build on macOS to not needing to install any libraries when compiling the "external" dependencies
2022-01-09 19:40:36 +00:00
* Large refactoring to improve thread safety and improve singleton pattern usage
2022-01-15 15:24:20 +00:00
* Moved all Platform functions to the utility namespace instead of using the global namespace
2022-03-28 16:05:47 +00:00
* Implemented proper XML attribute support in ThemeData that eliminates the risk of name collisions
2022-04-10 18:36:07 +00:00
* Added size restrictions to images and fonts so incorrect theme configuration would not lead to crashes or excessive memory utilization
2022-02-07 20:23:36 +00:00
* Migrated the carousel code from SystemView to a separate new CarouselComponent
2022-01-22 21:04:53 +00:00
* Changed all occurances of "GameList" to "Gamelist" throughout the codebase
* Removed a huge amount of unnecessary Window* function parameters throughout the codebase
2022-03-18 22:03:53 +00:00
* Removed a lot of unnecessary applyTheme() calls when updating help prompts
2022-02-12 17:01:44 +00:00
* Changed the opacity data type and functions from unsigned char to float throughout the codebase
2022-01-22 21:04:53 +00:00
* Refactored the six gamelist classes into two new classes; GamelistBase and GamelistView
* Rewrote the gamelist logic to handle an arbitrary amount of components per type and split the legacy code into a separate file
* 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
* Moved UIModeController.cpp from the es-app/views directory to es-app
2022-02-21 18:28:55 +00:00
* Updated the StringUtil::replace function as the old function was dangerous and could run into an endless loop
2022-01-16 17:36:59 +00:00
* Set the clang-format option SpaceBeforeCpp11BracedList to true and reformatted the codebase
2022-01-15 15:24:20 +00:00
* Removed some unnecessary typedefs and replaced the remaining ones with the more modern "using" keyword
2022-02-20 18:32:01 +00:00
* Greatly simplified the video controls code (play/stop/pause etc.)
2022-01-02 12:28:24 +00:00
* Removed the deprecated VideoVlcComponent
2022-01-16 17:36:59 +00:00
* Lots of general code cleanup and refactoring
2022-03-30 17:14:28 +00:00
* Changed tools/create_AppImage.sh to not include version information in the AppImage filename
2022-01-29 18:03:21 +00:00
* Updated and improved the theming documentation
2022-01-02 12:28:24 +00:00
### Bug fixes
2022-03-28 16:05:47 +00:00
* During some menu operations that reloaded the gamelist view, the cached background could miss some components as they were not rendered in time
2022-01-15 15:24:20 +00:00
* 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
2022-03-28 16:05:47 +00:00
* Navigation sounds for the trigger buttons would play when repeatedly pressed at the start or end of text lists
2022-02-12 17:01:44 +00:00
* Slide and fade transitions would sometimes stop working after changing theme sets
2022-02-20 18:32:01 +00:00
* Using fade transitions, when holding a direction button to scroll the system view carousel, the key repeat would cause an unwanted background rendering
2022-03-18 22:03:53 +00:00
* The outermost logos would sometimes glitch out during carousel transitions
2022-02-12 17:01:44 +00:00
* Horizontal and vertical gradients were mixed up (showing the opposite gradient type if set in a theme)
2022-02-20 18:32:01 +00:00
* The VideoComponent static images were not fading out smoothly on gamelist fast-scrolling
2022-02-12 17:01:44 +00:00
* Rating icon outlines would not fade out correctly when fast-scrolling in a gamelist
2022-02-20 18:32:01 +00:00
* If setting an origin other than 0.5 for a video with pillarboxes enabled, the video would not get centered on the black rectangle
2022-03-15 18:00:02 +00:00
* If a gamelist scroll fade-in animation was playing when opening a menu, it would continue to play after closing the menu
* When a legacy theme set had a video view style but did not have a valid md_video entry then the video player would still start (and play the audio)
2022-01-15 15:24:20 +00:00
* Clearing a game in the metadata editor would sometimes not remove all media files (if there were both a .jpg and a .png for a certain file type)
2022-02-01 17:43:42 +00:00
* Text opacity did not work correctly in some places, such as for the help prompts
* ScrollableContainer faded semi-transparent text to fully opaque when resetting
* ScrollableContainer faded in the background text color in addition to the text color when resetting
2022-04-10 18:36:07 +00:00
* Theme sets were not always sorted correctly (as seen when mixing uppercase and lowercase in theme names)
2022-02-12 17:01:44 +00:00
* The device text flickered in GuiDetectDevice when configuring a controller
* The selector bar was not aligned correctly during menu scale-up animations
2022-01-03 17:55:13 +00:00
2022-04-10 18:36:07 +00:00
## Version 1.2.3 (in development)
**Release date:** TBD
### Release overview
v1.2 maintenance release.
### Detailed list of changes
* Added a scraper setting to convert underscores _ to spaces when searching
* Replaced the RetroArch core 4DO with Opera for the 3do system
* Added the .wud and .wux file extensions for the wiiu system on Windows
* Added missing scraper entries for samcoupe and zx81 for TheGamesDB and zmachine for ScreenScraper
* neogeocd is now scraped specifically as "Neo Geo CD" instead of the more generic "Neo Geo"
### Bug fixes
* Navigating the list of alternative emulators would sometimes lead to an incorrect row positioning
2022-04-07 17:29:00 +00:00
## Version 1.2.2
2022-04-02 10:04:12 +00:00
2022-04-07 17:29:00 +00:00
**Release date:** 2022-04-07
2022-04-02 10:04:12 +00:00
### Release overview
2022-04-07 17:29:00 +00:00
v1.2 maintenance release. The accuracy of the automatic (non-interactive) scraper has been greatly increased when using ScreenScraper. Some bugs were also fixed and a number of alternative emulators and file extensions have been added.
2022-04-02 10:04:12 +00:00
### Detailed list of changes
2022-04-05 15:59:56 +00:00
* ScreenScraper searches in automatic mode are now faster and much more accurate
* Added fallback to high resolution marquee/wheel images for ScreenScraper if no regular wheel image was found
2022-04-07 17:29:00 +00:00
* Set the interactive scraper as disabled by default
2022-04-05 15:59:56 +00:00
* Added support for the Nintendo SFC (Super Famicom) game system
* Added the SwanStation RetroArch core as an alternative emulator for the psx system
2022-04-06 21:26:23 +00:00
* Added mGBA, mGBA standalone, VBA-M and VBA-M standalone as alternative emulators for the gb and gbc systems
* Added the bsnes-hd RetroArch core as an alternative emulator to the satellaview, snes, snesna and sufami systems
* Added the FCEUmm and Mesen RetroArch cores as alternative emulators for the fds system
2022-04-05 15:59:56 +00:00
* Added the a5200 RetroArch core for the atari5200 system and set it as default, with atari800 as the alternative
* Added the .chd file extension to the ps2 system
* Added the .dosz file extension to the dos and pc systems
2022-04-05 20:20:53 +00:00
* Added the .lnk file extension to the desktop, kodi and ports systems on Windows
* Added the .url file extension to the steam system on Windows
2022-04-05 15:59:56 +00:00
* Emulator Flatpaks can now be installed to the home directory on Debian
2022-04-03 18:18:26 +00:00
* Increased the default VRAM limit from 256 MiB to 512 MiB on the Steam Deck
2022-04-02 10:04:12 +00:00
### Bug fixes
2022-04-05 15:59:56 +00:00
* A crash could occur under some circumstances due to an insufficient font texture size
* The systems were not always sorted correctly
2022-04-03 18:18:26 +00:00
* The help system was not properly updated after results were returned by the scraper
2022-04-02 10:04:12 +00:00
2022-03-30 17:14:28 +00:00
## Version 1.2.1
2022-03-28 16:05:47 +00:00
2022-03-30 17:14:28 +00:00
**Release date:** 2022-03-30
2022-03-28 16:05:47 +00:00
### Release overview
2022-03-30 17:14:28 +00:00
v1.2 maintenance release. Some minor bugs were fixed and some smaller adjustments were made but most importantly this release brings support for a lot more standalone emulators on all supported platforms.
2022-03-28 16:05:47 +00:00
### Detailed list of changes
2022-03-28 21:08:35 +00:00
* Added support for the standalone emulators Citra, Dolphin, DuckStation, MAME, melonDS, mGBA, Mupen64Plus, PPSSPP, Redream, Ryujinx and VBA-M
2022-03-30 17:14:28 +00:00
* Added support for the standalone emulators sixtyforce and xemu for macOS, Cemu for Windows and PrimeHack for Unix
* Added the .m3u, .rvz and .wia file extensions for the Dolphin emulator
* Set the option "Scrape actual folders" as enabled by default
* Set the option "Play audio for screensaver videos" as enabled by default
2022-03-28 16:05:47 +00:00
### 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
2022-03-28 21:47:55 +00:00
* modern-DE: Small adjustment to make the help system fit on screen at all times
2022-03-28 16:05:47 +00:00
2021-12-28 16:01:33 +00:00
## Version 1.2.0
2021-08-11 09:36:42 +00:00
2021-12-28 16:01:33 +00:00
**Release date:** 2021-12-28
2021-08-11 09:36:42 +00:00
### Release overview
2021-12-27 15:52:21 +00:00
The 1.2 release introduces multiple new features and brings extensive bug fixing and lots of other small improvements. Support for alternative emulators has been added which can be selected system-wide or per game. These alternative emulators are added to the es_systems.xml file, making it easy to expand or customize the configuration. For this release most of the available RetroArch cores have been preconfigured, and a couple of standalone emulators have been included as well.
2021-11-10 21:52:19 +00:00
A virtual keyboard has been added (some code borrowed from Batocera.linux) which is fully integrated and can be used to input text via a game controller. By introducing this feature, a keyboard should now be completely optional for day-to-day use.
Another new feature is support for badges that display icons in the gamelist view indicating favorite games, completed games, game-specific controllers etc. Note that these badges require support from the theme set. And on the topic of theme sets, a new theme named modern-DE has been included with the installation as an alternative to the default rbsimple-DE theme.
The scraper has been improved and expanded, and in addition to the previously supported media it can now scrape box back covers, title screens and physical media images (cartridges, diskettes, tapes, CD-ROMs etc.). These physical media images are also included in the generated miximages, although that can be disabled using a menu option.
As for supported platforms, v1.2 brings official support for the Raspberry Pi 4/400, both for the 32-bit (armv7l) and 64-bit (aarch64) versions of Raspberry Pi OS.
Apart from all the above, a huge amount of work has gone into fixing bugs, refactoring the code and optimizing for performance. The language standard has been increased from C++14 to C++17 and the built-in vector and matrix data types and functions have been replaced with the GLM (OpenGL Mathematics) library equivalents.
2021-08-11 09:36:42 +00:00
### Detailed list of changes
2021-09-04 10:22:17 +00:00
* Added alternative emulators support where additional emulators can be defined in es_systems.xml and be selected system-wide or per game via the user interface
2021-09-30 18:24:39 +00:00
* Populated the bundled es_systems.xml files with alternative emulator entries for most RetroArch cores
* Added a virtual keyboard, partly based on code from batocera-emulationstation
2021-10-12 21:40:58 +00:00
* Added badges that indicate favorite/completed/broken games as well as games suitable for children and those with a selected alternative emulator
2021-10-27 18:05:48 +00:00
* Added game-specific controllers that are selectable via the metadata editor and displayed as a controller badge
2021-10-28 19:04:37 +00:00
* Added scraping of title screens, box back covers and physical media images
* Updated the media viewer to display title screens and box back cover images
2021-10-30 17:11:25 +00:00
* Added physical media images to the generated miximages
* Added an option to rotate horizontally oriented game boxes when generating miximages
* Added size options (small/medium/large) for the boxes/covers and physical media images when generating miximages
2021-11-08 18:28:22 +00:00
* Added support for the Raspberry Pi 4 (Raspberry Pi OS 32-bit/armv7l and 64-bit/aarch64)
2021-12-27 15:52:21 +00:00
* Bundled a new alternative theme "modern-DE" which supports all the latest features from this release
2021-12-08 20:35:54 +00:00
* Changed the Unix fullscreen mode and removed the --windowed, --fullscreen-normal and --fullscreen-borderless command line options
2021-12-06 19:48:47 +00:00
* Removed the Unix-specific menu option "Fullscreen mode (requires restart)"
2021-12-09 20:28:04 +00:00
* Changed the Windows fullscreen mode and removed the "AMD and Intel GPU game launch workaround" menu option
* Made game launching more seamless on Windows for all GPU types
2021-09-05 15:47:00 +00:00
* Added the ability to make complementary game system customizations without having to replace the entire bundled es_systems.xml file
2021-09-26 16:23:01 +00:00
* Added support for an optional \<systemsortname\> tag for es_systems.xml that can be used to override the default \<fullname\> systems sorting
2021-11-23 20:51:06 +00:00
* Added a "winregistryvalue" find rule for Windows which can be used to retrieve emulator installation locations from arbitrary Windows Registry keys
* Added a %RUNINBACKGROUND% es_systems.xml variable and removed the hardcoded run in background logic for the Valve Steam system
2021-12-16 17:24:54 +00:00
* Added support for prefixing the %EMULATOR_% variable in the es_systems.xml file with a command, for example to use Wine to launch Windows emulators on Linux
2021-12-17 19:31:12 +00:00
* Added proper support for interpreting directories as files (for use with emulators where directories rather than files are passed during game launch)
2021-10-12 21:40:58 +00:00
* Added menu scroll indicators showing if there are additional entries available below or above what's currently shown on screen
2021-10-27 18:05:48 +00:00
* Added scraping of controller metadata (only for ScreenScraper and only for arcade systems)
2021-10-18 17:46:41 +00:00
* Improved the layout of the scraper GUIs (single-game scraper and multi-scraper)
* Added horizontal scrolling of long game names to the scraper GUIs
2021-10-28 19:04:37 +00:00
* Removed the "Scrape" text prefix from the scraper content settings
2021-11-27 10:57:14 +00:00
* Setting a blank name for an arcade game in the metadata editor now sets the value to the MAME expanded name instead of the physical file name
2021-11-08 18:28:22 +00:00
* Added proper frame drop functionality to the FFmpeg video player to greatly reduce stuttering on slower machines
* Made multiple optimizations to the FFmpeg video player to reduce CPU usage and to increase framerates on slower machines
* Disabled the FFmpeg video player hardware decoding option (it can still be built using a CMake flag)
2021-12-14 17:26:55 +00:00
* Significantly reduced the CPU usage on macOS while running in the background
2021-11-08 18:28:22 +00:00
* Removed the copying of es_settings.cfg to es_settings.xml as it caused issues when migrating from other EmulationStation forks
2021-11-10 21:52:19 +00:00
* Improved the gamelist filter GUI to not allow filtering of values where there is no actual data to filter, e.g. Favorites for a system with no favorite games
* Grayed out all fields in the gamelist filter GUI where there is no data to filter, previously some fields were removed entirely and some could still be used
2021-10-27 18:05:48 +00:00
* Added filters for "Controller" and "Alternative emulator" and sorted the filters in the same order as the metadata editor fields
2021-11-10 21:52:19 +00:00
* Added the ability to filter on blank/unknown values for Genre, Player, Developer, Publisher, Controller and Alternative emulator
2021-08-11 10:16:35 +00:00
* Added a menu option to change the application exit key combination
2021-11-27 10:57:14 +00:00
* If there are no custom collections, the "Custom game collections" menu entry is now grayed out
2021-10-25 17:17:40 +00:00
* Added an option to preload the gamelists on startup which leads to smoother navigation when first entering each gamelist
2021-12-06 19:48:47 +00:00
* Increased the amount of arguments for the custom event scripts from two to four
* Added the system name and full system name as additional arguments to the game-start and game-end custom events
2021-09-30 18:24:39 +00:00
* Lowered the minimum supported screen resolution from 640x480 to 224x224 to support arcade cabinet displays such as those running at 384x224 and 224x384
2021-12-20 17:30:38 +00:00
* Removed the ResidualVM system as it has been merged with ScummVM
2021-11-10 21:52:19 +00:00
* Added support for the Commodore VIC-20, Epic Games Store, Google Android, Java 2 Micro Edition, Philips CD-i and Symbian systems
2021-12-16 17:24:54 +00:00
* Added emulator configurations for the Microsoft Xbox, Microsoft Xbox 360 and Sony PlayStation 3 systems
2021-11-10 21:52:19 +00:00
* Added support for a more advanced system view carousel logo placeholder (for unthemed systems) by allowing the combination of text and graphics
* Expanded the themeable options for "helpsystem" to support custom button graphics, dimmed text and dimmed icon colors, upper/lower/camel case and custom spacing
2021-09-30 18:24:39 +00:00
* Made the scrolling speed of ScrollableContainer more consistent across various screen resolutions and display aspect ratios
2021-10-18 17:46:41 +00:00
* Decreased the amount of text that ScrollableContainer renders above and below the starting position as content is scrolled
2021-10-06 17:15:33 +00:00
* Made the game name and description stop scrolling when running the media viewer, the screensaver or when running in the background while a game is launched
2021-10-08 17:46:31 +00:00
* Added notification popups when plugging in or removing controllers
2021-10-25 17:17:40 +00:00
* Made large optimizations to the SVG rendering which reduces application startup time dramatically when many systems are populated
2021-11-10 21:52:19 +00:00
* Changed to loading the default theme set rbsimple-DE instead of the first available theme if the currently configured theme set is missing
* Added support for displaying the left and right trigger buttons in the help prompts
2021-12-27 15:52:21 +00:00
* Removed the "Choose" entry from the gamelist view help prompts
2021-10-18 17:46:41 +00:00
* Replaced a number of help prompt hacks with proper solutions
2021-09-04 09:58:26 +00:00
* Changed the "Toggle screensaver" help entry in the system view to simply "Screensaver"
2021-11-10 21:52:19 +00:00
* Changed the font size for the custom collection deletion screen to use the same size as all other menus
2021-09-04 09:58:26 +00:00
* Added support for upscaling bitmap images using linear filtering
2021-12-27 15:52:21 +00:00
* Changed the marquee image upscale filtering from nearest neighbor to linear for the launch screen and gamelist views
2021-12-06 19:48:47 +00:00
* Made the window corners slightly more rounded
2021-11-10 21:52:19 +00:00
* Moved the Media viewer and Screensaver settings higher in the UI settings menu
* Moved the game media directory setting to the top of the Other settings menu, following the new Alternative emulators entry
2021-12-06 19:48:47 +00:00
* Moved the ScreenScraper account toggle to the bottom of the scraper account settings menu
2021-11-08 18:28:22 +00:00
* Lowered the default volumes slightly for videos and navigation sounds
2021-11-10 21:52:19 +00:00
* Added loading of the System view to the ViewController preload function to decrease theme extras texture pop-in
2021-12-27 15:52:21 +00:00
* Disabled the application startup animations on macOS as they were very choppy and looked bad after moving to SDL 2.0.18
* Changed the filter description "Text filter (game name)" to simply "Game name" and a keyboard icon
2021-11-10 21:52:19 +00:00
* Removed a margin hack from TextComponent
* If abbreviated strings end with a space character, that space is now removed (TextComponent)
2021-09-26 16:23:01 +00:00
* Added support for multi-select total count and exclusive multi-select to OptionListComponent
2021-10-12 21:40:58 +00:00
* Added support for a maximum name length to OptionListComponent (non-multiselect only) with an abbreviation of the name if it exceeds this value
2021-11-10 21:52:19 +00:00
* Added support for key repeat to OptionListComponent, making it possible to cycle through the options by holding the left and right buttons
2021-10-08 17:46:31 +00:00
* Added key repeat for the "Jump to" and "Sort games by" selectors on the game options menu
* Added key repeat when editing the "Release date" entry in the metadata editor (DateTimeEditComponent)
2021-10-13 16:47:34 +00:00
* Added support for setting the Kidgame metadata flag for folders (which will only affect the badges)
2021-11-10 21:52:19 +00:00
* Added a blinking cursor to TextEditComponent
2021-09-26 16:23:01 +00:00
* Achieved a massive speed improvement for OptionListComponent by not resizing each added MenuComponent row (most notable in the filter GUI)
2021-09-30 18:24:39 +00:00
* Made multiple optimizations to the GUI components by removing lots of unnecessary function calls for sizing, placement, opacity changes etc.
2021-10-08 17:46:31 +00:00
* Simplified the logic for info popups and prepared the code for the future "multiple popups" feature
2021-09-17 21:42:43 +00:00
* Added support for a new type of "flat style" button to ButtonComponent
* Added support for correctly navigating arbitrarily sized ComponentGrid entries, i.e. those spanning multiple cells
2021-09-04 09:58:26 +00:00
* Bundled the bold font version of Fontfabric Akrobat
2021-10-24 16:38:14 +00:00
* Moved the resources/help directory to resources/graphics/help
* Removed the unused graphics files resources/graphics/fav_add.svg and resources/graphics/fav_remove.svg
2021-10-06 17:15:33 +00:00
* Added RapidJSON as a Git subtree
2021-08-13 19:23:37 +00:00
* Added the GLM (OpenGL Mathematics) library as a Git subtree
2021-08-18 19:55:20 +00:00
* Replaced all built-in matrix and vector data types and functions with GLM library equivalents
* Replaced some additional math functions and moved the remaining built-in functions to a math utility namespace
* Added a function to generate MD5 hashes
2021-11-18 21:33:56 +00:00
* Improved thread safety at multiple places throughout the codebase
2021-09-30 18:24:39 +00:00
* Made an optimization for SVG graphics to avoid a lot of unnecessary re-rasterizations
2021-11-30 21:43:12 +00:00
* Made all dependencies build in-tree on macOS instead of having to rely on Homebrew-supplied libraries
2021-11-27 10:57:14 +00:00
* Added a script to generate an AppImage on Linux
2021-11-18 21:33:56 +00:00
* Lots of other general code refactoring
2021-09-21 20:46:59 +00:00
* Increased the warning level for Clang/LLVM and GCC by adding -Wall, -Wpedantic and some additional flags
2021-09-19 21:14:31 +00:00
* Fixed a lot of compiler warnings introduced by the -Wall and -Wpedantic flags
2021-08-18 19:55:20 +00:00
* Changed the language standard from C++14 to C++17
2021-09-21 20:46:59 +00:00
* Increased the minimal required compiler version to 5.0.0 for Clang/LLVM and 7.1 for GCC
2021-11-18 21:33:56 +00:00
* Added CMake options to build with AddressSanitizer, ThreadSanitizer and UndefinedBehaviorSanitizer
2021-09-19 21:14:31 +00:00
* Changed two clang-format rules related to braced lists and reformatted the codebase
2021-12-27 15:52:21 +00:00
* Upgraded the bundled SDL version 2.0.14 to 2.0.18 on Windows and macOS
2021-11-10 21:52:19 +00:00
* Bundled the October 2021 release of the Mozilla TLS/SSL certificates
* Updated the MAME index files to include ROMs up to MAME version 0.237
2021-12-27 15:52:21 +00:00
* rbsimple-DE: Added some missing graphics for the xbox360 system
* rbsimple-DE: Improved existing graphics for the dos, pc and scummvm systems
* rbsimple-DE: Updated the info text for most systems
2021-08-11 10:16:35 +00:00
### Bug fixes
2021-12-02 16:55:42 +00:00
* Single-scraping a game, aborting and then re-scraping without leaving the metadata editor would sometimes lead to a crash
2021-09-30 18:24:39 +00:00
* Setting a really small font size in a theme would crash the application
2021-12-14 17:26:55 +00:00
* Text containing invalid (partial) Unicode characters could crash the application
2021-11-27 10:57:14 +00:00
* Deleting the last custom collection could crash the application if the grouped "collections" system was set as the startup gamelist
2021-12-10 15:51:41 +00:00
* Connecting a controller with buggy drivers could crash the application
2021-11-08 18:28:22 +00:00
* Setting an invalid UIMode value in the configuration file could crash the application
* Setting an invalid scraper service value in the configuration file could crash the application
2021-09-30 18:24:39 +00:00
* When scraping in interactive mode with "Auto-accept single game matches" enabled, the game name could not be refined if there were no games found
* When scraping in interactive mode, the game counter was not decreased when skipping games, making it impossible to skip the final games in the queue
* When scraping in interactive mode, "No games found" results could be accepted using the "A" button
2021-09-23 16:33:17 +00:00
* When scraping in interactive mode, any refining done using the "Y" button shortcut would not be shown when doing another refine using the "Refine search" button
2021-11-27 10:57:14 +00:00
* When scraping in interactive mode, the first result row would get focused after the search completed even if the cursor was moved to a button beneath the list
2021-10-27 18:05:48 +00:00
* The multi-scraper did not update the filter index
2021-12-02 16:55:42 +00:00
* Multi-scraping and aborting before any games were fully scraped but after some game media was downloaded did not trigger a gamelist reload
2021-12-09 20:28:04 +00:00
* (Windows) Launching a game that changed the screen resolution would offset the ES-DE application window when exiting
* (Windows) Enabling the option to hide the taskbar would sometimes not focus the application window on startup (possibly only an issue on Windows 8.1)
2021-12-23 12:40:14 +00:00
* If there were gamelist.xml entries for existing files whose extensions were not setup in es_systems.xml, these would still get loaded and displayed
2021-12-27 15:52:21 +00:00
* Fixed multiple minor rendering issues where graphics would be slightly cut off or incorrectly sized
2021-09-30 18:24:39 +00:00
* Under some circumstances ScrollableContainer (used for the game descriptions) would contain a partially rendered bottom line
2021-10-06 17:15:33 +00:00
* If the TextListComponent height was not evenly dividable by the font height + line spacing, a partial bottom row would get rendered
* The line spacing for TextListComponent was incorrectly calculated for some resolutions such as 2560x1440
2021-11-10 21:52:19 +00:00
* Fixed multiple issues with scaling of images which led to various inconsistencies and sometimes cut-off graphics
2021-11-27 10:57:14 +00:00
* The system time zone was not taken into consideration when using the Unix epoch which lead to various strange problems in the metadata editor
2021-09-26 16:23:01 +00:00
* Removing games from custom collections did not remove their filter index entries
2021-12-27 15:52:21 +00:00
* Enabling the All Games collection lead to a potentially large memory leak under some circumstances
2021-09-21 20:53:08 +00:00
* Input consisting of only whitespace characters would get accepted by TextEditComponent which led to various strange behaviors
2021-12-27 15:52:21 +00:00
* Leading and trailing whitespace characters would not get trimmed from the ROM directory when entering this during initial setup
2021-09-21 20:46:59 +00:00
* Leading and trailing whitespace characters would not get trimmed from the collection name when creating a new custom collection
* Leading and trailing whitespace characters would get included in scraper search refines and TheGamesDB searches
2021-11-05 10:22:47 +00:00
* Leading and trailing whitespace characters would get included in game name filters
2021-11-18 21:33:56 +00:00
* Fixed multiple data races throughout the codebase caused by insufficient thread safety
2021-09-23 16:33:17 +00:00
* Game name (text) filters were matching the system names for collection systems if the "Show system names in collections" setting was enabled
* Brackets such as () and [] were filtered from game names in collection systems if the "Show system names in collections" setting was enabled
2021-11-11 18:56:06 +00:00
* If a theme used the forceUppercase property for a TextListComponent, this value was always set to true even if the theme defined it as false
2021-10-12 21:40:58 +00:00
* Fixed multiple issues where ComponentGrid would display incorrect help prompts
2021-10-08 17:46:31 +00:00
* Help prompts were missing for the "Rating" and "Release date" fields in the metadata editor
* There was some strange behavior in DateTimeEditComponent when changing the date all the way down to 1970-01-01
2021-09-04 09:58:26 +00:00
* When navigating menus, the separator lines and menu components did not align properly and moved up and down slightly
2021-10-12 21:40:58 +00:00
* Under some circumstances and at some screen resolutions, the last menu separator line would not get rendered (still an issue at extreme resolutions like 320x240)
2021-09-19 21:14:31 +00:00
* When scrolling in menus, pressing other buttons than "Up" or "Down" did not stop the scrolling which caused all sorts of weird behavior
2021-09-04 09:58:26 +00:00
* With the menu scale-up effect enabled and entering a submenu before the parent menu was completely scaled up, the parent would get stuck at a semi-scaled size
2021-12-08 20:35:54 +00:00
* The launch screen text had ugly scaling artifacts if the menu opening effect was set to "Scale-up"
2021-10-18 17:46:41 +00:00
* The custom collection deletion screen had incorrect row heights when running at lower resolutions such as 1280x720
2021-10-12 21:40:58 +00:00
* If there was an abbreviated full system name for the "Gamelist on startup" option, that abbreviation would also get displayed when opening the selector window
* Really long theme set names would not get abbreviated in the UI settings menu, leading to a garbled "Theme set" setting row
2021-09-19 21:14:31 +00:00
* Disabling a collection while its gamelist was displayed would lead to a slide transition from a black screen if a gamelist on startup had been set
2021-09-21 20:46:59 +00:00
* When marking a game to not be counted in the metadata editor and the game was part of a custom collection, no collection disabling notification was displayed
2021-10-27 18:05:48 +00:00
* When running really low on texture memory, the menu texture would not get rendered correctly
2021-11-10 21:52:19 +00:00
* At low screen resolutions, logos on the System view carousel would sometimes jump down a pixel when scaling down
2021-10-30 17:11:25 +00:00
* There was a tiny and randomly occuring gap between the system carousel and systemInfo bar during slide transitions between the System and Gamelist views
2021-12-28 16:01:33 +00:00
* The "no games" dialog did not have correct line wrapping when running at 1280x1024
2021-10-24 16:38:14 +00:00
* SliderComponent had very inconsistent widths at different screen aspect ratios
2021-10-23 17:30:58 +00:00
* SliderComponent did not properly align the knob and bar vertically
2021-11-11 18:56:06 +00:00
* Buttons were not sized and padded consistently across different screen resolutions
* OptionListComponent arrows were not padded consistently across different screen resolutions
2021-10-23 17:30:58 +00:00
* Resizing in SwitchComponent did not reposition the image properly leading to a non-centered image
2021-09-17 21:42:43 +00:00
* Horizontal sizing of the TextComponent input field was not consistent across different screen resolutions
2021-10-12 21:40:58 +00:00
* The sizing of the metadata editor was strange, which was clearly visible when activating the Ctrl+G debug mode
2021-09-17 21:42:43 +00:00
* The "sortname" window header was incorrectly spelled when editing this type of entry in the metadata editor
2021-09-04 09:58:26 +00:00
* When the last row of a menu had its text color changed, this color was completely desaturated when navigating to a button below the list
2021-08-10 15:51:18 +00:00
## Version 1.1.0
2021-05-02 10:45:39 +00:00
2021-08-10 15:51:18 +00:00
**Release date:** 2021-08-10
2021-05-02 10:45:39 +00:00
### Release overview
2021-06-26 10:32:25 +00:00
The 1.1 release brings many large changes including a fullscreen media viewer, a game launch screen, a miximage generator, a new video player and a new controller API featuring automatic controller configuration and controller profiles.
2021-06-20 12:38:10 +00:00
2021-06-26 10:32:25 +00:00
A much better mechanism to find emulators and emulator cores has been implemented as well, which among other things removes the need to manually modify the Path variable on Windows to find RetroArch. It also eliminates the requirement for a separate Flatpak-specific es_systems.xml file on Linux.
2021-06-20 12:38:10 +00:00
2021-07-11 20:48:55 +00:00
There are also several changes under the hood, such as the addition of the CImg image processing library, automatic code formatting of the entire codebase using clang-format, change of language standard from C++11 to C++14 and lots of general code refactoring.
2021-06-26 10:32:25 +00:00
2021-07-11 20:48:55 +00:00
Apart from this, numerous small improvements and bug fixes are part of the release, as detailed below.
2021-06-20 12:38:10 +00:00
2021-05-02 10:45:39 +00:00
### Detailed list of changes
2021-06-09 19:00:00 +00:00
* Added a miximage generator that can be run automatically from the scraper and which includes comprehensive options, configurable from the menu
* Added an offline generator GUI for the miximage generator which can be used for bulk miximage generation without going via the scraper
2021-05-16 14:07:46 +00:00
* Added a fullscreen game media viewer
2021-06-16 18:01:07 +00:00
* Added a game launch screen that displays the marquee image, the game name and the system name
2021-05-14 09:01:55 +00:00
* Added a new video player based on FFmpeg
2021-05-29 11:05:35 +00:00
* Added a 60 FPS frame rate upscaler option to the video player which results in slightly smoother playback for low frame rate videos (e.g. 24 and 30 FPS)
2021-06-20 12:38:10 +00:00
* Implemented a new mechanism for locating emulators and cores, with configurable find rules (this eliminates some hacks such as the separate Flatpak es_systems.cfg file)
2021-07-11 20:48:55 +00:00
* Added a Windows-specific find rule that searches the Registry for the App Paths keys, which eliminates the need to modify the Path manually to find RetroArch
2021-06-20 12:38:10 +00:00
* Removed the deprecated %COREPATH% setting and corresponding menu entry
2021-06-30 16:44:38 +00:00
* The "Run in background (while game is launched)" option can now be enabled on all operating systems instead of only on Windows
* Added a workaround for a game launch issue on Windows when using AMD and Intel GPUs
2021-05-23 17:37:05 +00:00
* Moved to the SDL GameController API which gives numerous improvements to the controller handling
2021-06-20 12:38:10 +00:00
* Default controller configuration is now automatically applied, input configuration should rarely if ever be required any longer except for deliberate button customization
2021-05-23 17:37:05 +00:00
* Added support for selecting the controller type (Xbox, Xbox 360, PS4, PS5 and SNES), which changes the help icons, help text and the input configuration tool icons and text
2021-07-11 20:48:55 +00:00
* Added an option to limit the input in ES-DE to only the first controller (this does not affect the emulators)
2021-07-04 19:01:14 +00:00
* Switched the order of the "Back" and "Start" buttons (or equivalents) in the input configurator to align with the other button entries which go from left to right
2021-07-01 16:00:05 +00:00
* Added separate controller deadzone values for the triggers and thumbsticks
2021-05-23 17:37:05 +00:00
* Removed the startup notification regarding default keyboard mappings being in use, instead default mappings are now considered the recommended input configuration
* The controller input configuration is not automatically started any longer if there is no es_input.cfg file or if there are no applicable configuration entries in the file
2021-06-09 19:00:00 +00:00
* Increased the max allowed size for images when scraping, which should now only downscale files which really need it
2021-05-29 11:05:35 +00:00
* Changed the resampling algorithm for image downscaling for the scraper from bilinear to Lanczos which results in noticeably sharper images
2021-06-09 19:00:00 +00:00
* Added a configurable option to automatically retry scraping up to eight times in case of ScreenScraper TLS errors
2021-06-27 11:25:20 +00:00
* Changed the button for jumping to a random system or game and added a setting for enabling or disabling the functionality altogether
* The help text for the "A" button now shows "Enter" instead of "Launch" in the grouped custom collections view
2021-05-16 21:32:11 +00:00
* Added navigation sounds for some actions where it was missing, such as when attempting to add folders, placeholders or systems to custom collections
* Changed the custom collection "Jump to" navigation sound to the select sound instead of the scroll sound
2021-07-11 20:48:55 +00:00
* A notification is now displayed in the grouped custom collections view if a filter is applied to the selected collection
2021-05-16 21:32:11 +00:00
* Changed the default screensaver type from "dim" to "video" and made the fallback screensaver "dim" instead of "black"
2021-05-16 14:07:46 +00:00
* Moved the video screensaver audio setting to the sound settings menu
2021-06-23 18:14:48 +00:00
* Added support for the Nintendo Switch game system (using the Yuzu emulator)
2021-06-28 20:15:27 +00:00
* 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
2021-05-23 17:37:05 +00:00
* 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
* The quit menu is now disabled by default, instead showing the "Quit EmulationStation" entry unless configured otherwise
2021-06-24 22:07:33 +00:00
* Removed the "Display game media from ROM directories" setting as it doesn't make sense to support this legacy functionality any longer
2021-06-30 16:44:38 +00:00
* Added support for using the %ESPATH% and %ROMPATH% variables in the slideshow screensaver custom image directory setting
2021-07-04 10:30:00 +00:00
* Improved scaling relative to the screen aspect ratio for various GUI components which enhances the layout on 4:3 displays and ultrawide monitors
2021-06-22 16:14:25 +00:00
* Removed the menu fade-in effect as it looked terrible
* Enabled the menu scale-up effect for the OpenGL ES renderer
2021-06-16 18:01:07 +00:00
* Renamed es_systems.cfg, es_settings.cfg and es_input.cfg to es_systems.xml, es_settings.xml and es_input.xml
* Changed the es_systems.xml logic so it loads from the program resources directory by default (a customized file can be placed in ~/.emulationstation/custom_systems)
2021-07-16 16:43:22 +00:00
* Added a %HIDEWINDOW% variable which can be used in the es_systems.xml file on Windows, primarily intended for hiding console windows when launching scripts
2021-06-30 16:44:38 +00:00
* Added support for using the %ESPATH% variable in the media directory setting
2021-06-16 18:01:07 +00:00
* Removed the marquee image from rbsimple-DE as it's now baked into the miximages
2021-06-20 12:38:10 +00:00
* Set the gamelist video scanline rendering option to disabled by default
2021-05-16 14:07:46 +00:00
* Changed the setting description for the favorites game toggling button
2021-06-30 16:44:38 +00:00
* Simplified and improved the setup of portable installations on Windows
2021-06-26 10:32:25 +00:00
* Converted all navigation sound files to stereo as previously it was a mix of mono and stereo files (done for rbsimple-DE and the fallback sounds)
2021-06-24 22:07:33 +00:00
* The themes and scripts directories are now automatically created during startup
* Cleaned up some application startup messages
2021-06-22 16:14:25 +00:00
* The application version is now saved to es_settings.xml, which can be used in the future to notify the user after upgrades to a newer release
* Added a DebugSkipInputLogging option which is intended primarily for development and needs to be manually set in es_settings.xml
2021-06-20 12:38:10 +00:00
* Added the CImg library as a Git subtree and created some utility functions for it (used by the miximage generator and the game launch screen)
2021-06-16 18:01:07 +00:00
* Added a function to ImageComponent to crop fully transparent areas around an image
2021-07-10 11:54:12 +00:00
* Added and clarified startup log warnings for missing or invalid es_systems.xml platform tags
2021-06-23 18:14:48 +00:00
* Added a CMake option to control whether the VLC video player should be built, and set this to off by default
2021-07-11 20:48:55 +00:00
* Made it possible to build on the Raspberry Pi 4 (tested on Raspberry Pi OS)
2021-07-09 20:04:16 +00:00
* Removed the deprecated VideoOmxComponent
2021-06-26 10:32:25 +00:00
* Removed the pointless APPLE_SKIP_INSTALL_LIBS CMake option
2021-07-04 19:01:14 +00:00
* Added a clang-format style configuration file to use for automatic code formatting
2021-07-07 19:02:11 +00:00
* Formatted the entire codebase using clang-format
2021-07-09 20:04:16 +00:00
* Integrated clang-tidy with CMake and made it possible to enable it via a flag
2021-06-09 19:00:00 +00:00
* Added the NanoSVG library as a proper Git subtree
2021-05-14 09:01:55 +00:00
* Changed the language standard from C++11 to C++14
2021-05-02 10:45:39 +00:00
### Bug fixes
2021-06-22 16:14:25 +00:00
* Marking all games as favorites for a system or folder or removing all favorite markings would sometimes crash the application
2021-07-11 20:48:55 +00:00
* Scraping new game media using the single-game scraper followed by a re-scrape that was aborted could crash the application
* The scraper search could be refined or skipped after the result was accepted which sometimes crashed the application
* Attempting to load a non-existent font file defined by the theme crashed the application instead of using the bundled font as fallback
* Refining a search before it was completed and then cancelling the dialog would lead to an empty scraper screen
2021-08-09 15:13:06 +00:00
* Game media would sometimes not get displayed after single-game scraping
2021-06-22 16:14:25 +00:00
* 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
2021-07-04 10:30:00 +00:00
* When using the Video view style, the static image would not get rendered during the first Slide transition when coming from the System view
2021-06-28 20:15:27 +00:00
* Long game names that were horizontally scrolling in the gamelist view would sometimes flicker when returning to the start position
2021-06-26 10:32:25 +00:00
* On Windows, images with Unicode characters in the game name that were resized when scraping would not get saved with valid filenames
2021-05-23 17:37:05 +00:00
* The glitches when configuring trigger buttons in GuiInputConfig have been fixed
2021-06-20 12:38:10 +00:00
* GuiDetectDevice wouldn't detect controller input that was of the "axis" type (i.e. analog inputs)
2021-05-23 17:37:05 +00:00
* GuiInputConfig didn't correctly inform which buttons could be skipped for some rows
2021-06-09 19:00:00 +00:00
* The scraper would sometimes consider very small images to be invalid
2021-07-17 08:37:36 +00:00
* Scraper searches for Nintendo Family Computer (Famicom) games were not accurate
2021-05-16 21:32:11 +00:00
* The Quick System Select help prompt was shown even when there was only a single game system present
2021-07-04 10:30:00 +00:00
* The "Back (cancel)" help prompt was missing for the single-game scraper
2021-05-16 21:32:11 +00:00
* The "Y" button help prompt wasn't displayed correctly when using the Grid view style
2021-07-09 20:04:16 +00:00
* Fractional game rating values would always get rounded up
2021-07-04 10:30:00 +00:00
* Encountering a corrupt image file would lead to a continuous loop of attempts to load the image while filling the log file with error messages
2021-06-16 18:01:07 +00:00
* Cropping in ImageComponent didn't work correctly
2021-05-23 17:37:05 +00:00
* The debug logging for the analog controller inputs had some inconsistent signs
2021-05-16 14:07:46 +00:00
2021-05-02 10:45:39 +00:00
## Version 1.0.1
**Release date:** 2021-05-01
### Release overview
v1.0 maintenance release.
### Detailed list of changes
* Added support for the new RetroArch v1.9.2 default core directory location on macOS
### Bug fixes
* Fixed high DPI display support on macOS
2021-04-20 19:35:45 +00:00
## Version 1.0.0
2020-12-24 10:58:30 +00:00
2021-04-20 19:35:45 +00:00
**Release date:** 2021-04-20
2020-07-28 07:30:48 +00:00
### Release overview
2020-12-24 10:58:30 +00:00
First release, a major update to the application compared to the RetroPie version on which it is based. This includes new gamelist sorting logic, new game media handling and an updated Windows port as well as a macOS port. The menu system has also been completely overhauled and the scraper has been expanded to support multiple media types as well as providing detailed scraping configuration options.
2020-07-28 07:30:48 +00:00
Full navigation sound support has been implemented, and the metadata editor has seen a lot of updates including color coding of all changes done by the user and by the scraper. Favorite games can now also be sorted on top of the gamelists and game collections.
2020-09-13 11:21:38 +00:00
OpenGL GLSL shader support has been added (not for the OpenGL ES renderer though) and there are multiple effects implemented such as scanlines for videos, blurred background when opening menus etc.
2020-08-30 20:19:37 +00:00
2021-04-09 17:13:01 +00:00
A new default theme rbsimple-DE (based on Recalbox Multi) is bundled with the application and is part of the installation package/installer. Theme sets created for the RetroPie EmulationStation fork will still work.
2020-07-28 07:30:48 +00:00
2020-10-27 18:07:35 +00:00
Many bugs have been fixed, and numerous features that were only partially implemented or broken have been updated to a fully working state. The application runs much faster as well due to lots of optimizations.
2020-07-28 07:30:48 +00:00
### Detailed list of changes
2020-06-14 10:55:31 +00:00
* Initial version, fork from RetroPie EmulationStation 2.10.0rp-dev (master)
2020-11-26 18:19:35 +00:00
* Added support for Windows, macOS, FreeBSD, NetBSD and OpenBSD
2021-03-05 18:49:31 +00:00
* New default theme rbsimple-DE bundled with the software (this theme is largely based on Recalbox Multi by the Recalbox community)
2020-12-26 15:22:33 +00:00
* Added extensive es_systems.cfg templates for Unix, macOS and Windows that are automatically installed on first application startup
2021-03-10 17:32:28 +00:00
* Added support for generating the ROM directory structure from within the application based on information in es_systems.cfg
2021-04-09 17:13:01 +00:00
* Added full navigation sound support, configurable per theme set with a fallback to the built-in sounds if there is no theme support
2021-01-24 22:44:50 +00:00
* Added multi-monitor support by giving the option to define on which display to run ES-DE
2020-12-26 15:22:33 +00:00
* Improved input device configuration and default keyboard mappings are now applied if the keyboard has not been configured by the user
* Reorganization and general overhaul of the menu system, hopefully making it more intuitive to navigate and easier to understand the menu entries
* New game media file logic using a media directory with files matching the ROM names instead of explicitly pointing to the media files from the gamelist.xml files
* GUI-configurable option to sort favorite games above non-favorite games
* GUI-configurable option to flag favorite games with star symbols
* GUI-configurable option to sort folders on top of the gamelists
* Added volume sliders for navigation sounds and game videos to the sound settings menu
* Added support for OpenGL GLSL shaders (OpenGL 2.1 renderer only, no support for OpenGL ES 1.0 renderer)
* Added multiple animations and shader effects, such as when opening menus, playing videos in the gamelists and via the screensaver etc.
2021-01-13 23:09:23 +00:00
* Updated the application to work properly on high resolution devices (such as 4K monitors)
2020-12-26 15:22:33 +00:00
* Seamless (almost) launch of games without showing the desktop when starting and returning from RetroArch and other emulators
2020-06-14 10:55:31 +00:00
* Updated scraper to support additional media files, detailed configuration of what to scrape, semi-automatic mode etc.
2020-11-07 14:34:15 +00:00
* Added user account support when scraping using ScreenScraper
2021-01-28 19:47:07 +00:00
* Added support for scraping game genres and game descriptions in multiple languages when using ScreenScraper
2020-08-06 16:16:31 +00:00
* Files or folders can now be flagged for exclusion when scraping with the multi-scraper, and for folders it can be set to apply recursively
2020-10-27 18:07:35 +00:00
* Overhaul of the game collection functionality including many bug fixes and optimizations
2020-11-10 21:18:20 +00:00
* Added ability to delete custom collections from the GUI menu
2020-12-26 15:22:33 +00:00
* Help system updated and expanded to the complete application (previously it was only partially implemented)
* Game systems are now sorted by full names which makes much more sense from a user perspective
2021-03-05 18:49:31 +00:00
* In the metadata editor, any values updated by the single-game scraper or by the user are now highlighted using different font colors
2020-12-26 15:22:33 +00:00
* Expanded the metadata for folders and made it possible to mark them as favorites
* Added metadata entry to mark games as broken/not working (e.g. useful for MAME games)
* Added metadata entry to indicate whether the file should be counted as a game (e.g. useful to exclude setup files and similar for DOS games)
* Added metadata entry to hide the metadata values from the gamelist views (useful for general folders, DOS game configuration utilities etc.)
2021-06-27 11:25:20 +00:00
* Added a "Clear" button to the metadata editor to delete the media files and gamelist.xml entry for a game or folder while still retaining the game file
2020-09-21 16:13:27 +00:00
* Added a system view counter for favorite games in addition to the total number of games
2020-12-26 15:22:33 +00:00
* Added a gamelist info text field displaying the game count, any applied filters as well as an icon if a folder has been entered (requires theme support)
2020-07-26 20:19:29 +00:00
* Properly implemented the option to show or hide hidden files and folders
* Properly implemented the option to show or hide games flagged as hidden in the metadata editor
2021-01-28 18:38:27 +00:00
* Added support for converting two-byte Unicode characters to uppercase and lowercase
2020-11-17 16:20:25 +00:00
* Added the ability to display pillarboxing and letterboxing for videos with non-standard aspect ratios
2020-12-26 15:22:33 +00:00
* Custom event scripts can now be enabled or disabled with a menu option
* Gamelist sorting is now working as expected and is persistent throughout the application session
2021-03-05 18:49:31 +00:00
* Expanded the gamelist filter functionality to include completed and broken games and added the ability to filter game names via a free text entry
2020-12-20 11:07:02 +00:00
* Added functionality to remember cursor positions inside folders and grouped custom collections
2020-12-26 15:22:33 +00:00
* Per-game launch command override, so that different cores or emulators can be used on a per-game basis (saved to gamelist.xml)
2021-03-05 18:49:31 +00:00
* The emulator core location can now be defined relative to the emulator binary using the %EMUPATH% variable in es_systems.cfg (used extensively on macOS and Windows)
2020-12-26 15:22:33 +00:00
* Core locations can be searched from a configurable list of directories if defined in the es_systems.cfg file using the %COREPATH% variable (mostly useful on Unix where there are no standardized core directories)
2021-01-11 17:40:16 +00:00
* Clear notifications and logging have been added for missing emulator binaries and cores when attempting to launch games
2020-12-26 15:22:33 +00:00
* Overhaul of the screensaver (the game info overlay now works correctly for instance)
* Added support for jumping to the start and end of gamelists and menus using the controller trigger buttons (or equivalent keyboard mappings)
* Many additional quality of life improvements and removal of GUI inconsistencies
2021-01-28 19:06:12 +00:00
* Replaced the main application font with Fontfabric Akrobat
2020-11-08 12:06:04 +00:00
* Replaced the on and off button icons with new graphics
2021-01-25 18:35:50 +00:00
* Replaced the checked checkmark icon with new graphics
2021-03-10 17:32:28 +00:00
* Changed the application icons and splash screen color theme from blue to red
* Improved the menu interface on 4:3 aspect ratio displays
2021-01-02 20:17:23 +00:00
* Made ScrollableContainer (used for the gamelist game descriptions) fade in as the text position is reset
2021-03-05 18:49:31 +00:00
* Made the ScrollableContainer scroll speed adaptive depending on the font size and width of the text container
2020-06-21 19:08:54 +00:00
* Moved all resources to a subdirectory structure and enabled the CMake install prefix variable to generate the resources search path
2021-04-09 17:13:01 +00:00
* Changed the theme set directory to the install prefix (e.g. /usr/share/emulationstation/themes) with themes in the home directory taking precedence
2021-03-05 18:49:31 +00:00
* No more attempts to open files directly under /etc, instead only the install prefix directory, the ES-DE executable directory and the home directory are used
2020-07-08 15:01:47 +00:00
* Added proper error handling for missing resource files and improved overall logging
2020-06-14 10:55:31 +00:00
* Refactoring, cleanup and documentation of the source code, removal of deprecated files etc.
2020-12-26 15:22:33 +00:00
* Speed improvements and optimizations, the application now starts faster and feels more responsive
* Added new component GuiComplexTextEditPopup to handle changes to configuration file entries and similar
* Added full UTF-16 (Unicode) support on Windows
* Removed the PowerSaver
* Game counting is now done during sorting instead of every time a system is selected. This should make the UI more responsive in case of large game libraries
2020-06-14 10:55:31 +00:00
* All required fonts bundled with the application, no dependencies on the OS to provide them any longer
2020-06-24 20:20:23 +00:00
* Made pugixml an external dependency instead of bundling it
2020-12-28 10:29:32 +00:00
* Replaced the custom math functions with standard C++ functions whenever possible
2021-04-09 17:13:01 +00:00
* Implemented proper random functions using Mersenne Twister pseudorandom number generators (it actually makes a practical difference)
2020-12-23 14:32:10 +00:00
* Modernized the audio code, for example using SDL_AudioStream instead of the older SDL_AudioCVT
2020-11-05 17:18:11 +00:00
* Overhaul of application settings, now the configuration file is only updated when there have been actual configuration changes
2020-09-17 20:00:07 +00:00
* Decreased CPU usage dramatically by only rendering the currently visible view (previously all views were always rendered)
2020-12-26 15:22:33 +00:00
* Updated the CMake/CPack install and package configuration files to work as expected (can now generate DEB, RPM, DMG and NSIS installation packages with correct dependencies)
2020-08-23 16:41:08 +00:00
* Added support for Clang/LLVM, made the application build with no errors or warnings using this compiler (Unix and macOS only)
2020-12-30 22:23:30 +00:00
* Added support for both MSVC and MinGW (GCC) on Windows
2021-03-05 18:49:31 +00:00
* License files are now included for all the libraries and resources that are bundled with the application
2021-11-10 21:52:19 +00:00
* Updated the MAME index files to include ROMs up to MAME version 0.230 and created scripts to easily generate these index files in the future
2020-12-26 15:22:33 +00:00
* Greatly expanded the application documentation (which is hosted in the ES-DE repository on GitLab)
2020-06-14 10:55:31 +00:00
### Bug fixes
2020-12-26 15:22:33 +00:00
* On Unix, adding a hidden folder with a game in it crashed the application on startup
* If the user tried to enter a blank game name in the metadata editor, the application would crash upon saving
* Switching to the Grid view style with a placeholder shown in the gamelist crashed the application
2020-12-30 22:23:30 +00:00
* FileSystemUtil::getDirContent crashed when searching through directories recursively
2021-01-16 17:05:48 +00:00
* Large text sizes at higher resolutions (such as 4K) would crash the application as fixed-size texture buffers were used which weren't big enough to hold the larger font textures
2020-10-11 16:46:06 +00:00
* Fixed a massive memory leak related to SVG images
2020-12-24 10:58:30 +00:00
* Fixed an issue where SVG images would sometimes be cut off slightly on the right side (e.g. logos on the system view carousel)
2021-03-21 14:47:59 +00:00
* The audio volume control did not detect if there was a new default audio device or if the audio volume had been changed outside ES-DE
2020-12-26 15:22:33 +00:00
* The scraper didn't handle error conditions correctly
2021-04-09 17:13:01 +00:00
* The metadata editor insisted that changes had been made although nothing was updated
2021-01-08 19:30:21 +00:00
* Sorting by number of players did not work properly for games with ranges such as 1-2 or 1-8
2020-12-26 15:22:33 +00:00
* Restart and power-off menu entries not working on any of the tested operating systems
2020-06-22 15:27:53 +00:00
* Toggling the screensaver didn't work as expected
2020-07-28 09:10:14 +00:00
* The setting to enable or disable audio for the video screensaver only worked on Raspberry Pi
* The screensaver random function did not consider the previously selected game and could potentially show the same image or video over and over again
2020-07-28 13:19:54 +00:00
* The random system selection did not consider the currently selected system
* The random game selection did not consider the currently selected game
* The random game selection traversed folders, i.e. a game could be selected inside a subdirectory and vice versa
2020-12-26 15:22:33 +00:00
* The controller D-PAD could not be used for entering the UI mode change passkey
* Filters were not applied when leaving folders using the back button
2021-03-14 09:19:01 +00:00
* The cursor stack logic was not completely implemented for the Grid view style, making it largely broken
2020-12-26 15:22:33 +00:00
* Editing long text entries made the cursor jump outside the editing field
2021-03-10 17:32:28 +00:00
* Long words would sometimes render partly outside the designated text area instead of being abbreviated
2020-09-13 17:16:40 +00:00
* Fixed an annoying gamelist issue that caused the game images and data to be updated and rendered up to six times every time the list was scrolled
2020-09-15 19:12:32 +00:00
* Not all input events were logged when running with debug logging activated
2021-04-09 17:13:01 +00:00
* Unknown command line options were silently accepted instead of halting the application startup and logging an error
2021-03-14 09:19:01 +00:00
* Added a sanity check to the --resolution flag to keep the resolution within reason (and to avoid crashes when making a typo for this parameter)
2020-12-26 15:22:33 +00:00
* Deleting a game from the metadata editor did not delete the game media files or its entry in the gamelist.xml file
* Hidden files still showed up if they had a gamelist.xml entry
2021-01-13 22:46:51 +00:00
* Fixed multiple instances of misaligned GUI elements on high-resolution displays due to the use of fixed-pixel constants
2021-04-09 17:13:01 +00:00
* Fixed a rounding issue which caused single-pixel lines to sometimes be shown along the upper and left screen edges
2020-12-26 15:22:33 +00:00
* The VRAM statistics overlay was somewhat broken and incorrectly displayed numbers in megabytes instead of mebibytes
2020-09-18 16:19:02 +00:00
* Long game names would sometimes not scroll in the gamelist view
2020-12-26 15:22:33 +00:00
* Game media was not rendered when moving between gamelists using the slide transition style
* Wrapping around the first and last game systems generated strange camera movements when using the slide transition style
2021-03-17 19:34:16 +00:00
* Some bundled graphics (resource files) displayed excessive texture pop-in under some circumstances
2020-12-26 15:22:33 +00:00
* SystemView didn't properly loop the systems if only two systems were available
* When changing to the video view style from inside a gamelist, the view was not completely initialized
* Game images were sometimes scaled incorrectly
2021-03-14 09:19:01 +00:00
* The rating component would sometimes not render immediately if using SVG graphics
2020-12-26 15:22:33 +00:00
* Non-transparent favorite icons were not rendered correctly
2020-08-08 10:33:55 +00:00
* The SliderComponent knob position was set incorrectly if the minimum value was not zero
2021-03-22 17:27:59 +00:00
* The debug overlays didn't work for all image and text components
2020-07-28 07:30:48 +00:00
* Lots and lots of additional small bugs and inconsistencies fixed
2021-01-03 10:29:01 +00:00
2021-05-02 10:45:39 +00:00
## Known issues
2021-01-03 10:29:01 +00:00
2022-03-31 17:29:41 +00:00
**The issues below are relevant for ES-DE v1.2.1**
2021-01-31 10:40:23 +00:00
2021-12-06 19:48:47 +00:00
* On Windows when using high DPI displays, if not running ES-DE on the primary monitor and the display where it runs does not have the same scaling percentage as the primary monitor, then the ES-DE resolution will not be properly set. The application will still work and if running in fullscreen mode it may not even be noticeable. This issue is probably caused by a bug in SDL where the primary display scaling is always used for calculating the display bounds. If using the same scaling percentage across all monitors, or if not using high DPI monitors at all, then this issue is not relevant.
2021-11-20 11:53:11 +00:00
2022-03-30 17:14:28 +00:00
* On Windows installing DS4Windows will break controller input in ES-DE for unknown reasons. Uninstalling this software should resolve the issue. On Windows 11 both DualShock 4 (PS4) and DualSense (PS5) controllers have been tested wired and via Bluetooth and both work fine in both ES-DE and RetroArch without any special drivers or configuration.
2021-12-06 19:48:47 +00:00
* On macOS, the RetroArch setting "Start in Fullscreen mode" must be enabled or ES-DE will not be able to switch to the emulator window when a game is launched. Possibly it's the same issue with other emulators as well.
2021-12-02 16:55:42 +00:00
2021-12-06 19:48:47 +00:00
* On Raspberry Pi OS 10, Sony DualShock 4 controllers have problems with some button presses that don't register correctly. The issue appears resolved in Raspberry Pi OS 11.
2021-11-20 11:53:11 +00:00
2021-12-06 19:48:47 +00:00
* On Raspberry Pi OS 11 there are various graphics issues and sometimes the application or emulator completely freezes which requires a power cycle of the machine. This is seemingly due to GPU driver bugs and we can only wait for OS updates to address these problems. These issues have not been encountered on Raspberry Pi OS 10.
* On Fedora 35 a problem has been observed where the screen turns completely black or flickers intensely when starting ES-DE for the first time. A workaround for this is to simply exit the application with F4 or Alt+F4 and starting it again. Everything should then render correctly, and any subsequent startups will work fine including after suspending/resuming the computer. It's currently unclear if this is limited to only Intel GPU drivers or if it's a general issue under Fedora and/or Wayland. At least Wayland on Ubuntu 21.10 does not trigger the same issue.
* There is some screen tearing present on Unix/Linux which is especially visible during horizontal slide transitions. The problem exists on both x86 and ARM as well as on Intel, AMD and Nvidia GPUs and on the Broadcom VideoCore. The problem seems to be Xorg-related as tearing has not been observed when using Wayland, and it's not present on macOS or Windows either.
2021-12-23 12:40:14 +00:00
* Sometimes when RetroArch has been upgraded to a newer version, it apparently requires a startup to get properly initialized. When ES-DE starts RetroArch it always does so by passing some specific emulator core parameters, which does not seem to initialize RetroArch after such an upgrade. What happens in this case is that the RetroArch loading screen will be shown and then it will quit right back to ES-DE. If confirmed to be the case, this is not an ES-DE issue but a RetroArch issue and starting RetroArch separately once should fix the problem (at least until the next upgrade).
* There are problems with starting the standalone version of the PCSX2 PlayStation 2 emulator using some GPUs. What happens is that the emulator window does not get focused when launching a game which requires a manual Alt + Tab (or Command + Tab on macOS) to switch to the PCSX2 window. The RetroArch version of PCSX2 does not have this issue.