CHANGELOG.md 79.4 KB
Newer Older
1
# EmulationStation Desktop Edition (ES-DE) - Changelog
2

Leon Styhre's avatar
Leon Styhre committed
3
4
[[_TOC_]]

Leon Styhre's avatar
Leon Styhre committed
5
## Version 2.0.0 (in development)
6
7
8
9
10
11

**Release date:** TBD

### Release overview

### Detailed list of changes
Leon Styhre's avatar
Leon Styhre committed
12

Leon Styhre's avatar
Leon Styhre committed
13
14
15
16
* 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
17
* Renamed the default theme set from rbsimple-DE to slate-DE
Leon Styhre's avatar
Leon Styhre committed
18
* (Windows) Made game launching more seamless by making the application window one pixel wider instead of one pixel less in height
Leon Styhre's avatar
Leon Styhre committed
19
* Added support for folder links, used for launching game files inside folders without having to enter them
Leon Styhre's avatar
Leon Styhre committed
20
* Added a folder badge, including a folder link overlay in case a link has been configured
Leon Styhre's avatar
Leon Styhre committed
21
* Added a collection badge, shown when editing custom collections to indicate that a game is part of the collection
Leon Styhre's avatar
Leon Styhre committed
22
* Modernized the OpenGL renderer by replacing the fixed function pipeline with shaders
Leon Styhre's avatar
Leon Styhre committed
23
24
25
* 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)
Leon Styhre's avatar
Leon Styhre committed
26
* Greatly improved the performance of shader post-processing such as scanlines and blur rendering
Leon Styhre's avatar
Leon Styhre committed
27
* 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
Leon Styhre's avatar
Leon Styhre committed
28
* Reorganized the UI Settings menu a bit and added entries to set the variant and aspect ratio for newer theme sets
Leon Styhre's avatar
Leon Styhre committed
29
* Removed the "Preload gamelists on startup" setting
Leon Styhre's avatar
Leon Styhre committed
30
31
* 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"
Leon Styhre's avatar
Leon Styhre committed
32
* Added support for defining which types of game media to use for all image elements (and also for the video component static image)
Leon Styhre's avatar
Leon Styhre committed
33
34
* Added a legacy (backward compatibility) mode for still supporting older RetroPie EmulationStation themes
* Added theme support for Lottie animations (vector graphics)
Leon Styhre's avatar
Leon Styhre committed
35
* Added theme support for GIF animations
Leon Styhre's avatar
Leon Styhre committed
36
* Added a GameSelectorComponent for displaying game media and metadata in the system view
Leon Styhre's avatar
Leon Styhre committed
37
* Added support to the system view for displaying videos, Lottie animations, GIF animations, date/time components and game ratings
Leon Styhre's avatar
Leon Styhre committed
38
* Replaced the forceUppercase theme property with a more versatile letterCase property (forceUppercase is retained for legacy theme compatibility)
Leon Styhre's avatar
Leon Styhre committed
39
40
41
* Added theme support for setting the TextListComponent indicators to symbols, ascii or none
* Added theme support for setting the TextListComponent custom collection indicators to symbols or ascii
* Removed the "Use plain ASCII for special gamelist characters" menu option as it's now theme-controlled
Leon Styhre's avatar
Leon Styhre committed
42
* Removed the "Enable menu scroll indicators" menu option
Leon Styhre's avatar
Leon Styhre committed
43
* Changed the badges default lines property value from 2 to 3
Leon Styhre's avatar
Leon Styhre committed
44
* Made it possible to set any text element as a scrollable container using either metadata values or literal strings
Leon Styhre's avatar
Leon Styhre committed
45
* Added support for defining the scrollable container speed, start delay and reset delay from the theme configuration
Leon Styhre's avatar
Leon Styhre committed
46
* Added theme support for defining the opacity for most element types
Leon Styhre's avatar
Leon Styhre committed
47
* Added theme support for defining color saturation for images, videos and animations
Leon Styhre's avatar
Leon Styhre committed
48
* Added theme support for defining the video fade-in time
Leon Styhre's avatar
Leon Styhre committed
49
* Added theme support for enabling and disabling video pillarboxes and scanline rendering
Leon Styhre's avatar
Leon Styhre committed
50
* Added theme support for enabling or disabling audio playback for videos
Leon Styhre's avatar
Leon Styhre committed
51
* Added theme support for setting separate textColorDimmed and iconColorDimmed properties for the system and gamelist views
Leon Styhre's avatar
Leon Styhre committed
52
53
* 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
Leon Styhre's avatar
Leon Styhre committed
54
* Disabled the pillarboxes and scanline rendering menu options when using a non-legacy theme set
Leon Styhre's avatar
Leon Styhre committed
55
* Improved theme element placement by replacing the "alignment" and "logoAlignment" properties with specific horizontal and vertical properties
Leon Styhre's avatar
Leon Styhre committed
56
* Made it possible to use almost all game metadata field when theming text elements
Leon Styhre's avatar
Leon Styhre committed
57
* Made it possible to set the image interpolation method (nearest neighbor or linear filtering) per image from the theme configuration
Leon Styhre's avatar
Leon Styhre committed
58
* Changed the helpsystem properties entrySpacing and iconTextSpacing from fixed pixel values to relative values
Leon Styhre's avatar
Leon Styhre committed
59
* Added support for using unsigned integers for theme properties
Leon Styhre's avatar
Leon Styhre committed
60
61
* Added the rendering of a green rectangle around the CarouselComponent when pressing Ctrl+i in debug mode
* Changed the color of the rectangle from blue to green for TextListComponent when pressing Ctrl+t in debug mode
Leon Styhre's avatar
Leon Styhre committed
62
* 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
Leon Styhre's avatar
Leon Styhre committed
63
64
* Added scraping of fan art and updated the media viewer to display these images
* Added scraping of box back covers when using TheGamesDB
65
* Moved the option "Scrape actual folders" higher up in the scraper options menu
Leon Styhre's avatar
Leon Styhre committed
66
* Added the ability to set a manual sortname specifically for custom collections using the metadata editor
Leon Styhre's avatar
Leon Styhre committed
67
* When scraping in semi-automatic mode, horizontal scrolling of long game names are no longer reset when automatically selecting the result
Leon Styhre's avatar
Leon Styhre committed
68
* Added support for using the tilde (~) symbol in the es_systems.xml path entries to expand to the user home directory
Leon Styhre's avatar
Leon Styhre committed
69
* Reduced CPU usage significantly when a menu is open by not rendering the bottom of the stack
Leon Styhre's avatar
Leon Styhre committed
70
* Reduced CPU usage significantly by only rendering the necessary systems in SystemView
Leon Styhre's avatar
Leon Styhre committed
71
* Added support for dimming components (fade to black)
Leon Styhre's avatar
Leon Styhre committed
72
* Added logging of the display refresh rate on startup
Leon Styhre's avatar
Leon Styhre committed
73
* Added a command line option to rotate the application screen 180 degrees
Leon Styhre's avatar
Leon Styhre committed
74
* Improved the behavior and consistency for the virtual keyboard when using non-standard keyboard mappings
Leon Styhre's avatar
Leon Styhre committed
75
76
* 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
Leon Styhre's avatar
Leon Styhre committed
77
* Changed the warning log level for missing theme files to debug level if the paths are set using variables
Leon Styhre's avatar
Leon Styhre committed
78
* Added new theme system variables for differentiating between collections and non-collection systems
Leon Styhre's avatar
Leon Styhre committed
79
* Added shader support for performing BGRA to RGBA color conversion
Leon Styhre's avatar
Leon Styhre committed
80
* Added opacity support to the scanline shader
Leon Styhre's avatar
Leon Styhre committed
81
* Added the rlottie library as a Git subtree
Leon Styhre's avatar
Leon Styhre committed
82
* Updated to build correctly with FFmpeg 5.0
Leon Styhre's avatar
Leon Styhre committed
83
* Updated FFmpeg to 5.0 and SDL to 2.0.20 on Windows and macOS
Leon Styhre's avatar
Leon Styhre committed
84
85
* Refactored the rendering code from a shared namespace into proper classes
* Removed the deprecated OpenGL ES 1.0 renderer
Leon Styhre's avatar
Leon Styhre committed
86
* On Windows all dependencies were moved in-tree to the "external" directory to greatly simplify the build environment
Leon Styhre's avatar
Leon Styhre committed
87
88
* 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
Leon Styhre's avatar
Leon Styhre committed
89
* Large refactoring to improve thread safety and improve singleton pattern usage
Leon Styhre's avatar
Leon Styhre committed
90
* Made the logging thread safe
Leon Styhre's avatar
Leon Styhre committed
91
* (Windows) Changed many logging entries to use backslashes instead of forward slashes as directory separators
Leon Styhre's avatar
Leon Styhre committed
92
* Added the build date to to main menu for alpha and dev builds
Leon Styhre's avatar
Leon Styhre committed
93
* Moved all Platform functions to the utility namespace instead of using the global namespace
Leon Styhre's avatar
Leon Styhre committed
94
* Implemented proper XML attribute support in ThemeData that eliminates the risk of name collisions
Leon Styhre's avatar
Leon Styhre committed
95
* Added size restrictions to images and fonts so incorrect theme configuration would not lead to crashes or excessive memory utilization
Leon Styhre's avatar
Leon Styhre committed
96
* Migrated the carousel code from SystemView to a separate new CarouselComponent
Leon Styhre's avatar
Leon Styhre committed
97
* Changed the carousel properties to be more generic by renaming "logo" to "item", e.g. itemSize, maxItemCount etc.
Leon Styhre's avatar
Leon Styhre committed
98
* Added a wheelHorizontalAlignment property for aligning the carousel within the overall element area (horizontal/vertical wheel only)
Leon Styhre's avatar
Leon Styhre committed
99
100
* Added reflections support to the carousel
* Added carousel theme support for setting the opacity for unfocused entries
Leon Styhre's avatar
Leon Styhre committed
101
* Removed support for the thumbnail game media type
Leon Styhre's avatar
Leon Styhre committed
102
103
* Changed all occurances of "GameList" to "Gamelist" throughout the codebase
* Removed a huge amount of unnecessary Window* function parameters throughout the codebase
Leon Styhre's avatar
Leon Styhre committed
104
* Removed a lot of unnecessary applyTheme() calls when updating help prompts
Leon Styhre's avatar
Leon Styhre committed
105
* Removed the last remnants of the PowerSaver
Leon Styhre's avatar
Leon Styhre committed
106
* Removed the RetroPie ES sizing bug replication from TextListComponent for non-legacy theme sets
Leon Styhre's avatar
Leon Styhre committed
107
* Changed the opacity data type and functions from unsigned char to float throughout the codebase
Leon Styhre's avatar
Leon Styhre committed
108
109
110
111
112
113
* 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
Leon Styhre's avatar
Leon Styhre committed
114
* Set the clang-format option SpaceBeforeCpp11BracedList to true and reformatted the codebase
Leon Styhre's avatar
Leon Styhre committed
115
* Added the clang-format option AllowShortEnumsOnASingleLine and set it to false
Leon Styhre's avatar
Leon Styhre committed
116
* Removed some unnecessary typedefs and replaced the remaining ones with the more modern "using" keyword
Leon Styhre's avatar
Leon Styhre committed
117
* Greatly simplified the video controls code (play/stop/pause etc.)
Leon Styhre's avatar
Leon Styhre committed
118
* Removed the deprecated VideoVlcComponent
Leon Styhre's avatar
Leon Styhre committed
119
* Removed the deprecated tools/update_theme_formatversion.sh script
Leon Styhre's avatar
Leon Styhre committed
120
* Lots of general code cleanup and refactoring
121
* Changed tools/create_AppImage.sh to not include version information in the AppImage filename
Leon Styhre's avatar
Leon Styhre committed
122
* Updated and improved the theming documentation
Leon Styhre's avatar
Leon Styhre committed
123
124
125

