mirror of
https://github.com/BeamMP/BeamMP-Launcher.git
synced 2025-07-03 08:26:01 +00:00
36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
///
|
|
/// Created by Anonymous275 on 1/17/22
|
|
/// Copyright (c) 2021-present Anonymous275 read the LICENSE file for more info.
|
|
///
|
|
|
|
#include <tomlplusplus/toml.hpp>
|
|
#include "Launcher.h"
|
|
#include "Logger.h"
|
|
|
|
void Launcher::LoadConfig() {
|
|
if (fs::exists("Launcher.toml")) {
|
|
toml::parse_result config = toml::parse_file("Launcher.toml");
|
|
auto ui = config["UI"];
|
|
auto build = config["Build"];
|
|
if (ui.is_boolean()) {
|
|
EnableUI = ui.as_boolean()->get();
|
|
} else LOG(ERROR) << "Failed to get 'UI' boolean from config";
|
|
|
|
// Default -1 / Release 1 / EA 2 / Dev 3 / Custom 3
|
|
if (build.is_string()) {
|
|
TargetBuild = build.as_string()->get();
|
|
for (char& c : TargetBuild) c = char(tolower(c));
|
|
} else LOG(ERROR) << "Failed to get 'Build' string from config";
|
|
|
|
} else {
|
|
std::ofstream tml("Launcher.toml");
|
|
if (tml.is_open()) {
|
|
tml << "UI = true\n Build = \"Default\"";
|
|
tml.close();
|
|
} else {
|
|
LOG(FATAL) << "Failed to write config on disk!";
|
|
throw ShutdownException("Fatal Error");
|
|
}
|
|
}
|
|
}
|