Skip to content

jiggak/lemonlauncher

Repository files navigation

Lemon Launcher is a simple mame front-end intended for use inside an arcade
machine.  Game selection is meant to be as easy as possible using only a
joystick and buttons.


Requirements
============

Lemon Launcher should work with most platforms that support SDL.
I've tested Linux, Mac OS X, and Windows.  These are the dependencies:

* SDL
* SDL_image (with at least PNG support)
* SDL_ttf
* SDL_gfx
* libConfuse


Installation
============

Install the dependencies.  Extract the tar.gz file and run:
./configure --prefix=/usr
make
sudo make install

By default lemon launcher will search for configuration files in your home
directory (~/.lemonlauncher/).  Sample configuration files can be found here:
/usr/share/lemon-launcher/lemonlauncher.conf.sample
/usr/share/lemon-launcher/games.conf.sample
/usr/share/lemon-launcher/skin.conf.sample

You can override the default configuration file search path by passing a static
directory path to the configure script (--with-confdir).

See ./configure --help for a complete list of build time options.


Windows
=======

I have been developing and testing Lemon Launcher on windows so as a result
there are some outstanding issues on windows.

* bug: when mame exits, lemon launcher is minimized
  -> patch source code and rebuild
     lemonlauncher# patch -p0 <patches/win32-restore.patch
* bug: when default font is used, lemonlauncher crashes
  -> no fix yet, always make sure theme.conf contains valid path to font file


Controls
========

| Function    | Default key    | Description                                   |
+-------------+----------------+-----------------------------------------------+
| exit        | escape         | Exit lemon launcher                           |
+-------------+----------------+-----------------------------------------------+
| up/down     | up/down        | Moves selection up/down                       |
+-------------+----------------+-----------------------------------------------+
| pgup/pgdown | right/left     | Moves selection up/down by one page           |
+-------------+----------------+-----------------------------------------------+
| select      | 1 (p1-start)   | Open menu / launch game                       |
+-------------+----------------+-----------------------------------------------+
| back        | 2 (p2-start)   | Back to previous menu                         |
+-------------+----------------+-----------------------------------------------+
| alphamod(*) | lctrl (p1btn1) | Page up/down modifier key - alphabetic paging |
+-------------+----------------+-----------------------------------------------+
| viewmod(*)  | lalt  (p1btn2) | Switch to next/previous view                  |
+-------------+----------------+-----------------------------------------------+

Default key mapping is based on the factory keycodes on the Ultimarc ipac and
jpac.  See the key mapping section of lemonlauncher.conf for a list of keys and
their function.  Note this file uses raw SDL key codes.  For a comprehensive
list of key names and their codes see:
/usr/share/lemon-launcher/keycodes.txt

(*) Key modifiers do not correspond to raw key codes.  These values correspond
to constants in the SDLMod enum.


Customizing
===========

Lemon launcher uses a set of default options which work well in most cases.
However, lemon launcher is extensively customizable.  Copy the example
lemonlauncher.conf file (/usr/share/lemon-launcher/lemonlauncher.conf.sample)
to your config directory (~/.lemonlauncher/lemonlauncher.conf) and edit with
your favorite text editor.

Default font in lemon launcher is Bitstream Vera Sans Bold.  You can override
this default at compile time using the --with-default-font switch to the
configure script.  You can also set the current font in the lemonlauncher.conf.


Themes
======

Lemon launcher has a rather simple theme system which gives you control
over the background image, font, size and position of ui elements (title,
list, and snapshot sections).  See default/sample theme file for more details:
/usr/share/lemon-launcher/theme.conf.sample

You can find examples of themes here:
/usr/share/lemon-launcher/grey-theme.tar.gz
/usr/share/lemon-launcher/blue-theme.tar.gz

To use a theme first make sure you have lemonlauncher.conf installed correctly
(see Installation section), and create your theme.conf file.  Modify the "theme"
option in lemonlauncher.conf to reflect the path of your theme.conf file.