### Bug fixes

Leon Styhre's avatar
Leon Styhre committed
126
* A vertex rounding heisenbug caused single-pixel alignment issues at multiple places throughout the application
Leon Styhre's avatar
Leon Styhre committed
127
* During some menu operations that reloaded the gamelist view, the cached background could miss some components as they were not rendered in time
Leon Styhre's avatar
Leon Styhre committed
128
129
* 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
Leon Styhre's avatar
Leon Styhre committed
130
* Navigation sounds for the trigger buttons would play when repeatedly pressed at the start or end of text lists
Leon Styhre's avatar
Leon Styhre committed
131
* Slide and fade transitions would sometimes stop working after changing theme sets
Leon Styhre's avatar
Leon Styhre committed
132
* Using fade transitions, when holding a direction button to scroll the system view carousel, the key repeat would cause an unwanted background rendering
Leon Styhre's avatar
Leon Styhre committed
133
* The outermost logos would sometimes glitch out during carousel transitions
Leon Styhre's avatar
Leon Styhre committed
134
* Horizontal and vertical gradients were mixed up (showing the opposite gradient type if set in a theme)
Leon Styhre's avatar
Leon Styhre committed
135
* The VideoComponent static images were not fading out smoothly on gamelist fast-scrolling
Leon Styhre's avatar
Leon Styhre committed
136
* Rating icon outlines would not fade out correctly when fast-scrolling in a gamelist
Leon Styhre's avatar
Leon Styhre committed
137
* If setting an origin other than 0.5 for a video with pillarboxes enabled, the video would not get centered on the black rectangle
Leon Styhre's avatar
Leon Styhre committed
138
139
* 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)
Leon Styhre's avatar
Leon Styhre committed
140
* 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)
Leon Styhre's avatar
Leon Styhre committed
141
142
143
* 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
Leon Styhre's avatar
Leon Styhre committed
144
* Theme sets were not always sorted correctly (as seen when mixing uppercase and lowercase in theme names)
Leon Styhre's avatar
Leon Styhre committed
145
146
* The device text flickered in GuiDetectDevice when configuring a controller
* The selector bar was not aligned correctly during menu scale-up animations
Leon Styhre's avatar
Leon Styhre committed
147
148
* (Windows) File paths would get escaped with quotation marks even if they did not contain any spaces
* (Windows) The emulator binary path would sometimes not get escaped correctly in es_log.txt on game launch
Leon Styhre's avatar
Leon Styhre committed
149

Leon Styhre's avatar
Leon Styhre committed
150
151
152
153
154
155
156
157
158
159
## Version 1.2.6 (in development)

**Release date:** TBD

### Release overview

v1.2 maintenance release.

### Detailed list of changes

Leon Styhre's avatar
Leon Styhre committed
160
* Added experimental support for Vita3K for the psvita system on Unix and Windows
Leon Styhre's avatar
Leon Styhre committed
161
* Added support for the Fujitsu FM Towns (fmtowns) game system on Unix and Windows
Leon Styhre's avatar
Leon Styhre committed
162
* Added support for the EasyRPG game engine (easyrpg) game system
Leon Styhre's avatar
Leon Styhre committed
163
164
* Added support for the Creatronic Mega Duck (megaduck) game system
* Added support for the Watara Supervision (supervision) game system
Leon Styhre's avatar
Leon Styhre committed
165
* Added support for the M.U.G.E.N Game Engine (mugen) game system on Windows
Leon Styhre's avatar
Leon Styhre committed
166
167
* Added emulator configuration for the apple2 system
* Added emulator configuration for the apple2gs system
Leon Styhre's avatar
Leon Styhre committed
168
* Added emulator configuration for the macintosh system
Leon Styhre's avatar
Leon Styhre committed
169
* Added emulator configuration for the solarus system
Leon Styhre's avatar
Leon Styhre committed
170
* Added Mednafen standalone as an alternative emulator for many systems
Leon Styhre's avatar
Leon Styhre committed
171
* Added PCSX2 Qt standalone as an alternative emulator for the ps2 system on Unix
Leon Styhre's avatar
Leon Styhre committed
172
* Added ScummVM standalone as an alternative emulator for the scummvm system
Leon Styhre's avatar
Leon Styhre committed
173
* Added Cxbx-Reloaded standalone as an alternative emulator for the xbox system on Windows
Leon Styhre's avatar
Leon Styhre committed
174
* Added Atari800 standalone as an alternative emulator for the a5200 system
Leon Styhre's avatar
Leon Styhre committed
175
* Added the Kronos RetroArch core as an alternative emulator for the arcade and mame systems
Leon Styhre's avatar
Leon Styhre committed
176
* Added KEmulator standalone as an alternative emulator for the j2me system on Windows
Leon Styhre's avatar
Leon Styhre committed
177
* Added support for the repository-installed PPSSPP standalone (SDL and Qt) on Unix
Leon Styhre's avatar
Leon Styhre committed
178
* Added the .json file extension to the gc and wii systems
Leon Styhre's avatar
Leon Styhre committed
179
* Added find rule entries for Valve Steam to simplify the setup of the RetroArch Steam release
Leon Styhre's avatar
Leon Styhre committed
180
181
182
* Added connection and transfer timeout settings to the scraper (not configurable via the GUI)
* Added an es_log.txt entry when the "Only show ROMs from gamelist.xml files" setting is enabled
* Passing the --ignore-gamelist command line option now immediately disables the ParseGamelistOnly setting
Leon Styhre's avatar
Leon Styhre committed
183
* (macOS) Improved Apple compliance for the Info.plist file
Leon Styhre's avatar
Leon Styhre committed
184
* (rbsimple-DE) Added console graphics for the psvita system
Leon Styhre's avatar
Leon Styhre committed
185
186
187

