Config File Update Initial Update

This commit is contained in:
phredi
2016-05-20 21:03:34 -05:00
parent 04f47f1e32
commit b997a040d7
50 changed files with 247 additions and 93 deletions
+48
View File
@@ -254,6 +254,10 @@ void EQEmuConfig::do_files(TiXmlElement *ele)
if (text) {
OpCodesFile = text;
}
text = ParseTextBlock(ele, "plugin.pl", true);
if (text) {
PluginPlFile = text;
}
}
void EQEmuConfig::do_directories(TiXmlElement *ele)
@@ -262,14 +266,38 @@ void EQEmuConfig::do_directories(TiXmlElement *ele)
text = ParseTextBlock(ele, "maps", true);
if (text) {
MapDir = text;
if ( MapDir.back() != '/' )
MapDir += '/';
}
text = ParseTextBlock(ele, "quests", true);
if (text) {
QuestDir = text;
if ( QuestDir.back() != '/' )
QuestDir += '/';
}
text = ParseTextBlock(ele, "plugins", true);
if (text) {
PluginDir = text;
if ( PluginDir.back() != '/' )
PluginDir += '/';
}
text = ParseTextBlock(ele, "lua_modules", true);
if (text) {
LuaModuleDir = text;
if ( LuaModuleDir.back() != '/' )
LuaModuleDir += '/';
}
text = ParseTextBlock(ele, "patches", true);
if (text) {
PatchDir = text;
if ( PatchDir.back() != '/' )
PatchDir += '/';
}
text = ParseTextBlock(ele, "shared_memory", true);
if (text) {
SharedMemDir = text;
if ( SharedMemDir.back() != '/' )
SharedMemDir += '/';
}
}
@@ -404,6 +432,9 @@ std::string EQEmuConfig::GetByName(const std::string &var_name) const
if (var_name == "OpCodesFile") {
return (OpCodesFile);
}
if (var_name == "PluginPlFile") {
return (PluginPlFile);
}
if (var_name == "MapDir") {
return (MapDir);
}
@@ -413,6 +444,18 @@ std::string EQEmuConfig::GetByName(const std::string &var_name) const
if (var_name == "PluginDir") {
return (PluginDir);
}
if (var_name == "LuaModuleDir") {
return (LuaModuleDir);
}
if (var_name == "PatchDir") {
return (PatchDir);
}
if (var_name == "SharedMemDir") {
return (SharedMemDir);
}
if (var_name == "LogDir") {
return (LogDir);
}
if (var_name == "LogPrefix") {
return (LogPrefix);
}
@@ -468,9 +511,14 @@ void EQEmuConfig::Dump() const
std::cout << "QSDatabasePort = " << QSDatabasePort << std::endl;
std::cout << "SpellsFile = " << SpellsFile << std::endl;
std::cout << "OpCodesFile = " << OpCodesFile << std::endl;
std::cout << "PluginPlFile = " << PluginPlFile << std::endl;
std::cout << "MapDir = " << MapDir << std::endl;
std::cout << "QuestDir = " << QuestDir << std::endl;
std::cout << "PluginDir = " << PluginDir << std::endl;
std::cout << "LuaModuleDir = " << LuaModuleDir << std::endl;
std::cout << "PatchDir = " << PatchDir << std::endl;
std::cout << "SharedMemDir = " << SharedMemDir << std::endl;
std::cout << "LogDir = " << LogDir << std::endl;
std::cout << "ZonePortLow = " << ZonePortLow << std::endl;
std::cout << "ZonePortHigh = " << ZonePortHigh << std::endl;
std::cout << "DefaultStatus = " << (int)DefaultStatus << std::endl;
+14 -4
View File
@@ -79,11 +79,15 @@ class EQEmuConfig : public XMLParser
// From <files/>
std::string SpellsFile;
std::string OpCodesFile;
std::string PluginPlFile;
// From <directories/>
std::string MapDir;
std::string QuestDir;
std::string PluginDir;
std::string LuaModuleDir;
std::string PatchDir;
std::string SharedMemDir;
// From <launcher/>
std::string LogPrefix;
@@ -153,12 +157,18 @@ class EQEmuConfig : public XMLParser
// Files
SpellsFile = "spells_us.txt";
OpCodesFile = "opcodes.conf";
PluginPlFile = "plugin.pl";
// Dirs
MapDir = "Maps";
QuestDir = "quests";
PluginDir = "plugins";
MapDir = "Maps/";
QuestDir = "quests/";
PluginDir = "plugins/";
LuaModuleDir = "lua_modules/";
PatchDir = "./";
SharedMemDir = "shared/";
LogDir = "logs/";
// Launcher
LogPrefix = "logs/zone-";
LogPrefix = "zone-";
LogSuffix = ".log";
RestartWait = 10000; //milliseconds
TerminateWait = 10000; //milliseconds
+22
View File
@@ -0,0 +1,22 @@
/* EQEMu: Everquest Server Emulator
Copyright (C) 2001-2016 EQEMu Development Team (http://eqemulator.org)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY except by those people which sell it, which
are required to give you total support for your newly bought product;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "eqemu_config.h"
extern const EQEmuConfig *Config;
+3 -3
View File
@@ -27,7 +27,7 @@
#endif
#include "types.h"
#include "eqemu_exception.h"
#include "eqemu_config_extern.h"
namespace EQEmu {
struct IPCMutex::Implementation {
@@ -41,7 +41,7 @@ namespace EQEmu {
IPCMutex::IPCMutex(std::string name) : locked_(false) {
imp_ = new Implementation;
#ifdef _WINDOWS
std::string final_name = "EQEmuMutex_";
std::string final_name = Config->SharedMemDir + "EQEmuMutex_";
final_name += name;
imp_->mut_ = CreateMutex(nullptr,
@@ -52,7 +52,7 @@ namespace EQEmu {
EQ_EXCEPT("IPC Mutex", "Could not create mutex.");
}
#else
std::string final_name = name;
std::string final_name = Config->SharedMemDir + name;
final_name += ".lock";
#ifdef __DARWIN
+4 -2
View File
@@ -67,7 +67,8 @@ namespace RoF
//create our opcode manager if we havent already
if (opcodes == nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
//load up the opcode manager.
@@ -111,7 +112,8 @@ namespace RoF
if (opcodes != nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
if (!opcodes->ReloadOpcodes(opfile.c_str())) {
+1
View File
@@ -21,6 +21,7 @@
#define COMMON_ROF_H
#include "../struct_strategy.h"
#include "../eqemu_config_extern.h"
class EQStreamIdentifier;
+4 -2
View File
@@ -67,7 +67,8 @@ namespace RoF2
//create our opcode manager if we havent already
if (opcodes == nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
//load up the opcode manager.
@@ -111,7 +112,8 @@ namespace RoF2
if (opcodes != nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
if (!opcodes->ReloadOpcodes(opfile.c_str())) {
+1
View File
@@ -21,6 +21,7 @@
#define COMMON_ROF2_H
#include "../struct_strategy.h"
#include "../eqemu_config_extern.h"
class EQStreamIdentifier;
+4 -2
View File
@@ -63,7 +63,8 @@ namespace SoD
//create our opcode manager if we havent already
if (opcodes == nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
//load up the opcode manager.
@@ -107,7 +108,8 @@ namespace SoD
if (opcodes != nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
if (!opcodes->ReloadOpcodes(opfile.c_str())) {
+1
View File
@@ -21,6 +21,7 @@
#define COMMON_SOD_H
#include "../struct_strategy.h"
#include "../eqemu_config_extern.h"
class EQStreamIdentifier;
+4 -2
View File
@@ -63,7 +63,8 @@ namespace SoF
//create our opcode manager if we havent already
if (opcodes == nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
//load up the opcode manager.
@@ -107,7 +108,8 @@ namespace SoF
if (opcodes != nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
if (!opcodes->ReloadOpcodes(opfile.c_str())) {
+1
View File
@@ -21,6 +21,7 @@
#define COMMON_SOF_H
#include "../struct_strategy.h"
#include "../eqemu_config_extern.h"
class EQStreamIdentifier;
+4 -2
View File
@@ -16,7 +16,8 @@ static Strategy struct_strategy;
void Register(EQStreamIdentifier &into) {
//create our opcode manager if we havent already
if(opcodes == NULL) {
string opfile = "patch_";
string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
//load up the opcode manager.
@@ -51,7 +52,8 @@ void Reload() {
if(opcodes != NULL) {
//TODO: get this file name from the config file
string opfile = "patch_";
string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
if(!opcodes->ReloadOpcodes(opfile.c_str())) {
+1
View File
@@ -2,6 +2,7 @@
#define TEMPLATE_H_
#include "../struct_strategy.h"
#include "../eqemu_config_extern.h"
class EQStreamIdentifier;
+5 -2
View File
@@ -31,6 +31,7 @@
#include "../string_util.h"
#include "../item.h"
#include "titanium_structs.h"
#include <sstream>
@@ -61,7 +62,8 @@ namespace Titanium
//create our opcode manager if we havent already
if (opcodes == nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
//load up the opcode manager.
@@ -105,7 +107,8 @@ namespace Titanium
if (opcodes != nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
if (!opcodes->ReloadOpcodes(opfile.c_str())) {
+1
View File
@@ -21,6 +21,7 @@
#define COMMON_TITANIUM_H
#include "../struct_strategy.h"
#include "../eqemu_config_extern.h"
class EQStreamIdentifier;
+4 -2
View File
@@ -63,7 +63,8 @@ namespace UF
//create our opcode manager if we havent already
if (opcodes == nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
//load up the opcode manager.
@@ -107,7 +108,8 @@ namespace UF
if (opcodes != nullptr) {
//TODO: get this file name from the config file
std::string opfile = "patch_";
std::string opfile = Config->PatchDir;
opfile += "patch_";
opfile += name;
opfile += ".conf";
if (!opcodes->ReloadOpcodes(opfile.c_str())) {
+1
View File
@@ -21,6 +21,7 @@
#define COMMON_UF_H
#include "../struct_strategy.h"
#include "../eqemu_config_extern.h"
class EQStreamIdentifier;
+8 -7
View File
@@ -35,6 +35,7 @@
#include "mysql.h"
#include "rulesys.h"
#include "shareddb.h"
#include "eqemu_config_extern.h"
#include "string_util.h"
SharedDatabase::SharedDatabase()
@@ -812,7 +813,7 @@ bool SharedDatabase::LoadItems(const std::string &prefix) {
try {
EQEmu::IPCMutex mutex("items");
mutex.Lock();
std::string file_name = std::string("shared/") + prefix + std::string("items");
std::string file_name = Config->SharedMemDir + prefix + std::string("items");
items_mmf = std::unique_ptr<EQEmu::MemoryMappedFile>(new EQEmu::MemoryMappedFile(file_name));
items_hash = std::unique_ptr<EQEmu::FixedMemoryHashSet<Item_Struct>>(new EQEmu::FixedMemoryHashSet<Item_Struct>(reinterpret_cast<uint8*>(items_mmf->Get()), items_mmf->Size()));
mutex.Unlock();
@@ -1235,7 +1236,7 @@ bool SharedDatabase::LoadNPCFactionLists(const std::string &prefix) {
try {
EQEmu::IPCMutex mutex("faction");
mutex.Lock();
std::string file_name = std::string("shared/") + prefix + std::string("faction");
std::string file_name = Config->SharedMemDir + prefix + std::string("faction");
faction_mmf = std::unique_ptr<EQEmu::MemoryMappedFile>(new EQEmu::MemoryMappedFile(file_name));
faction_hash = std::unique_ptr<EQEmu::FixedMemoryHashSet<NPCFactionList>>(new EQEmu::FixedMemoryHashSet<NPCFactionList>(reinterpret_cast<uint8*>(faction_mmf->Get()), faction_mmf->Size()));
mutex.Unlock();
@@ -1386,7 +1387,7 @@ bool SharedDatabase::LoadSkillCaps(const std::string &prefix) {
try {
EQEmu::IPCMutex mutex("skill_caps");
mutex.Lock();
std::string file_name = std::string("shared/") + prefix + std::string("skill_caps");
std::string file_name = Config->SharedMemDir + prefix + std::string("skill_caps");
skill_caps_mmf = std::unique_ptr<EQEmu::MemoryMappedFile>(new EQEmu::MemoryMappedFile(file_name));
mutex.Unlock();
} catch(std::exception &ex) {
@@ -1542,7 +1543,7 @@ bool SharedDatabase::LoadSpells(const std::string &prefix, int32 *records, const
EQEmu::IPCMutex mutex("spells");
mutex.Lock();
std::string file_name = std::string("shared/") + prefix + std::string("spells");
std::string file_name = Config->SharedMemDir + prefix + std::string("spells");
spells_mmf = std::unique_ptr<EQEmu::MemoryMappedFile>(new EQEmu::MemoryMappedFile(file_name));
*records = *reinterpret_cast<uint32*>(spells_mmf->Get());
*sp = reinterpret_cast<const SPDat_Spell_Struct*>((char*)spells_mmf->Get() + 4);
@@ -1745,7 +1746,7 @@ bool SharedDatabase::LoadBaseData(const std::string &prefix) {
EQEmu::IPCMutex mutex("base_data");
mutex.Lock();
std::string file_name = std::string("shared/") + prefix + std::string("base_data");
std::string file_name = Config->SharedMemDir + prefix + std::string("base_data");
base_data_mmf = std::unique_ptr<EQEmu::MemoryMappedFile>(new EQEmu::MemoryMappedFile(file_name));
mutex.Unlock();
} catch(std::exception& ex) {
@@ -1983,12 +1984,12 @@ bool SharedDatabase::LoadLoot(const std::string &prefix) {
try {
EQEmu::IPCMutex mutex("loot");
mutex.Lock();
std::string file_name_lt = std::string("shared/") + prefix + std::string("loot_table");
std::string file_name_lt = Config->SharedMemDir + prefix + std::string("loot_table");
loot_table_mmf = std::unique_ptr<EQEmu::MemoryMappedFile>(new EQEmu::MemoryMappedFile(file_name_lt));
loot_table_hash = std::unique_ptr<EQEmu::FixedMemoryVariableHashSet<LootTable_Struct>>(new EQEmu::FixedMemoryVariableHashSet<LootTable_Struct>(
reinterpret_cast<uint8*>(loot_table_mmf->Get()),
loot_table_mmf->Size()));
std::string file_name_ld = std::string("shared/") + prefix + std::string("loot_drop");
std::string file_name_ld = Config->SharedMemDir + prefix + std::string("loot_drop");
loot_drop_mmf = std::unique_ptr<EQEmu::MemoryMappedFile>(new EQEmu::MemoryMappedFile(file_name_ld));
loot_drop_hash = std::unique_ptr<EQEmu::FixedMemoryVariableHashSet<LootDrop_Struct>>(new EQEmu::FixedMemoryVariableHashSet<LootDrop_Struct>(
reinterpret_cast<uint8*>(loot_drop_mmf->Get()),