Skip to content

oomek/attractplus

Repository files navigation

Logo

Attract-Mode Plus is a graphical frontend for launching command-line emulators. It offers robust list filtering capabilities, and employs a versatile scripting language to showcase an extensive range of image, video, and audio formats. Compatible with Windows, Linux (x86, x86-64, ARM, Raspberry Pi), and Mac OS X.

ReleasesManualDiscordCoding ReferenceCompilingWIP

Attract-Mode Plus is a fork of Attract-Mode, enhanced by numerous community-driven improvements, fixes, and features. Licensed under the terms of the GNU General Public License, version 3 or later.


⏱️ Quickstart + Mame + Windows

Attract-Mode Plus is a blank canvas that requires external assets to operate effectively.

Although Snaps are essential, Videos greatly enhance the frontend experience.

  • 👾 Application - Emulators and Roms to launch
  • 🎨 Artwork - Images and Videos to show
    • Snaps - extract to C:\mame\snap
    • Videos - extract to C:\mame\video - Standard Quality
    • Logos - extract to C:\mame\wheel
    • Marquees - extract to C:\mame\marquee
  • 📚 Additional - Category, Series, Languages, and Players information

Tip

Select - Up/Down
Accept/Back - Return/Escape
Configure - Tab
Fullscreen/Window - F11

  • 🚀 Launch C:\attract-mode-plus\attractplus.exe
  • 🌏 Select your language
  • 📡 Auto-detect emulators > Yes
  • 💾 Found 1 emulator > Import
  • 🎉 Attract-Mode Plus is ready to play!

⚙️ Basic Configuration

ControlsEmulatorsRomlistsArtworkDisplaysFiltersGlobal FiltersFavouritesTagsLayoutsPluginsModulesDisplays MenuClonesFilesUpdates

Fine-tune Attract-Mode Plus to fit your needs.

🕹️ Controls

Configure the input bindings to suit your device - navigation is a good place to start.

  • Configure > Controls
    • Previous / Next Page - Scroll by an entire page
    • Previous / Next Letter - Skip to the next letter
    • Previous / Next Filter - Switch between Filters
    • Previous / Next Display - Switch between Displays
    • Displays Menu - Toggle the Displays Menu

Hold multiple keys to create combos.

🔍 C:\attract-mode-plus\config\attract.cfg

🛠️ Emulators

Emulators specify how Executables run Roms.

  • Configure > Emulators > mame
    • Executable > C:\mame\mame.exe
    • Command Arguments > [name]
    • Working Directory > C:\mame

Launches C:\mame\mame.exe [name] where [name] is substituted with the selected Romlist entry name.

🔍 C:\attract-mode-plus\emulators\mame.cfg

📜 Romlists

Romlists are created by scanning Rom Paths for files matching Rom Extensions.

  • Configure > Emulators > mame
    • Rom Path(s) > C:\mame\roms
    • Rom Extension(s) > .zip;.7z
    • Info Source/Scraper > listxml
    • Additional Import File(s) > your;ini;files;here
    • Generate Collection/Romlist - Rebuild the Romlist

Additional Import Files and the Mame-only listxml scraper augment the Romlist to support advanced Filtering.

🔍 C:\attract-mode-plus\romlists\mame.txt

🎨 Artwork

Artwork is associated with Romlist entries that have matching names.

  • Configure > Emulators > mame
    • snap > C:\mame\snap;C:\mame\video
    • marquee > C:\mame\marquee
    • wheel > C:\mame\wheel

Configure > Emulators > mame > Scrape Artwork can import some artwork, but with reduced control over the results.

🔍 C:\attract-mode-plus\scraper\mame

📽️ Displays

Displays determine what the frontend presents to the user.

  • Configure > Displays > mame
    • Layout > BasicPlus - The Theme
    • Collection/Romlist > mame - The Roms
    • Filter > All - The Lists

Multiple Displays can share the same Romlist, each with its own Layout and Filters.

🔍 C:\attract-mode-plus\config\displays.cfg

🔬 Filters

Filters are rule-sets that organise Romlists into concise, structured Lists.

  • Configure > Displays > mame
    • Add Filter > The 90's
      • Add Rule
        • Target > Year
        • Comparison > contains
        • Filter Value > 199

Filter Value is a regular expression that matches Romlist fields.

🔍 C:\attract-mode-plus\config\displays.cfg

🔭 Global Filters

Global Filters refine the Romlist for the entire Display.

  • Configure > Displays > mame
    • Global Filter
      • Add Rule
        • Target > Category
        • Comparison > does not contain
        • Filter Value > Mahjong

Use to exclude Roms from all Filters within the Display.

🔍 C:\attract-mode-plus\config\displays.cfg

⭐ Favourites

Displays are created with two Filters, one of which is a "Favourites" List.

  • All - Show all Roms in the Romlist
  • Favourites - Show favourite Roms in the Romlist

Use the Add/Remove Favourites control to toggle a Rom's "Favourite" status.

🔍 C:\attract-mode-plus\romlists\mame.tag

🏷️ Tags

Custom Tags can be added to Roms, allowing Filters to generate personalised Lists.

  • Configure > Displays > mame
    • Add Filter > Party Games
      • Add Rule
        • Target > Tags
        • Comparison > contains
        • Filter Value > party

Use the Add/Remove Tags control to add a Tag named party to your Roms.

🔍 C:\attract-mode-plus\romlists\mame\party.tag

🎞️ Layouts

Layouts are themes that define the appearance and behaviour of a Display.

  • Configure > Displays > mame
    • Layout > Select a Layout
    • Layout Options > Varies by Layout

Layout Options belong to the Layout - they are common to all Displays that use it.

A multitude of Layouts can be found on Discord or the Forum.

As community-generated content, Layouts can vary in quality.

🔍 C:\attract-mode-plus\layouts

🔌 Plugins

Plugins run atop the Layout, providing additional features across all Displays.

  • Configure > Plugins > SearchPlus
    • Enabled > Yes
    • Show > Custom1 - The control that shows the Keyboard

Use the Plugin Options control to configure the last viewed Plugin.

🔍 C:\attract-mode-plus\plugins

📦 Modules

Modules are shared libraries that provide functionality to Layouts. Popular Modules such as inertia, animate, and wheel are bundled with Attract-Mode Plus.

Modules do not require enabling. If a Layout isn't working, run attractplus-console.exe to inspect console warnings. Refer to the Layout's Readme for information about required files.

🔍 C:\attract-mode-plus\modules

🏟️ Displays Menu

The Displays Menu can be configured to use a Layout. Setting it to show on startup makes it the "root" Menu to which other Displays return.

  • Configure > Displays > Displays Menu Options
    • Layout > Select a Layout
  • Configure > Settings >
    • Startup Mode > Show Displays Menu

Artwork for the Displays Menu must match the Display or Romlist name, located in the menu-art/<resource> subfolder.

🔍 C:\attract-mode-plus\menu-art\snap\mame.png

🐑 Clones

Rom clones are grouped into sub-menus, which are opened by selecting the Rom.

  • Configure > Settings >
    • Group Clones > Yes

Use the Back control to exit the clone sub-menu.

📁 Files

Configuration files can be edited while Attract-Mode Plus is running.

Close the menu to avoid changes being overwritten by the frontend. Preserve the file's formatting to ensure it remains readable.

Use the Reload Config control to reload all configuration files.

📬 Updates

A notification will appear at startup whenever an update is available. Visit the Releases page to download it.

Extract the new version over your existing files - your configuration will remain intact.