### Bug fixes

Leon Styhre's avatar
Leon Styhre committed
188
189
* The IgnoreGamelist setting was saved to es_settings.xml although it shouldn't

190
## Version 1.2.5
Leon Styhre's avatar
Leon Styhre committed
191

192
**Release date:** 2022-06-22
Leon Styhre's avatar
Leon Styhre committed
193
194
195

### Release overview

Leon Styhre's avatar
Leon Styhre committed
196
v1.2 maintenance release. Shortcut support has been added on Unix and macOS which greatly simplifies setup of applications as well as games for platforms like ports, steam, lutris and ps3. A couple of new systems have been added, most notably PICO-8, and RetroPie EmulationStation theme compatibility has been improved. As well the default keyboard quit shortcut has been changed from F4 to the operating system defaults (Alt + F4 on Unix and Windows and Command + Q on macOS). Some bugs were also fixed and some missing graphic assets were added to the default rbsimple-DE theme set.
Leon Styhre's avatar
Leon Styhre committed
197
198
199

### Detailed list of changes

Leon Styhre's avatar
Leon Styhre committed
200
201
202
* Added an %ENABLESHORTCUTS% variable to support launching of .desktop files on Unix and apps and aliases on macOS
* Added support for launching .desktop files to the desktop, epic, kodi, lutris, ports and steam systems on Unix
* Added support for launching .app directories and alias files to the desktop, epic, kodi, ports and steam systems on macOS
Leon Styhre's avatar
Leon Styhre committed
203
204
* Setup two emulator entries for the desktop system, "Suspend ES-DE" and "Keep ES-DE running" to control the launch behavior
* Changed the ps3 system to use shortcuts by default and created an alternative emulator entry for the old directory approach
Leon Styhre's avatar
Leon Styhre committed
205
* Added the .lnk file extension to the epic system on Windows
Leon Styhre's avatar
Leon Styhre committed
206
* Added support for the PICO-8 (pico8) game system
Leon Styhre's avatar
Leon Styhre committed
207
* Added support for the Capcom Play System (cps) game system
Leon Styhre's avatar
Leon Styhre committed
208
* Added support for the Sega Model 2 and 3 (model2 and model3) game systems on Windows
Leon Styhre's avatar
Leon Styhre committed
209
210
211
* Added configuration for the Tangerine Computer Systems Oric (oric) system on Unix and Windows
* Added configuration for the Texas Instruments TI-99 (ti99) system on Unix and Windows
* Added configuration for the Google Android (android) system on Windows
Leon Styhre's avatar
Leon Styhre committed
212
213
214
* (Windows) Changed the emulator directory for Model 2 Emulator from Model2 to m2emulator
* (Windows) Changed the emulator find rule name for the Model 2 Emulator from MODEL2 to M2EMULATOR
* Added support for asterisks/wildcards for emulator name matching, usable in both es_find_rules.xml and es_systems.xml
Leon Styhre's avatar
Leon Styhre committed
215
* (Linux) Changed to find rule wildcard matching for the AppImages for Dolphin, mGBA, Play!, RPCS3, Xemu and Yuzu
Leon Styhre's avatar
Leon Styhre committed
216
217
* (Windows) Changed to find rule wildcard matching for the PCSX2-QT and PCSX2-WXWIDGETS entries to support the AVX2 releases of PCSX2
* Added a ScreenScraper option to fall back to additional regions to allow scraping of country-specific games and unofficial releases
Leon Styhre's avatar
Leon Styhre committed
218
* Changed the sorting in the Alternative emulators interface to use short system names instead of full system names
Leon Styhre's avatar
Leon Styhre committed
219
220
* Added scraper support for the ti99 platform
* Added TheGamesDB scraper support for the oric platform
Leon Styhre's avatar
Leon Styhre committed
221
222
* Added the pcwindows platform to the lutris system on Unix to improve scraping
* Renamed the "Exit button combo" menu option to "Keyboard quit shortcut"
Leon Styhre's avatar
Leon Styhre committed
223
* Changed the default quit shortcut from F4 to Alt + F4 on Windows and Unix
Leon Styhre's avatar
Leon Styhre committed
224
225
* Changed the default quit shortcut from F4 to Command + Q on macOS
* Added Ctrl + Q as a user-selectable quit shortcut
Leon Styhre's avatar
Leon Styhre committed
226
* Added support for placing a noload.txt file in the root of a system/ROM directory to keep it from getting loaded
Leon Styhre's avatar
Leon Styhre committed
227
* (Windows) Added support for creating a portable installation in the root of a device, such as E: or F:
Leon Styhre's avatar
Leon Styhre committed
228
* Increased the window width slightly for the Alternative emulators interface when displaying long system names
Leon Styhre's avatar
Leon Styhre committed
229
* Added size restrictions to the "size" and "maxSize" theme properties for the image and video elements
Leon Styhre's avatar
Leon Styhre committed
230
* Changed to a new API key for TheGamesDB
Leon Styhre's avatar
Leon Styhre committed
231
* (Linux) Changed the manually downloaded Redream emulator location from ~/Applications/redream to ~/Applications/redream/redream
Leon Styhre's avatar
Leon Styhre committed
232
233
234
* (rbsimple-DE) Added console and controller graphics for the wiiu system
* (rbsimple-DE) Added controller graphics for the saturn, saturnjp and xbox systems
* (modern-DE) Replaced the carousel image for the desktop system
Leon Styhre's avatar
Leon Styhre committed
235

Leon Styhre's avatar
Leon Styhre committed
236
237
### Bug fixes

Leon Styhre's avatar
Leon Styhre committed
238
* When running ES-DE in the background, quitting a game or application using Alt + F4 sometimes made ES-DE quit as well
Leon Styhre's avatar
Leon Styhre committed
239
240
241
* Thumbnails were not included in theme sets that used them for the Detailed view style (affected RetroPie ES compatibility)
* Game images were not included in theme sets that used them for the Video view style (affected RetroPie ES compatibility)
* Themes with large pixelated fonts sometimes displayed too many textlist rows (affected RetroPie ES compatibility)
Leon Styhre's avatar
Leon Styhre committed
242
* When entering the text edit field for the virtual keyboard, a navigation key repeat would sometimes continue to run
Leon Styhre's avatar
Leon Styhre committed
243
* The menu scroll indicators and title sometimes overlapped (e.g. seen in the Alternative emulators interface)
Leon Styhre's avatar
Leon Styhre committed
244
* There was a small rounding error that caused a minimal distortion when rendering menu titles
Leon Styhre's avatar
Leon Styhre committed
245
* (macOS) The platform tag was missing for the NEC TurboGrafx-CD (tg-cd) system, leading to inaccurate scraping
Leon Styhre's avatar
Leon Styhre committed
246

247
## Version 1.2.4
Leon Styhre's avatar
Leon Styhre committed
248

249
**Release date:** 2022-05-27
Leon Styhre's avatar
Leon Styhre committed
250
251
252

