0% found this document useful (0 votes)
1K views

Manual retroFE

The document provides instructions for setting up RetroFE, including: 1. Downloading and extracting RetroFE, then editing the global settings.conf and controls.conf files to configure basic settings and controls. 2. Adding game collections by creating a new collection folder, adding ROMs and artwork, configuring the collection's settings.conf file, and setting up a launcher configuration file. 3. Editing the main menu file to add the new collection, allowing it to be accessed from the front end. Once configured, RetroFE can be run to test if the new collection loads correctly. The document outlines the basic directory structure and files needed to get started with RetroFE.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views

Manual retroFE

The document provides instructions for setting up RetroFE, including: 1. Downloading and extracting RetroFE, then editing the global settings.conf and controls.conf files to configure basic settings and controls. 2. Adding game collections by creating a new collection folder, adding ROMs and artwork, configuring the collection's settings.conf file, and setting up a launcher configuration file. 3. Editing the main menu file to add the new collection, allowing it to be accessed from the front end. Once configured, RetroFE can be run to test if the new collection loads correctly. The document outlines the basic directory structure and files needed to get started with RetroFE.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

Sumário

Getting Started .......................................................................................................................... 2


RetroFE Root Directory Structure.................................................................................... 2
Detailed Setup Guide............................................................................................................... 3
Installation.............................................................................................................................. 3
Configuration......................................................................................................................... 3
Adding Collections .............................................................................................................. 3
Global settings.conf ................................................................................................................ 5
Controls ........................................................................................................................................ 8
Gamepad/Joystick codes ......................................................................................................... 9
Mouse Codes .......................................................................................................................... 10
Keyboard Codes .................................................................................................................... 10
About collections....................................................................................................................... 19
Default collections ................................................................................................................ 19
How to Add/Create Extra collections? ............................................................................... 20
Directory Structure of a collection ...................................................................................... 20
The 3 kinds of Collections Explained .................................................................................... 22
(Sub)menu ............................................................................................................................. 22
Games collection .................................................................................................................. 24
Sub/Merged collection ......................................................................................................... 24
Playlists ...................................................................................................................................... 25
Launchers................................................................................................................................. 26
General Layout Information................................................................................................. 28
Directory Structure ............................................................................................................ 28
General Layout Structure ................................................................................................. 28
<layout> Parameters ......................................................................................................... 29
<sound> Parameters ......................................................................................................... 29
<menu> Parameters........................................................................................................... 30
<video> Parameters ........................................................................................................... 31
<image> Parameters .......................................................................................................... 32
<text> Parameters .............................................................................................................. 32
<reloadableVideo> and <reloadableAudio> Parameters ......................................... 33
<reloadableImage> Parameters ...................................................................................... 34
<reloadableText> Parameters ......................................................................................... 34
<reloadableScrollingText> Parameters ........................................................................ 35
General Parameters ........................................................................................................... 36
Mode Attribute..................................................................................................................... 40
Meta information database ..................................................................................................... 44
HyperSpin xml files............................................................................................................... 44
emuArc (super)dat files ....................................................................................................... 45
MAME xml files ..................................................................................................................... 45

Getting Started
For Windows users, and some Linux users, getting started with RetroFE is as simple as
following these steps:

1. Download RetroFE from http://retrofe.nl/download


2. Edit the global settings.conf file.
3. Edit the controls.conf file.
4. Run RetroFE to verify if the front-end loads (and exits) correctly.
5. Edit/add/delete collections.
6. Re-run RetroFE

RetroFE Root Directory Structure


