mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 18:52:22 +00:00
Revert "Merge pull request #77 from j883376/cleanups"
This reverts commit4ff2efea43, reversing changes made toe811e3975b.
This commit is contained in:
@@ -318,4 +318,4 @@ IF(UNIX)
|
||||
SET_SOURCE_FILES_PROPERTIES("patches/SoD.cpp" "patches/SoF.cpp" "patches/RoF.cpp" "patches/Underfoot.cpp" PROPERTIES COMPILE_FLAGS -O0)
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/Bin)
|
||||
SET(LIBRARY_OUTPUT_PATH ../Bin)
|
||||
|
||||
+60
-13
@@ -95,6 +95,8 @@ bool Database::Connect(const char* host, const char* user, const char* passwd, c
|
||||
|
||||
void Database::DBInitVars() {
|
||||
|
||||
max_zonename = 0;
|
||||
zonename_array = 0;
|
||||
varcache_array = 0;
|
||||
varcache_max = 0;
|
||||
varcache_lastupdate = 0;
|
||||
@@ -133,6 +135,13 @@ Close the connection to the database
|
||||
Database::~Database()
|
||||
{
|
||||
unsigned int x;
|
||||
if (zonename_array) {
|
||||
for (x=0; x<=max_zonename; x++) {
|
||||
if (zonename_array[x])
|
||||
safe_delete_array(zonename_array[x]);
|
||||
}
|
||||
safe_delete_array(zonename_array);
|
||||
}
|
||||
if (varcache_array) {
|
||||
for (x=0; x<varcache_max; x++) {
|
||||
safe_delete_array(varcache_array[x]);
|
||||
@@ -1307,13 +1316,39 @@ bool Database::LoadZoneNames() {
|
||||
char *query = 0;
|
||||
MYSQL_RES *result;
|
||||
MYSQL_ROW row;
|
||||
query = new char[256];
|
||||
strcpy(query, "SELECT MAX(zoneidnumber) FROM zone");
|
||||
|
||||
if (RunQuery(query, MakeAnyLenString(&query, "SELECT zoneidnumber, short_name FROM zone"), errbuf, &result)) {
|
||||
if (RunQuery(query, strlen(query), errbuf, &result)) {
|
||||
safe_delete_array(query);
|
||||
while ((row = mysql_fetch_row(result))) {
|
||||
uint32 zoneid = atoi(row[0]);
|
||||
std::string zonename = row[1];
|
||||
zonename_array.insert(std::pair<uint32,std::string>(zoneid,zonename));
|
||||
row = mysql_fetch_row(result);
|
||||
if (row && row[0])
|
||||
{
|
||||
max_zonename = atoi(row[0]);
|
||||
zonename_array = new char*[max_zonename+1];
|
||||
for(unsigned int i=0; i<max_zonename; i++) {
|
||||
zonename_array[i] = 0;
|
||||
}
|
||||
mysql_free_result(result);
|
||||
|
||||
MakeAnyLenString(&query, "SELECT zoneidnumber, short_name FROM zone");
|
||||
if (RunQuery(query, strlen(query), errbuf, &result)) {
|
||||
safe_delete_array(query);
|
||||
while((row = mysql_fetch_row(result))) {
|
||||
zonename_array[atoi(row[0])] = new char[strlen(row[1]) + 1];
|
||||
strcpy(zonename_array[atoi(row[0])], row[1]);
|
||||
Sleep(0);
|
||||
}
|
||||
mysql_free_result(result);
|
||||
}
|
||||
else {
|
||||
std::cerr << "Error in LoadZoneNames query '" << query << "' " << errbuf << std::endl;
|
||||
safe_delete_array(query);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
mysql_free_result(result);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -1321,27 +1356,39 @@ bool Database::LoadZoneNames() {
|
||||
safe_delete_array(query);
|
||||
return false;
|
||||
}
|
||||
mysql_free_result(result);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32 Database::GetZoneID(const char* zonename) {
|
||||
if (zonename_array == 0)
|
||||
return 0;
|
||||
if (zonename == 0)
|
||||
return 0;
|
||||
for (auto iter = zonename_array.begin(); iter != zonename_array.end(); ++iter) {
|
||||
if (iter->second.compare(zonename) == 0) {
|
||||
return iter->first;
|
||||
for (unsigned int i=0; i<=max_zonename; i++) {
|
||||
if (zonename_array[i] != 0 && strcasecmp(zonename_array[i], zonename) == 0) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* Database::GetZoneName(uint32 zoneID, bool ErrorUnknown) {
|
||||
auto iter = zonename_array.find(zoneID);
|
||||
if (zonename_array == 0) {
|
||||
if (ErrorUnknown)
|
||||
return "UNKNOWN";
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (iter != zonename_array.end()) {
|
||||
return iter->second.c_str();
|
||||
if (zoneID <= max_zonename) {
|
||||
if (zonename_array[zoneID])
|
||||
return zonename_array[zoneID];
|
||||
else {
|
||||
if (ErrorUnknown)
|
||||
return "UNKNOWN";
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (ErrorUnknown)
|
||||
|
||||
+2
-1
@@ -255,7 +255,8 @@ protected:
|
||||
private:
|
||||
void DBInitVars();
|
||||
|
||||
std::map<uint32,std::string> zonename_array;
|
||||
uint32 max_zonename;
|
||||
char** zonename_array;
|
||||
|
||||
Mutex Mvarcache;
|
||||
uint32 varcache_max;
|
||||
|
||||
@@ -2415,8 +2415,7 @@ struct BookRequest_Struct {
|
||||
*/
|
||||
struct Object_Struct {
|
||||
/*00*/ uint32 linked_list_addr[2];// <Zaphod> They are, get this, prev and next, ala linked list
|
||||
/*08*/ uint16 unknown008; //
|
||||
/*10*/ uint16 unknown010; //
|
||||
/*08*/ uint16 unknown008[2]; //
|
||||
/*12*/ uint32 drop_id; // Unique object id for zone
|
||||
/*16*/ uint16 zone_id; // Redudant, but: Zone the object appears in
|
||||
/*18*/ uint16 zone_instance; //
|
||||
|
||||
@@ -3037,6 +3037,7 @@ ENCODE(OP_ZonePlayerToBind)
|
||||
ZonePlayerToBind_Struct *zps = (ZonePlayerToBind_Struct*)(*p)->pBuffer;
|
||||
|
||||
std::stringstream ss(std::stringstream::in | std::stringstream::out | std::stringstream::binary);
|
||||
ss.clear();
|
||||
|
||||
unsigned char *buffer1 = new unsigned char[sizeof(structs::ZonePlayerToBindHeader_Struct) + strlen(zps->zone_name)];
|
||||
structs::ZonePlayerToBindHeader_Struct *zph = (structs::ZonePlayerToBindHeader_Struct*)buffer1;
|
||||
@@ -4838,6 +4839,7 @@ char* SerializeItem(const ItemInst *inst, int16 slot_id_in, uint32 *length, uint
|
||||
charges = 0xFFFFFFFF;
|
||||
|
||||
std::stringstream ss(std::stringstream::in | std::stringstream::out | std::stringstream::binary);
|
||||
ss.clear();
|
||||
|
||||
const Item_Struct *item = inst->GetItem();
|
||||
//_log(NET__ERROR, "Serialize called for: %s", item->Name);
|
||||
|
||||
@@ -1984,6 +1984,7 @@ ENCODE(OP_ZonePlayerToBind)
|
||||
ZonePlayerToBind_Struct *zps = (ZonePlayerToBind_Struct*)(*p)->pBuffer;
|
||||
|
||||
std::stringstream ss(std::stringstream::in | std::stringstream::out | std::stringstream::binary);
|
||||
ss.clear();
|
||||
|
||||
unsigned char *buffer1 = new unsigned char[sizeof(structs::ZonePlayerToBindHeader_Struct) + strlen(zps->zone_name)];
|
||||
structs::ZonePlayerToBindHeader_Struct *zph = (structs::ZonePlayerToBindHeader_Struct*)buffer1;
|
||||
@@ -3056,6 +3057,7 @@ char* SerializeItem(const ItemInst *inst, int16 slot_id_in, uint32 *length, uint
|
||||
charges = 0xFFFFFFFF;
|
||||
|
||||
std::stringstream ss(std::stringstream::in | std::stringstream::out | std::stringstream::binary);
|
||||
ss.clear();
|
||||
|
||||
const Item_Struct *item = inst->GetItem();
|
||||
//_log(NET__ERROR, "Serialize called for: %s", item->Name);
|
||||
|
||||
@@ -1621,6 +1621,7 @@ ENCODE(OP_ZonePlayerToBind)
|
||||
ZonePlayerToBind_Struct *zps = (ZonePlayerToBind_Struct*)(*p)->pBuffer;
|
||||
|
||||
std::stringstream ss(std::stringstream::in | std::stringstream::out | std::stringstream::binary);
|
||||
ss.clear();
|
||||
|
||||
unsigned char *buffer1 = new unsigned char[sizeof(structs::ZonePlayerToBindHeader_Struct) + strlen(zps->zone_name)];
|
||||
structs::ZonePlayerToBindHeader_Struct *zph = (structs::ZonePlayerToBindHeader_Struct*)buffer1;
|
||||
@@ -2375,6 +2376,7 @@ char* SerializeItem(const ItemInst *inst, int16 slot_id_in, uint32 *length, uint
|
||||
charges = 0xFFFFFFFF;
|
||||
|
||||
std::stringstream ss(std::stringstream::in | std::stringstream::out | std::stringstream::binary);
|
||||
ss.clear();
|
||||
|
||||
const Item_Struct *item = inst->GetItem();
|
||||
//_log(NET__ERROR, "Serialize called for: %s", item->Name);
|
||||
|
||||
@@ -2044,6 +2044,7 @@ ENCODE(OP_ZonePlayerToBind)
|
||||
ZonePlayerToBind_Struct *zps = (ZonePlayerToBind_Struct*)(*p)->pBuffer;
|
||||
|
||||
std::stringstream ss(std::stringstream::in | std::stringstream::out | std::stringstream::binary);
|
||||
ss.clear();
|
||||
|
||||
unsigned char *buffer1 = new unsigned char[sizeof(structs::ZonePlayerToBindHeader_Struct) + strlen(zps->zone_name)];
|
||||
structs::ZonePlayerToBindHeader_Struct *zph = (structs::ZonePlayerToBindHeader_Struct*)buffer1;
|
||||
@@ -3461,6 +3462,7 @@ char* SerializeItem(const ItemInst *inst, int16 slot_id_in, uint32 *length, uint
|
||||
charges = 0xFFFFFFFF;
|
||||
|
||||
std::stringstream ss(std::stringstream::in | std::stringstream::out | std::stringstream::binary);
|
||||
ss.clear();
|
||||
|
||||
const Item_Struct *item = inst->GetItem();
|
||||
//_log(NET__ERROR, "Serialize called for: %s", item->Name);
|
||||
|
||||
Reference in New Issue
Block a user