From d25205d9d381dc83d610fa1084019b90cfe83e1c Mon Sep 17 00:00:00 2001 From: KimLS Date: Thu, 27 Jun 2013 12:50:20 -0700 Subject: [PATCH] Revert "Merge pull request #77 from j883376/cleanups" This reverts commit 4ff2efea435a235b634904c91381334ce2d38e4b, reversing changes made to e811e3975b3e6f5f1c3274a501b6f964925281fb. --- common/CMakeLists.txt | 2 +- common/database.cpp | 73 +++++++++++++++++++++++++++++------- common/database.h | 3 +- common/eq_packet_structs.h | 3 +- common/patches/RoF.cpp | 2 + common/patches/SoD.cpp | 2 + common/patches/SoF.cpp | 2 + common/patches/Underfoot.cpp | 2 + eqlaunch/CMakeLists.txt | 2 +- eqlaunch/eqlaunch.cpp | 6 +-- loginserver/CMakeLists.txt | 2 +- queryserv/CMakeLists.txt | 2 +- queryserv/queryserv.cpp | 8 ++-- shared_memory/CMakeLists.txt | 2 +- shared_memory/main.cpp | 14 +++---- ucs/CMakeLists.txt | 2 +- ucs/database.cpp | 2 +- ucs/ucs.cpp | 8 ++-- utils/defaults/shared/.keep | 0 world/AdventureManager.cpp | 4 -- world/CMakeLists.txt | 2 +- world/net.cpp | 57 ++++++++++++---------------- zone/CMakeLists.txt | 4 +- zone/client_packet.cpp | 22 +++++------ zone/command.cpp | 40 ++++++++++---------- zone/merc.cpp | 2 +- zone/mob.cpp | 4 +- zone/net.cpp | 19 +++++----- zone/zone.cpp | 41 +++++++++----------- 29 files changed, 181 insertions(+), 151 deletions(-) delete mode 100644 utils/defaults/shared/.keep diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 286b678db..1f613a885 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -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) diff --git a/common/database.cpp b/common/database.cpp index e62a33729..82a0ecae8 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -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(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; isecond.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) diff --git a/common/database.h b/common/database.h index 849f6f63d..b194476b8 100644 --- a/common/database.h +++ b/common/database.h @@ -255,7 +255,8 @@ protected: private: void DBInitVars(); - std::map zonename_array; + uint32 max_zonename; + char** zonename_array; Mutex Mvarcache; uint32 varcache_max; diff --git a/common/eq_packet_structs.h b/common/eq_packet_structs.h index f5bc21a5d..f72b4c721 100644 --- a/common/eq_packet_structs.h +++ b/common/eq_packet_structs.h @@ -2415,8 +2415,7 @@ struct BookRequest_Struct { */ struct Object_Struct { /*00*/ uint32 linked_list_addr[2];// 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; // diff --git a/common/patches/RoF.cpp b/common/patches/RoF.cpp index 905600821..03893086c 100644 --- a/common/patches/RoF.cpp +++ b/common/patches/RoF.cpp @@ -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); diff --git a/common/patches/SoD.cpp b/common/patches/SoD.cpp index 517479b48..ce0a3566f 100644 --- a/common/patches/SoD.cpp +++ b/common/patches/SoD.cpp @@ -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); diff --git a/common/patches/SoF.cpp b/common/patches/SoF.cpp index b7e1dac2f..e5e144224 100644 --- a/common/patches/SoF.cpp +++ b/common/patches/SoF.cpp @@ -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); diff --git a/common/patches/Underfoot.cpp b/common/patches/Underfoot.cpp index 2a8b57aa5..041f483a5 100644 --- a/common/patches/Underfoot.cpp +++ b/common/patches/Underfoot.cpp @@ -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); diff --git a/eqlaunch/CMakeLists.txt b/eqlaunch/CMakeLists.txt index 5c9ad6a60..ef1c366ad 100644 --- a/eqlaunch/CMakeLists.txt +++ b/eqlaunch/CMakeLists.txt @@ -37,4 +37,4 @@ IF(UNIX) ADD_DEFINITIONS(-fPIC) ENDIF(UNIX) -SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/Bin) +SET(EXECUTABLE_OUTPUT_PATH ../Bin) diff --git a/eqlaunch/eqlaunch.cpp b/eqlaunch/eqlaunch.cpp index d0239e4e7..63484d6f2 100644 --- a/eqlaunch/eqlaunch.cpp +++ b/eqlaunch/eqlaunch.cpp @@ -44,13 +44,13 @@ int main(int argc, char *argv[]) { } if(launcher_name.length() < 1) { _log(LAUNCHER__ERROR, "You must specfify a launcher name as the first argument to this program."); - return 1; + return(1); } _log(LAUNCHER__INIT, "Loading server configuration.."); if (!EQEmuConfig::LoadConfig()) { _log(LAUNCHER__ERROR, "Loading server configuration failed."); - return 1; + return(1); } const EQEmuConfig *Config = EQEmuConfig::get(); @@ -173,7 +173,7 @@ int main(int argc, char *argv[]) { delete zone->second; } - return 0; + return(0); } diff --git a/loginserver/CMakeLists.txt b/loginserver/CMakeLists.txt index 7a4272a70..7f2b25647 100644 --- a/loginserver/CMakeLists.txt +++ b/loginserver/CMakeLists.txt @@ -67,4 +67,4 @@ IF(UNIX) ADD_DEFINITIONS(-fPIC) ENDIF(UNIX) -SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/Bin) +SET(EXECUTABLE_OUTPUT_PATH ../Bin) diff --git a/queryserv/CMakeLists.txt b/queryserv/CMakeLists.txt index 8b8196b12..d63a7f814 100644 --- a/queryserv/CMakeLists.txt +++ b/queryserv/CMakeLists.txt @@ -43,4 +43,4 @@ IF(UNIX) ADD_DEFINITIONS(-fPIC) ENDIF(UNIX) -SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/Bin) +SET(EXECUTABLE_OUTPUT_PATH ../Bin) diff --git a/queryserv/queryserv.cpp b/queryserv/queryserv.cpp index 30dc9970e..ce008a7f3 100644 --- a/queryserv/queryserv.cpp +++ b/queryserv/queryserv.cpp @@ -69,7 +69,7 @@ int main() { _log(QUERYSERV__INIT, "Loading server configuration failed."); - return 1; + return(1); } Config = queryservconfig::get(); @@ -90,16 +90,16 @@ int main() { Config->QSDatabaseDB.c_str(), Config->QSDatabasePort)) { _log(WORLD__INIT_ERR, "Cannot continue without a database connection."); - return 1; + return(1); } if (signal(SIGINT, CatchSignal) == SIG_ERR) { _log(QUERYSERV__ERROR, "Could not set signal handler"); - return 1; + return 0; } if (signal(SIGTERM, CatchSignal) == SIG_ERR) { _log(QUERYSERV__ERROR, "Could not set signal handler"); - return 1; + return 0; } worldserver = new WorldServer; diff --git a/shared_memory/CMakeLists.txt b/shared_memory/CMakeLists.txt index 76c8b75bd..01f79ec06 100644 --- a/shared_memory/CMakeLists.txt +++ b/shared_memory/CMakeLists.txt @@ -43,4 +43,4 @@ IF(UNIX) ADD_DEFINITIONS(-fPIC) ENDIF(UNIX) -SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/Bin) +SET(EXECUTABLE_OUTPUT_PATH ../Bin) diff --git a/shared_memory/main.cpp b/shared_memory/main.cpp index fb4461d0d..52d85668d 100644 --- a/shared_memory/main.cpp +++ b/shared_memory/main.cpp @@ -37,7 +37,7 @@ int main(int argc, char **argv) { LogFile->write(EQEMuLog::Status, "Shared Memory Loader Program"); if(!EQEmuConfig::LoadConfig()) { LogFile->write(EQEMuLog::Error, "Unable to load configuration file."); - return 1; + return 0; } const EQEmuConfig *config = EQEmuConfig::get(); @@ -51,7 +51,7 @@ int main(int argc, char **argv) { config->DatabasePassword.c_str(), config->DatabaseDB.c_str(), config->DatabasePort)) { LogFile->write(EQEMuLog::Error, "Unable to connect to the database, cannot continue without a " "database connection"); - return 1; + return 0; } bool load_all = true; @@ -111,7 +111,7 @@ int main(int argc, char **argv) { LoadItems(&database); } catch(std::exception &ex) { LogFile->write(EQEMuLog::Error, "%s", ex.what()); - return 1; + return 0; } } @@ -121,7 +121,7 @@ int main(int argc, char **argv) { LoadFactions(&database); } catch(std::exception &ex) { LogFile->write(EQEMuLog::Error, "%s", ex.what()); - return 1; + return 0; } } @@ -131,7 +131,7 @@ int main(int argc, char **argv) { LoadLoot(&database); } catch(std::exception &ex) { LogFile->write(EQEMuLog::Error, "%s", ex.what()); - return 1; + return 0; } } @@ -141,7 +141,7 @@ int main(int argc, char **argv) { LoadSkillCaps(&database); } catch(std::exception &ex) { LogFile->write(EQEMuLog::Error, "%s", ex.what()); - return 1; + return 0; } } @@ -151,7 +151,7 @@ int main(int argc, char **argv) { LoadSpells(&database); } catch(std::exception &ex) { LogFile->write(EQEMuLog::Error, "%s", ex.what()); - return 1; + return 0; } } diff --git a/ucs/CMakeLists.txt b/ucs/CMakeLists.txt index 6603470f6..23ce4b781 100644 --- a/ucs/CMakeLists.txt +++ b/ucs/CMakeLists.txt @@ -46,4 +46,4 @@ IF(UNIX) ADD_DEFINITIONS(-fPIC) ENDIF(UNIX) -SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/Bin) +SET(EXECUTABLE_OUTPUT_PATH ../Bin) diff --git a/ucs/database.cpp b/ucs/database.cpp index 4e41a3180..508fab4a0 100644 --- a/ucs/database.cpp +++ b/ucs/database.cpp @@ -402,7 +402,7 @@ void Database::SendHeaders(Client *c) { char Buf[100]; - uint32 NumRows = mysql_num_rows(result); + my_ulonglong NumRows = mysql_num_rows(result); int HeaderCountPacketLength = 0; diff --git a/ucs/ucs.cpp b/ucs/ucs.cpp index 322b58983..bb2e483bb 100644 --- a/ucs/ucs.cpp +++ b/ucs/ucs.cpp @@ -82,7 +82,7 @@ int main() { _log(UCS__INIT, "Loading server configuration failed."); - return 1; + return(1); } Config = ucsconfig::get(); @@ -103,7 +103,7 @@ int main() { Config->DatabaseDB.c_str(), Config->DatabasePort)) { _log(WORLD__INIT_ERR, "Cannot continue without a database connection."); - return 1; + return(1); } char tmp[64]; @@ -137,11 +137,11 @@ int main() { if (signal(SIGINT, CatchSignal) == SIG_ERR) { _log(UCS__ERROR, "Could not set signal handler"); - return 1; + return 0; } if (signal(SIGTERM, CatchSignal) == SIG_ERR) { _log(UCS__ERROR, "Could not set signal handler"); - return 1; + return 0; } worldserver = new WorldServer; diff --git a/utils/defaults/shared/.keep b/utils/defaults/shared/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/world/AdventureManager.cpp b/world/AdventureManager.cpp index 44ff5bf94..834b2b643 100644 --- a/world/AdventureManager.cpp +++ b/world/AdventureManager.cpp @@ -27,10 +27,6 @@ AdventureManager::~AdventureManager() safe_delete(process_timer); safe_delete(save_timer); safe_delete(leaderboard_info_timer); - - for (auto iter = adventure_templates.begin(); iter != adventure_templates.end(); ++iter) { - delete iter->second; - } } void AdventureManager::Process() diff --git a/world/CMakeLists.txt b/world/CMakeLists.txt index a14505485..ee2fe0a22 100644 --- a/world/CMakeLists.txt +++ b/world/CMakeLists.txt @@ -92,4 +92,4 @@ IF(UNIX) ADD_DEFINITIONS(-fPIC) ENDIF(UNIX) -SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/Bin) +SET(EXECUTABLE_OUTPUT_PATH ../Bin) diff --git a/world/net.cpp b/world/net.cpp index d8b9b3357..77ebfe6ea 100644 --- a/world/net.cpp +++ b/world/net.cpp @@ -126,7 +126,7 @@ int main(int argc, char** argv) { _log(WORLD__INIT, "Loading server configuration.."); if (!WorldConfig::LoadConfig()) { _log(WORLD__INIT_ERR, "Loading server configuration failed."); - return 1; + return(1); } const WorldConfig *Config=WorldConfig::get(); @@ -144,16 +144,16 @@ int main(int argc, char** argv) { if (signal(SIGINT, CatchSignal) == SIG_ERR) { _log(WORLD__INIT_ERR, "Could not set signal handler"); - return 1; + return 0; } if (signal(SIGTERM, CatchSignal) == SIG_ERR) { _log(WORLD__INIT_ERR, "Could not set signal handler"); - return 1; + return 0; } #ifndef WIN32 if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { _log(WORLD__INIT_ERR, "Could not set signal handler"); - return 1; + return 0; } #endif @@ -182,7 +182,7 @@ int main(int argc, char** argv) { Config->DatabaseDB.c_str(), Config->DatabasePort)) { _log(WORLD__INIT_ERR, "Cannot continue without a database connection."); - return 1; + return(1); } dbasync = new DBAsync(&database); guild_mgr.SetDatabase(&database); @@ -204,8 +204,8 @@ int main(int argc, char** argv) { else if (database.GetVariable("disablecommandline", tmp, 2)) { if (strlen(tmp) == 1) { if (tmp[0] == '1') { - std::cerr << "Command line disabled in database... exiting" << std::endl; - return 1; + std::cout << "Command line disabled in database... exiting" << std::endl; + return 0; } } } @@ -213,14 +213,11 @@ int main(int argc, char** argv) { if (argc == 5) { if (Seperator::IsNumber(argv[4])) { if (atoi(argv[4]) >= 0 && atoi(argv[4]) <= 255) { - if (database.CreateAccount(argv[2], argv[3], atoi(argv[4])) == 0) { - std::cerr << "database.CreateAccount failed." << std::endl; - return 1; - } - else { + if (database.CreateAccount(argv[2], argv[3], atoi(argv[4])) == 0) + std::cout << "database.CreateAccount failed." << std::endl; + else std::cout << "Account created: Username='" << argv[2] << "', Password='" << argv[3] << "', status=" << argv[4] << std::endl; - return 0; - } + return 0; } } } @@ -233,14 +230,11 @@ int main(int argc, char** argv) { if (Seperator::IsNumber(argv[3])) { if (atoi(argv[3]) >= 0 && atoi(argv[3]) <= 255) { - if (database.SetAccountStatus(argv[2], atoi(argv[3]))) { + if (database.SetAccountStatus(argv[2], atoi(argv[3]))) std::cout << "Account flagged: Username='" << argv[2] << "', status=" << argv[3] << std::endl; - return 0; - } - else { - std::cerr << "database.SetAccountStatus failed." << std::endl; - return 1; - } + else + std::cout << "database.SetAccountStatus failed." << std::endl; + return 0; } } } @@ -251,30 +245,25 @@ int main(int argc, char** argv) { else if (strcasecmp(argv[1], "startzone") == 0) { if (argc == 3) { if (strlen(argv[2]) < 3) { - std::cerr << "Error: zone name too short" << std::endl; - return 1; + std::cout << "Error: zone name too short" << std::endl; } else if (strlen(argv[2]) > 15) { - std::cerr << "Error: zone name too long" << std::endl; - return 1; + std::cout << "Error: zone name too long" << std::endl; } else { - if (database.SetVariable("startzone", argv[2])) { + if (database.SetVariable("startzone", argv[2])) std::cout << "Starting zone changed: '" << argv[2] << "'" << std::endl; - return 0; - } - else { - std::cerr << "database.SetVariable failed." << std::endl; - return 1; - } + else + std::cout << "database.SetVariable failed." << std::endl; } + return 0; } std::cout << "Usage: world startzone zoneshortname" << std::endl; return 0; } else { - std::cerr << "Error, unknown command line option" << std::endl; - return 1; + std::cout << "Error, unknown command line option" << std::endl; + return 0; } } diff --git a/zone/CMakeLists.txt b/zone/CMakeLists.txt index 9ff776c14..e742dcf19 100644 --- a/zone/CMakeLists.txt +++ b/zone/CMakeLists.txt @@ -180,6 +180,4 @@ IF(UNIX) ADD_DEFINITIONS(-fPIC) ENDIF(UNIX) -INCLUDE_DIRECTORIES(${VLD_INCLUDE_DIR}) - -SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/Bin) +SET(EXECUTABLE_OUTPUT_PATH ../Bin) diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index ccba151d1..dbfe3d0c1 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -3899,7 +3899,7 @@ void Client::Handle_OP_LDoNInspect(const EQApplicationPacket *app) void Client::Handle_OP_Dye(const EQApplicationPacket *app) { if(app->size!=sizeof(DyeStruct)) - printf("Wrong size of DyeStruct, Got: %i, Expected: %zu\n",app->size,sizeof(DyeStruct)); + printf("Wrong size of DyeStruct, Got: %i, Expected: %i\n",app->size,sizeof(DyeStruct)); else{ DyeStruct* dye = (DyeStruct*)app->pBuffer; DyeArmor(dye); @@ -3970,7 +3970,7 @@ void Client::Handle_OP_GuildPublicNote(const EQApplicationPacket *app) if (app->size < sizeof(GuildUpdate_PublicNote)) { // client calls for a motd on login even if they arent in a guild - printf("Error: app size of %i < size of OP_GuildPublicNote of %zu\n",app->size,sizeof(GuildUpdate_PublicNote)); + printf("Error: app size of %i < size of OP_GuildPublicNote of %i\n",app->size,sizeof(GuildUpdate_PublicNote)); return; } GuildUpdate_PublicNote* gpn=(GuildUpdate_PublicNote*)app->pBuffer; @@ -4028,7 +4028,7 @@ void Client::Handle_OP_SetGuildMOTD(const EQApplicationPacket *app) if (app->size != sizeof(GuildMOTD_Struct)) { // client calls for a motd on login even if they arent in a guild - printf("Error: app size of %i != size of GuildMOTD_Struct of %zu\n",app->size,sizeof(GuildMOTD_Struct)); + printf("Error: app size of %i != size of GuildMOTD_Struct of %i\n",app->size,sizeof(GuildMOTD_Struct)); return; } if(!IsInAGuild()) { @@ -6913,7 +6913,7 @@ void Client::Handle_OP_DeleteSpell(const EQApplicationPacket *app) void Client::Handle_OP_LoadSpellSet(const EQApplicationPacket *app) { if(app->size!=sizeof(LoadSpellSet_Struct)) { - printf("Wrong size of LoadSpellSet_Struct! Expected: %zu, Got: %i\n",sizeof(LoadSpellSet_Struct),app->size); + printf("Wrong size of LoadSpellSet_Struct! Expected: %i, Got: %i\n",sizeof(LoadSpellSet_Struct),app->size); return; } int i; @@ -6928,7 +6928,7 @@ void Client::Handle_OP_LoadSpellSet(const EQApplicationPacket *app) void Client::Handle_OP_PetitionBug(const EQApplicationPacket *app) { if(app->size!=sizeof(PetitionBug_Struct)) - printf("Wrong size of BugStruct! Expected: %zu, Got: %i\n",sizeof(PetitionBug_Struct),app->size); + printf("Wrong size of BugStruct! Expected: %i, Got: %i\n",sizeof(PetitionBug_Struct),app->size); else{ Message(0, "Petition Bugs are not supported, please use /bug."); } @@ -6938,7 +6938,7 @@ void Client::Handle_OP_PetitionBug(const EQApplicationPacket *app) void Client::Handle_OP_Bug(const EQApplicationPacket *app) { if(app->size!=sizeof(BugStruct)) - printf("Wrong size of BugStruct got %d expected %zu!\n", app->size, sizeof(BugStruct)); + printf("Wrong size of BugStruct got %d expected %i!\n", app->size, sizeof(BugStruct)); else{ BugStruct* bug=(BugStruct*)app->pBuffer; database.UpdateBug(bug); @@ -8334,7 +8334,7 @@ void Client::Handle_OP_OpenTributeMaster(const EQApplicationPacket *app) _pkt(TRIBUTE__IN, app); if(app->size != sizeof(StartTribute_Struct)) - printf("Error in OP_OpenTributeMaster. Expected size of: %zu, but got: %i\n",sizeof(StartTribute_Struct),app->size); + printf("Error in OP_OpenTributeMaster. Expected size of: %i, but got: %i\n",sizeof(StartTribute_Struct),app->size); else { //Opens the tribute master window StartTribute_Struct* st = (StartTribute_Struct*)app->pBuffer; @@ -8359,7 +8359,7 @@ void Client::Handle_OP_OpenGuildTributeMaster(const EQApplicationPacket *app) _pkt(TRIBUTE__IN, app); if(app->size != sizeof(StartTribute_Struct)) - printf("Error in OP_OpenGuildTributeMaster. Expected size of: %zu, but got: %i\n",sizeof(StartTribute_Struct),app->size); + printf("Error in OP_OpenGuildTributeMaster. Expected size of: %i, but got: %i\n",sizeof(StartTribute_Struct),app->size); else { //Opens the guild tribute master window StartTribute_Struct* st = (StartTribute_Struct*)app->pBuffer; @@ -8385,7 +8385,7 @@ void Client::Handle_OP_TributeItem(const EQApplicationPacket *app) //player donates an item... if(app->size != sizeof(TributeItem_Struct)) - printf("Error in OP_TributeItem. Expected size of: %zu, but got: %i\n",sizeof(StartTribute_Struct),app->size); + printf("Error in OP_TributeItem. Expected size of: %i, but got: %i\n",sizeof(StartTribute_Struct),app->size); else { TributeItem_Struct* t = (TributeItem_Struct*)app->pBuffer; @@ -8414,7 +8414,7 @@ void Client::Handle_OP_TributeMoney(const EQApplicationPacket *app) //player donates money if(app->size != sizeof(TributeMoney_Struct)) - printf("Error in OP_TributeMoney. Expected size of: %zu, but got: %i\n",sizeof(StartTribute_Struct),app->size); + printf("Error in OP_TributeMoney. Expected size of: %i, but got: %i\n",sizeof(StartTribute_Struct),app->size); else { TributeMoney_Struct* t = (TributeMoney_Struct*)app->pBuffer; @@ -8562,7 +8562,7 @@ void Client::Handle_OP_Ignore(const EQApplicationPacket *app) void Client::Handle_OP_FindPersonRequest(const EQApplicationPacket *app) { if(app->size != sizeof(FindPersonRequest_Struct)) - printf("Error in FindPersonRequest_Struct. Expected size of: %zu, but got: %i\n",sizeof(FindPersonRequest_Struct),app->size); + printf("Error in FindPersonRequest_Struct. Expected size of: %i, but got: %i\n",sizeof(FindPersonRequest_Struct),app->size); else { FindPersonRequest_Struct* t = (FindPersonRequest_Struct*)app->pBuffer; diff --git a/zone/command.cpp b/zone/command.cpp index 625278eee..b08fe3104 100644 --- a/zone/command.cpp +++ b/zone/command.cpp @@ -9696,22 +9696,22 @@ void command_object(Client *c, const Seperator *sep) od.object_type = atoi(row[col++]); icon = atoi(row[col++]); - od.unknown008 = atoi(row[col++]); - od.unknown010 = atoi(row[col++]); + od.unknown008[0] = atoi(row[col++]); + od.unknown008[1] = atoi(row[col++]); od.unknown020 = atoi(row[col++]); switch (od.object_type) { case 0: // Static Object case TempStaticType: // Static Object unlocked for changes - if (od.unknown008 == 0) // Unknown08 field is optional Size parameter for static objects + if (od.unknown008[0] == 0) // Unknown08 field is optional Size parameter for static objects { - od.unknown008 = 100; // Static object default Size is 100% + od.unknown008[0] = 100; // Static object default Size is 100% } c->Message(0, "- STATIC Object (%s): id %u, x %.1f, y %.1f, z %.1f, h %.1f, model %s, size %u, solidtype %u, incline %u", - (od.object_type == 0) ? "locked" : "unlocked", id, od.x, od.y, od.z, od.heading, od.object_name, od.unknown008, od.unknown010, od.unknown020); + (od.object_type == 0) ? "locked" : "unlocked", id, od.x, od.y, od.z, od.heading, od.object_name, od.unknown008[0], od.unknown008[1], od.unknown020); break; case OT_DROPPEDITEM: // Ground Spawn c->Message(0, @@ -9777,11 +9777,11 @@ void command_object(Client *c, const Seperator *sep) case 0: // Static Object if ((sep->argnum - col) > 3) { - od.unknown008 = atoi(sep->arg[4 + col]); // Size specified + od.unknown008[0] = atoi(sep->arg[4 + col]); // Size specified if ((sep->argnum - col) > 4) { - od.unknown010 = atoi(sep->arg[5 + col]); // SolidType specified + od.unknown008[1] = atoi(sep->arg[5 + col]); // SolidType specified if ((sep->argnum - col) > 5) { @@ -10168,15 +10168,15 @@ void command_object(Client *c, const Seperator *sep) return; } - od.unknown008 = atoi(sep->arg[4]); + od.unknown008[0] = atoi(sep->arg[4]); o->SetObjectData(&od); - if (od.unknown008 == 0) // 0 == unspecified == 100% + if (od.unknown008[0] == 0) // 0 == unspecified == 100% { - od.unknown008 = 100; + od.unknown008[0] = 100; } - c->Message(0, "Static Object %u set to %u%% size. Size will take effect when you commit to the database with '#object Save', after which the object will be unchangeable until you unlock it again with '#object Edit' and zone out and back in.", id, od.unknown008); + c->Message(0, "Static Object %u set to %u%% size. Size will take effect when you commit to the database with '#object Save', after which the object will be unchangeable until you unlock it again with '#object Edit' and zone out and back in.", id, od.unknown008[0]); } else if (strcmp(sep->arg[3], "solidtype") == 0) { @@ -10194,10 +10194,10 @@ void command_object(Client *c, const Seperator *sep) return; } - od.unknown010 = atoi(sep->arg[4]); + od.unknown008[1] = atoi(sep->arg[4]); o->SetObjectData(&od); - c->Message(0, "Static Object %u set to SolidType %u. Change will take effect when you commit to the database with '#object Save'. Support for this property is on a per-model basis, mostly seen in smaller objects such as chests and tables.", id, od.unknown010); + c->Message(0, "Static Object %u set to SolidType %u. Change will take effect when you commit to the database with '#object Save'. Support for this property is on a per-model basis, mostly seen in smaller objects such as chests and tables.", id, od.unknown008[1]); } else { @@ -10548,7 +10548,7 @@ void command_object(Client *c, const Seperator *sep) zone->GetZoneID(), zone->GetInstanceVersion(), od.x, od.y, od.z, od.heading, od.object_name, od.object_type, icon, - od.unknown008, od.unknown010, od.unknown020); + od.unknown008[0], od.unknown008[1], od.unknown020); } else { @@ -10558,7 +10558,7 @@ void command_object(Client *c, const Seperator *sep) id, zone->GetZoneID(), zone->GetInstanceVersion(), od.x, od.y, od.z, od.heading, od.object_name, od.object_type, icon, - od.unknown008, od.unknown010, od.unknown020); + od.unknown008[0], od.unknown008[1], od.unknown020); } } else @@ -10573,7 +10573,7 @@ void command_object(Client *c, const Seperator *sep) zone->GetZoneID(), zone->GetInstanceVersion(), od.x, od.y, od.z, od.heading, od.object_name, od.object_type, icon, - od.unknown008, od.unknown010, od.unknown020, + od.unknown008[0], od.unknown008[1], od.unknown020, id); } @@ -10651,12 +10651,12 @@ void command_object(Client *c, const Seperator *sep) memcpy(door.dest_zone, "NONE", 5); - if ((door.size = od.unknown008) == 0) // unknown08 = optional size percentage + if ((door.size = od.unknown008[0]) == 0) // unknown08 = optional size percentage { door.size = 100; } - switch (door.opentype = od.unknown010) // unknown10 = optional request_nonsolid (0 or 1 or experimental number) + switch (door.opentype = od.unknown008[1]) // unknown10 = optional request_nonsolid (0 or 1 or experimental number) { case 0: door.opentype = 31; @@ -10943,8 +10943,8 @@ void command_object(Client *c, const Seperator *sep) strn0cpy(od.object_name, row[col++], sizeof(od.object_name)); od.object_type = atoi(row[col++]); icon = atoi(row[col++]); - od.unknown008 = atoi(row[col++]); - od.unknown010 = atoi(row[col++]); + od.unknown008[0] = atoi(row[col++]); + od.unknown008[1] = atoi(row[col++]); od.unknown020 = atoi(row[col++]); if (od.object_type == 0) diff --git a/zone/merc.cpp b/zone/merc.cpp index fb23cfc12..0e262f735 100644 --- a/zone/merc.cpp +++ b/zone/merc.cpp @@ -5786,7 +5786,7 @@ bool Merc::AddMercToGroup(Merc* merc, Group* group) { void Client::InitializeMercInfo() { for(int i=0; i #include @@ -144,7 +144,7 @@ int main(int argc, char** argv) { _log(ZONE__INIT, "Loading server configuration.."); if (!ZoneConfig::LoadConfig()) { _log(ZONE__INIT_ERR, "Loading server configuration failed."); - return 1; + return(1); } const ZoneConfig *Config=ZoneConfig::get(); @@ -163,7 +163,7 @@ int main(int argc, char** argv) { Config->DatabaseDB.c_str(), Config->DatabasePort)) { _log(ZONE__INIT_ERR, "Cannot continue without a database connection."); - return 1; + return(1); } dbasync = new DBAsync(&database); dbasync->AddFQ(&MTdbafq); @@ -182,16 +182,16 @@ int main(int argc, char** argv) { */ if (signal(SIGINT, CatchSignal) == SIG_ERR) { _log(ZONE__INIT_ERR, "Could not set signal handler"); - return 1; + return 0; } if (signal(SIGTERM, CatchSignal) == SIG_ERR) { _log(ZONE__INIT_ERR, "Could not set signal handler"); - return 1; + return 0; } #ifndef WIN32 if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { _log(ZONE__INIT_ERR, "Could not set signal handler"); - return 1; + return 0; } #endif @@ -217,19 +217,19 @@ int main(int argc, char** argv) { if (!database.LoadNPCFactionLists()) { _log(ZONE__INIT_ERR, "Loading npcs faction lists FAILED!"); CheckEQEMuErrorAndPause(); - return 1; + return 0; } _log(ZONE__INIT, "Loading loot tables"); if (!database.LoadLoot()) { _log(ZONE__INIT_ERR, "Loading loot FAILED!"); CheckEQEMuErrorAndPause(); - return 1; + return 0; } _log(ZONE__INIT, "Loading skill caps"); if (!database.LoadSkillCaps()) { _log(ZONE__INIT_ERR, "Loading skill caps FAILED!"); CheckEQEMuErrorAndPause(); - return 1; + return 0; } _log(ZONE__INIT, "Loading spells"); @@ -475,7 +475,6 @@ int main(int argc, char** argv) { #endif safe_delete(ps); safe_delete(mmf); - safe_delete(Config); if (zone != 0) Zone::Shutdown(true); diff --git a/zone/zone.cpp b/zone/zone.cpp index b677636bd..8733814ec 100644 --- a/zone/zone.cpp +++ b/zone/zone.cpp @@ -251,25 +251,25 @@ bool Zone::LoadZoneObjects() { uint32 idx = 0; int16 charges = 0; - id = (uint32)atoi(row[0]); - data.zone_id = atoi(row[1]); - data.x = atof(row[2]); - data.y = atof(row[3]); - data.z = atof(row[4]); - data.heading = atof(row[5]); - itemid = (uint32)atoi(row[6]); - charges = (int16)atoi(row[7]); - strcpy(data.object_name, row[8]); - type = (uint8)atoi(row[9]); - icon = (uint32)atoi(row[10]); - data.object_type = type; + id = (uint32)atoi(row[idx++]); + data.zone_id = atoi(row[idx++]); + data.x = atof(row[idx++]); + data.y = atof(row[idx++]); + data.z = atof(row[idx++]); + data.heading = atof(row[idx++]); + itemid = (uint32)atoi(row[idx++]); + charges = (int16)atoi(row[idx++]); + strcpy(data.object_name, row[idx++]); + type = (uint8)atoi(row[idx++]); + icon = (uint32)atoi(row[idx++]); + data.object_type = (uint32)atoi(row[idx++]); data.linked_list_addr[0] = 0; data.linked_list_addr[1] = 0; - data.unknown008 = (uint32)atoi(row[11]); - data.unknown010 = (uint32)atoi(row[12]); - data.unknown020 = (uint32)atoi(row[13]); - data.unknown024 = (uint32)atoi(row[14]); - data.unknown076 = (uint32)atoi(row[15]); + data.unknown008[0] = (uint32)atoi(row[idx++]); + data.unknown008[1] = (uint32)atoi(row[idx++]); + data.unknown020 = (uint32)atoi(row[idx++]); + data.unknown024 = (uint32)atoi(row[idx++]); + data.unknown076 = (uint32)atoi(row[idx++]); data.unknown084 = 0; ItemInst* inst = nullptr; @@ -727,7 +727,7 @@ void Zone::LoadLevelEXPMods(){ mysql_free_result(DatasetResult); } - safe_delete_array(Query); + safe_delete(Query); Query = 0; if(!errorMessage.empty()) { @@ -928,11 +928,6 @@ Zone::Zone(uint32 in_zoneid, uint32 in_instanceid, const char* in_short_name) qGlobals = nullptr; default_ruleset = 0; - loglevelvar = 0; - merchantvar = 0; - tradevar = 0; - lootvar = 0; - if(RuleB(TaskSystem, EnableTaskSystem)) { taskmanager->LoadProximities(zoneid); }