### Release overview

253
v1.2 maintenance release. Support has been added for multiple systems such as Daphne (arcade LaserDisc) and OpenBOR. A number of default emulators have been changed, some standalone emulators have been added and numerous bugs have been fixed. Some low-level functionality has also been implemented to enable more advanced emulator launch options and quite a number of missing theme assets have been created for the default rbsimple-DE theme.
Leon Styhre's avatar
Leon Styhre committed
254

Leon Styhre's avatar
Leon Styhre committed
255
256
### Detailed list of changes

Leon Styhre's avatar
Leon Styhre committed
257
* Added configuration for the Daphne arcade LaserDisc system using the Hypseus Singe emulator
Leon Styhre's avatar
Leon Styhre committed
258
* Added configuration for the OpenBOR game engine on Linux and Windows
Leon Styhre's avatar
Leon Styhre committed
259
* Added emulator configuration for the astrocde (Bally Astrocade) and cdtv systems
Leon Styhre's avatar
Leon Styhre committed
260
* Changed the default emulator for the famicom, fds and nes systems from Nestopia UE to Mesen
Leon Styhre's avatar
Leon Styhre committed
261
* Changed the default emulator for the gb and gbc systems from SameBoy to Gambatte
Leon Styhre's avatar
Leon Styhre committed
262
* Changed the default emulator for the gamegear and sg-1000 systems from Gearsystem to Genesis Plus GX
Leon Styhre's avatar
Leon Styhre committed
263
* Changed the default emulator for the dos and pc systems from DOSBox-Core to DOSBox-Pure
Leon Styhre's avatar
Leon Styhre committed
264
* Changed the default emulator for the mame system from MAME 2003-Plus to MAME - Current
Leon Styhre's avatar
Leon Styhre committed
265
266
* Removed the --escape-exit command line option for the PPSSPP standalone emulator as it caused issues for some users
* Added experimental support for PCSX2 Qt and PCSX2 wxWidgets for the ps2 system on Windows
Leon Styhre's avatar
Leon Styhre committed
267
* Added AetherSX2 standalone as an alternative emulator for the ps2 system on macOS
Leon Styhre's avatar
Leon Styhre committed
268
269
270
* Added DOSBox-X standalone as an alternative emulator for the dos and pc systems
* Added bsnes standalone as an alternative emulator for the satellaview, sfc, snes, snesna and sufami systems
* Added Snes9x standalone as an alternative emulator for the satellaview and sufami systems
Leon Styhre's avatar
Leon Styhre committed
271
* Added Atari800 standalone as an alternative emulator for the atarixe system
Leon Styhre's avatar
Leon Styhre committed
272
273
274
275
276
277
* Added the Flycast RetroArch core and Flycast standalone as alternative emulators for the arcade and mame systems
* Added the Gearcoleco RetroArch core as an alternative emulator for the colecovision system
* Added Nestopia UE standalone as an alternative emulator for the famicom, fds and nes systems on Unix
* Added DeSmuME standalone as an alternative emulator for the nds system on Unix
* Added Model 2 Emulator standalone as an alternative emulator for the arcade and mame systems on Windows
* Added Supermodel standalone as an alternative emulator for the arcade and mame systems on Windows
Leon Styhre's avatar
Leon Styhre committed
278
* Added the file extensions .ciso, .dump, .gz, .m3u, .mdf, .img and .nrg to the ps2 system
Leon Styhre's avatar
Leon Styhre committed
279
280
281
282
283
284
285
286
287
* Removed the .chd file extension from the naomi, naomigd and atomiswave systems
* Removed the .bin file extension from the pcengine, pcenginecd, tg16 and tg-cd systems
* Added the "citra" binary for Citra standalone on Linux (making it possible to use the repository or AUR release)
* Removed the -full-screen command line option for the xemu emulator
* Set %STARTDIR%=%EMUDIR% for the xenia (Xbox 360) emulator
* Added scraper support for the astrocde platform
* Added scraper support for the arcadia (Emerson Arcadia 2001) and crvision (VTech CreatiVision) platforms
* Changed the platform to arcade for the atomiswave, naomi and naomigd systems to improve scraping
* Added TheGamesDB scraper support for the atomiswave and naomi platforms
288
* Added a new pcwindows platform for scraping PC (Windows) games
Leon Styhre's avatar
Leon Styhre committed
289
* Changed the steam platform internally to use the ScreenScraper "PC Windows" platform ID
290
* Changed the platform to pcwindows for the epic system
Leon Styhre's avatar
Leon Styhre committed
291
* Enabled screensaver controls when running in Kid UI mode
Leon Styhre's avatar
Leon Styhre committed
292
* Added custom event script triggers on application startup, screensaver start and screensaver end
Leon Styhre's avatar
Leon Styhre committed
293
* Added a --create-system-dirs command line option to generate the game system directories
Leon Styhre's avatar
Leon Styhre committed
294
* Added an %INJECT% variable for injecting launch arguments from game config files (required by Hypseus Singe)
Leon Styhre's avatar
Leon Styhre committed
295
296
* Added a %GAMEDIR% variable that expands to the game directory (required by Hypseus Singe)
* Made the %GAMEDIR% variable usable with the %STARTDIR% variable (required by OpenBOR)
Leon Styhre's avatar
Leon Styhre committed
297
* (Windows) Set %RUNINBACKGROUND% when launching MAME standalone as this emulator may otherwise hang on exit
Leon Styhre's avatar
Leon Styhre committed
298
* (Windows) Added an %ESCAPESPECIALS% variable that escapes the special characters &()^=;,
Leon Styhre's avatar
Leon Styhre committed
299
* (Windows) Added %ESCAPESPECIALS% to the desktop, epic, kodi, ports and steam systems
Leon Styhre's avatar
Leon Styhre committed
300
301
302
303
304
* (rbsimple-DE) Added console and controller graphics for the ps2 and ps3 systems
* (rbsimple-DE) Added console graphics for the n3ds, saturn, saturnjp, switch and xbox360 systems
* Added an Xbox Kinect controller badge icon
* Swapped the colors of the Joy-Con controller badge icons
* (macOS) Categorized the application as a game so it shows up in the Launchpad games section
Leon Styhre's avatar
Leon Styhre committed
305
* Replaced the explicit shell commands in es_systems.xml with %EMULATOR_OS-SHELL% find rules
Leon Styhre's avatar
Leon Styhre committed
306
* Updated the StringUtil::replace function as the old function was dangerous and could run into an endless loop
Leon Styhre's avatar
Leon Styhre committed
307
* Added experimental support for folder flattening
Leon Styhre's avatar
Leon Styhre committed
308

Leon Styhre's avatar
Leon Styhre committed
309
310
### Bug fixes

Leon Styhre's avatar
Leon Styhre committed
311
* All games were included in the video and slideshow screeensavers when in Kid UI mode
Leon Styhre's avatar
Leon Styhre committed
312
* Under very rare circumstances, games and folders could get mixed up during gamelist.xml parsing
Leon Styhre's avatar
Leon Styhre committed
313
* The %BASENAME% variable didn't work correctly with the "Directories interpreted as files" functionality
Leon Styhre's avatar
Leon Styhre committed
314
315
* The scroll indicators would sometimes not work correctly in the Alternative Emulators screen
* Fixed a minor rounding issue which sometimes led to the menu scroll indicators not being positioned correctly
Leon Styhre's avatar
Leon Styhre committed
316
* The game-end event was triggered immediately on game launch if running ES-DE in the background
Leon Styhre's avatar
Leon Styhre committed
317
* The "quit" custom event script trigger was not executed when quitting the application using the quit key combo
Leon Styhre's avatar
Leon Styhre committed
318
319
* Chinese characters would sometimes not render correctly
* The "Jump to.." quick selector didn't work correctly with multi-byte Unicode characters
Leon Styhre's avatar
Leon Styhre committed
320
321
322
* (Windows) Fixed an issue where symlinking game media directories would crash the application
* (Windows) Scripts and links executed using cmd.exe could not contain the special characters &()^=;,
* (Windows) ROM directories could not be created in the root of a device such as D:\ or E:\
Leon Styhre's avatar
Leon Styhre committed
323
324
* (Linux) Flatpak directories were missing for user installations of the standalone emulators BlastEm, Play! and Snes9x
* (rbsimple-DE) The systeminfo text for the saturn and saturnjp systems had mixed up megabytes with megabits
Leon Styhre's avatar
Leon Styhre committed
325

