/****************************************************************************** * 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 // TESTING // #include // #include FT_FREETYPE_H int main(int argc, char** argv) { // TESTING -- FREETYPE // FT_Library ft; // if (FT_Init_FreeType(&ft)) // { // std::cout << "Could not init FreeType Library\n"; // return -1; // } // std::cout << "Freetype library sucessfully initialized!\n"; //////////////// // 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; }