/****************************************************************************** * File - main.cpp * Author - Joey Pollack * Date - 2021/09/03 (y/m/d) * Mod Date - 2021/09/03 (y/m/d) * Description - Main entry-point for Lunarium ******************************************************************************/ #include #include #include #include #include int main(int argc, char** argv) { // Switch the currrent working directory to the directory // containing the lunarium.exe file because the data and state // file should be in that location std::string path = argv[0]; path = lunarium::String::TrimFileNameFromPath(path); std::filesystem::current_path(path); // All log messages will go to stdout lunarium::Logger::GetInstance()->AddListener(new lunarium::StandardListener); lunarium::Core& core = lunarium::Core::GetInstance(); core.Initialize(argc, argv); if (!core.IsInit()) { std::cout << "\nFailed to initialize the engine core.\n"; return 1; } std::cout << "\nEngine core successfully initialized!\n"; core.RunGameLoop(); core.Shutdown(); lunarium::Logger::GetInstance()->FreeAllListeners(); lunarium::Logger::FreeInstance(); std::cout << "\n"; return 0; }