SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

LeFroMoMa - Less Frontend More Mame - version 0.3 Written August/September 2006
by Kristof De Jaeger (http://realize.be) Art by Studio Plum (http://www.studioplum.be)

Simple mame frontend written in python focused on cabinets. Features: fullscreen, snapshots, roms-, favorites-list (alphabetical) & ignore list, scaling of a game. All text in game names between () is stripped in the favorites list (revision/version numbers etc), it makes the list 'prettier'. There are 3 wav-files included, a "start up" sound, a "start game" sound and a button sound.

The script creates 4 new directories in your rom directory: complete, favorites, ignore and scaling. They are filled with symlinks (this doesn't take up much space, don't worry). When you add a game to the favorites the symlink from the complete dir is moved to the favorites and visa versa. If you move a game to the ignore directory (that is, the symlink will be moved there), you will have to remove it yourself again. (might change in the future). You can change the scaling of the game in the frontend. The scaling dir is used to write the default scaling for a game (gamerom_2 or gamerom_1)

Lefromoma is developed and tested on Fedora Core 5, other GNU/linux distro should work too (other distro's not tested though).

  • Dependencies

    Python, Pygame and SDL On fedora, just install pygame with yum/apt (which you can find in an extras repository). All dependencies will be installed which you need for pygame (like python, SDL_* etc) After that it should run.

  • Install and run

Change python path and/or the variables if needed at the top of lefromoma.py. Your roms dir must be writable for the user running this program since it should be able to move/create symlinks to create the favorites/roms/ignore list.

Copy no_snap_image.png, head0865.ttf (font-file), lefromoma.png (background) and the wav-files to the snapshots directory. The no_snap_image is used when there is no snapshot for the game. If there's no snapshot, be sure to press F12 (or the button that does this action) while playing! The sound files are used in the frontend.

If you don't like the sounds, you can overwrite the wav-files with ones of your own or disable sound in the config section.

When Lefromoma starts the xmame binary, it uses the option -nolcf, so no config file is used. Add more options to the string at the top in the config section. Scaling is set to 2 by default. This gives some problems when you run in 800x600 resolution for some games (especially airplane shooters), but you can change the scaling of a game in the frontend. This will be written to a symlink (gamerom_2 or gamerom_1), so lefromoma remembers your default setting for that game.

  • Key-bindings

    I'm using an X-arcade gamepad where every button acts as a keyboard-key. With this pad it's easy to use the buttons to trigger events in the frontend.

    Default keys are:

    joystick up: UP (go up in list) joystick down: DOWN (go down in list) joystick left: LEFT (move focus to/from list from/to menu) joystick right: RIGHT (move focus to/from list from/to menu) button 1 : enter (all actions like moving, scaling, shutdown ...)

    If you want to change these keys, you'll have to look at the source and modify them. Read http://www.pygame.org/docs/ref/key.html for all optional keys.

  • Shutdown

    To shutdown from the frontend, you'll have to give permission to the user (unless you are logged in as root of course) to trigger the shutdown binary. Edit the sudoers file with visudo and add following lines:

    # give user 'mame' permission to the shutdown binary mame ALL=(ALL) NOPASSWD: ALL mame ALL=NOPASSWD:/sbin/shutdown -h now

That's it, have fun playing!


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.