- // make sure the engine started up okay
- const Mf::Error& error = Mf::engine.getError();
- if (error.isError())
- {
- Mf::ModalDialog dialog;
- dialog.title = PACKAGE_STRING;
- dialog.text1 = "Uh oh!";
- dialog.text2 = getErrorString(error);
- dialog.type = Mf::ModalDialog::CRITICAL;
- dialog.run();
-
- // openal errors are not fatal
- if (error.code() != Mf::Error::OPENAL_INIT) return 1;
- }
-
-
- // Add search paths; they should be searched in this order:
- // 1. YOINK_DATADIR (environment)
- // 2. YOINK_DATADIR (configure)
-
- char* dataDir = getenv("YOINK_DATADIR");
- if (dataDir)
- {
- Mf::Resource::addSearchPath(dataDir);
- }
-
- Mf::Resource::addSearchPath(YOINK_DATADIR);
-
-
- // Build the list of config files to search for, in this order:
- // 1. YOINK_DATADIR/yoinkrc
- // 2. /etc/yoinkrc (not for Windows)
- // 3. $HOME/.yoinkrc
- // 4. YOINKRC (environment)
-
- std::string configFiles = Mf::Resource::getPath("yoinkrc");
-#if !defined(_WIN32) && !defined(__WIN32__)
- configFiles += ":/etc/yoinkrc";
-#endif
- configFiles += ":$HOME/.yoinkrc";
-
- char* configFile = getenv("YOINKRC");
- if (configFile)
- {
- configFiles += ":";
- configFiles += configFile;
- }
-
- Mf::Settings& settings = Mf::Settings::getInstance();
- settings.loadFromFile(configFiles);
- settings.parseArgs(argc, argv);