mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-21 21:17:25 +00:00
feat: add DLU_CONFIG_DIR env var (#1370)
* feat: add DLU_CONFIG_DIR env var * fix: PascalCase
This commit is contained in:
parent
98d2f25af2
commit
42a71bbeab
@ -47,7 +47,7 @@ int main(int argc, char** argv) {
|
|||||||
if (!Game::logger) return EXIT_FAILURE;
|
if (!Game::logger) return EXIT_FAILURE;
|
||||||
|
|
||||||
//Read our config:
|
//Read our config:
|
||||||
Game::config = new dConfig((BinaryPathFinder::GetBinaryDir() / "authconfig.ini").string());
|
Game::config = new dConfig("authconfig.ini");
|
||||||
Game::logger->SetLogToConsole(Game::config->GetValue("log_to_console") != "0");
|
Game::logger->SetLogToConsole(Game::config->GetValue("log_to_console") != "0");
|
||||||
Game::logger->SetLogDebugStatements(Game::config->GetValue("log_debug_statements") == "1");
|
Game::logger->SetLogDebugStatements(Game::config->GetValue("log_debug_statements") == "1");
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ int main(int argc, char** argv) {
|
|||||||
if (!Game::logger) return EXIT_FAILURE;
|
if (!Game::logger) return EXIT_FAILURE;
|
||||||
|
|
||||||
//Read our config:
|
//Read our config:
|
||||||
Game::config = new dConfig((BinaryPathFinder::GetBinaryDir() / "chatconfig.ini").string());
|
Game::config = new dConfig("chatconfig.ini");
|
||||||
Game::logger->SetLogToConsole(Game::config->GetValue("log_to_console") != "0");
|
Game::logger->SetLogToConsole(Game::config->GetValue("log_to_console") != "0");
|
||||||
Game::logger->SetLogDebugStatements(Game::config->GetValue("log_debug_statements") == "1");
|
Game::logger->SetLogDebugStatements(Game::config->GetValue("log_debug_statements") == "1");
|
||||||
|
|
||||||
|
@ -10,8 +10,23 @@ dConfig::dConfig(const std::string& filepath) {
|
|||||||
LoadConfig();
|
LoadConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::filesystem::path GetConfigDir() {
|
||||||
|
std::filesystem::path config_dir = BinaryPathFinder::GetBinaryDir();
|
||||||
|
if (const char* env_p = std::getenv("DLU_CONFIG_DIR")) {
|
||||||
|
config_dir /= env_p;
|
||||||
|
}
|
||||||
|
return config_dir;
|
||||||
|
}
|
||||||
|
|
||||||
|
const bool dConfig::Exists(const std::string& filepath) {
|
||||||
|
std::filesystem::path config_dir = GetConfigDir();
|
||||||
|
return std::filesystem::exists(config_dir / filepath);
|
||||||
|
}
|
||||||
|
|
||||||
void dConfig::LoadConfig() {
|
void dConfig::LoadConfig() {
|
||||||
std::ifstream in(BinaryPathFinder::GetBinaryDir() / m_ConfigFilePath);
|
std::filesystem::path config_dir = GetConfigDir();
|
||||||
|
|
||||||
|
std::ifstream in(config_dir / m_ConfigFilePath);
|
||||||
if (!in.good()) return;
|
if (!in.good()) return;
|
||||||
|
|
||||||
std::string line{};
|
std::string line{};
|
||||||
@ -19,7 +34,7 @@ void dConfig::LoadConfig() {
|
|||||||
if (!line.empty() && line.front() != '#') ProcessLine(line);
|
if (!line.empty() && line.front() != '#') ProcessLine(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ifstream sharedConfig(BinaryPathFinder::GetBinaryDir() / "sharedconfig.ini", std::ios::in);
|
std::ifstream sharedConfig(config_dir / "sharedconfig.ini", std::ios::in);
|
||||||
if (!sharedConfig.good()) return;
|
if (!sharedConfig.good()) return;
|
||||||
|
|
||||||
line.clear();
|
line.clear();
|
||||||
|
@ -7,6 +7,11 @@ class dConfig {
|
|||||||
public:
|
public:
|
||||||
dConfig(const std::string& filepath);
|
dConfig(const std::string& filepath);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether the specified filepath exists
|
||||||
|
*/
|
||||||
|
static const bool Exists(const std::string& filepath);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the specified key from the config. Returns an empty string if the value is not found.
|
* Gets the specified key from the config. Returns an empty string if the value is not found.
|
||||||
*
|
*
|
||||||
|
@ -84,32 +84,32 @@ int main(int argc, char** argv) {
|
|||||||
Game::logger = SetupLogger();
|
Game::logger = SetupLogger();
|
||||||
if (!Game::logger) return EXIT_FAILURE;
|
if (!Game::logger) return EXIT_FAILURE;
|
||||||
|
|
||||||
if (!std::filesystem::exists(BinaryPathFinder::GetBinaryDir() / "authconfig.ini")) {
|
if (!dConfig::Exists("authconfig.ini")) {
|
||||||
LOG("Couldnt find authconfig.ini");
|
LOG("Couldnt find authconfig.ini");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!std::filesystem::exists(BinaryPathFinder::GetBinaryDir() / "chatconfig.ini")) {
|
if (!dConfig::Exists("chatconfig.ini")) {
|
||||||
LOG("Couldnt find chatconfig.ini");
|
LOG("Couldnt find chatconfig.ini");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!std::filesystem::exists(BinaryPathFinder::GetBinaryDir() / "masterconfig.ini")) {
|
if (!dConfig::Exists("masterconfig.ini")) {
|
||||||
LOG("Couldnt find masterconfig.ini");
|
LOG("Couldnt find masterconfig.ini");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!std::filesystem::exists(BinaryPathFinder::GetBinaryDir() / "sharedconfig.ini")) {
|
if (!dConfig::Exists("sharedconfig.ini")) {
|
||||||
LOG("Couldnt find sharedconfig.ini");
|
LOG("Couldnt find sharedconfig.ini");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!std::filesystem::exists(BinaryPathFinder::GetBinaryDir() / "worldconfig.ini")) {
|
if (!dConfig::Exists("worldconfig.ini")) {
|
||||||
LOG("Couldnt find worldconfig.ini");
|
LOG("Couldnt find worldconfig.ini");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Game::config = new dConfig((BinaryPathFinder::GetBinaryDir() / "masterconfig.ini").string());
|
Game::config = new dConfig("masterconfig.ini");
|
||||||
Game::logger->SetLogToConsole(Game::config->GetValue("log_to_console") != "0");
|
Game::logger->SetLogToConsole(Game::config->GetValue("log_to_console") != "0");
|
||||||
Game::logger->SetLogDebugStatements(Game::config->GetValue("log_debug_statements") == "1");
|
Game::logger->SetLogDebugStatements(Game::config->GetValue("log_debug_statements") == "1");
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ int main(int argc, char** argv) {
|
|||||||
if (!Game::logger) return EXIT_FAILURE;
|
if (!Game::logger) return EXIT_FAILURE;
|
||||||
|
|
||||||
//Read our config:
|
//Read our config:
|
||||||
Game::config = new dConfig((BinaryPathFinder::GetBinaryDir() / "worldconfig.ini").string());
|
Game::config = new dConfig("worldconfig.ini");
|
||||||
Game::logger->SetLogToConsole(Game::config->GetValue("log_to_console") != "0");
|
Game::logger->SetLogToConsole(Game::config->GetValue("log_to_console") != "0");
|
||||||
Game::logger->SetLogDebugStatements(Game::config->GetValue("log_debug_statements") == "1");
|
Game::logger->SetLogDebugStatements(Game::config->GetValue("log_debug_statements") == "1");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user