326
## Version 1.2.3
Leon Styhre's avatar
Leon Styhre committed
327

328
**Release date:** 2022-05-04
Leon Styhre's avatar
Leon Styhre committed
329
330
331

### Release overview

Leon Styhre's avatar
Leon Styhre committed
332
v1.2 maintenance release. Support has been added for displaying multi-disc/multi-file games as single entries, underscores can now be filtered out when doing scraper searches and a number of additional emulators and emulator file extensions have been added. A few bugs have been fixed as well.
Leon Styhre's avatar
Leon Styhre committed
333
334
335

### Detailed list of changes

Leon Styhre's avatar
Leon Styhre committed
336
* Made it possible to directly launch files inside directories that are interpreted as files
Leon Styhre's avatar
Leon Styhre committed
337
* Added a scraper setting to convert underscores _ to spaces when searching
Leon Styhre's avatar
Leon Styhre committed
338
339
340
341
342
343
* If no ScreenScraper video is found when scraping, a fallback will now be done to the normalized (low quality) video
* Added support for using the manually downloaded emulators Redream and Ryujinx on Unix
* Added Play! standalone as an alternative emulator for the ps2 system
* Added Snes9x standalone as an alternative emulator for the sfc, snes and snesna systems
* Added Atari800 standalone as an alternative emulator for the atari800 system
* Added BlastEm standalone as an alternative emulator for the megadrive and genesis systems on Unix
344
* Added MAME standalone as an alternative emulator for the arcade and mame systems on macOS
Leon Styhre's avatar
Leon Styhre committed
345
346
* Added the SAME CDi and CDi 2015 RetroArch cores for the cdimono1 system
* Added the PUAE 2021 RetroArch core to the amiga, amiga600, amiga1200 and amigacd32 systems
Leon Styhre's avatar
Leon Styhre committed
347
* Replaced the RetroArch core 4DO with Opera for the 3do system
Leon Styhre's avatar
Leon Styhre committed
348
* Removed the RetroArch DuckStation core as it has been superseded by SwanStation
Leon Styhre's avatar
Leon Styhre committed
349
* Added the .ps3 file extension to the ps3 system
Leon Styhre's avatar
Leon Styhre committed
350
* Added the .rom file extension to the atari800 system
Leon Styhre's avatar
Leon Styhre committed
351
* Added the .svm file extension to the scummvm system and removed support for .7z and .zip extensions
Leon Styhre's avatar
Leon Styhre committed
352
* Added the .wua, .wud and .wux file extensions for the wiiu system on Windows
Leon Styhre's avatar
Leon Styhre committed
353
354
* Added --escape-exit command line option for the PPSSPP standalone emulator
* Added -batch command line option for the DuckStation standalone emulator
Leon Styhre's avatar
Leon Styhre committed
355
356
* (Windows) Added a separate find rules configuration file for use with portable installations
* (Windows) Added an "Emulators" directory to all emulators for portable installations
Leon Styhre's avatar
Leon Styhre committed
357
358
* 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"
Leon Styhre's avatar
Leon Styhre committed
359
* (rbsimple-DE) Made the xbox console graphics slightly darker
Leon Styhre's avatar
Leon Styhre committed
360
361
362
* The %ROMPATH% variable can now be used inside the es_systems.xml command tag
* Added a %STARTDIR% variable to set the start directory when running an emulator (required by MAME standalone)
* Added an %EMUDIR% variable that expands to the emulator binary directory
Leon Styhre's avatar
Leon Styhre committed
363
* Added a CMake flag to build as Flatpak which prefixes "flatpak-spawn --host" to all launch commands
Leon Styhre's avatar
Leon Styhre committed
364
* Added some Flatpak-specific code to work around the sandbox restrictions of this package format
Leon Styhre's avatar
Leon Styhre committed
365
366
* A check is now done on game launch that emulator binaries are actually files or symlinks
* (Unix) Renamed the icon emulationstation.svg to org.es_de.emulationstation-de.svg
Leon Styhre's avatar
Leon Styhre committed
367
368
369

### Bug fixes

Leon Styhre's avatar
Leon Styhre committed
370
* The MAME standalone emulator couldn't be launched
371
* Using a custom image directory for the slideshow screensaver would hang the application if there was only a single image
Leon Styhre's avatar
Leon Styhre committed
372
* On Unix and macOS, staticpaths rules in es_find_rules.xml containing spaces would not work
Leon Styhre's avatar
Leon Styhre committed
373
* %ESPATH% variables could not be used in es_systems.xml
Leon Styhre's avatar
Leon Styhre committed
374
* Navigating the list of alternative emulators would sometimes lead to an incorrect row positioning
Leon Styhre's avatar
Leon Styhre committed
375
* On Windows, the find rule for the Mupen64Plus standalone emulator was not setup correctly
Leon Styhre's avatar
Leon Styhre committed
376

377
## Version 1.2.2
Leon Styhre's avatar
Leon Styhre committed
378

379
**Release date:** 2022-04-07
Leon Styhre's avatar
Leon Styhre committed
380
381
382

### Release overview

383
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.
Leon Styhre's avatar
Leon Styhre committed
384
385
386

### Detailed list of changes

Leon Styhre's avatar
Leon Styhre committed
387
388
* 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
389
* Set the interactive scraper as disabled by default
Leon Styhre's avatar
Leon Styhre committed
390
391
* Added support for the Nintendo SFC (Super Famicom) game system
* Added the SwanStation RetroArch core as an alternative emulator for the psx system
Leon Styhre's avatar
Leon Styhre committed
392
393
394
* 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
Leon Styhre's avatar
Leon Styhre committed
395
396
397
* 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
Leon Styhre's avatar
Leon Styhre committed
398
399
* 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
Leon Styhre's avatar
Leon Styhre committed
400
* Emulator Flatpaks can now be installed to the home directory on Debian
Leon Styhre's avatar
Leon Styhre committed
401
* Increased the default VRAM limit from 256 MiB to 512 MiB on the Steam Deck
Leon Styhre's avatar
Leon Styhre committed
402
403
404

### Bug fixes

Leon Styhre's avatar
Leon Styhre committed
405
406
* A crash could occur under some circumstances due to an insufficient font texture size
* The systems were not always sorted correctly
Leon Styhre's avatar
Leon Styhre committed
407
* The help system was not properly updated after results were returned by the scraper
Leon Styhre's avatar
Leon Styhre committed
408

409
## Version 1.2.1
Leon Styhre's avatar
Leon Styhre committed
410

411
**Release date:** 2022-03-30
Leon Styhre's avatar
Leon Styhre committed
412
413
414

### Release overview

415
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.
Leon Styhre's avatar
Leon Styhre committed
416
417
418

### Detailed list of changes

Leon Styhre's avatar
Leon Styhre committed
419
* Added support for the standalone emulators Citra, Dolphin, DuckStation, MAME, melonDS, mGBA, Mupen64Plus, PPSSPP, Redream, Ryujinx and VBA-M
420
421
422
423
* 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
Leon Styhre's avatar
Leon Styhre committed
424
425
426
427
428
429
430

### 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
Leon Styhre's avatar
Leon Styhre committed
431
* modern-DE: Small adjustment to make the help system fit on screen at all times
Leon Styhre's avatar
Leon Styhre committed
432

433
## Version 1.2.0
434

435
**Release date:** 2021-12-28
436
437
438

### Release overview

Leon Styhre's avatar
Leon Styhre committed
439
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.
Leon Styhre's avatar
Leon Styhre committed
440
441
442
443
444
445
446
447
448
449
450

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.

451
452
### Detailed list of changes

