Skip to content

Gridview Roadmap and FAQ

Koerty edited this page Mar 24, 2018 · 23 revisions

Summary

Introduction

Roadmap

FAQ

Theming syntax

Ressources

Introduction

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.

Roadmap

/ 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.)

FAQ

  • 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).

Theming syntax

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>

Ressources

Grid view original pull request

https://github.com/RetroPie/EmulationStation/pull/203

Grid view theming syntax discussion

https://github.com/RetroPie/EmulationStation/issues/206

Clone this wiki locally