diff --git a/CHANGELOG.md b/CHANGELOG.md index 874b6d05f..9a1016480 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,11 @@ * Added a menu option to change the application exit key combination * Added the GLM (OpenGL Mathematics) library as a Git subtree +* 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 +* Changed two clang-format rules related to braced lists and reformatted the codebase +* Changed the language standard from C++14 to C++17 ### Bug fixes @@ -293,6 +298,4 @@ Many bugs have been fixed, and numerous features that were only partially implem * On macOS Big Sur (and possibly other OS versions) when connecting a DualShock 4 controller either via Bluetooth or using a USB cable, two separate controller devices are registered in parallel. This is a bug in either macOS or the DualShock driver and it makes it seem as if ES-DE is registering double button presses when actually two separate controller devices are generating identical input. A workaround if using Bluetooth mode is to plug in the USB cable just after connecting the controller, wait a second or two and then remove the cable again. This will remove the cabled device, leaving only the Bluetooth device active. Another workaround is to enable the setting "Only accept input from first controller" in the ES-DE input device settings. The reason why this bug may not be visible in some other games and applications is that ES-DE enables and auto-configures all connected controllers. -* Some screen tearing can be seen in the upper part of the screen when using the slide transitions with certain graphics drivers and resolutions. This problem will hopefully be resolved in ES-DE v1.2 when moving to the GLM library. - * 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 caused by a bug in SDL where the primary display scaling is always used for calculating the display bounds and as such it needs to be fixed in that library. If using the same scaling percentage across all monitors, or if not using high DPI monitors at all, then this issue will not occur. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 45795265d..b2407e56c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,7 +33,7 @@ This plan is under constant review so expect it to change from time to time. Sti * Improved full-screen support, removing the temporary full-screen hacks * On-screen keyboard * Support for the Raspberry Pi 4 with OpenGL ES 2.0 and GLSL shaders (Raspberry Pi OS) -* Add GLM library dependency for matrix and vector operations, start to decommission the built-in functions +* Add GLM library dependency for matrix and vector operations, decommission the built-in functions * Add to more Linux repositories, BSD ports collections etc. * Flatpak and Snap releases on Linux @@ -90,6 +90,7 @@ But as clang-format won't change the actual code content or fix all code style c * As a general rule, use C++ syntax instead of C syntax, for example `static_cast(someFloatVariable)` instead of `(int)someFloatVariable` * Always declare one variable per line, never combine multiple declarations of the same type * Name member variables starting with an `m` such as `mMyMemberVariable` and name static variables starting with an `s` such as `sMyStaticVariable` +* Use braced initializations when possible, e.g. `float myFloat{1.5f}` as this is generally the safest way to do it * Short function definitions can be placed in either the .h or .cpp file depending on the situation * Avoid overoptimizations, especially if it sacrifices readability, makes the code hard to expand on or is error prone * Try to be coherent with the existing codebase regarding names, structure etc., it should not be obvious what person wrote which parts diff --git a/INSTALL-DEV.md b/INSTALL-DEV.md index 041fb5670..d6de8da65 100644 --- a/INSTALL-DEV.md +++ b/INSTALL-DEV.md @@ -1,4 +1,4 @@ -# EmulationStation Desktop Edition (ES-DE) - Building and advanced configuration (development version) +# EmulationStation Desktop Edition (ES-DE) v1.2 (development version) - Building and advanced configuration **Note:** This is a quite technical document intended for those that are interested in compiling ES-DE from source code, or would like to customize the configuration. If you just want to start using the software, check out [USERGUIDE-DEV.md](USERGUIDE-DEV.md) instead. diff --git a/INSTALL.md b/INSTALL.md index 59b72a6af..918b62cad 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,4 +1,4 @@ -# EmulationStation Desktop Edition (ES-DE) - Building and advanced configuration +# EmulationStation Desktop Edition (ES-DE) v1.1 - Building and advanced configuration **Note:** This is a quite technical document intended for those that are interested in compiling ES-DE from source code, or would like to customize the configuration. If you just want to start using the software, check out [USERGUIDE.md](USERGUIDE.md) instead. diff --git a/THEMES.md b/THEMES.md index cc2fc3888..7c2b127a3 100644 --- a/THEMES.md +++ b/THEMES.md @@ -1,4 +1,4 @@ -# EmulationStation Desktop Edition (ES-DE) - Themes +# EmulationStation Desktop Edition (ES-DE) v1.1 - Themes **Note:** If creating theme sets specifically for ES-DE, please add `-DE` to the theme name, as in `rbsimple-DE`. Because the ES-DE theme support has already deviated somehow from the RetroPie EmulationStation fork and will continue to deviate further in the future, the theme set will likely not be backwards compatible. It would be confusing and annoying for a user that downloads and attempts to use an ES-DE theme set in another EmulationStation fork only to get crashes, error messages or corrupted graphics. At least the -DE extension is a visual indicator that it's an ES-DE specific theme set. diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md index ea57304fd..a59b65160 100644 --- a/USERGUIDE-DEV.md +++ b/USERGUIDE-DEV.md @@ -1,4 +1,4 @@ -# EmulationStation Desktop Edition (ES-DE) - User guide (development version) +# EmulationStation Desktop Edition (ES-DE) v1.2 (development version) - User guide This document is intended as a quick start guide and as a reference for the application settings and general functionality. For details on how to build ES-DE from source code and to perform more advanced configuration, please refer to [INSTALL-DEV.md](INSTALL-DEV.md). @@ -26,6 +26,7 @@ For additional details, read on below. There are also installation videos available at the ES-DE YouTube channel:\ [https://www.youtube.com/channel/UCosLuC9yIMQPKFBJXgDpvVQ](https://www.youtube.com/channel/UCosLuC9yIMQPKFBJXgDpvVQ) + ## Installation and first startup To install ES-DE, just download the package or installer from [https://es-de.org](https://es-de.org) and follow the brief instructions below. @@ -78,7 +79,7 @@ On Unix this means /home/\/.emulationstation/, on macOS /Users/\/.emulationstation/, on macOS /Users/\