453
* 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
Leon Styhre's avatar
Leon Styhre committed
454
455
* 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
Leon Styhre's avatar
Leon Styhre committed
456
* Added badges that indicate favorite/completed/broken games as well as games suitable for children and those with a selected alternative emulator
Leon Styhre's avatar
Leon Styhre committed
457
* Added game-specific controllers that are selectable via the metadata editor and displayed as a controller badge
Leon Styhre's avatar
Leon Styhre committed
458
459
* 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
Leon Styhre's avatar
Leon Styhre committed
460
461
462
* 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
Leon Styhre's avatar
Leon Styhre committed
463
* Added support for the Raspberry Pi 4 (Raspberry Pi OS 32-bit/armv7l and 64-bit/aarch64)
Leon Styhre's avatar
Leon Styhre committed
464
* Bundled a new alternative theme "modern-DE" which supports all the latest features from this release
Leon Styhre's avatar
Leon Styhre committed
465
* Changed the Unix fullscreen mode and removed the --windowed, --fullscreen-normal and --fullscreen-borderless command line options
Leon Styhre's avatar
Leon Styhre committed
466
* Removed the Unix-specific menu option "Fullscreen mode (requires restart)"
Leon Styhre's avatar
Leon Styhre committed
467
468
* 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
Leon Styhre's avatar
Leon Styhre committed
469
* Added the ability to make complementary game system customizations without having to replace the entire bundled es_systems.xml file
Leon Styhre's avatar
Leon Styhre committed
470
* Added support for an optional \<systemsortname\> tag for es_systems.xml that can be used to override the default \<fullname\> systems sorting
Leon Styhre's avatar
Leon Styhre committed
471
472
* 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
Leon Styhre's avatar
Leon Styhre committed
473
* 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
Leon Styhre's avatar
Leon Styhre committed
474
* Added proper support for interpreting directories as files (for use with emulators where directories rather than files are passed during game launch)
Leon Styhre's avatar
Leon Styhre committed
475
* Added menu scroll indicators showing if there are additional entries available below or above what's currently shown on screen
Leon Styhre's avatar
Leon Styhre committed
476
* Added scraping of controller metadata (only for ScreenScraper and only for arcade systems)
Leon Styhre's avatar
Leon Styhre committed
477
478
* Improved the layout of the scraper GUIs (single-game scraper and multi-scraper)
* Added horizontal scrolling of long game names to the scraper GUIs
Leon Styhre's avatar
Leon Styhre committed
479
* Removed the "Scrape" text prefix from the scraper content settings
Leon Styhre's avatar
Leon Styhre committed
480
* 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
Leon Styhre's avatar
Leon Styhre committed
481
482
483
* 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)
Leon Styhre's avatar
Leon Styhre committed
484
* Significantly reduced the CPU usage on macOS while running in the background
Leon Styhre's avatar
Leon Styhre committed
485
* Removed the copying of es_settings.cfg to es_settings.xml as it caused issues when migrating from other EmulationStation forks
Leon Styhre's avatar
Leon Styhre committed
486
487
* 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
Leon Styhre's avatar
Leon Styhre committed
488
* Added filters for "Controller" and "Alternative emulator" and sorted the filters in the same order as the metadata editor fields
Leon Styhre's avatar
Leon Styhre committed
489
* Added the ability to filter on blank/unknown values for Genre, Player, Developer, Publisher, Controller and Alternative emulator
Leon Styhre's avatar
Leon Styhre committed
490
* Added a menu option to change the application exit key combination
Leon Styhre's avatar
Leon Styhre committed
491
* If there are no custom collections, the "Custom game collections" menu entry is now grayed out
Leon Styhre's avatar
Leon Styhre committed
492
* Added an option to preload the gamelists on startup which leads to smoother navigation when first entering each gamelist
Leon Styhre's avatar
Leon Styhre committed
493
494
* 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
Leon Styhre's avatar
Leon Styhre committed
495
* Lowered the minimum supported screen resolution from 640x480 to 224x224 to support arcade cabinet displays such as those running at 384x224 and 224x384
496
* Removed the ResidualVM system as it has been merged with ScummVM
Leon Styhre's avatar
Leon Styhre committed
497
* Added support for the Commodore VIC-20, Epic Games Store, Google Android, Java 2 Micro Edition, Philips CD-i and Symbian systems
Leon Styhre's avatar
Leon Styhre committed
498
* Added emulator configurations for the Microsoft Xbox, Microsoft Xbox 360 and Sony PlayStation 3 systems
Leon Styhre's avatar
Leon Styhre committed
499
500
* 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
Leon Styhre's avatar
Leon Styhre committed
501
* Made the scrolling speed of ScrollableContainer more consistent across various screen resolutions and display aspect ratios
Leon Styhre's avatar
Leon Styhre committed
502
* Decreased the amount of text that ScrollableContainer renders above and below the starting position as content is scrolled
Leon Styhre's avatar
Leon Styhre committed
503
* 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
Leon Styhre's avatar
Leon Styhre committed
504
* Added notification popups when plugging in or removing controllers
Leon Styhre's avatar
Leon Styhre committed
505
* Made large optimizations to the SVG rendering which reduces application startup time dramatically when many systems are populated
Leon Styhre's avatar
Leon Styhre committed
506
507
* 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
Leon Styhre's avatar
Leon Styhre committed
508
* Removed the "Choose" entry from the gamelist view help prompts
Leon Styhre's avatar
Leon Styhre committed
509
* Replaced a number of help prompt hacks with proper solutions
Leon Styhre's avatar
Leon Styhre committed
510
* Changed the "Toggle screensaver" help entry in the system view to simply "Screensaver"
Leon Styhre's avatar
Leon Styhre committed
511
* Changed the font size for the custom collection deletion screen to use the same size as all other menus
Leon Styhre's avatar
Leon Styhre committed
512
* Added support for upscaling bitmap images using linear filtering
Leon Styhre's avatar
Leon Styhre committed
513
* Changed the marquee image upscale filtering from nearest neighbor to linear for the launch screen and gamelist views
Leon Styhre's avatar
Leon Styhre committed
514
* Made the window corners slightly more rounded
Leon Styhre's avatar
Leon Styhre committed
515
516
* 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
Leon Styhre's avatar
Leon Styhre committed
517
* Moved the ScreenScraper account toggle to the bottom of the scraper account settings menu
Leon Styhre's avatar
Leon Styhre committed
518
* Lowered the default volumes slightly for videos and navigation sounds
Leon Styhre's avatar
Leon Styhre committed
519
* Added loading of the System view to the ViewController preload function to decrease theme extras texture pop-in
Leon Styhre's avatar
Leon Styhre committed
520
521
* 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
Leon Styhre's avatar
Leon Styhre committed
522
523
* Removed a margin hack from TextComponent
* If abbreviated strings end with a space character, that space is now removed (TextComponent)
Leon Styhre's avatar
Leon Styhre committed
524
* Added support for multi-select total count and exclusive multi-select to OptionListComponent
Leon Styhre's avatar
Leon Styhre committed
525
* Added support for a maximum name length to OptionListComponent (non-multiselect only) with an abbreviation of the name if it exceeds this value
Leon Styhre's avatar
Leon Styhre committed
526
* Added support for key repeat to OptionListComponent, making it possible to cycle through the options by holding the left and right buttons
Leon Styhre's avatar
Leon Styhre committed
527
528
* 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)
Leon Styhre's avatar
Leon Styhre committed
529
* Added support for setting the Kidgame metadata flag for folders (which will only affect the badges)
Leon Styhre's avatar
Leon Styhre committed
530
* Added a blinking cursor to TextEditComponent
Leon Styhre's avatar
Leon Styhre committed
531
* Achieved a massive speed improvement for OptionListComponent by not resizing each added MenuComponent row (most notable in the filter GUI)
Leon Styhre's avatar
Leon Styhre committed
532
* Made multiple optimizations to the GUI components by removing lots of unnecessary function calls for sizing, placement, opacity changes etc.
Leon Styhre's avatar
Leon Styhre committed
533
* Simplified the logic for info popups and prepared the code for the future "multiple popups" feature
Leon Styhre's avatar
Leon Styhre committed
534
535
* 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
Leon Styhre's avatar
Leon Styhre committed
536
* Bundled the bold font version of Fontfabric Akrobat
Leon Styhre's avatar
Leon Styhre committed
537
538
* 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
Leon Styhre's avatar
Leon Styhre committed
539
* Added RapidJSON as a Git subtree
540
* Added the GLM (OpenGL Mathematics) library as a Git subtree
Leon Styhre's avatar
Leon Styhre committed
541
542
543
* 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
Leon Styhre's avatar
Leon Styhre committed
544
* Improved thread safety at multiple places throughout the codebase
Leon Styhre's avatar
Leon Styhre committed
545
* Made an optimization for SVG graphics to avoid a lot of unnecessary re-rasterizations
Leon Styhre's avatar
Leon Styhre committed
546
* Made all dependencies build in-tree on macOS instead of having to rely on Homebrew-supplied libraries
Leon Styhre's avatar
Leon Styhre committed
547
* Added a script to generate an AppImage on Linux
Leon Styhre's avatar
Leon Styhre committed
548
* Lots of other general code refactoring
Leon Styhre's avatar
Leon Styhre committed
549
* Increased the warning level for Clang/LLVM and GCC by adding -Wall, -Wpedantic and some additional flags
Leon Styhre's avatar
Leon Styhre committed
550
* Fixed a lot of compiler warnings introduced by the -Wall and -Wpedantic flags
Leon Styhre's avatar
Leon Styhre committed
551
* Changed the language standard from C++14 to C++17
Leon Styhre's avatar
Leon Styhre committed
552
* Increased the minimal required compiler version to 5.0.0 for Clang/LLVM and 7.1 for GCC
Leon Styhre's avatar
Leon Styhre committed
553
* Added CMake options to build with AddressSanitizer, ThreadSanitizer and UndefinedBehaviorSanitizer
Leon Styhre's avatar
Leon Styhre committed
554
* Changed two clang-format rules related to braced lists and reformatted the codebase
Leon Styhre's avatar
Leon Styhre committed
555
* Upgraded the bundled SDL version 2.0.14 to 2.0.18 on Windows and macOS
Leon Styhre's avatar
Leon Styhre committed
556
557
* 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
Leon Styhre's avatar
Leon Styhre committed
558
559
560
* 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
Leon Styhre's avatar
Leon Styhre committed
561
562
563

