1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#include "desktop-ui.hpp"
namespace ruby {
Video video;
Audio audio;
Input input;
}
auto locate(const string& name) -> string {
string location = {Path::program(), name};
if(inode::exists(location)) return location;
#if defined(PLATFORM_MACOS)
location = {Path::program(), "../Resources/", name};
if(inode::exists(location)) return location;
#endif
directory::create({Path::userData(), "ares/"});
return {Path::userData(), "ares/", name};
}
#include <nall/main.hpp>
auto nall::main(Arguments arguments) -> void {
Application::setName("ares");
Application::setScreenSaver(false);
mia::setHomeLocation([]() -> string {
if(auto location = settings.paths.home) return location;
return {Path::user(), "Emulation/Systems/"};
});
mia::setSaveLocation([]() -> string {
return settings.paths.saves;
});
for(auto argument : arguments) {
if(argument == "--fullscreen") {
program.startFullScreen = true;
} else if(file::exists(argument)) {
program.startGameLoad = argument;
}
}
inputManager.create();
Emulator::construct();
settings.load();
Instances::presentation.construct();
Instances::settingsWindow.construct();
Instances::toolsWindow.construct();
program.create();
presentation.loadEmulators();
Application::onMain({&Program::main, &program});
Application::run();
settings.save();
Instances::presentation.destruct();
Instances::settingsWindow.destruct();
Instances::toolsWindow.destruct();
}
|