-
Notifications
You must be signed in to change notification settings - Fork 346
Gridview Roadmap and FAQ
The grid view is an huge feature for EmulationStation and many points are suggest to discussion (design, implementation, ...) so I created this post to gather all the informations related to the grid view and I will keep it updated accordingly to further developments and discussions.
/ | Status | Description |
---|---|---|
1. | Waiting review | Allow swapping between systems using left shoulder and right shoulder |
1.1. | Waiting review | Add a new "Left/Right shoulder" icon for the help system |
1.2. | Waiting previous PR | Update the others fields of the system help of the grid view (add "select" for options and "x" for random) |
2. | Waiting review | Enable the grid view for developers (see "How to enable the grid view ?" in the FAQ below for more informations) |
3. | In development | Rewrite the grid view display code written by Aloshi (using a "tileMaxSize" parameter from theme, as suggested by @jrassa on https://github.com/RetroPie/EmulationStation/issues/206#issuecomment-326809971) |
3.1. | Rewrite selected tile growth code (currently it just "eat" the margin around, if we want it bigger I need to write some code so the selected tile is drawn on top of other tiles). | |
4. | Waiting previous PR | Add metadata labels and values (sames as in the detailed view) |
5. | Add a new metadata label and value for the grid view : game title | |
6. | Add base theming syntax | |
7. | Add new default icon for games without cover | |
8. | Add new default icon for folders | |
9. | Enable the grid view for users | |
10. | Add game title under game cover | |
11. | Add dynamic image loader | |
12. | Add more animations | |
13. | Add navigation sounds |
The new theming syntax will be used (see below in "Theming syntax" section) starting at step 6. After step 6, the grid theming syntax will be extended when new features are shipped (idk how to say that exactly, for example the step 12 "Add more animations" will bring new possibilities for themes to customize the grid view so the theme syntax will be extended at the same moment).
I will refer to this post when shipping my different pull requests. I tried to plan ahead as much as possible but I may have missed a few small features or fix so I will add sub-numbers to the list for them (like 1.1.)
- How to enable the grid view ?
Starting at step 2, for easier reviewing and testing, the grid view will be enabled for developers by changing the value of GamelistViewStyle to grid in es_settings.cfg, using the command below for example :
sed 's!<string name=\"GamelistViewStyle\" value=\"[a-zA-Z]*\" />!<string name=\"GamelistViewStyle\" value=\"grid\" />!' ~/.emulationstation/es_settings.cfg -i
After step 9, the grid view will be considered stable and reliable enough to allow users to enable it using the menu (Menu > UI settings > Gamelist view style).
I didn't have any RetroPie's main contributors feedback on this so this is subject to change. I just posted my 2 theming syntax propositions for now. If you want to discuss this please go in the related theming syntax discussion (link is a the bottom of this post in the "Ressources" part).
Condensed syntax, similar to the one used by the text list :
<view name="grid">
<text name="md_title">
<color>
<backgroundColor>
<alignement>
<forceUppercase>
<lineSpacing>
</text>
<imagegrid name="md_grid">
<!-- Grid general configuration -->
<size>
<padding>
<tileMaxSize>
<!-- Grid animations configuration -->
<tileTextColor>
<tileTextBackgroundColor>
<tileTextAlignement>
<tileTextForceUppercase>
<tileTextLineSpacing>
<tileColor>
<tileColorSelected>
<tileSizeSelected>
<tileTextColor>
<tileTextColorSelected>
<tileTextRow>
<tileTextRowSelected>
<tileBackgroundPath>
<tileBackgroundColor>
<tileBackgroundColorCenter>
<tileBackgroundColorEdge>
<tileBackgroundPadding>
<tileBackgroundColorSelected>
<tileBackgroundSizeSelected>
<!-- Grid images configuration -->
<missingImagePath>
<folderImagePath>
</imagegrid>
</view>
Middle ground approach, halfway between current theming syntax and the condensed one from the text list :
<view name="grid">
<!-- Game title configuration (the one displayed at the top of the screen) -->
<text name="md_title">
<color>
<backgroundColor>
<alignement>
<forceUppercase>
<lineSpacing>
</text>
<!-- Grid configuration -->
<imagegrid name="md_grid">
<size>
<padding>
<tileMaxSize>
</imagegrid>
<!-- Grid unselected tiles configuration -->
<image name="md_grid_tile">
<color>
<size>
<backgroundPath>
<backgroundColor>
<backgroundColorCenter>
<backgroundColorEdge>
<backgroundPadding>
<textColor>
<textRowSize>
<textAlignement>
<textForceUppercase>
<textLineSpacing>
</image>
<!-- Grid selected tile changes configuration
(override md_grid_tile parameters when selected) -->
<image name="md_grid_tile_selected">
<color>
<size>
<backgroundColor>
<backgroundSize>
<textColor>
<textRowSize>
</image>
<!-- Image used for games wihout cover -->
<image name="missing_boxart">
<path>
</image>
<!-- Image used for folders -->
<image name="folder">
<path>
</image>
</view>
Grid view original pull request
https://github.com/RetroPie/EmulationStation/pull/203
Grid view theming syntax discussion