### Bug fixes

Leon Styhre's avatar
Leon Styhre committed
564
* Single-scraping a game, aborting and then re-scraping without leaving the metadata editor would sometimes lead to a crash
Leon Styhre's avatar
Leon Styhre committed
565
* Setting a really small font size in a theme would crash the application
Leon Styhre's avatar
Leon Styhre committed
566
* Text containing invalid (partial) Unicode characters could crash the application
Leon Styhre's avatar
Leon Styhre committed
567
* Deleting the last custom collection could crash the application if the grouped "collections" system was set as the startup gamelist
568
* Connecting a controller with buggy drivers could crash the application
Leon Styhre's avatar
Leon Styhre committed
569
570
* 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
Leon Styhre's avatar
Leon Styhre committed
571
572
573
* 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
Leon Styhre's avatar
Leon Styhre committed
574
* 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
Leon Styhre's avatar
Leon Styhre committed
575
* 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
Leon Styhre's avatar
Leon Styhre committed
576
* The multi-scraper did not update the filter index
Leon Styhre's avatar
Leon Styhre committed
577
* Multi-scraping and aborting before any games were fully scraped but after some game media was downloaded did not trigger a gamelist reload
Leon Styhre's avatar
Leon Styhre committed
578
579
* (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)
Leon Styhre's avatar
Leon Styhre committed
580
* 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
Leon Styhre's avatar
Leon Styhre committed
581
* Fixed multiple minor rendering issues where graphics would be slightly cut off or incorrectly sized
Leon Styhre's avatar
Leon Styhre committed
582
* Under some circumstances ScrollableContainer (used for the game descriptions) would contain a partially rendered bottom line
Leon Styhre's avatar
Leon Styhre committed
583
584
* 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
Leon Styhre's avatar
Leon Styhre committed
585
* Fixed multiple issues with scaling of images which led to various inconsistencies and sometimes cut-off graphics
Leon Styhre's avatar
Leon Styhre committed
586
* The system time zone was not taken into consideration when using the Unix epoch which lead to various strange problems in the metadata editor
Leon Styhre's avatar
Leon Styhre committed
587
* Removing games from custom collections did not remove their filter index entries
Leon Styhre's avatar
Leon Styhre committed
588
* Enabling the All Games collection lead to a potentially large memory leak under some circumstances
589
* Input consisting of only whitespace characters would get accepted by TextEditComponent which led to various strange behaviors
Leon Styhre's avatar
Leon Styhre committed
590
* Leading and trailing whitespace characters would not get trimmed from the ROM directory when entering this during initial setup
Leon Styhre's avatar
Leon Styhre committed
591
592
* 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
Leon Styhre's avatar
Leon Styhre committed
593
* Leading and trailing whitespace characters would get included in game name filters
Leon Styhre's avatar
Leon Styhre committed
594
* Fixed multiple data races throughout the codebase caused by insufficient thread safety
Leon Styhre's avatar
Leon Styhre committed
595
596
* 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
Leon Styhre's avatar
Leon Styhre committed
597
* 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
Leon Styhre's avatar
Leon Styhre committed
598
* Fixed multiple issues where ComponentGrid would display incorrect help prompts
Leon Styhre's avatar
Leon Styhre committed
599
600
* 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
Leon Styhre's avatar
Leon Styhre committed
601
* When navigating menus, the separator lines and menu components did not align properly and moved up and down slightly
Leon Styhre's avatar
Leon Styhre committed
602
* 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)
Leon Styhre's avatar
Leon Styhre committed
603
* When scrolling in menus, pressing other buttons than "Up" or "Down" did not stop the scrolling which caused all sorts of weird behavior
Leon Styhre's avatar
Leon Styhre committed
604
* 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
Leon Styhre's avatar
Leon Styhre committed
605
* The launch screen text had ugly scaling artifacts if the menu opening effect was set to "Scale-up"
Leon Styhre's avatar
Leon Styhre committed
606
* The custom collection deletion screen had incorrect row heights when running at lower resolutions such as 1280x720
Leon Styhre's avatar
Leon Styhre committed
607
608
* 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
Leon Styhre's avatar
Leon Styhre committed
609
* 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
Leon Styhre's avatar
Leon Styhre committed
610
* 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
Leon Styhre's avatar
Leon Styhre committed
611
* When running really low on texture memory, the menu texture would not get rendered correctly
Leon Styhre's avatar
Leon Styhre committed
612
* At low screen resolutions, logos on the System view carousel would sometimes jump down a pixel when scaling down
Leon Styhre's avatar
Leon Styhre committed
613
* There was a tiny and randomly occuring gap between the system carousel and systemInfo bar during slide transitions between the System and Gamelist views
614
* The "no games" dialog did not have correct line wrapping when running at 1280x1024
Leon Styhre's avatar
Leon Styhre committed
615
* SliderComponent had very inconsistent widths at different screen aspect ratios
Leon Styhre's avatar
Leon Styhre committed
616
* SliderComponent did not properly align the knob and bar vertically
Leon Styhre's avatar
Leon Styhre committed
617
618
* Buttons were not sized and padded consistently across different screen resolutions
* OptionListComponent arrows were not padded consistently across different screen resolutions
Leon Styhre's avatar
Leon Styhre committed
619
* Resizing in SwitchComponent did not reposition the image properly leading to a non-centered image
Leon Styhre's avatar
Leon Styhre committed
620
* Horizontal sizing of the TextComponent input field was not consistent across different screen resolutions
Leon Styhre's avatar
Leon Styhre committed
621
* The sizing of the metadata editor was strange, which was clearly visible when activating the Ctrl+G debug mode
Leon Styhre's avatar
Leon Styhre committed
622
* The "sortname" window header was incorrectly spelled when editing this type of entry in the metadata editor
Leon Styhre's avatar
Leon Styhre committed
623
624
* 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

625
## Version 1.1.0
Leon Styhre's avatar
Leon Styhre committed
626

627
**Release date:** 2021-08-10
Leon Styhre's avatar
Leon Styhre committed
628
629
630

### Release overview

Leon Styhre's avatar
Leon Styhre committed
631
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.
Leon Styhre's avatar
Leon Styhre committed
632

Leon Styhre's avatar
Leon Styhre committed
633
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.
Leon Styhre's avatar
Leon Styhre committed
634

