From c98d2743c511ee348d926cccb52cbf803e948970 Mon Sep 17 00:00:00 2001 From: Akkadius Date: Wed, 11 Mar 2020 03:20:38 -0500 Subject: [PATCH] Migrate doors [skip ci] --- common/database.cpp | 6 +++--- zone/doors.cpp | 16 ++++++++-------- zone/guild.cpp | 32 -------------------------------- zone/zone.cpp | 4 ++-- zone/zonedb.h | 2 -- 5 files changed, 13 insertions(+), 47 deletions(-) diff --git a/common/database.cpp b/common/database.cpp index 3f64a21f9..69ac0b997 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -1130,9 +1130,9 @@ uint32 Database::GetZoneID(const char* zonename) { if (zonename == nullptr) return 0; - for (auto iter = zonename_array.begin(); iter != zonename_array.end(); ++iter) - if (strcasecmp(iter->second.c_str(), zonename) == 0) - return iter->first; + for (auto & iter : zonename_array) + if (strcasecmp(iter.second.c_str(), zonename) == 0) + return iter.first; return 0; } diff --git a/zone/doors.cpp b/zone/doors.cpp index 92e83f06d..6cb0617fd 100644 --- a/zone/doors.cpp +++ b/zone/doors.cpp @@ -83,8 +83,8 @@ Doors::Doors(const char *model, const glm::vec4 &position, uint8 open_type, uint strn0cpy(door_name, model, 32); strn0cpy(destination_zone_name, "NONE", 32); - this->database_id = (uint32) database.GetDoorsCountPlusOne(zone->GetShortName(), zone->GetInstanceVersion()); - this->door_id = (uint8) database.GetDoorsDBCountPlusOne(zone->GetShortName(), zone->GetInstanceVersion()); + this->database_id = (uint32) content_db.GetDoorsCountPlusOne(zone->GetShortName(), zone->GetInstanceVersion()); + this->door_id = (uint8) content_db.GetDoorsDBCountPlusOne(zone->GetShortName(), zone->GetInstanceVersion()); this->open_type = open_type; this->size = size; @@ -451,7 +451,7 @@ void Doors::HandleClick(Client* sender, uint8 trigger) { if (!disable_add_to_key_ring) { sender->KeyRingAdd(player_key); } - if (database.GetZoneID(destination_zone_name) == zone->GetZoneID()) { + if (content_db.GetZoneID(destination_zone_name) == zone->GetZoneID()) { sender->MovePC( zone->GetZoneID(), zone->GetInstanceID(), @@ -462,7 +462,7 @@ void Doors::HandleClick(Client* sender, uint8 trigger) { ); } else { sender->MovePC( - database.GetZoneID(destination_zone_name), + content_db.GetZoneID(destination_zone_name), static_cast(destination_instance_id), m_Destination.x, m_Destination.y, @@ -473,7 +473,7 @@ void Doors::HandleClick(Client* sender, uint8 trigger) { } if ((!IsDoorOpen() || open_type == 58) && (!required_key_item)) { - if (database.GetZoneID(destination_zone_name) == zone->GetZoneID()) { + if (content_db.GetZoneID(destination_zone_name) == zone->GetZoneID()) { sender->MovePC( zone->GetZoneID(), zone->GetInstanceID(), @@ -484,7 +484,7 @@ void Doors::HandleClick(Client* sender, uint8 trigger) { ); } else { sender->MovePC( - database.GetZoneID(destination_zone_name), + content_db.GetZoneID(destination_zone_name), static_cast(this->destination_instance_id), m_Destination.x, m_Destination.y, @@ -820,14 +820,14 @@ void Doors::SetDisableTimer(bool flag) { void Doors::CreateDatabaseEntry() { - if (database.GetDoorsDBCountPlusOne(zone->GetShortName(), zone->GetInstanceVersion()) - 1 >= 255) { + if (content_db.GetDoorsDBCountPlusOne(zone->GetShortName(), zone->GetInstanceVersion()) - 1 >= 255) { return; } /** * Persist */ - database.InsertDoor( + content_db.InsertDoor( GetDoorDBID(), GetDoorID(), GetDoorName(), diff --git a/zone/guild.cpp b/zone/guild.cpp index 166e6edfb..324223acf 100644 --- a/zone/guild.cpp +++ b/zone/guild.cpp @@ -408,35 +408,3 @@ void Client::GuildChangeRank(const char* name, uint32 guild_id, uint32 oldrank, SendGuildMembers(guild_id, true); }*/ - -bool ZoneDatabase::CheckGuildDoor(uint8 doorid, uint16 guild_id, const char* zone) { - - std::string query = StringFormat("SELECT guild FROM doors WHERE doorid = %i AND zone = '%s'", - doorid-128, zone); - auto results = QueryDatabase(query); - if (!results.Success()) { - return false; - } - - if (results.RowCount() != 1) - return false; - - auto row = results.begin(); - return atoi(row[0]) == guild_id; -} - -bool ZoneDatabase::SetGuildDoor(uint8 doorid,uint16 guild_id, const char* zone) { - - if (doorid > 127) - doorid = doorid - 128; - - std::string query = StringFormat("UPDATE doors SET guild = %i WHERE (doorid=%i) AND (zone='%s')", - guild_id, doorid, zone); - auto results = QueryDatabase(query); - if (!results.Success()) { - return false; - } - - return (results.RowsAffected() > 0); -} - diff --git a/zone/zone.cpp b/zone/zone.cpp index 05219a3cc..62ff342ec 100755 --- a/zone/zone.cpp +++ b/zone/zone.cpp @@ -743,7 +743,7 @@ void Zone::LoadZoneDoors(const char* zone, int16 version) LogInfo("Loading doors for [{}] ", zone); uint32 maxid; - int32 count = database.GetDoorsCount(&maxid, zone, version); + int32 count = content_db.GetDoorsCount(&maxid, zone, version); if(count < 1) { LogInfo("No doors loaded"); return; @@ -751,7 +751,7 @@ void Zone::LoadZoneDoors(const char* zone, int16 version) auto dlist = new Door[count]; - if(!database.LoadDoors(count, dlist, zone, version)) { + if(!content_db.LoadDoors(count, dlist, zone, version)) { LogError("Failed to load doors"); delete[] dlist; return; diff --git a/zone/zonedb.h b/zone/zonedb.h index 7c93b456c..cff2e14c1 100644 --- a/zone/zonedb.h +++ b/zone/zonedb.h @@ -503,8 +503,6 @@ public: bool DoorIsOpen(uint8 door_id,const char* zone_name); void SetDoorPlace(uint8 value,uint8 door_id,const char* zone_name); bool LoadDoors(int32 door_count, Door *into, const char *zone_name, int16 version); - bool CheckGuildDoor(uint8 doorid,uint16 guild_id, const char* zone); - bool SetGuildDoor(uint8 doorid,uint16 guild_id, const char* zone); uint32 GetGuildEQID(uint32 guilddbid); void UpdateDoorGuildID(int doorid, int guild_id); int32 GetDoorsCount(uint32* oMaxID, const char *zone_name, int16 version);