diff --git a/CHANGELOG.md b/CHANGELOG.md index 379435b02..184aac0ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,8 +12,13 @@ v2.0 maintenance release. ### Detailed list of changes +* Any theme directories with names ending with "disabled" (regardless of case) are now ignored +* Added support for changing the BusyComponent text dynamically +* Added the libgit2 library as a dependency + ### Bug fixes +* (Windows) Fixed a regression that made .bat and .lnk files with some special characters impossible to launch * Fixed several potential container overflows in GuiTextEditKeyboardPopup that could lead to rare crashes when running on an ARM processor * Fixed a potential container overflow in ViewController that could lead to rare crashes when running on an ARM processor * (macOS) When opening the main menu an error message was logged about accessing a nonexistent ShowQuitMenu setting diff --git a/FAQ.md b/FAQ.md index 34474997f..0ed5f8b74 100644 --- a/FAQ.md +++ b/FAQ.md @@ -110,7 +110,7 @@ ES-DE works very differently compared to all other EmulationStation forks when i ## It seems like gamelist.xml files in the ROMs directory tree are no longer getting loaded as of ES-DE 2.0? -Yes, to optionally read gamelist.xml files from the ROMs directory tree in previous releases was a mistake as it has caused a lot of confusion as well as invalid bug reports. As such the logic has now been changed to only read these files from .emulationstation/gamelists/ which is where they belong. If you insist on retaining the old logic you can do so by manually setting LegacyGamelistFileLocation to true in es_settings.xml as explained [here](INSTALL-DEV.md#settings-not-configurable-via-the-gui), but it's definitely not recommended. +Yes, to optionally read gamelist.xml files from the ROMs directory tree in previous releases was a mistake as it has caused a lot of confusion as well as invalid bug reports. As such the logic has now been changed to only read these files from .emulationstation/gamelists/ which is where they belong. If you insist on retaining the old logic you can do so by manually setting LegacyGamelistFileLocation to true in es_settings.xml as explained [here](INSTALL.md#settings-not-configurable-via-the-gui), but it's definitely not recommended. ## Why do I sometimes get error messages when scraping stating that files are less than 350 bytes in size? diff --git a/INSTALL-DEV.md b/INSTALL-DEV.md index 256a23e3d..f1f1cf3ed 100644 --- a/INSTALL-DEV.md +++ b/INSTALL-DEV.md @@ -23,8 +23,9 @@ There are some dependencies that need to be fulfilled in order to build ES-DE. T **Debian/Ubuntu** All of the required packages can be installed with apt-get: + ``` -sudo apt-get install build-essential clang-format git cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libcurl4-openssl-dev libpugixml-dev libasound2-dev libgl1-mesa-dev +sudo apt-get install build-essential clang-format git cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-openssl-dev libpugixml-dev libasound2-dev libgl1-mesa-dev ``` **Fedora** @@ -39,7 +40,7 @@ https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm - Then you can use dnf to install all the required packages: ``` -sudo dnf install gcc-c++ clang-tools-extra cmake libasan rpm-build SDL2-devel ffmpeg-devel freeimage-devel freetype-devel curl-devel pugixml-devel alsa-lib-devel mesa-libGL-devel +sudo dnf install gcc-c++ clang-tools-extra cmake libasan rpm-build SDL2-devel ffmpeg-devel freeimage-devel freetype-devel libgit2-devel curl-devel pugixml-devel alsa-lib-devel mesa-libGL-devel ``` **Manjaro** @@ -47,14 +48,14 @@ sudo dnf install gcc-c++ clang-tools-extra cmake libasan rpm-build SDL2-devel ff Use pacman to install all the required packages: ``` -sudo pacman -S gcc clang make cmake pkgconf sdl2 ffmpeg freeimage freetype2 pugixml +sudo pacman -S gcc clang make cmake pkgconf sdl2 ffmpeg freeimage freetype2 libgit2 pugixml ``` **Raspberry Pi OS (Raspian)** All of the required packages can be installed with apt-get: ``` -sudo apt-get install clang-format cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libcurl4-gnutls-dev libpugixml-dev +sudo apt-get install clang-format cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libgit2-dev libcurl4-gnutls-dev libpugixml-dev ``` To build with CEC support you also need to install these packages: @@ -72,7 +73,7 @@ Only the OpenGL ES 3.0 renderer works on Raspberry Pi and it's enabled by defaul Use pkg to install the dependencies: ``` -pkg install llvm-devel git pkgconf cmake sdl2 ffmpeg freeimage pugixml +pkg install llvm-devel git pkgconf cmake sdl2 ffmpeg freeimage libgit2 pugixml ``` Clang/LLVM and curl should already be included in the base OS installation. @@ -81,7 +82,7 @@ Clang/LLVM and curl should already be included in the base OS installation. Use pkgin to install the dependencies: ``` -pkgin install clang git cmake pkgconf SDL2 ffmpeg4 freeimage pugixml +pkgin install clang git cmake pkgconf SDL2 ffmpeg4 freeimage libgit2 pugixml ``` NetBSD ships with GCC by default, and although you should be able to use Clang/LLVM, it's probably easier to just stick to the default compiler environment. The reason why the clang package needs to be installed is to get clang-format onto the system. @@ -90,7 +91,7 @@ NetBSD ships with GCC by default, and although you should be able to use Clang/L Use pkg_add to install the dependencies: ``` -pkg_add clang-tools-extra cmake pkgconf sdl2 ffmpeg freeimage +pkg_add clang-tools-extra cmake pkgconf sdl2 ffmpeg freeimage libgit2 ``` In the same manner as for FreeBSD, Clang/LLVM and curl should already be installed by default. diff --git a/INSTALL.md b/INSTALL.md index 02a20a7a3..6ae72c5de 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -21,8 +21,9 @@ There are some dependencies that need to be fulfilled in order to build ES-DE. T **Debian/Ubuntu** All of the required packages can be installed with apt-get: + ``` -sudo apt-get install build-essential clang-format git cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libcurl4-openssl-dev libpugixml-dev libasound2-dev libgl1-mesa-dev +sudo apt-get install build-essential clang-format git cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-openssl-dev libpugixml-dev libasound2-dev libgl1-mesa-dev ``` **Fedora** @@ -37,7 +38,7 @@ https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm - Then you can use dnf to install all the required packages: ``` -sudo dnf install gcc-c++ clang-tools-extra cmake libasan rpm-build SDL2-devel ffmpeg-devel freeimage-devel freetype-devel curl-devel pugixml-devel alsa-lib-devel mesa-libGL-devel +sudo dnf install gcc-c++ clang-tools-extra cmake libasan rpm-build SDL2-devel ffmpeg-devel freeimage-devel freetype-devel libgit2-devel curl-devel pugixml-devel alsa-lib-devel mesa-libGL-devel ``` **Manjaro** @@ -45,14 +46,14 @@ sudo dnf install gcc-c++ clang-tools-extra cmake libasan rpm-build SDL2-devel ff Use pacman to install all the required packages: ``` -sudo pacman -S gcc clang make cmake pkgconf sdl2 ffmpeg freeimage freetype2 pugixml +sudo pacman -S gcc clang make cmake pkgconf sdl2 ffmpeg freeimage freetype2 libgit2 pugixml ``` **Raspberry Pi OS (Raspian)** All of the required packages can be installed with apt-get: ``` -sudo apt-get install clang-format cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libcurl4-gnutls-dev libpugixml-dev +sudo apt-get install clang-format cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libgit2-dev libcurl4-gnutls-dev libpugixml-dev ``` To build with CEC support you also need to install these packages: @@ -70,7 +71,7 @@ Only the OpenGL ES 3.0 renderer works on Raspberry Pi and it's enabled by defaul Use pkg to install the dependencies: ``` -pkg install llvm-devel git pkgconf cmake sdl2 ffmpeg freeimage pugixml +pkg install llvm-devel git pkgconf cmake sdl2 ffmpeg freeimage libgit2 pugixml ``` Clang/LLVM and curl should already be included in the base OS installation. @@ -79,7 +80,7 @@ Clang/LLVM and curl should already be included in the base OS installation. Use pkgin to install the dependencies: ``` -pkgin install clang git cmake pkgconf SDL2 ffmpeg4 freeimage pugixml +pkgin install clang git cmake pkgconf SDL2 ffmpeg4 freeimage libgit2 pugixml ``` NetBSD ships with GCC by default, and although you should be able to use Clang/LLVM, it's probably easier to just stick to the default compiler environment. The reason why the clang package needs to be installed is to get clang-format onto the system. @@ -88,7 +89,7 @@ NetBSD ships with GCC by default, and although you should be able to use Clang/L Use pkg_add to install the dependencies: ``` -pkg_add clang-tools-extra cmake pkgconf sdl2 ffmpeg freeimage +pkg_add clang-tools-extra cmake pkgconf sdl2 ffmpeg freeimage libgit2 ``` In the same manner as for FreeBSD, Clang/LLVM and curl should already be installed by default. diff --git a/ROADMAP.md b/ROADMAP.md index 28488fa07..7a7013daf 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -47,10 +47,10 @@ A more detailed breakdown can be found on the [Kanban](https://gitlab.com/es-de/ * _Replace NanoSVG with a more capable SVG rendering library_ * _Improve text and font functions, e.g. dynamic texture allocation and faster and cleaner text wrapping_ * _Improve GLSL shader post-processing performance_ +* Theme downloader #### v2.1 -* Theme downloader * Theme engine composite element support for enabling advanced and finely controlled layouts * Theme engine element animation support (storyboards) * New texture/cache manager with improved memory management and performance diff --git a/THEMES-DEV.md b/THEMES-DEV.md index 5dd287889..04b6602d0 100644 --- a/THEMES-DEV.md +++ b/THEMES-DEV.md @@ -8,6 +8,14 @@ Before your start, make sure to download the _Theme engine examples_ theme set t https://gitlab.com/es-de/themes/theme-engine-examples-es-de +More themes to use as a starting point can be found on the official themes list: + +https://gitlab.com/es-de/themes/themes-list + +There is also some documentation written by lilbud covering general tips and tricks as well as how to port themes from the legacy RetroPie theme engine to ES-DE: + +https://github.com/lilbud/es-de-theme-stuff + To test whether your theme set includes support for all ES-DE systems, download one of the following archives which contain ROMs directory structures fully populated with dummy files: [ROMs_ALL_Unix.zip](tools/system-dirs-dummy-files/ROMs_ALL_Unix.zip)\ diff --git a/THEMES.md b/THEMES.md index e73d76e56..af397f00f 100644 --- a/THEMES.md +++ b/THEMES.md @@ -6,11 +6,19 @@ Before your start, make sure to download the _Theme engine examples_ theme set t https://gitlab.com/es-de/themes/theme-engine-examples-es-de +More themes to use as a starting point can be found on the official themes list: + +https://gitlab.com/es-de/themes/themes-list + +There is also some documentation written by lilbud covering general tips and tricks as well as how to port themes from the legacy RetroPie theme engine to ES-DE: + +https://github.com/lilbud/es-de-theme-stuff + To test whether your theme set includes support for all ES-DE systems, download one of the following archives which contain ROMs directory structures fully populated with dummy files: -[ROMs_ALL_Unix.zip](tools/system-dirs-dummy-files/ROMs_ALL_Unix.zip)\ -[ROMs_ALL_macOS.zip](tools/system-dirs-dummy-files/ROMs_ALL_macOS.zip)\ -[ROMs_ALL_Windows.zip](tools/system-dirs-dummy-files/ROMs_ALL_Windows.zip) +[ROMs_ALL_Unix.zip](https://gitlab.com/es-de/emulationstation-de/-/blob/stable-2.0/tools/system-dirs-dummy-files/ROMs_ALL_Unix.zip)\ +[ROMs_ALL_macOS.zip](https://gitlab.com/es-de/emulationstation-de/-/blob/stable-2.0/tools/system-dirs-dummy-files/ROMs_ALL_macOS.zip)\ +[ROMs_ALL_Windows.zip](https://gitlab.com/es-de/emulationstation-de/-/blob/stable-2.0/tools/system-dirs-dummy-files/ROMs_ALL_Windows.zip) If you unzip and temporarily replace your ROMs directory with one of these, every system will be enabled on startup.