I’m getting tired of this. I figured that I would try posting on the forum first because no one seems to read the bug reports on github. I’ve only had this issue posted on there for ever. My main computer used for programing is running mac os x, but I have also experienced an issue with this on windoze as well. Regardless…
Attract mode launches the attract.app package as expected, without any issues. The issues arise when you try to launch it via console from the following line in the terminal, and it’s yielded print:
Keils-iMac:~ keiljr$ /Applications/Attract.app/Contents/MacOS/attract
Starting Attract-Mode v2.2.0-3 (OSX)
Warning: Attract-Mode was compiled to look for its default configuration files in: ../config/, which is not available.
Config: /Users/keiljr/.attract/attract.cfg
*** Initializing display: 'mame'
- Loaded master romlist 'mame' in 1 ms (147 entries kept, 10 discarded)
- Constructed 10 filters in 0 ms (1470 comparisons)
Error loading language resource file: en
Fontconfig error: Cannot load default config file
Plugin file not found: History.dat
- Loaded layout: /Users/keiljr/.attract/layouts/flavors/ (layout.nut)
Attract mode stores config files under two directories on Mac Os X.
- /Applications/Attract.app/Contents/MacOS/attract
- ~/.attract/
Using the method to launch previously provided, the app config directory is ignored while the home directory config directory is loaded. Default plugins, modules, etc will not be loaded.
So this leads us to checking the command line params:
Keils-iMac:~ keiljr$ /Applications/Attract.app/Contents/MacOS/attract -h
Attract-Mode v2.2.0-3 Copyright (c) 2013-2016 Andrew Mickelson
Usage: /Applications/Attract.app/Contents/MacOS/attract [option...]
ROMLIST IMPORT/BUILD OPTIONS:
-b, --build-romlist <emu> [emu(s)...]
Builds a romlist using the configuration for the specified emulator(s)
-i, --import-romlist <file> [emu]
Import romlist from the specified file. Supported formats:
*.lst (Mamewah/Wahcade!)
*.txt (Attract-Mode)
*.xml (Mame listxml format or HyperSpin)
The emulator to use for list entries can be specified as well
-F, --filter <rule>
Apply the specified filter rule when creating romlist
-E, --exception <exception>
Apply the specified filter rules exception when creating romlist
--full
Use with --build-romlist to include all possible roms [MAME only]
-o, --output <romlist>
Specify the name of the romlist to create, overwriting any existing
ARTWORK SCRAPER OPTIONS:
-s, --scrape-art <emu> [emu(s)...]
Scrape missing artwork for the specified emulator(s)
OTHER OPTIONS:
-c, --config <config_directory>
Specify the configuration to use
-f, --font <font_name>
Specify the default font to use
-h, --help: Show this message
-v, --version: Show version information
So we can use
-c to explicitly declare a config directory. This resolves issues launching attract in Windows as a shell, as the Windows version only has one config directory. Mac os x has two however. I do not believe this param allows more than one option. I have tried the following without success. This is important to resolve for debugging, and is getting rather annoying.
Keils-iMac:~ keiljr$ /Applications/Attract.app/Contents/MacOS/attract -c /Users/keiljr/.attract
Keils-iMac:~ keiljr$ /Applications/Attract.app/Contents/MacOS/attract -c /Applications/Attract.app/Contents/MacOS/attract /Users/keiljr/.attract
Keils-iMac:~ keiljr$ /Applications/Attract.app/Contents/MacOS/attract -c /Applications/Attract.app/Contents/MacOS/attract;/Users/keiljr/.attract