File / Folder Description
controls.conf Controller configuration (up, down, select, back, etc)
log.txt Log output
meta.db Game (information database year, manufacturer, genre, #players, etc)
RetroFE.lnk Windows link to core / retrofe.exe
settings.conf Global frontend settings (display options, layout to use, base paths, etc)
/collections/ Game lists, menus, artwork and ROMs
/core/ Windows specific libraries needed for retrofe to run (also includes
retrofe.exe)
/launchers/ Configuration files for launchers (emulators)
/layouts/ Layouts / themes to use or display for the frontend
/meta/ Files to import into meta.db (for scraping)
Detailed Setup Guide

Installation
(Note for linux users: Since Linux comes in many shapes and sizes, RetroFE users need to
compile and install their own RetroFE setup using bitbucket. The instructions for this can be
found here.)

After copying the RetroFE system to the directory of your choice, you're set to give your
installation a first test by running the retrofe executable in that directory. RetroFE comes
with a pre-installed Sega Genesis system with one game so you can check if the
installation went according to plan.

Configuration
The first configuration step is editing the RetroFE system configuration file
RetroFE/settings.conf. In here you configure the screen settings, global theme, base paths,
etc.

The second configuration step is editing the RetroFE controls file RetroFE/controls.conf. In
here you configure the keys used to control the RetroFE front-end. Note that the default
select key is space, and not enter as some people expected.

Adding Collections
RetroFE starts with two (almost empty) collections, but more can be added easily. As an
example, let's set up the Nintendo Entertainment System collection. First, enter the
RetroFE/collections directory, and create an empty collection using the following command:
../retrofe -createcollection “Nintendo Entertainment System”

Next we add the roms and artwork:

Download a NES romset from your favourite source, and place the roms in the
RetroFE/collections/Nintendo Entertainment System/roms directory. Download a device
image, logo, and video for the system, and place the device.png, logo.png, and video.mp4
files in the RetroFE/collections/Nintendo Entertainment System/system_artwork directory.
Download games artwork (artwork_front, logo's, screenshots, titleshots, videos, etc.) from
your favourite art source, and place them in the RetroFE/collections/Nintendo
Entertainment System/medium_artwork directory.

Now we configure the new system by editing RetroFE/collections/Nintendo Entertainment


System/settings.conf. If you stick to the default directory structure, this file can be extremely
simple:
list.extensions = nes

launcher = NES

The first line defines the ROM file extention as .nes; this should match the file extentions in
your RetroFE/collections/Nintendo Entertainment System/roms directory. The second line
defines the name of the launcher used for this collection. Before the collection can be used,
this launcher needs to be configured:

Edit the RetroFE/launchers/NES.conf (matching the launcher name defined in the


settings.conf) file. I'm currently using MAME 0.162 for this purpose, so the launcher can be
simple:

executable = mame

arguments = nes -cart "%ITEM_FILEPATH%"

As an example: if RetroFE starts the game Willow (USA).nes, this launcher will execute the
command:

mame nes -cart "collections/Nintendo Entertainment System/roms/Willow


(USA).nes".

The last step is to add the newly created collection to the main menu by editing
RetroFE/collections/Main/menu.txt, and add the following line:

Nintendo Entertainment System

When this is done, your newly added collection is ready for testing by running the retrofe
executable RetroFE/retrofe.
Global settings.conf
The global settings.conf file, located in your RetroFE directory, defines how your overall
system operates. See below for a list of configuration parameters that can be specified for
your global settings.conf.

Variable Allowed Description


values
numScreens 1+ Defines the number of monitors used.
Defaults to 1.
fullscreen yes, true, Run the front-end in fullscreen
no, false
horizontal stretch, Screen pixel width (i.e. 1920)
#pixels
vertical stretch, Screen pixel height (i.e. 1080)
#pixels
fullscreenx yes, true, Run the front-end in fullscreen on monitor
no, false x, e.g. fullscreen0 = no. Monitor numbers
start at 0!
horizontalx stretch, Screen pixel width (i.e. 1920) for monitor
#pixels x, e.g. horizontal0 = 1920. Monitor
numbers start at 0!
verticalx stretch, Screen pixel height (i.e. 1080) for monitor
#pixels x, e.g. vertical0 = 1080. Monitor numbers
start at 0!
layout a folder The layout/theme to use for RetroFE (i.e.
name in Aeon Nox)
/layouts
Variable Allowed Description
values
fps frames per Requested FPS while not in the idle state.
second Defaults to 60.
(positive)
fpsIdle frames per Requested FPS while in the idle state.
second Defaults to 60.
(positive)
hideMouse yes, true, Hide the mouse cursor on the screen when
no, false the FE is active
showParenthesis yes, true, Hide item/ROM information between ()
no, false
showSquareBrackets yes, true, Hide item/ROM information between []
no, false
firstCollection a folder Specify the name of the first collection to
name in load on start (i.e. Main)
/collections
videoEnable yes, true, Enable video display
no, false
videoLoop #loops Number of times to loop video playback
(enter 0 to continuously loop)
exitOnFirstPageBack yes, true, Exit the frontend when the back button is
no, false pressed on the first page
attractModeCyclePlaylis yes, true, Select between cycling through the full set
t no, false of playlists or the ones defined in the
cyclePlaylist
attractModeTime time (in Enter 0 to disable attract mode, otherwise
seconds) enter the number of seconds to wait before
the menu scrolls to another random point
attractModeNextTime time (in Enter the number of seconds before the
seconds) menu scrolls to another random point while
already in attract mode
attractModePlaylistTime time (in Enter the number of seconds before the
seconds) menu switches to the next playlist. Enter 0
to disable (default).
attractModeSkipPlaylist playlist Skip this playlist while switching playlist in
name attract mode.
attractModeCollectionTi time (in Enter the number of seconds before the
me seconds) menu switches to the next collection. Enter
0 to disable (default).
Variable Allowed Description
values
attractModeSkipCollecti playlist Skip this collection while switching
on name collections in attract mode.
rememberMenu yes, true, Remember the last highlighted menu item
no, false if re-entering a menu
firstPlaylist playlist Automatically switch to this playlist if it is
name available, often set to favorites. Replaces
the autoFavorites parameter.
lastplayedSize size Size of the automatically generated
(natural) lastplayed playlist. A size of 0 disabled this
feature.
lastPlayedSkipCollection collection Name of the collection not included in the
name lastplayed playlist. Generally used to
exclude items from a settings collection.
cyclePlaylist playlist set Comma separated set of playlists that the
playlist cycle keys cycle through.
minimize_on_focus_loss yes, true, Overwrite system SDL default for
no, false SDL_VIDEO_MINIMIZE_ON_FOCUS_L
OSS to force RetroFE to (not) minimize
when the focus on the full-screen window
is lost.
collectionInputClear yes, true, Clear the input queue when entering/exiting
no, false a collection
enterOnCollection yes, true, Enter the collection when using
no, false collectionUp/Down controls
startCollectionEnter yes, true, Enter the first collection RetroFE boot
no, false
baseMediaPath i.e.(d:/medi Override if you choose to have your media
a) stored outside of RetroFE. Can be used by
your Collection Settings.conf.
baseItemPath i.e.(d:/roms Override if you choose to have your roms
) stored outside of RetroFE. Can be used by
your Collection Settings.conf.
unloadSDL yes, true, Close SDL when starting a game. This is
no, false needed for some systems like RetroPie to
prevent the emulator from being launched
behind the front-end.
overwriteXML yes, true, Allow information files
no, false (collections/<collection name>/info/<item
name>.conf) to overwrite information from
meta.db
Variable Allowed Description
values
subsSplit yes, true, Split merged collections based on .sub files
no, false per .sub file (yes/true) or sort them as one
list (no/false)
cfwLetterSub yes, true, If subs exist in a collection, jump those
no, false subs by sub in stead of by letter (CoinOPS
feature)
prevLetterSubToCurren yes, true, When using previous letter control, it will
t no, false jump to the start of the current letter in
stead of the start of the previous one
lastPlayedSkipCollection collection Do not include items from this collection in
name the lastplayed playlist
In order to make scripted reconfiguration easier, RetroFE supports the filenames
settings1.conf, settings2.conf, …, settings9.conf as well.

Controls
The controls.conf file, located in your RetroFE directory, contains the controls for your
RetroFE front-end. Multiple keys can be assigned to a single action, separated by a ,.

Example:

Up = Keypad 8, Up

This will assign both the Keypad 8 (up arrow on your keypad) and the up arrow to
RetroFE's Up control.

Settings for controls:

Control Description
up Scrolls menu up (for vertical menus)
down Scrolls menu up (for vertical menus)
left Scrolls menu left (for horizontal menus)
right Scrolls menu right (for horizontal menus)
pageUp Scrolls menu back by a page
pageDown Scrolls menu forward by a page
letterUp Scrolls to the previous item in the alphabet
letterDown Scrolls menu next item in the alphabet
Control Description
collectionUp Scrolls to the previous collection. Will enter that collection based
on enterOnCollection.
collectionDown Scrolls menu next collection. Will enter that collection based on
enterOnCollection.
addPlaylist Adds a game to the favorites playlist
removePlaylist Removes a game from the favorites playlist
nextPlaylist Switches to the next playlist.
prevPlaylist Switches to the previous playlist.
cyclePlaylist Switches to the next playlist in the cyclePlaylist set. Still functional,
but has been replaced by nextCyclePlaylist.
nextCyclePlaylist Switches to the next playlist in the cyclePlaylist set.
prevCyclePlaylist Switches to the previous playlist in the cyclePlaylist set.
random Selects a random game
select Selects the active menu item
back Leaves current menu
quit Exits the frontend
deadZone Defines the dead zone for analog inputs
Controllers/joysticks are supported in versions 0.6.x and later.

Gamepad/Joystick codes
Keycode Description
joyXButtonY Gamepad button (X=joypad number, Y=button number)
joyXHatYLeftUp Gamepad hat direction (X=joypad number, Y=hat number)
joyXHatYLeft Gamepad hat direction (X=joypad number, Y=hat number)
joyXHatYLeftDown Gamepad hat direction (X=joypad number, Y=hat number)
joyXHatYUp Gamepad hat direction (X=joypad number, Y=hat number)
joyXHatYDown Gamepad hat direction (X=joypad number, Y=hat number)
joyXHatYRightUp Gamepad hat direction (X=joypad number, Y=hat number)
joyXHatYRight Gamepad hat direction (X=joypad number, Y=hat number)
joyXHatYRightDown Gamepad hat direction (X=joypad number, Y=hat number)
joyXAxis0+ First POV stick, first axis positive direction (X=joypad
number)
joyXAxis0- First POV stick, first axis negative direction (X=joypad
Keycode Description
number)
joyXAxis1+ First POV stick, second axis positive direction (X=joypad
number)
joyXAxis1- First POV stick, second axis negative direction (X=joypad
number)
joyXAxis2+ Second POV stick, first axis positive direction (X=joypad
number)
joyXAxis2- Second POV stick, first axis negative direction (X=joypad
number)
joyXAxis3+ Second POV stick, second axis positive direction (X=joypad
number)
joyXAxis3- Second POV stick, second axis negative direction (X=joypad
number)
If X is omitted, RetroFE will accept input from all controllers. (version 0.8.13+)

Mouse Codes
Keycode Description
mouseButtonleft the left mouse button
mouseButtonMiddle the middle mouse button
mouseButtonRight the right mouse button
mouseButtonX1 the X1 mouse button
mouseButtonX2 the X2 mouse button

Keyboard Codes
Keycode Description
0
1
2
3
4
5
6
7
Keycode Description
8
9
A
AC Back the Back key (application control keypad)
AC Bookmarks the Bookmarks key (application control keypad)
AC Forward the Forward key (application control keypad)
AC Home the Home key (application control keypad)
AC Refresh the Refresh key (application control keypad)
AC Search the Search key (application control keypad)
AC Stop the Stop key (application control keypad)
Again the Again key (Redo)
AltErase Erase-Eaze
'
Application the Application / Compose / Context Menu (Windows) key
AudioMute the Mute volume key
AudioNext the Next Track media key
AudioPlay the Play media key
AudioPrev the Previous Track media key
AudioStop the Stop media key)
B
\ Located at the lower left of the return key on ISO keyboards and
at the right end of the QWERTY row on ANSI keyboards.
Produces REVERSE SOLIDUS (backslash) and VERTICAL
LINE in a US layout, REVERSE SOLIDUS and VERTICAL
LINE in a UK Mac layout, NUMBER SIGN and TILDE in a
UK Windows layout, DOLLAR SIGN and POUND SIGN in a
Swiss German layout, NUMBER SIGN and APOSTROPHE in
a German layout, GRAVE ACCENT and POUND SIGN in a
French Mac layout, and ASTERISK and MICRO SIGN in a
French Windows layout.
Backspace
BrightnessDown the Brightness Down key
BrightnessUp the Brightness Up key
C
Keycode Description
Calculator the Calculator key
Cancel
CapsLock
Clear
Clear / Again
,
Computer the My Computer key
Copy
CrSel
CurrencySubUnit the Currency Subunit key
CurrencyUnit the Currency Unit key
Cut
D
DecimalSeparator the Decimal Separator key
Delete
DisplaySwitch display mirroring/dual display switch, video mode switch
Down the Down arrow key (navigation keypad)
E
Eject the Eject key
End
=
Escape the Esc key
Execute
ExSel
F
F1
F10
F11
F12
F13
F14
Keycode Description
F15
F16
F17
F18
F19
F2
F20
F21
F22
F23
F24
F3
F4
F5
F6
F7
F8
F9
Find
G
` Located in the top left corner (on both ANSI and ISO
keyboards). Produces GRAVE ACCENT and TILDE in a US
Windows layout and in US and UK Mac layouts on ANSI
keyboards, GRAVE ACCENT and NOT SIGN in a UK
Windows layout, SECTION SIGN and PLUS-MINUS SIGN in
US and UK Mac layouts on ISO keyboards, SECTION SIGN
and DEGREE SIGN in a Swiss German layout (Mac: only on
ISO keyboards), CIRCUMFLEX ACCENT and DEGREE
SIGN in a German layout (Mac: only on ISO keyboards),
SUPERSCRIPT TWO and TILDE in a French Windows layout,
COMMERCIAL AT and NUMBER SIGN in a French Mac
layout on ISO keyboards, and LESS-THAN SIGN and
GREATER-THAN SIGN in a Swiss German, German, or
French Mac layout on ANSI keyboards.
H
Keycode Description
Help
Home
I
Insert insert on PC, help on some Mac keyboards (but does send code
73, not 117)
J
K
KBDIllumDown the Keyboard Illumination Down key
KBDIllumToggle the Keyboard Illumination Toggle key
KBDIllumUp the Keyboard Illumination Up key
Keypad 0 the 0 key (numeric keypad)
Keypad 00 the 00 key (numeric keypad)
Keypad 000 the 000 key (numeric keypad)
Keypad 1 the 1 key (numeric keypad)
Keypad 2 the 2 key (numeric keypad)
Keypad 3 the 3 key (numeric keypad)
Keypad 4 the 4 key (numeric keypad)
Keypad 5 the 5 key (numeric keypad)
Keypad 6 the 6 key (numeric keypad)
Keypad 7 the 7 key (numeric keypad)
Keypad 8 the 8 key (numeric keypad)
Keypad 9 the 9 key (numeric keypad)
Keypad A the A key (numeric keypad)
Keypad & the & key (numeric keypad)
Keypad @ the @ key (numeric keypad)
Keypad B the B key (numeric keypad)
Keypad Backspace the Backspace key (numeric keypad)
Keypad Binary the Binary key (numeric keypad)
Keypad C the C key (numeric keypad)
Keypad Clear the Clear key (numeric keypad)
Keypad ClearEntry the Clear Entry key (numeric keypad)
Keycode Description
Keypad : the : key (numeric keypad)
Keypad , the Comma key (numeric keypad)
Keypad D the D key (numeric keypad)
Keypad && the && key (numeric keypad)
\| \| key (numeric keypad)
Keypad Decimal the Decimal key (numeric keypad)
Keypad / the / key (numeric keypad)
Keypad E the E key (numeric keypad)
Keypad Enter the Enter key (numeric keypad)
Keypad = the = key (numeric keypad)
Keypad = (AS400) the Equals AS400 key (numeric keypad)
Keypad ! the ! key (numeric keypad)
Keypad F the F key (numeric keypad)
Keypad > the Greater key (numeric keypad)
Keypad # the # key (numeric keypad)
Keypad the Hexadecimal key (numeric keypad)
Hexadecimal
Keypad { the Left Brace key (numeric keypad)
Keypad ( the Left Parenthesis key (numeric keypad)
Keypad < the Less key (numeric keypad)
Keypad MemAdd the Mem Add key (numeric keypad)
Keypad MemClear the Mem Clear key (numeric keypad)
Keypad MemDivide the Mem Divide key (numeric keypad)
Keypad the Mem Multiply key (numeric keypad)
MemMultiply
Keypad MemRecall the Mem Recall key (numeric keypad)
Keypad MemStore the Mem Store key (numeric keypad)
Keypad the Mem Subtract key (numeric keypad)
MemSubtract
Keypad - the - key (numeric keypad)
Keypad \* the \* key (numeric keypad)
Keypad Octal the Octal key (numeric keypad)
Keycode Description
Keypad % the Percent key (numeric keypad)
Keypad . the . key (numeric keypad)
Keypad + the + key (numeric keypad)
Keypad +/- the +/- key (numeric keypad)
Keypad ^ the Power key (numeric keypad)
Keypad } the Right Brace key (numeric keypad)
Keypad ) the Right Parenthesis key (numeric keypad)
Keypad Space the Space key (numeric keypad)
Keypad Tab the Tab key (numeric keypad)
key (numeric
keypad)
Keypad XOR the XOR key (numeric keypad)
L
Left Alt alt, option
Left Ctrl
Left the Left arrow key (navigation keypad)
[
Left GUI windows, command (apple), meta
Left Shift
M
Mail the Mail/eMail key
MediaSelect the Media Select key
Menu
-
ModeSwitch I'm not sure if this is really not covered by any of the above, but
since there's a special KMOD_MODE for it I'm adding it here
Mute
N
Numlock the Num Lock key (PC) / the Clear key (Mac)
O
Oper
Keycode Description
Out
P
PageDown
PageUp
Paste
Pause the Pause /
Break key
.
Power The USB document says this is a status flag, not a physical key -
but some Mac keyboards do have a power key.
PrintScreen
Prior
Q
R
Right Alt alt gr, option
Right Ctrl
Return the Enter key (main keyboard)
Return
Right GUI windows, command (apple), meta
Right the Right arrow key (navigation keypad)
]
Right Shift
S
ScrollLock
Select
;
Separator
/
Sleep the Sleep key
Space the Space Bar key(s)
Stop
Keycode Description
SysReq the SysReq key
T
Tab the Tab key
ThousandsSeparator the Thousands Separator key
U
Undo
Up the Up arrow key (navigation keypad)
V
VolumeDown
VolumeUp
W
WWW the WWW/World Wide Web key
X
Y
Z
# ISO USB keyboards actually use this code instead of 49 for the
same key, but all OSes I've seen treat the two codes identically.
So, as an implementor, unless your keyboard generates both of
those codes and your OS treats them differently, you should
generate SDL_SCANCODE_BACKSLASH instead of this
code. As a user, you should not rely on this code because SDL
will never generate it with most (all?) keyboards.
&
*
@
^
:
$
!
>
#
(
<
Keycode Description
%
+
?
)
_

About collections
A collection defines a set of games or menu level that generally have a common purpose,
e.g. “Nintendo Entertainment System” or “Consoles”. RetroFE generally supports 3 types of
collections:

1. (Sub-)Menu collections
2. ItemGame collections
3. ItemSub/Merged collections
These types can be combined in one collection though, by simply having the required
elements of more types in one collection.

Default collections
The basic RetroFE installation leaves you with 2 main folders but you will be able to add
many other as you wish later on :

Folder Description

_common Shared icons and other artworks used for the categories, manufacturers, etc
Folder Description

Main Default collection used for the main menu to work properly and containing the
key file to be edited once you have created extra collections so they can be
enabled on your screen (menu.txt)

PS: In the installation you downloaded, some pre configured sets may have been added for
your convenience, they will not contain the roms of course, this is something you need to
sort out on your own.

How to Add/Create Extra collections?


To create a new collection, depite the specific kind required, simply run the following
commands at a commmand prompt. (assuming you are in the root of your RetroFE
directory)

For Windows (example):

core\RetroFE.exe -createcollection "Nintendo Entertainment System"

For Linux (example):

./RetroFE -createcollection "Nintendo Entertainment System"

Replace “Nintendo Entertainment System” with the collection name of your choosing.

This will create a “Nintendo Entertainment System Folder”, create the rom folder, artwork
folders and default configuration files. More details on the other steps in the detailed setup
section

PS: To enable your new collection in the interface menu, you will need to add the name of
the collection in the menu.txt file stored in the Main folder

Directory Structure of a collection


File / Folder Description

info.conf This file can be used to add additional system information,


such as manufacturer, year, generation, etc. that can be
displayed from the theme layouts. This same information
can also be defined within settings.conf, but this extra file
File / Folder Description

allows for a clean separation of settings and system


information.

include.txt If not empty, include only those files to show on the list, if
empty, all files in ROM folder will be included. This file
must contain one game per line (without the file
extension).

exclude.txt List of ROMs to exclude from showing up on the menu (if


you want this collection to be a menu of collections). This
file must contain one game per line (without the file
extension).

exclude_all.txt List of ROMs to exclude from the all playlist. This file must
contain one game per line (without the file extension).

settings.conf Set ROM file extensions, launcher (emulator to execute),


override default media paths, etc

<collectionname>.sub Imports a list of games from another collection. (i.e. Your


collection is named “Mario”. You would have an “Nintendo
Entertainment System.sub” and “Super Nintendo
Entertainment System.sub”. Each sub file would contain a
list of all mario games for that system. The .sub file
contains one game per line (without the file extension).If
the file is blank, the list settings defined for the
subcollection will be used.

roms Default location to search for ROM files (can be different if


modified in the settings.conf file)

playlists Default location for the favorites.txt file allowing you to


manage your favorites

medium_artwork/ Artwork for individual games

medium_artwork/artwork_back Default location to search for flyer, box and case backs

medium_artwork/artwork_front Default location to search for flyer, box and case fronts
File / Folder Description

medium_artwork/medium_back Default location to search for disc and cartridge backs

medium_artwork/medium_front Default location to search for disc and cartridge fronts

medium_artwork/screenshot Default location to search for screenshots for each


individual game

medium_artwork/screentitle Default location to search for screentitles for each


individual game

medium_artwork/logo Default location to search for logos for each individual


game

medium_artwork/video Default location to search for videos for each individual


game

medium_artwork/story Default location to search for game information story txt


files for scrolling text display.

system_artwork/ Artwork for the system collection. i.e. a picture of a


Nintendo Entertainment System, its logo, or a “best of”
video.

system_artwork/device.png Picture of the system device

system_artwork/logo.png Picture of the systems logo

system_artwork/video.mp4 Video to play for this particular system

system_artwork/story.txt Text file containing system information for scrolling text


display.

The 3 kinds of Collections Explained

(Sub)menu
A menu contains a list of other collections, and can be defined via the menu.txt file. When
you select that item in the frontend, it will load that collection in a submenu. RetroFE allows
you to combine games and collections in a single menu, by using both a menu.txt file and a
games collection. A (sub-)menu collection is used to create a hierarchical level within your
menu structure, e.g. Main→Consoles→Nintendo Entertainment System.

Below is an example for a basic collections/<collection name>/menu.txt file:

Atari 2600

Atari 5200

Atari 7800

MAME

Nintendo Entertainment System

Super Nintendo Entertainment System

Note that for each item specified, a directory with an identical name (case sensitive) must
exist in your collections folder, so e.g. /collections/Super Nintendo Entertainment System/.

Older versions of RetroFE used a menu.xml file in stead of a menu.txt file. For legacy
support, such files are still supported. Below is an example for a basic
collections/<collection name>/menu.xml file:

<menu>

<collection name="Atari 2600" />

<collection name="Atari 5200" />

<collection name="Atari 7800" />

<collection name="MAME" />

<collection name="Nintendo Entertainment System" />

<collection name="Super Nintendo Entertainment System" />

</menu>

As you can see: using the menu.txt file requires far less typing. :)
Games collection
Games collections are collections consisting of a list of games, e.g. for a certain system like
“Nintendo Entertainment System”. It uses the contents of the rom directory in combination
with the include.txt and exclude.txt file in the following manner:

If list.includeMissingItems in the settings.conf is false:

1. Read the contents of the roms directory.


2. Keep only the names defined in include.txt.
3. Remove the names defined in exclude.txt.
If list.includeMissingItems in the settings.conf is true:

1. Use the names defined in include.txt.


2. Remove the names defined in exclude.txt.

Sub/Merged collection
Sub collections contain a subset of other collections, e.g. Capcom Play System I can be set
up as a sub-set of Arcade. The sub-collection is defined by a <collection>.sub file, e.g.
“Capcom Play System I.sub”.

Also, by using multiple .sub files you can also create a merged collection, e.g. all Contra
games from different systems. You could have a “Nintendo Entertainment System.sub” file
containing all the Contra games from the NES, and a “Super Nintendo Entertainment
System.sub” file containing all the Contra games from the SNES. RetroFE will merge these
collections into one.

A .sub file is simply a text file containing a list of game names, similar to the include.txt file,
but rom file, art files, etc. will be pulled from the collection it refers to.

Example: You have a MAME or Arcade collection, and wish to add a “Capcom Play System
III” sub-collection.

1. Create the “collections/Capcom Play System III” directory.


2. Add a settings.conf file; this file can be empty or just contain some system information.
3. Add your system_artwork.
4. Create a MAME.sub text file containing:
jojo

jojoba

redearth

sfiii

sfiii2

sfiii3
5. Add the “Capcom Play System III” to your Main's menu.txt like you would with any
other collection. Enjoy your new sub collection. :)

PS: If a .sub file is empty, it will use merge that entire collection according to the rules
defined above for Games collections.

Playlists
RetroFE supports playlists, a sort of sub collection within a collection. You can step through
them using the previous/next playlist keys defined in your controls.conf file. You can use
this feature to e.g. show a list of all games from a certain manufacturer or a certain genre.

Playlists are defined via txt files in the playlists directory of your collection, and like
include.txt files simply contain a list of the games you want in that playlist. If a game is
pulled from another collection via a sub/merged collection (.sub file), use _<collection
name>:<game name>. The asterisk (*) can be used in stead of the game name to include
an entire collection.

Example: playlists/example.txt

_Super Nintendo Entertainment System: Super Mario World

_Nintendo Entertainment System: Super Mario Bros

Super Turrican

This defines a playlist called example, containing the Super Mario World game from the
Super Nintendo Entertainment System collection, Super Mario Bros from the Nintendo
Entertainment System collection, and Super Turrican from this collection (available in the
roms section and/or defined via the include.txt file).

A special type of playlist is the favorites playlist (playlists/favorites.txt). Games can be


added/removed from this playlist directly from RetroFE using the addPlaylist and
removePlaylist controls, and a separate key favPlaylist allows you to switch between the
favorites list and the full game list. You can even use the autoFavorites = yes parameter
setting in your global settings.conf file to automatically switch to your favorite games when
you enter a collection.
Launchers
A launcher config file describes how to launch a program (i.e. emulator, application, or
game) when a launchable menu item is selected.

See below for a list of supported configuration properties. Launcher options

Property Description
executable Path of where the executable exists
arguments Arguments to pass when executing the launcher (i.e. ROM name)

executable = D:/Emulators/Nestopia/nestopia.exe

arguments = "%ITEM_FILEPATH%"

%ITEM_FILEPATH% is a reserved variable name. See the variables table below for other
variables that may be used. Also note the quotes around “%ITEM_FILEPATH%” to help not
confuse the executable from thinking that an item with spaces as multiple arguments.
Assuming that “Super Mario Bros” was the selected item, the frontend will attempt to
execute:

"D:/Emulators/Nestopia/nestopia.exe" "D:/ROMs/Nintendo/Super Mario


Bros.nes".

PS: You can also use relative paths (relative to the root folder of RetroFE)

executable = ../Emulators/Nestopia/nestopia.exe

arguments = "%ITEM_FILEPATH%"

Launcher variables

Variable Descriptio Translated Example


n
%ITEM_FILEPATH% Full item D:/ROMs/Nintendo/Super Mario
path Bros.nes
%ITEM_NAME% The item Super Mario Bros
name
%ITEM_FILENAME% Filename Super Mario Bros.nes
without
path
%ITEM_DIRECTORY% Folder D:/ROMs/Nintendo
where file
exists
%ITEM_COLLECTION_NAME Name of Nintendo Entertainment System
% collection
for item
%RETROFE_PATH% Folder D:/Frontends/RetroFE
location of
Frontend
%RETROFE_EXEC_PATH% Location of D:/Frontends/RetroFE/RetroFE.ex
RetroFE e
More elaborate example:

# Have fceux load a save state automatically for the ROM when started

executable = D:/Emulators/fceux/fceux.exe
arguments = "%ITEM_FILEPATH%" -loadstate
"%ITEM_DIRECTORY%/%ITEM_NAME%.fcs"

General Layout Information


Layouts define the look and feel for your frontend. Each layout is a folder containing at least
the following two main files.

Directory Structure
Path Description
/layouts/<layout name>/ Folder to store all image files for a particular asset. i.e.
<layout name> = “Default 16×9“
/layouts/<layout Splash screen to show at startup
name>/splash.xml
/layouts/<layout Main layout file to show when frontend is loaded
name>/layout.xml
An example of a layout An example of a layout.xml

The global settings.conf file contains the default layout used by RetroFE. It is however
possible to give a collection a completely different layout by adding the layout.xml and
layout artwork to the /layouts/<layout name>/collections/<collection name>/layout/
directory. A splash.xml is not required/used for a collection's layout. This way you can give
each collection a completely different look and feel.

RetroFE will first search for a layout XML file that matches the screen ratio, so e.g. layout
16×9.xml or layout 4×3.xml. If that file is not found, it will default to layout.xml.

When entering a collection, RetroFE will check the /layouts/<layout


name>/collections/<collection name>/layout/ directory for the same layout XML files. If
found, it will load that new layout, allowing you to set a different layout for each collection.

General Layout Structure


A layout generally consists of the following structure:

<layout>

<sound/>

<menu/>

<video/>
<image/>

<text/>

<reloadableAudio/>

<reloadableVideo/>

<reloadableImage/>

<reloadableText/>

<reloadableScrollingText/>

</layout>

<layout> Parameters
The <layout> tag can use the following parameters:

width The virtual width to use for this layout. This will be scaled
automatically by the frontend if the screen resolution is different.
height The virtual height to use for this layout. This will be scaled
automatically by the frontend if the screen resolution is different.
loadFontSize The size (quality) of the font to load. Lower font sizes is more blurred,
Higher font sizes are a little more pixelated. It is best to set this to the
same value as fontSize most used in the layout.
font Location of the font (relative to the layout folder).
fontColor Default RGB color of the font (in hex, i.e. “6699AA”).
fontSize Default font size of to display if not specified by a component.
minShowTime Minimum amount of time (in seconds) to show the current layout
(only applicable in splash.xml).
Example:

<layout width="1920" height="1080" font="Roboto-Bold.ttf"


loadFontSize="64" fontColor="dedede">

<sound> Parameters
The <sound> tag can use the following parameters:

<sound>tag parameters

Tag Description
type triggers on the following events: "load" (page load), "unload" (page exit),
"highlight" (scroll), "select" (entering game/sub-menu).
src Location of the sound file (relative to the layout folder).
Example:

<sound type="load" src="load.wav"/>

<menu> Parameters
The <menu> tag is used to define a menu structure, and uses the following structure:

<menu>

<itemDefaults/>

<item/>

</menu>

The <menu> tag supports the following parameters:

<menu> tag parameters


type The type of menu to display. Set to custom to specify all the points
on the screen. Set to vertical to have a vertical scrolling list prebuilt
for the layout
videoType If specified, uses a videoto be displayed for each menu item (if it
exists). Text will be used if the video as well as an image as
specified under imageType could not be found.
imageType If specified, uses an image to be displayed for each menu item (if it
exists). Text will be used if the image could not be found.
orientation Set to “horizontal” to use the Left/Right controls to scroll. set to
“vertical” to use Up/Down.
scrollTime The amount of time (in seconds) it takes for an item to scroll to the
next point on the menu (i.e 0.750 = 750 milliseconds)
<menu> tag parameters
scrollAcceleration The acceleration rate to scroll by when holding down the
up/down/left/right scroll key
minScrollTime The minimum amount of time (in seconds) it takes for an item to
scroll to the next point in the menu that scrollAcceleration can
reduce it to.
menuIndex The index at which the menu should be inserted in the menu
hierarchy. If omitted, the menu will be inserted at the next index.
This also allows multiple menus to be inserted at the same index,
displaying multiple menus at the same time.

The <itemDefaults> tag supports the following parameters:

<menu> <itemDefaults> tag parameters


spacing Used when the menu type is set to vertical. Defines the spacing in pixels
for all edges of a menu item.
index Used when the menu type is set to vertical. Specify a options for a
particular menu item when in list mode (first=first visible item, last=last
visible item, start=first - 1, end - last + 1)
font Location of the font (relative to the layout folder).
fontColor Default RGB color of the font (in hex, i.e. “6699AA”).
fontSize Default font size of to display if not specified by a component.
loadFontSize The size (quality) of the font to load. For the best results, use the same
value as fontsize.
volume Audio volume of the video: 0 = mute, 1=100% volume

The <item> tag supports the following parameters:

<menu> <item> tag parameters


font Location of the font (relative to the layout folder).
fontColor Default RGB color of the font (in hex, i.e. “6699AA”).
fontSize Default font size of to display if not specified by a component.
loadFontSize The size (quality) of the font to load. For the best results, use the same
value as fontsize.
volume Audio volume of the video: 0 = mute, 1=100% volume
For more information, see this example

<video> Parameters
The <video> tag supports the following parameter:
<image> tag parameters
src The location of the video to display (relative to the location of the active
layout folder)
volume Audio volume of the video: 0 = mute, 1=100% volume
Example:

<video src="intro.avi" volume="0.5" x="0" y="0" height="stretch"


width="stretch" layer="0"/>

<image> Parameters
The <image> tag supports the following parameter:

<image> tag parameters


src The location of the image to display (relative to the location of the active layout
folder)
Example:

<image src="bg.png" x="0" y="0" height="stretch" width="stretch"


layer="0"/>

<text> Parameters
The <text> tag supports the following parameters:

<text> tag parameters


value The text message to display
font Location of the font (relative to the layout folder).
fontColor Default RGB color of the font (in hex, i.e. “6699AA”).
fontSize Default font size of to display if not specified by a component.
loadFontSize The size (quality) of the font to load. For the best results, use the same
value as fontsize.
Example:

<text value="Year:" x="300" y="850" xOrigin="right" yOrigin="top"


fontSize="48" layer="7"/>
<reloadableVideo> and <reloadableAudio>
Parameters
The <reloadableVideo> and <reloadableAudio> tag can be used to display a video or audio
(supported types are avi, mp4, wav, and mp3) of the selected item, and supports the
following parameters:

<reloadableVideo> and <reloadableAudio> tag parameters


type The type of video to display: “numberButtons”, “numberPlayers”,
“ctrlType”, “numberJoyWays”, “rating”, “score”, “year”, “title”,
“developer”, “manufacturer”, “genre”, “playlist”,
“collectionName”, “collectionSize”, “collectionIndex”,
“collectionIndexSize”, or any type you pick where the title will be
used as the name of the file.
imageType The type of image to display if a video cannot be found:
“numberButtons”, “numberPlayers”, “year”, “title”,
“manufacturer”, “genre”.
mode See mode attribute for more details.
textFallback Set to true to have text displayed of a the item title if an image
cannot be loaded.
font Location of the font (relative to the layout folder).
fontColor Default RGB color of the font (in hex, i.e. “6699AA”).
fontSize Default font size of to display if not specified by a component.
loadFontSize The size (quality) of the font to load. For the best results, use the
same value as fontsize.
backgroundColor Fill the component with a background color.
backgroundAlpha Background color transparency: 0 = 0% visible, 0.5=50% visible,
1=100% visible
volume Audio volume of the video: 0 = mute, 1=100% volume
jukebox yes = enable jukebox mode. This will disable the attract mode for
this layout, and in stead start scrolling after this video/audio is
done playing. Default is no.
jukeboxNumLoops Number of loops to play the jukebox element before the jukebox
mode is activated. Default is 1.
Example:

<reloadableVideo imageType="screenshot" x="400" y="300" xOrigin="center"


yOrigin="center" height="480" maxWidth="640" layer="3"/>
<reloadableImage> Parameters
The <reloadableImage> tag can be used to display an image of the selected item, and
supports the following parameters:

<reloadableImage> tag parameters


type The type of image to display: “numberButtons”, “numberPlayers”,
“ctrlType”, “numberJoyWays”, “rating”, “score”, “year”, “title”,
“developer”, “manufacturer”, “genre”, “playlist”, “collectionName”,
“collectionSize”, “collectionIndex”, “collectionIndexSize”, or any type
you pick where the title will be used as the name of the file.
mode See mode attribute for more details
textFallback Set to true to have text displayed of a the item title if an image cannot be
loaded
font Location of the font (relative to the layout folder).
fontColor Default RGB color of the font (in hex, i.e. “6699AA”).
fontSize Default font size of to display if not specified by a component.
loadFontSize The size (quality) of the font to load. For the best results, use the same
value as fontsize.
Example:

<reloadableImage type="logo" mode="system" x="1350" y="50"


xOrigin="center" yOrigin="top" height="250" maxWidth="1100" layer="7"/>

<reloadableText> Parameters
The <reloadableText> tag can be used to display textual information about the selected
item, and supports the following parameters:

<reloadableText> tag parameters


type The type of text to display: “time”, “numberButtons”, “numberPlayers”,
“ctrlType”, “numberJoyWays”, “rating”, “score”, “year”, “title”,
“developer”, “manufacturer”, “genre”, “playlist”, “collectionName”,
“collectionSize”, “collectionIndex”, or “collectionIndexSize”.
mode See mode attribute for more details
font Location of the font (relative to the layout folder).
fontColor Default RGB color of the font (in hex, i.e. “6699AA”).
<reloadableText> tag parameters
fontSize Default font size of to display if not specified by a component.
loadFontSize The size (quality) of the font to load. For the best results, use the same
value as fontsize.
Example:

<reloadableText type="year" x="310" y="850" xOrigin="left" yOrigin="top"


fontSize="48" maxWidth="300" layer="7"/>

The type=“time” allows for an additional parameter: timeFormat, which follows the
C++ strftime abilities.

<reloadableScrollingText> Parameters
The <reloadableScrollingText> tag can be used to display textual information about the
selected item, loaded from a text file, and supports the following parameters:

<reloadableText> tag parameters


type The type of text file to load. Files are generally placed as <collection
name>/medium_artwork/<type>/<game name>.txt or <collection
name>/system_artwork/<type>.txt. In addition, the following meta
fields are supported: “numberButtons”, “numberPlayers”, “ctrlType”,
“numberJoyWays”, “rating”, “score”, “year”, “title”, “developer”,
“manufacturer”, “genre”, “playlist”, “collectionName”,
“collectionSize”, “collectionIndex”, or “collectionIndexSize”.
mode See mode attribute for more details.
font Location of the font (relative to the layout folder).
fontColor Default RGB color of the font (in hex, i.e. “6699AA”).
fontSize Default font size of to display if not specified by a component.
loadFontSize The size (quality) of the font to load. For the best results, use the same
value as fontsize.
direction The direction in which the text should scroll: horizontal, vertical.
scrollingSpeed The speed at which the text should scroll in pixels per second.
startPosition The x/y offset of the start position of the text.
startTime The delay before the text starts scrolling.
endTime The delay between the finish of the scroll, and restarting the display of
the text.
<reloadableText> tag parameters
alignment The text alignment for vertical scrolls: left, right, centered, justified.
The text will scroll across the screen until it is no longer visible. Then it will be reset. For a
vertical scroll: if the startPosition is 0, and the text fits within the defined size, the text will
not scroll.

Example:

<reloadableScrollingText type="story" alpha="0" x="145" y="355"


xOrigin="left" yOrigin="top" width="940" height="215" font="MC360.ttf"
fontSize="35" fontColor="f2f2f2" direction="vertical"
alignment="justified" scrollingSpeed="15" startPosition="0" startTime="4"
endTime="1" alpha="1" layer="7"/>

General Parameters
The other tags all support a general set of parameters:

Tag Description
x X coordinate of where to place the component
y Y coordinate of where to place the component
xOffset Relative X offset of how many pixels to shift the object from x (x
+ xOffset)
yOffset Relative Y offset of how many pixels to shift the object from y (y
+ yOffset)
xOrigin X offset on image to use as the pin point for placement. Supports
the special settings “left”, “center”, and “right”.
yOrigin Y offset on image to use as the pin point for placement. Supports
the special settings “top”, “center”, and “bottom”.
alpha 0 = 0% visible, 0.5=50% visible, 1=100% visible
angle Angle to rotate image, in degrees
width Width of the component. Image will be scaled appropriately if not
specified. Supports the special settings “stretch”.
height Height of the component. Image will be scaled appropriately if not
specified. Supports the special settings “stretch”.
minWidth Minimum width to allow the image to be (if scaling is needed)
minHeight Minimum height to allow the image to be (if scaling is needed)
maxWidth Maximum width to allow the image to be (if scaling is needed)
Tag Description
maxHeight Maximum height to allow the image to be (if scaling is needed)
backgroundColor Fill the component with a background color
backgroundAlpha Background color transparency: 0 = 0% visible, 0.5=50% visible,
1=100% visible
reflection Location of the reflection compared to the original image: top,
bottom, left, right. Can be combined to show multiple reflections,
e.g. topleft, leftright, topbottomright.
reflectionDistance Distance between the reflection and the original image in pixels.
reflectionScale Scale in vertical (reflection top/bottom) or horizontal (reflection
left/right) direction of the reflection compared to the original
image.
reflectionAlpha Transparency of the reflection compared to the original image: 0 =
0% visible, 0.5=50% visible, 1=100% visible
containerX X coordinate of the cropping container.
containerY Y coordinate of the cropping container.
containerWidth Width of the cropping container.
containerHeight Height of the cropping container.
layer Layer on which the item should be displayed: 0 = back, 19 = front
monitor Monitor number on which the element should be displayed,
starting from monitor 0.
menuScrollReload Reload the art while the menu is scrolling when set to yes/true
RetroFE supports 20 layers of images (0-19) to allow items to overlap in a controlled
fashion.

Usage of the x/y/xOffset/yOffset/xOrigin/yOrigin parameters:


Usage of the xOffset/yOffset parameters is generally reserved for when you use values like
“top|bottom|left|right|center” for x and/or y, e.g. x=“center” xOffset=“10” will place the object
10 pixels right of the center.

All these paremeters can also be used in animations to create an even more beautiful
layout experience. These animations use the following syntax:

<action type>

<set duration="<time in seconds>"

<animate type="<animation parameter>" from="<from setting>" to="<to


setting>" algorithm="<algorithm_setting>"/>

</set>

</on<action_type>

It is possible to put multiple animates in the same set; these animations will happen at the
same time. It is possible to put multiple sets in the same action type: these animations will
happen in sequence. It is possible to omit the from attribute; this will animate from the
current value. It is possible to use type=“nop” (no operation), without any other attributes
(<animate type=“nop”/>. This can e.g. be used to delay an animation by preceding it with a
set containing just a “nop” animation.

RetroFE supports the following action types:

action types
action types
onEnter Action happens on entering RetroFE.
onExit Action happens on exiting RetroFE.
onIdle Action happens continuously while no other animations are active
for that object.
onMenuIdle Action happens continuously while the menu isn't scrolling and no
other animations are active for that object.
onMenuScroll Action happens when the menu starts scrolling.
onHighlightEnter Action happens when the item is being selected.
onHighlightExit Action happens when item is no longer selected.
onMenuEnter Action happens on entering a menu.
onMenuExit Action happens on exiting a menu.
onGameEnter Action happens on starting a game.
onGameExit Action happens on quitting a game.
onPlaylistEnter Action happens on entering a playlist.
onPlaylistExit Action happens on exiting a playlist.
onMenuJumpEnter Action happens on entering a jump in the menu (next/previous
letter/page, random).
onMenuJumpExit Action happens on exiting a jump in the menu (next/previous
letter/page, random).
onAttractEnter Action happens on entering attract mode.
onAttract Action happens continuously while in attract mode.
onAttractExit Action happens on exiting attract mode.
The action type can be combined with a menuIndex attribute. This will force RetroFE to
only activate the animation for the specified menu index, with 0 being the main menu.
Some examples:

menuIndex Activated on
menuIndex=“0” Activate the animation on the main menu.
menuIndex=“1” Activate the animation on first submenu.
menuIndex=”!0” Activate the animation on every index except for the main menu.
menuIndex=“>1” Activate the animation on menu index 2, 3, 4, …
menuIndex=“<2” Activate the animation on menu index 0 and 1.
menuIndex=“i” Activate the animation when the index of the menu corresponds
with the current menu index. This can only be used for animations
menuIndex Activated on
for menu items.
RetroFE supports the following algorithms:

action algorithms
easeInquadrati easeOutquadrati easeInoutquadrati easeIncubic easeOutcubic
c c c
easeInoutcubic easeInquartic easeOutquartic easeInoutquar easeInquintic
tic
easeOutquintic easeInoutquintic easeInsine easeOutsine easeInoutsin
e
easeInexponent easeOutexponen easeInoutexponen easeIncircular easeOutcircu
ial tial tial lar
easeInoutcircul linear
ar
Example:

<image src="bg.png" x="0" y="0" height="stretch" width="stretch"


layer="0">

<onIdle>

<set duration="2">

<animate type="alpha" from="1" to="0.2"


algorithm="easeinquadratic"/>

</set>

<set duration="1">

<animate type="alpha" from="0.2" to="1"


algorithm="easeinquadratic"/>

</set>

</onIdle>

</image>

Mode Attribute
Several parameters allow for a mode attribute: system, common, layout, systemlayout, and
commonlayout. This attribute can be omitted. This attribute has the following effects:

Mode system and systemlayout use the information from the collection you're in rather than
the selected item.

Mode layout, systemlayout, and commonlayout use the art in the layouts/<layout
name>/collections/<collection name>/ directory rather than collections/<collection name>/
directory.

Mode common and commonlayout use the art in the collections/_common/medium_artwork


directory rather than the collections/<collection name>/medium_artwork directory.

The item path also depends on whether the selected item is a collection or a game; it will
select the first found file.

Example:

You're in the Main collection, have the SNES collection selected, and are displaying a
reloadableImage of type “logo”:

No mode used:

collections/Main/medium_artwork/logo/SNES.png

collections/SNES/system_artwork/logo.png

collections/Main/medium_artwork/logo/default.png

Mode layout:

layouts/<layout name>/collections/Main/medium_artwork/logo/SNES.png

layouts/<layout name>/collections/SNES/system_artwork/logo.png

layouts/<layout
name>/collections/Main/medium_artwork/logo/default.png

Mode system (not very useful in the main menu):

collections/Main/medium_artwork/logo/Main.png

collections/Main/system_artwork/logo.png

collections/Main/medium_artwork/logo/default.png

Mode systemlayout (not very useful in the main menu):

layouts/<layout name>/collections/Main/medium_artwork/logo/Main.png
layouts/<layout name>/collections/Main/system_artwork/logo.png

layouts/<layout name>/collections/Main/system_artwork/default.png

Mode common (not very useful for type logo):

collections/_common/medium_artwork/logo/SNES.png

collections/_common/medium_artwork/logo/default.png

Mode commonlayout (not very useful for type logo):

layouts/<layout
name>/collections/_common/medium_artwork/logo/SNES.png

layouts/<layout
name>/collections/_common/medium_artwork/logo/default.png

Example:

You're in the SNES collection, have the 1942 game selected, and are displaying a
reloadableImage of type “logo”:

No mode used:

collections/SNES/medium_artwork/logo/1942.png

collections/SNES/medium_artwork/logo/default.png

Mode layout:

layouts/<layout name>/collections/SNES/medium_artwork/logo/1942.png

layouts/<layout
name>/collections/SNES/medium_artwork/logo/default.png

Mode system:

collections/SNES/system_artwork/logo.png

Mode systemlayout:

layouts/<layout name>/collections/SNES/system_artwork/logo.png

Mode common (not very useful for type logo):

collections/_common/medium_artwork/logo/1942.png
collections/_common/medium_artwork/logo/default.png

Mode commonlayout (not very useful for type logo):

layouts/<layout
name>/collections/_common/medium_artwork/logo/1942.png

layouts/<layout
name>/collections/_common/medium_artwork/logo/default.png

Example:

You're in the SNES collection by Nintendo, have the 1942 game by Capcom selected, and
are displaying a reloadableImage of type “manufacturer”:

No mode used:

collections/SNES/medium_artwork/manufacturer/Capcom.png

collections/SNES/medium_artwork/manufacturer/default.png

Mode layout:

layouts/<layout
name>/collections/SNES/medium_artwork/manufacturer/Capcom.png

layouts/<layout
name>/collections/SNES/medium_artwork/manufacturer/default.png

Mode system:

collections/SNES/system_artwork/Nintendo.png

Mode systemlayout:

layouts/<layout name>/collections/SNES/system_artwork/Nintendo.png

Mode common:

collections/_common/medium_artwork/manufacturer/Capcom.png

collections/_common/medium_artwork/manufacturer/default.png

Mode commonlayout:

layouts/<layout
name>/collections/_common/medium_artwork/manufacturer/Capcom.png
layouts/<layout
name>/collections/_common/medium_artwork/manufacturer/default.png

Meta information database


RetroFE uses the following information to create the item lists for the menus:

 menu.txt
 Files in the roms directory
 include.txt
 exclude.txt
 <collection name>.sub
More information about this can be found in the collections section of this documentation.
As can be seen though: RetroFE does not use the meta xml files to create these lists!

The files in the meta directory are used for one thing only: to fill the meta.db database. This
meta.db in turn is used to fill in the extra information such as full title, genre, rating, score,
etc. in the created menu item list for games. Extra information for collections is pulled from
the settings.conf and/or info.conf file of the collection.

RetroFE supports three types of meta information:

 HyperSpin xml files from the directory meta/hyperlist.


 truRIP (super)dat files from the directory meta/trurip.
 MAME xml files from the directory meta/mamelist/.
In addition, RetroFE allows you to add information via info files named as
collections/<collection name>/info/<item name>.conf. These files can contain lines of
additional/overwriting information, e.g.

manufacturer = Konami

Information in these files will supersede information from the meta database when the
overwriteXML parameter in the global settings.conf file is set.

HyperSpin xml files


HyperSpin xml files are xml files as supported by the HyperSpin front-end. RetroFE
supports the following tags (, and will ignore the rest):

 <name>
 <description>
 <cloneof>
 <manufacturer>
 <developer>
 <year>
 <genre>
 <rating>
 <score>
 <players>
 <ctrltype>
 <buttons>
 <joyways>
emuArc (super)dat files
emuArc (super)dat files are xml files as supported by the emuArc group. RetroFE supports
the following tags (, and will ignore the rest):

 <rootdir> This subtag of the header tag defines the collection name used for the meta
database.
 <game>
 <description>
 <publisher>
 <developer>
 <year>
 <genre>
 <ratings>
 <score>
 <players>
 <cloneof>
MAME xml files
MAME xml files are the output of the -listxml output of MAME.

You might also like