From 051d0e09d3eba14447c211071d1fcde01c0b9427 Mon Sep 17 00:00:00 2001 From: Nick Kraftor Date: Tue, 3 Jul 2018 11:22:44 -0400 Subject: [PATCH] Update conf loading to support *nix and windows. --- src/premium.cpp | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/premium.cpp b/src/premium.cpp index 62074d9..cee05eb 100644 --- a/src/premium.cpp +++ b/src/premium.cpp @@ -331,12 +331,35 @@ public: void OnBeforeConfigLoad(bool reload) override { - if (!reload) { - std::string cfg_file = "premium.conf"; + if (!reload) + { + std::string conf_path = _CONF_DIR; + std::string cfg_file = conf_path + "/premium.conf"; + +#if PLATFORM == PLATFORM_WINDOWS + cfg_file = "my_custom.conf"; +#endif std::string cfg_def_file = cfg_file + ".dist"; - - sConfigMgr->LoadMore(cfg_def_file.c_str()); - sConfigMgr->LoadMore(cfg_file.c_str()); + + // Load .conf.dist config + if (!sConfigMgr->LoadMore(cfg_def_file.c_str())) + { + sLog->outString(); + sLog->outError("Module config: Invalid or missing configuration dist file : %s", cfg_def_file.c_str()); + sLog->outError("Module config: Verify that the file exists and has \'[worldserver]' written in the top of the file!"); + sLog->outError("Module config: Use default settings!"); + sLog->outString(); + } + + // Load .conf config + if (!sConfigMgr->LoadMore(cfg_file.c_str())) + { + sLog->outString(); + sLog->outError("Module config: Invalid or missing configuration file : %s", cfg_file.c_str()); + sLog->outError("Module config: Verify that the file exists and has \'[worldserver]' written in the top of the file!"); + sLog->outError("Module config: Use default settings!"); + sLog->outString(); + } } } }; @@ -345,4 +368,4 @@ void AddSC_premium_account() { new premium_account(); new premium_world(); -} \ No newline at end of file +}