Leon Styhre's avatar
Leon Styhre committed
635
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.
Leon Styhre's avatar
Leon Styhre committed
636

Leon Styhre's avatar
Leon Styhre committed
637
Apart from this, numerous small improvements and bug fixes are part of the release, as detailed below.
Leon Styhre's avatar
Leon Styhre committed
638

Leon Styhre's avatar
Leon Styhre committed
639
640
### Detailed list of changes

Leon Styhre's avatar
Leon Styhre committed
641
642
* 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
Leon Styhre's avatar
Leon Styhre committed
643
* Added a fullscreen game media viewer
Leon Styhre's avatar
Leon Styhre committed
644
* Added a game launch screen that displays the marquee image, the game name and the system name
Leon Styhre's avatar
Leon Styhre committed
645
* Added a new video player based on FFmpeg
Leon Styhre's avatar
Leon Styhre committed
646
* 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)
Leon Styhre's avatar
Leon Styhre committed
647
* 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)
Leon Styhre's avatar
Leon Styhre committed
648
* 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
Leon Styhre's avatar
Leon Styhre committed
649
* Removed the deprecated %COREPATH% setting and corresponding menu entry
Leon Styhre's avatar
Leon Styhre committed
650
651
* 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
Leon Styhre's avatar
Leon Styhre committed
652
* Moved to the SDL GameController API which gives numerous improvements to the controller handling
Leon Styhre's avatar
Leon Styhre committed
653
* Default controller configuration is now automatically applied, input configuration should rarely if ever be required any longer except for deliberate button customization
Leon Styhre's avatar
Leon Styhre committed
654
* 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
Leon Styhre's avatar
Leon Styhre committed
655
* Added an option to limit the input in ES-DE to only the first controller (this does not affect the emulators)
Leon Styhre's avatar
Leon Styhre committed
656
* 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
Leon Styhre's avatar
Leon Styhre committed
657
* Added separate controller deadzone values for the triggers and thumbsticks
Leon Styhre's avatar
Leon Styhre committed
658
659
* 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
Leon Styhre's avatar
Leon Styhre committed
660
* Increased the max allowed size for images when scraping, which should now only downscale files which really need it
Leon Styhre's avatar
Leon Styhre committed
661
* Changed the resampling algorithm for image downscaling for the scraper from bilinear to Lanczos which results in noticeably sharper images
Leon Styhre's avatar
Leon Styhre committed
662
* Added a configurable option to automatically retry scraping up to eight times in case of ScreenScraper TLS errors
Leon Styhre's avatar
Leon Styhre committed
663
664
* 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
Leon Styhre's avatar
Leon Styhre committed
665
666
* 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
Leon Styhre's avatar
Leon Styhre committed
667
* A notification is now displayed in the grouped custom collections view if a filter is applied to the selected collection
Leon Styhre's avatar
Leon Styhre committed
668
* Changed the default screensaver type from "dim" to "video" and made the fallback screensaver "dim" instead of "black"
Leon Styhre's avatar
Leon Styhre committed
669
* Moved the video screensaver audio setting to the sound settings menu
Leon Styhre's avatar
Leon Styhre committed
670
* Added support for the Nintendo Switch game system (using the Yuzu emulator)
Leon Styhre's avatar
Leon Styhre committed
671
* 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
Leon Styhre's avatar
Leon Styhre committed
672
673
674
675
* 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
Leon Styhre's avatar
Leon Styhre committed
676
* Removed the "Display game media from ROM directories" setting as it doesn't make sense to support this legacy functionality any longer
Leon Styhre's avatar
Leon Styhre committed
677
* Added support for using the %ESPATH% and %ROMPATH% variables in the slideshow screensaver custom image directory setting
Leon Styhre's avatar
Leon Styhre committed
678
* Improved scaling relative to the screen aspect ratio for various GUI components which enhances the layout on 4:3 displays and ultrawide monitors
Leon Styhre's avatar
Leon Styhre committed
679
680
* Removed the menu fade-in effect as it looked terrible
* Enabled the menu scale-up effect for the OpenGL ES renderer
Leon Styhre's avatar
Leon Styhre committed
681
682
* 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)
Leon Styhre's avatar
Leon Styhre committed
683
* 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
Leon Styhre's avatar
Leon Styhre committed
684
* Added support for using the %ESPATH% variable in the media directory setting
Leon Styhre's avatar
Leon Styhre committed
685
* Removed the marquee image from rbsimple-DE as it's now baked into the miximages
Leon Styhre's avatar
Leon Styhre committed
686
* Set the gamelist video scanline rendering option to disabled by default
Leon Styhre's avatar
Leon Styhre committed
687
* Changed the setting description for the favorites game toggling button
Leon Styhre's avatar
Leon Styhre committed
688
* Simplified and improved the setup of portable installations on Windows
Leon Styhre's avatar
Leon Styhre committed
689
* 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)
Leon Styhre's avatar
Leon Styhre committed
690
691
* The themes and scripts directories are now automatically created during startup
* Cleaned up some application startup messages
Leon Styhre's avatar
Leon Styhre committed
692
693
* 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
Leon Styhre's avatar
Leon Styhre committed
694
* 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)
Leon Styhre's avatar
Leon Styhre committed
695
* Added a function to ImageComponent to crop fully transparent areas around an image
Leon Styhre's avatar
Leon Styhre committed
696
* Added and clarified startup log warnings for missing or invalid es_systems.xml platform tags
Leon Styhre's avatar
Leon Styhre committed
697
* Added a CMake option to control whether the VLC video player should be built, and set this to off by default
Leon Styhre's avatar
Leon Styhre committed
698
* Made it possible to build on the Raspberry Pi 4 (tested on Raspberry Pi OS)
Leon Styhre's avatar
Leon Styhre committed
699
* Removed the deprecated VideoOmxComponent
Leon Styhre's avatar
Leon Styhre committed
700
* Removed the pointless APPLE_SKIP_INSTALL_LIBS CMake option
Leon Styhre's avatar
Leon Styhre committed
701
* Added a clang-format style configuration file to use for automatic code formatting
Leon Styhre's avatar
Leon Styhre committed
702
* Formatted the entire codebase using clang-format
Leon Styhre's avatar
Leon Styhre committed
703
* Integrated clang-tidy with CMake and made it possible to enable it via a flag
Leon Styhre's avatar
Leon Styhre committed
704
* Added the NanoSVG library as a proper Git subtree
Leon Styhre's avatar
Leon Styhre committed
705
706
* Changed the language standard from C++11 to C++14

Leon Styhre's avatar
Leon Styhre committed
707
708
### Bug fixes

Leon Styhre's avatar
Leon Styhre committed
709
* Marking all games as favorites for a system or folder or removing all favorite markings would sometimes crash the application
Leon Styhre's avatar
Leon Styhre committed
710
711
712
713
* 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
Leon Styhre's avatar
Leon Styhre committed
714
* Game media would sometimes not get displayed after single-game scraping
Leon Styhre's avatar
Leon Styhre committed
715
716
717
* 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
Leon Styhre's avatar
Leon Styhre committed
718
* When using the Video view style, the static image would not get rendered during the first Slide transition when coming from the System view
Leon Styhre's avatar
Leon Styhre committed
719
* Long game names that were horizontally scrolling in the gamelist view would sometimes flicker when returning to the start position
Leon Styhre's avatar
Leon Styhre committed
720
* On Windows, images with Unicode characters in the game name that were resized when scraping would not get saved with valid filenames
Leon Styhre's avatar
Leon Styhre committed
721
* The glitches when configuring trigger buttons in GuiInputConfig have been fixed
Leon Styhre's avatar
Leon Styhre committed
722
* GuiDetectDevice wouldn't detect controller input that was of the "axis" type (i.e. analog inputs)
Leon Styhre's avatar
Leon Styhre committed
723
* GuiInputConfig didn't correctly inform which buttons could be skipped for some rows
Leon Styhre's avatar
Leon Styhre committed
724
* The scraper would sometimes consider very small images to be invalid
725
* Scraper searches for Nintendo Family Computer (Famicom) games were not accurate
Leon Styhre's avatar
Leon Styhre committed
726
* The Quick System Select help prompt was shown even when there was only a single game system present
Leon Styhre's avatar