Documentation update

This commit is contained in:
Leon Styhre 2023-06-25 20:56:20 +02:00
parent a2ec852a4d
commit 8347f0f2e9
5 changed files with 43 additions and 24 deletions

View file

@ -8,6 +8,8 @@
* Added support for changing between light and dark color schemes for the menu system
* Added an option to scrape game manuals using ScreenScraper
* Added a PDF game manual viewer, accessible from the media viewer
* Added a separate es-pdf-convert binary to render PDF pages using Poppler (needed due to the restrictive GPL license for this library)
* Changed the scraper auto-retry functionality to never run on non-recoverable errors such as insufficient file permissions
* Added support for a dedicated es_systems_sorting.xml file to change systems sorting without having to modify es_systems.xml
* Placing an es_find_rules.xml file in custom_systems will now complement rather than override the bundled file
@ -18,12 +20,22 @@
* (Linux) Added support for the official Citra AppImage release
* Removed the experimental status for the theme downloader
* Improved resilience to buggy controller drivers which could previously crash the application (mostly relevant for macOS)
* Removed the custom SDL patch for the Linux AppImage builds that prevented the device virtual keyboard from being automatically displayed
* If the SDL library release is higher than 2.28.0, then the automatic popup of the device's virtual keyboard is now disabled
* The SDL library version is now printed to es_log.txt on application startup
* Added a setRawImage function to ImageComponent to load raw pixel data into textures (needed by PDFViewer)
* Added the Poppler PDF rendering library as a dependency
* Updated FFmpeg to 6.0, FreeType to 2.13.0, libgit2 to 1.6.4 and pugixml to 1.13 on Windows and macOS
* Updated SDL to 2.28.0 on Windows, macOS and the Linux AppImage builds
* (Windows) Updated curl to 8.1.2
* (Windows) Changed all dependencies to not include version numbers in their directory names to simplify future updates
* Updated LunaSVG to commit f924651b85cac47dbe15f51a4aa320461fc1d07b to fix a GCC 13 build error
* Changed the default OpenGL version from 4.6 to 3.3 when building for RetroDECK
### Bug fixes
* The scraper auto-retry functionality was triggered when scraping manually
* TextureResource::initFromPixels() was not setting the source size correctly
## Version 2.0.1

View file

@ -2,6 +2,8 @@
### Help needed
**For the time being I'm not working that actively on the project so requests for help are currently suspended since I don't have time to train and collaborate with other people.**
If you are experienced with developing cross-platform client applications in C++ then ES-DE could be an interesting project for you! Although the application does not have a huge codebase, it's fairly complex as it covers many different areas. To work on the project you need to be able to test your code on Linux, macOS and Windows.
Merge requests are only accepted from project members so if you would like to contribute to ES-DE then please get in touch and we can discuss what you would like to work on. But please only consider joining if you intend to be contributing long term as the project is quite large in scope and to train someone to be a team member is a substantial time investment.

View file

@ -59,9 +59,6 @@ https://github.com/xiph/ogg
Opus \
https://gitlab.xiph.org/xiph/opus
PoDoFo \
https://github.com/podofo/podofo
Poppler \
https://poppler.freedesktop.org

View file

@ -25,7 +25,7 @@ There are some dependencies that need to be fulfilled in order to build ES-DE. T
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 libgit2-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 libpoppler-cpp-dev
```
**Fedora**
@ -40,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 libgit2-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 poppler-cpp-devel
```
**Manjaro**
@ -48,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 libgit2 pugixml
sudo pacman -S gcc clang make cmake pkgconf sdl2 ffmpeg freeimage freetype2 libgit2 pugixml poppler
```
**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 libgit2-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 libpoppler-cpp-dev
```
To build with CEC support you also need to install these packages:
@ -73,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 libgit2 pugixml
pkg install llvm-devel git pkgconf cmake sdl2 ffmpeg freeimage libgit2 pugixml poppler
```
Clang/LLVM and curl should already be included in the base OS installation.
@ -82,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 libgit2 pugixml
pkgin install clang git cmake pkgconf SDL2 ffmpeg4 freeimage libgit2 pugixml poppler-cpp
```
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.
@ -91,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 libgit2
pkg_add clang-tools-extra cmake pkgconf sdl2 ffmpeg freeimage libgit2 poppler
```
In the same manner as for FreeBSD, Clang/LLVM and curl should already be installed by default.
@ -451,7 +451,7 @@ export PATH=/opt/homebrew/bin:$PATH
Install the required tools:
```
brew install clang-format cmake pkg-config nasm yasm
brew install clang-format cmake pkg-config meson nasm yasm
```
**Developer mode**
@ -588,19 +588,25 @@ This will be the directory structure for the installation:
```
/Applications/EmulationStation Desktop Edition.app/Contents/Info.plist
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/EmulationStation
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libSDL2-2.0.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavcodec.58.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavfilter.7.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavformat.58.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavutil.56.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libfdk-aac.2.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/es-pdf-convert
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libSDL2-2.0.0.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavcodec.60.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavfilter.9.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavformat.60.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavutil.58.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libfontconfig.1.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libfreetype.6.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libpostproc.55.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libswresample.3.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libswscale.5.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libgit2.1.6.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libjpeg.62.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libopenjp2.7.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libpoppler-cpp.0.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libpoppler.129.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libpostproc.57.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libswresample.4.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libswscale.7.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libtiff.6.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libvorbis.0.4.9.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libvorbisenc.2.0.12.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/plugins/*
/Applications/EmulationStation Desktop Edition.app/Contents/Resources/EmulationStation-DE.icns
/Applications/EmulationStation Desktop Edition.app/Contents/Resources/LICENSE
/Applications/EmulationStation Desktop Edition.app/Contents/Resources/licenses/*

View file

@ -456,7 +456,7 @@ Default keyboard mappings are shown in brackets.
**Up and down**\
_(Arrow up / Arrow down)_
Navigates between system and game entries where these buttons are applicable, such as for textlists and vertical carousels. Also used in menus for general navigation.
Navigates between system and game entries where these buttons are applicable, such as for textlists, grids and vertical carousels. Also used in menus for general navigation. For the media viewer it changes viewing mode between game media and PDF manuals.
**Left and right**\
_(Arrow left / Arrow right)_
@ -2916,15 +2916,17 @@ This will remove the actual game file, its gamelist.xml entry, its entry in any
## Game media viewer
The game media viewer displays videos and images in fullscreen mode and is launched from the gamelist view by pressing the _X_ button.
The game media viewer displays videos, images and PDF manuals in fullscreen mode and is launched from the gamelist view by pressing the _X_ button.
If a game video is available, this will be played automatically when launching the viewer. The _left_ and _right_ buttons are used to navigate betweeen the game media files. By default the video will continue to play when browsing the images, but this can be changed with a setting as described earlier in this document.
The media viewer can display the following media: _video, box cover, box back cover, title screen, screenshot_, _fan art_ and _miximage_.
If the game has a downloaded PDF manual then you can view it by pressing the _up_ button which will change the media viewer to PDF viewing mode. To get back to displaying videos and images when in this mode, press the _down_ button. When viewing PDF manuals you navigate the pages with the _left_ and _right_ buttons and you can also jump to the first and last page using the trigger buttons.
The other settings for the media viewer are similar to what is available for the screensavers; the audio can be enabled or disabled, the video can be stretched to fill the entire screen and scanlines and blur can be rendered on top of it. For screenshots and title screens, scanlines can be rendered. All these options are configurable via the _UI Settings_ menu.
Pressing any other button than _left_ or _right_ closes the media viewer.
Pressing any other button than those mentioned above closes the media viewer.
## Screensaver