/// /// Created by Anonymous275 on 2/23/2021 /// #include "Logger.h" #include "Network/network.hpp" #include #include #include #include namespace fs = std::filesystem; std::string Branch; void ParseConfig(const nlohmann::json& d) { if (d["Port"].is_number()) { DEFAULT_PORT = d["Port"].get(); } // Default -1 // Release 1 // EA 2 // Dev 3 // Custom 3 if (d["Build"].is_string()) { Branch = d["Build"].get(); for (char& c : Branch) c = char(tolower(c)); } } void ConfigInit() { if (fs::exists("Launcher.cfg")) { std::ifstream cfg("Launcher.cfg"); if (cfg.is_open()) { auto Size = fs::file_size("Launcher.cfg"); std::string Buffer(Size, 0); cfg.read(&Buffer[0], Size); cfg.close(); nlohmann::json d = nlohmann::json::parse(Buffer, nullptr, false); if (d.is_discarded()) { fatal("Config failed to parse make sure it's valid JSON!"); } ParseConfig(d); } else fatal("Failed to open Launcher.cfg!"); } else { std::ofstream cfg("Launcher.cfg"); if (cfg.is_open()) { cfg << R"({ "Port": 4444, "Build": "Default" })"; cfg.close(); } else { fatal("Failed to write config on disk!"); } } }