Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Gridle is an arcade cabinet or HTPC oriented theme designed to be controlled using just a gamepad. In addition to a range of display filters, game specific configuration, background music, video snapshots, LED controller support, dedicated cocktail cabinet modes, 3D models, OSD keyboard, take screenshots and track favorites it also covers more "odd" features like a built-in layout editor, shader background effects, networked remote control, video recording/streaming and the option to use another computer as a secondary "information" screen or as additional input devices.
Upon first launching the theme, you will be asked to provide input for configuration. Make sure that any joysticks are plugged in and detected (use the welcome or eventtest theme to verify if you're uncertain). Note that if you make a mistake, shutdown and relaunch the theme in order to start over. It is also possible to reset the configuration from menus later on (but this requires that you have access to enough correctly bound buttons), or by deleting keysym.lua in the themes/gridle folder.
The screenshot below show the input config, which simply waits for you to press the button you would like assigned to a specific label. Some labels are optional (e.g MOUSE_X) and by pressing the button bound to MENU_ESCAPE, these can be skipped.
The most important buttons are MENU_UP/DOWN/LEFT/RIGHT/SELECT/ESCAPE/TOGGLE and CONTEXT. MENU brings up whichever global menu that is appropriate depending on where you are (in-game, on the navigation screen etc.) and CONTEXT brings up a context menu, if any, relevant to whatever is currently selected or being played.
If a supported LED controller has been detected, a similar configuration screen will appear after the keyboard configuration has been completed.
At first you will be presented with the default grid layout. There are a lot of options to customize here, or, if you prefer to navigate a list in a customized layout, all of which can be reached by pressing the button bound to MENU_TOGGLE. The contents of these menus will vary depending on if you are in grid view or in a customized layout. These two different modes can be switched through the menu option shown in the screenshot below.
Note Pressing FAVORITE button on any selected menu item saves that selection (marked with another color) as the new default and will be kept across sessions.
The grid layout is the default (hence the name, 'gridle') and is simply a number of system icons (found in themes/gridle/images/systems matching the name of whatever target the game belongs to) with an overlaid screenshot (or fallback text if a screenshot cannot be found). The currently selected tile is zoomed in and if there's a preview video available, it will be played.
From here, you simply press MENU_SELECT to launch the game. If you want more advanced filtering or options, press CONTEXT. A tile with a spyglass in the upper left corner indicates that there's a 3D model associated with the game, which can be shown by pressing DETAIL_VIEW. A tile with a star in the upper left corner indicates that the game has been marked as a favorite (which can be used as a sorting criteria).
By pressing OSD_KEYBOARD an on-screen keyboard similar to the one in the screenshot below, will appear.
This can be used to search for a specific game title, using % as a wildcard symbol.
Game Specific Information
The following screenshot shows the context specific menu for a selected grid tile.
The window in the upper left hand corner shows some basic information about the current filters in use, if any, which sorting criteria that is active and so on. These can also be manipulated through the menu items.
- Game Lists are simply line(\n) separated titles in text files found in themes/gridle/lists
- Quick Filter uses the currently selected game as a template for filtering.
By pressing MENU_SELECT on a grid tile, or using the 'Launch Internal' menu option, the game will start. There are a lot of hidden little things here to take note of; If an icon of a crossed-over floppy disk appears in the left hand corner, it means that you cannot save and you will get a prompt when you try to exit (using MENU_ESCAPE).
If you press MENU_TOGGLE from here, you will see the internal launch "global" menu (some options are still saved / defined per game, but this menu will always be available, the corresponding CONTEXT one may not).
These menus all help you manipulate the game display in some way, e.g. changing how the game output is scaled to the display, which filters are applied, if the display should be rotated or if any effects should be added. Some menu options have a spyglass icons, pressing CONTEXT at such an icon will bring up a submenu with even more options. Again, using FAVORITE instead of MENU_SELECT to switch an option saves the setting permanently.
Note that the 'BEZEL' scaling option doesn't seem to do anything unless there's an accompanying bezel image in the resources/bezels with a filename matching the setname property of the game. Then any transparent region in that image will be used as the region to map the display, giving the game a border of sorts.
If you, instead of pressing MENU_TOGGLE press CONTEXT you will bring up a menu that looks something like this: ![Internal Context Menu] (https://raw.github.com/letoram/gridle/master/gridle/doc/gridle_internalmen.png)
These options allow you to set Core- specific settings (for libretro), Remap input for this game, Create/Load named save states, and adjust timing/frameskipping.
If you don't like the Grid Layout, there's another option, called customview (incidentally, this is also the layout editor and approach you get for networked remote control using the gridle_remote theme). An example of a (poor) active layout is shown below. ![Active Layout] (https://raw.github.com/letoram/gridle/master/gridle/doc/gridle_layout.png)
If there is no layout set, you will instead be forwarded to the layout editor.
This editor should be rather straightforward by now, you select which data type you would like where, how it should be oriented (tip; have a mouse plugged in makes the process go a whole lot faster), level of transparency, scale etc.
The important part is to add a navigator, which will represent how you browse the list of games. Currently, there's only one navigator built-in (the list, themes/gridle/customview/list.lua), but until one has been added it is not possible to save the current layout. Note that you can always come back later and edit the active layout.