From 654764685a7a6450b64ad6217694091af946d922 Mon Sep 17 00:00:00 2001 From: Alex King <89047260+Kinglykrab@users.noreply.github.com> Date: Wed, 25 Jun 2025 15:19:52 -0400 Subject: [PATCH] [Code] LFGuildManager Global to Singleton Cleanup (#4927) * [Code] LFGuildManager Global to Singleton Cleanup * Update lfguild.h * Update worldserver.cpp --------- Co-authored-by: Chris Miles --- queryserv/lfguild.h | 6 ++++++ queryserv/queryserv.cpp | 5 ++--- queryserv/worldserver.cpp | 3 +-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/queryserv/lfguild.h b/queryserv/lfguild.h index c9c59ded3..1c0cb1cdd 100644 --- a/queryserv/lfguild.h +++ b/queryserv/lfguild.h @@ -44,6 +44,12 @@ public: bool LoadDatabase(); void HandlePacket(ServerPacket *pack); void ExpireEntries(); + + static LFGuildManager* Instance() + { + static LFGuildManager instance; + return &instance; + } private: void SendPlayerMatches(uint32 FromZoneID, uint32 FromInstanceID, char *From, uint32 FromLevel, uint32 ToLevel, uint32 MinAA, uint32 TimeZone, uint32 Classes); void SendGuildMatches(uint32 FromZoneID, uint32 FromInstanceID, char *From, uint32 Level, uint32 AAPoints, uint32 TimeZone, uint32 Class); diff --git a/queryserv/queryserv.cpp b/queryserv/queryserv.cpp index bba19d7a0..9533c21bb 100644 --- a/queryserv/queryserv.cpp +++ b/queryserv/queryserv.cpp @@ -25,7 +25,6 @@ volatile bool RunLoops = true; QSDatabase qs_database; Database database; -LFGuildManager lfguildmanager; std::string WorldShortName; const queryservconfig *Config; WorldServer *worldserver = 0; @@ -154,7 +153,7 @@ int main() worldserver->Connect(); /* Load Looking For Guild Manager */ - lfguildmanager.LoadDatabase(); + LFGuildManager::Instance()->LoadDatabase(); Timer player_event_process_timer(1000); player_event_logs.SetDatabase(&qs_database)->Init(); @@ -168,7 +167,7 @@ int main() } if (LFGuildExpireTimer.Check()) { - lfguildmanager.ExpireEntries(); + LFGuildManager::Instance()->ExpireEntries(); } if (player_event_process_timer.Check()) { diff --git a/queryserv/worldserver.cpp b/queryserv/worldserver.cpp index 5af98b152..955169871 100644 --- a/queryserv/worldserver.cpp +++ b/queryserv/worldserver.cpp @@ -26,7 +26,6 @@ extern WorldServer worldserver; extern const queryservconfig *Config; extern QSDatabase qs_database; -extern LFGuildManager lfguildmanager; extern ZSList zs_list; WorldServer::WorldServer() @@ -116,7 +115,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p) pack.pBuffer = (uchar *) p.Data(); pack.opcode = opcode; pack.size = (uint32) p.Length(); - lfguildmanager.HandlePacket(&pack); + LFGuildManager::Instance()->HandlePacket(&pack); pack.pBuffer = nullptr; break; }