diff --git a/src/Transmogrification.cpp b/src/Transmogrification.cpp index 9b41d55..afad82c 100644 --- a/src/Transmogrification.cpp +++ b/src/Transmogrification.cpp @@ -1,9 +1,15 @@ #include "Transmogrification.h" +Transmogrification* Transmogrification::instance() +{ + static Transmogrification instance; + return &instance; +} + #ifdef PRESETS void Transmogrification::PresetTransmog(Player* player, Item* itemTransmogrified, uint32 fakeEntry, uint8 slot) { - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::PresetTransmog"); + LOG_DEBUG("modules", "Transmogrification::PresetTransmog"); if (!EnableSets) return; @@ -30,7 +36,7 @@ void Transmogrification::PresetTransmog(Player* player, Item* itemTransmogrified void Transmogrification::LoadPlayerSets(ObjectGuid pGUID) { - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::LoadPlayerSets"); + LOG_DEBUG("modules", "Transmogrification::LoadPlayerSets"); for (presetData::iterator it = presetById[pGUID].begin(); it != presetById[pGUID].end(); ++it) it->second.clear(); @@ -110,7 +116,7 @@ void Transmogrification::UnloadPlayerSets(ObjectGuid pGUID) const char* Transmogrification::GetSlotName(uint8 slot, WorldSession* /*session*/) const { - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::GetSlotName"); + LOG_DEBUG("modules", "Transmogrification::GetSlotName"); switch (slot) { @@ -134,7 +140,7 @@ const char* Transmogrification::GetSlotName(uint8 slot, WorldSession* /*session* std::string Transmogrification::GetItemIcon(uint32 entry, uint32 width, uint32 height, int x, int y) const { - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::GetItemIcon"); + LOG_DEBUG("modules", "Transmogrification::GetItemIcon"); std::ostringstream ss; ss << "|TInterface"; @@ -154,7 +160,7 @@ std::string Transmogrification::GetItemIcon(uint32 entry, uint32 width, uint32 h std::string Transmogrification::GetSlotIcon(uint8 slot, uint32 width, uint32 height, int x, int y) const { - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::GetSlotIcon"); + LOG_DEBUG("modules", "Transmogrification::GetSlotIcon"); std::ostringstream ss; ss << "|TInterface/PaperDoll/"; @@ -182,7 +188,7 @@ std::string Transmogrification::GetSlotIcon(uint8 slot, uint32 width, uint32 hei std::string Transmogrification::GetItemLink(Item* item, WorldSession* session) const { - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::GetItemLink"); + LOG_DEBUG("modules", "Transmogrification::GetItemLink"); int loc_idx = session->GetSessionDbLocaleIndex(); const ItemTemplate* temp = item->GetTemplate(); @@ -232,7 +238,7 @@ std::string Transmogrification::GetItemLink(Item* item, WorldSession* session) c std::string Transmogrification::GetItemLink(uint32 entry, WorldSession* session) const { - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::GetItemLink"); + LOG_DEBUG("modules", "Transmogrification::GetItemLink"); const ItemTemplate* temp = sObjectMgr->GetItemTemplate(entry); int loc_idx = session->GetSessionDbLocaleIndex(); @@ -249,7 +255,7 @@ std::string Transmogrification::GetItemLink(uint32 entry, WorldSession* session) uint32 Transmogrification::GetFakeEntry(ObjectGuid itemGUID) const { - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::GetFakeEntry"); + LOG_DEBUG("modules", "Transmogrification::GetFakeEntry"); transmogData::const_iterator itr = dataMap.find(itemGUID); if (itr == dataMap.end()) return 0; @@ -262,7 +268,7 @@ uint32 Transmogrification::GetFakeEntry(ObjectGuid itemGUID) const void Transmogrification::UpdateItem(Player* player, Item* item) const { - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::UpdateItem"); + LOG_DEBUG("modules", "Transmogrification::UpdateItem"); if (item->IsEquipped()) { @@ -272,7 +278,7 @@ void Transmogrification::UpdateItem(Player* player, Item* item) const } } -void Transmogrification::DeleteFakeEntry(Player* player, uint8 /*slot*/, Item* itemTransmogrified, SQLTransaction* trans) +void Transmogrification::DeleteFakeEntry(Player* player, uint8 /*slot*/, Item* itemTransmogrified, CharacterDatabaseTransaction* trans /*= nullptr*/) { //if (!GetFakeEntry(item)) // return false; @@ -349,7 +355,7 @@ TransmogAcoreStrings Transmogrification::Transmogrify(Player* player, ObjectGuid if (cost) // 0 cost if reverting look { if (cost < 0) - sLog->outDebug(LOG_FILTER_MODULES, "Transmogrification::Transmogrify - %s (%s) transmogrification invalid cost (non negative, amount %i). Transmogrified %u with %u", + LOG_DEBUG("modules", "Transmogrification::Transmogrify - %s (%s) transmogrification invalid cost (non negative, amount %i). Transmogrified %u with %u", player->GetName().c_str(), player->GetGUID().ToString().c_str(), -cost, itemTransmogrified->GetEntry(), itemTransmogrifier->GetEntry()); else { @@ -668,7 +674,7 @@ void Transmogrification::LoadConfig(bool reload) } } -void Transmogrification::DeleteFakeFromDB(ObjectGuid::LowType itemLowGuid, SQLTransaction* trans) +void Transmogrification::DeleteFakeFromDB(ObjectGuid::LowType itemLowGuid, CharacterDatabaseTransaction* trans /*= nullptr*/) { ObjectGuid itemGUID = ObjectGuid::Create(itemLowGuid); diff --git a/src/Transmogrification.h b/src/Transmogrification.h index 9519eba..df456c7 100644 --- a/src/Transmogrification.h +++ b/src/Transmogrification.h @@ -1,13 +1,13 @@ #ifndef DEF_TRANSMOGRIFICATION_H #define DEF_TRANSMOGRIFICATION_H -#include #include "Player.h" #include "Config.h" #include "ScriptMgr.h" #include "ScriptedGossip.h" #include "GameEventMgr.h" #include +#include #define PRESETS // comment this line to disable preset feature totally #define MAX_OPTIONS 25 // do not alter @@ -39,6 +39,8 @@ enum TransmogAcoreStrings // Language.h might have same entries, appears when ex class Transmogrification { public: + static Transmogrification* instance(); + typedef std::unordered_map transmogData; typedef std::unordered_map transmog2Data; typedef std::unordered_map transmogMap; @@ -123,7 +125,7 @@ public: std::string GetItemLink(uint32 entry, WorldSession* session) const; uint32 GetFakeEntry(ObjectGuid itemGUID) const; void UpdateItem(Player* player, Item* item) const; - void DeleteFakeEntry(Player* player, uint8 slot, Item* itemTransmogrified, SQLTransaction* trans = NULL); + void DeleteFakeEntry(Player* player, uint8 slot, Item* itemTransmogrified, CharacterDatabaseTransaction* trans = nullptr); void SetFakeEntry(Player* player, uint32 newEntry, uint8 slot, Item* itemTransmogrified); TransmogAcoreStrings Transmogrify(Player* player, ObjectGuid itemGUID, uint8 slot, /*uint32 newEntry, */bool no_cost = false); @@ -133,7 +135,7 @@ public: // bool CanTransmogrify(Item const* item); uint32 GetSpecialPrice(ItemTemplate const* proto) const; - void DeleteFakeFromDB(ObjectGuid::LowType itemLowGuid, SQLTransaction* trans = NULL); + void DeleteFakeFromDB(ObjectGuid::LowType itemLowGuid, CharacterDatabaseTransaction* trans = nullptr); float GetScaledCostModifier() const; int32 GetCopperCost() const; @@ -150,6 +152,6 @@ public: bool GetEnableSetInfo() const; uint32 GetSetNpcText() const; }; -#define sTransmogrification ACE_Singleton::instance() +#define sTransmogrification Transmogrification::instance() #endif diff --git a/src/transmog_scripts.cpp b/src/transmog_scripts.cpp index 214ca61..cd41580 100644 --- a/src/transmog_scripts.cpp +++ b/src/transmog_scripts.cpp @@ -69,7 +69,7 @@ public: case EQUIPMENT_SLOT_END + 2: // Remove Transmogrifications { bool removed = false; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + auto trans = CharacterDatabase.BeginTransaction(); for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) { if (Item* newItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot)) @@ -455,23 +455,25 @@ public: } }; -class global_transmog_script : public GlobalScript { - public: - global_transmog_script() : GlobalScript("global_transmog_script") { } +class global_transmog_script : public GlobalScript +{ +public: + global_transmog_script() : GlobalScript("global_transmog_script") { } - void OnItemDelFromDB(SQLTransaction& trans, ObjectGuid::LowType itemGuid) - { - sT->DeleteFakeFromDB(itemGuid, &trans); - } + void OnItemDelFromDB(CharacterDatabaseTransaction trans, ObjectGuid::LowType itemGuid) + { + sT->DeleteFakeFromDB(itemGuid, &trans); + } - void OnMirrorImageDisplayItem(const Item *item, uint32 &display) - { - if (uint32 entry = sTransmogrification->GetFakeEntry(item->GetGUID())) - display=uint32(sObjectMgr->GetItemTemplate(entry)->DisplayInfoID); - } + void OnMirrorImageDisplayItem(const Item *item, uint32 &display) + { + if (uint32 entry = sTransmogrification->GetFakeEntry(item->GetGUID())) + display=uint32(sObjectMgr->GetItemTemplate(entry)->DisplayInfoID); + } }; -void AddSC_transmog() { +void AddSC_transmog() +{ new global_transmog_script(); new npc_transmogrifier(); new PS_Transmogrification();