mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-09 23:32:25 +00:00
client_files/export main formatting [skip ci]
This commit is contained in:
parent
7ee28d6361
commit
ea98a71f22
@ -34,13 +34,14 @@ void ExportSkillCaps(SharedDatabase *db);
|
|||||||
void ExportBaseData(SharedDatabase *db);
|
void ExportBaseData(SharedDatabase *db);
|
||||||
void ExportDBStrings(SharedDatabase *db);
|
void ExportDBStrings(SharedDatabase *db);
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
RegisterExecutablePlatform(ExePlatformClientExport);
|
RegisterExecutablePlatform(ExePlatformClientExport);
|
||||||
LogSys.LoadLogSettingsDefaults();
|
LogSys.LoadLogSettingsDefaults();
|
||||||
set_exception_handler();
|
set_exception_handler();
|
||||||
|
|
||||||
LogInfo("Client Files Export Utility");
|
LogInfo("Client Files Export Utility");
|
||||||
if(!EQEmuConfig::LoadConfig()) {
|
if (!EQEmuConfig::LoadConfig()) {
|
||||||
LogError("Unable to load configuration file");
|
LogError("Unable to load configuration file");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -49,8 +50,13 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
SharedDatabase database;
|
SharedDatabase database;
|
||||||
LogInfo("Connecting to database");
|
LogInfo("Connecting to database");
|
||||||
if(!database.Connect(Config->DatabaseHost.c_str(), Config->DatabaseUsername.c_str(),
|
if (!database.Connect(
|
||||||
Config->DatabasePassword.c_str(), Config->DatabaseDB.c_str(), Config->DatabasePort)) {
|
Config->DatabaseHost.c_str(),
|
||||||
|
Config->DatabaseUsername.c_str(),
|
||||||
|
Config->DatabasePassword.c_str(),
|
||||||
|
Config->DatabaseDB.c_str(),
|
||||||
|
Config->DatabasePort
|
||||||
|
)) {
|
||||||
LogError("Unable to connect to the database, cannot continue without a database connection");
|
LogError("Unable to connect to the database, cannot continue without a database connection");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -92,93 +98,105 @@ int main(int argc, char **argv) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExportSpells(SharedDatabase *db) {
|
void ExportSpells(SharedDatabase *db)
|
||||||
|
{
|
||||||
LogInfo("Exporting Spells");
|
LogInfo("Exporting Spells");
|
||||||
|
|
||||||
FILE *f = fopen("export/spells_us.txt", "w");
|
FILE *f = fopen("export/spells_us.txt", "w");
|
||||||
if(!f) {
|
if (!f) {
|
||||||
LogError("Unable to open export/spells_us.txt to write, skipping.");
|
LogError("Unable to open export/spells_us.txt to write, skipping.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string query = "SELECT * FROM spells_new ORDER BY id";
|
const std::string query = "SELECT * FROM spells_new ORDER BY id";
|
||||||
auto results = db->QueryDatabase(query);
|
auto results = db->QueryDatabase(query);
|
||||||
|
|
||||||
if(results.Success()) {
|
if (results.Success()) {
|
||||||
for (auto row = results.begin(); row != results.end(); ++row) {
|
for (auto row = results.begin(); row != results.end(); ++row) {
|
||||||
std::string line;
|
std::string line;
|
||||||
unsigned int fields = results.ColumnCount();
|
unsigned int fields = results.ColumnCount();
|
||||||
for(unsigned int i = 0; i < fields; ++i) {
|
for (unsigned int i = 0; i < fields; ++i) {
|
||||||
if(i != 0) {
|
if (i != 0) {
|
||||||
line.push_back('^');
|
line.push_back('^');
|
||||||
}
|
}
|
||||||
|
|
||||||
if(row[i] != nullptr) {
|
if (row[i] != nullptr) {
|
||||||
line += row[i];
|
line += row[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(f, "%s\n", line.c_str());
|
fprintf(f, "%s\n", line.c_str());
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SkillUsable(SharedDatabase *db, int skill_id, int class_id) {
|
bool SkillUsable(SharedDatabase *db, int skill_id, int class_id)
|
||||||
|
{
|
||||||
|
|
||||||
bool res = false;
|
bool res = false;
|
||||||
|
|
||||||
std::string query = StringFormat("SELECT max(cap) FROM skill_caps WHERE class=%d AND skillID=%d",
|
std::string query = StringFormat(
|
||||||
class_id, skill_id);
|
"SELECT max(cap) FROM skill_caps WHERE class=%d AND skillID=%d",
|
||||||
auto results = db->QueryDatabase(query);
|
class_id, skill_id
|
||||||
if(!results.Success()) {
|
);
|
||||||
return false;
|
auto results = db->QueryDatabase(query);
|
||||||
}
|
if (!results.Success()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (results.RowCount() == 0)
|
if (results.RowCount() == 0) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
auto row = results.begin();
|
auto row = results.begin();
|
||||||
if(row[0] && atoi(row[0]) > 0)
|
if (row[0] && atoi(row[0]) > 0) {
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GetSkill(SharedDatabase *db, int skill_id, int class_id, int level) {
|
int GetSkill(SharedDatabase *db, int skill_id, int class_id, int level)
|
||||||
|
{
|
||||||
|
|
||||||
std::string query = StringFormat("SELECT cap FROM skill_caps WHERE class=%d AND skillID=%d AND level=%d",
|
std::string query = StringFormat(
|
||||||
class_id, skill_id, level);
|
"SELECT cap FROM skill_caps WHERE class=%d AND skillID=%d AND level=%d",
|
||||||
auto results = db->QueryDatabase(query);
|
class_id, skill_id, level
|
||||||
if (!results.Success()) {
|
);
|
||||||
return 0;
|
auto results = db->QueryDatabase(query);
|
||||||
}
|
if (!results.Success()) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (results.RowCount() == 0)
|
if (results.RowCount() == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
auto row = results.begin();
|
auto row = results.begin();
|
||||||
return atoi(row[0]);
|
return atoi(row[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExportSkillCaps(SharedDatabase *db) {
|
void ExportSkillCaps(SharedDatabase *db)
|
||||||
|
{
|
||||||
LogInfo("Exporting Skill Caps");
|
LogInfo("Exporting Skill Caps");
|
||||||
|
|
||||||
FILE *f = fopen("export/SkillCaps.txt", "w");
|
FILE *f = fopen("export/SkillCaps.txt", "w");
|
||||||
if(!f) {
|
if (!f) {
|
||||||
LogError("Unable to open export/SkillCaps.txt to write, skipping.");
|
LogError("Unable to open export/SkillCaps.txt to write, skipping.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int cl = 1; cl <= 16; ++cl) {
|
for (int cl = 1; cl <= 16; ++cl) {
|
||||||
for(int skill = 0; skill <= 77; ++skill) {
|
for (int skill = 0; skill <= 77; ++skill) {
|
||||||
if(SkillUsable(db, skill, cl)) {
|
if (SkillUsable(db, skill, cl)) {
|
||||||
int previous_cap = 0;
|
int previous_cap = 0;
|
||||||
for(int level = 1; level <= 100; ++level) {
|
for (int level = 1; level <= 100; ++level) {
|
||||||
int cap = GetSkill(db, skill, cl, level);
|
int cap = GetSkill(db, skill, cl, level);
|
||||||
if(cap < previous_cap) {
|
if (cap < previous_cap) {
|
||||||
cap = previous_cap;
|
cap = previous_cap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -192,26 +210,28 @@ void ExportSkillCaps(SharedDatabase *db) {
|
|||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExportBaseData(SharedDatabase *db) {
|
void ExportBaseData(SharedDatabase *db)
|
||||||
|
{
|
||||||
LogInfo("Exporting Base Data");
|
LogInfo("Exporting Base Data");
|
||||||
|
|
||||||
FILE *f = fopen("export/BaseData.txt", "w");
|
FILE *f = fopen("export/BaseData.txt", "w");
|
||||||
if(!f) {
|
if (!f) {
|
||||||
LogError("Unable to open export/BaseData.txt to write, skipping.");
|
LogError("Unable to open export/BaseData.txt to write, skipping.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string query = "SELECT * FROM base_data ORDER BY level, class";
|
const std::string query = "SELECT * FROM base_data ORDER BY level, class";
|
||||||
auto results = db->QueryDatabase(query);
|
auto results = db->QueryDatabase(query);
|
||||||
if(results.Success()) {
|
if (results.Success()) {
|
||||||
for (auto row = results.begin();row != results.end();++row) {
|
for (auto row = results.begin(); row != results.end(); ++row) {
|
||||||
std::string line;
|
std::string line;
|
||||||
unsigned int fields = results.ColumnCount();
|
unsigned int fields = results.ColumnCount();
|
||||||
for(unsigned int rowIndex = 0; rowIndex < fields; ++rowIndex) {
|
for (unsigned int rowIndex = 0; rowIndex < fields; ++rowIndex) {
|
||||||
if(rowIndex != 0)
|
if (rowIndex != 0) {
|
||||||
line.push_back('^');
|
line.push_back('^');
|
||||||
|
}
|
||||||
|
|
||||||
if(row[rowIndex] != nullptr) {
|
if (row[rowIndex] != nullptr) {
|
||||||
line += row[rowIndex];
|
line += row[rowIndex];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -223,27 +243,29 @@ void ExportBaseData(SharedDatabase *db) {
|
|||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExportDBStrings(SharedDatabase *db) {
|
void ExportDBStrings(SharedDatabase *db)
|
||||||
|
{
|
||||||
LogInfo("Exporting DB Strings");
|
LogInfo("Exporting DB Strings");
|
||||||
|
|
||||||
FILE *f = fopen("export/dbstr_us.txt", "w");
|
FILE *f = fopen("export/dbstr_us.txt", "w");
|
||||||
if(!f) {
|
if (!f) {
|
||||||
LogError("Unable to open export/dbstr_us.txt to write, skipping.");
|
LogError("Unable to open export/dbstr_us.txt to write, skipping.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(f, "Major^Minor^String(New)\n");
|
fprintf(f, "Major^Minor^String(New)\n");
|
||||||
const std::string query = "SELECT * FROM db_str ORDER BY id, type";
|
const std::string query = "SELECT * FROM db_str ORDER BY id, type";
|
||||||
auto results = db->QueryDatabase(query);
|
auto results = db->QueryDatabase(query);
|
||||||
if(results.Success()) {
|
if (results.Success()) {
|
||||||
for(auto row = results.begin(); row != results.end(); ++row) {
|
for (auto row = results.begin(); row != results.end(); ++row) {
|
||||||
std::string line;
|
std::string line;
|
||||||
unsigned int fields = results.ColumnCount();
|
unsigned int fields = results.ColumnCount();
|
||||||
for(unsigned int rowIndex = 0; rowIndex < fields; ++rowIndex) {
|
for (unsigned int rowIndex = 0; rowIndex < fields; ++rowIndex) {
|
||||||
if(rowIndex != 0)
|
if (rowIndex != 0) {
|
||||||
line.push_back('^');
|
line.push_back('^');
|
||||||
|
}
|
||||||
|
|
||||||
if(row[rowIndex] != nullptr) {
|
if (row[rowIndex] != nullptr) {
|
||||||
line += row[rowIndex];
|
line += row[rowIndex];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user