Added a release plan to CONTRIBUTING.md.

This commit is contained in:
Leon Styhre 2020-11-18 21:06:55 +01:00
parent 0b6dce687e
commit 8aac36c9d3
2 changed files with 57 additions and 15 deletions

View file

@ -4,20 +4,64 @@ Contributing to EmulationStation Desktop Edition
### Help needed:
There are many cards in the Kanban backlog that would be nice to implement. And for this, code contributions are very welcome. There may be a bug or two as well that needs fixing ;)
Contributions to ES are very much appreciated as there are many things that need to be implemented and improved! Code commits is only one part of it, as work is also needed on the rbsimple-DE theme as well as thorough application testing.
And to put it mildly, I'm confused regarding CMake, so help is needed in this area. Although the building and package generation works more or less correctly, there are some hacks and similar in the CMakeLists.txt files that need improving by someone who really knows how this software package works.
A review of the CMake configuration files would be helpful. Although the building and package generation works more or less correctly, there are some hacks and similar in the CMakeLists.txt files that need improving by someone who really knows how this software package works.
Apart from code commits, help is especially needed for thorough testing of the software and for working on the rbsimple-DE theme.
Regarding testing, it's impossible for me to test every game system as rbsimple-DE has support for more than a 100 different systems. There could be issues with the configuration template files, or within ES itself. So more testing is needed!
It's impossible for me to test every game system (rbsimple-DE has support for more than a 100 different systems!) so it would be especially useful to hear about any issues with starting games using the default es_systems.cfg configuration file and also if there are any problems with scraping for certain systems.
And it's a fact that some configuration is simply missing in these files for some systems, so that would need to be added as well.
In general, a review of the [es_systems.cfg_unix](resources/templates/es_systems.cfg_unix), [es_systems.cfg_macos](resources/templates/es_systems.cfg_macos) and [es_systems.cfg_windows](resources/templates/es_systems.cfg_windows) files including the supported file extensions would be great!
In general, a thorough review of [es_systems.cfg_unix](resources/templates/es_systems.cfg_unix), [es_systems.cfg_macos](resources/templates/es_systems.cfg_macos) and [es_systems.cfg_windows](resources/templates/es_systems.cfg_windows) would be great!
As for rbsimple-DE there are quite some missing graphic files and other customizations for a number of game systems. Check out [MISSING.md](themes/rbsimple-DE/MISSING.md) for more details of what needs to be added or updated.
### High level release plan
This plan is under constant review so expect it to change from time to time. Still it should give some feeling for which direction to move and what to work on first. These are only the larger topics, there are of course many smaller changes and improvements in addition to these.
#### v1.1.0
* Add GLM library dependency for matrix and vector operations, decommissioning the built-in functions
* Move to SDL2 GameController API
* Different button graphics applied depending on controller type (Xbox, PlayStation and SNES style)
* Mix image generation based on screenshots, 3D boxes and marquee files (as in Skyscraper)
* Web proxy support for the scraper
* Checksum support for the scraper to verify each file before accepting/saving it
* Requests per minute limitation setting for the scraper
* Proper game launching screen
* On-screen keyboard
* Ability to show game media in full screen from the gamelist view
* Improve full-screen support, remove the temporary full screen hacks
* Decals displaying things like if it's a favorite game, a completed game etc. (will require theme support)
* Better shader support (more adaptive to screen resolution, higher performance, cleaner code)
* Preload all built-in resources and never clear them from the cache
* Improve text and font functions, e.g. faster and cleaner line wrapping code
#### v1.2.0
* Complete overhaul of the grid view style
* A nice and useful grid view implementation in rbsimple-DE
* Internationalization/multi-language support
* Support for pre-defined alternative emulators and cores (configured in es_systems.cfg)
* Support for additional scraper services (?)
* Authoring tools to clean up orphaned gamelist entries, media files etc.
* Improved multi-threading
* Add 'time played' counter per game, similar to how it works in Steam
* Scrollbars for menus and gamelists
* Flatpak and Snap support on Linux
* Add to Debian repository
#### v2.0.0
* Vulkan renderer for all supported operating systems
* Dependency on MoltenVK to get Metal support on macOS
* Decommission of the OpenGL 2.1 and OpenGL ES renderers
* Better and more accurate GPU and memory usage statistics overlay
* Animated menu elements like switches, tick boxes, smooth scrolling etc.
* Migration tools for importing game metadata and media from other front-end applications
* Auto-import tools for Steam, Lutris etc.
To see which features have been implemented in previous versions, refer to [NEWS.md](NEWS.md).
### Coding style:
The coding style for EmulationStation-DE is mostly a combination of the Linux Kernel style (although that's C it's close enough to C++ as far as I'm concerned) and Google's C++ guidelines.

View file

@ -7,14 +7,14 @@ Maybe you're familiar with EmulationStation: yes there are multiple forks availa
The goal is to make the software as easy as possible to install and use, and to suppport the major desktop operating systems: Unix/Linux, macOS and Windows.
The following operating systems have been tested and confirmed as working with ES:
The following operating systems have been tested and confirmed as working with ES-DE v1.0.0:
* Kubuntu 20.04
* macOS 10.11.6 (El Capitan)
* Windows 10 (x86)
* Windows 8.1 (x86)
It's possible that the application still compiles and works on devices such as the Raspberry Pi, but again it's not the goal of this fork to run on such devices.
The application probably also works fine on devices such as the Raspberry Pi, but this is beyond the scope of this software fork.
The software comes preconfigured for use primarily with [RetroArch](https://www.retroarch.com), although this can be changed as all emulator settings are fully configurable, even on a per-game basis.
@ -26,21 +26,19 @@ Check out the [User Guide](USERGUIDE.md) for how to quickly get the application
### Help needed:
If you would like to contribute to the development of EmulationStation Desktop Edition, please read the [CONTRIBUTING](CONTRIBUTING.md) file!
If you would like to contribute to the development of EmulationStation Desktop Edition, please read how to participate [here](CONTRIBUTING.md)! (You can also read about planned future features there).
Other information
=================
[NEWS.md](NEWS.md) contains information about new functionality, improvements and bug fixes. \
(An overview of all previous versions will be included here as well.)
[NEWS.md](NEWS.md) contains information about the current release as well as previous releases. This includes features, improvements and bug fixes.
[INSTALL.md](INSTALL.md) provides details on how to build and configure the application.
[INSTALL.md](INSTALL.md) provides details on how to build the application from source code, and also discusses more advanced configuration topics.
[CREDITS.md](CREDITS.md) is an attempt to credit the individuals and projects which made this application possible.
[THEMES.md](THEMES.md) is a guide on how theming works and is useful for those who would like to develop a new theme, or perhaps customize an existing theme.
Some feature highlights
=======================