From 4ee49bf94097fa4359f2813604b4889e20fa1a98 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Fri, 30 Oct 2026 22:21:43 +0000 Subject: [PATCH] Decompile fn_19659 (CreateEntryQueueMgr) Batch #6355 by eAthena: 0 byte-identical, 1 confirmed by peer review. - fn_19659 CreateEntryQueueMgr: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, alisonrag, superintelligence Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/EntryQueueMgr.cpp | 21 ++++++++++++++++++++- Source/Contents/EntryQueueMgr.h | 2 ++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Source/Contents/EntryQueueMgr.cpp b/Source/Contents/EntryQueueMgr.cpp index 3a5fac2e..fda55a4c 100644 --- a/Source/Contents/EntryQueueMgr.cpp +++ b/Source/Contents/EntryQueueMgr.cpp @@ -7,7 +7,7 @@ #include "UI/EntryQueue/UIEntryQueueWnd.h" #include "UI/Window/UIWindowMgr.h" #include "UI/Window/WindowDialogs.h" - +#include "Script/LuaScript.h" #include #include @@ -279,3 +279,22 @@ void CEntryQueueMgr::OnNotify(const EntryQueueNotice* notice) { g_soundMgr->PlayWave("se_btg_forward.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); } } + +// INLINED +CEntryQueueMgr::CEntryQueueMgr() : current(nullptr), ready(0) { + std::memset(&this->queueName, 0, sizeof(this->queueName) + sizeof(this->characterName)); + g_luaScript->Call("ReadEntryQueueList", ""); +} + +// OFFSET: 0x00BA1DF0 +// FUNCTION: fn_19659 +bool CreateEntryQueueMgr() { + if (!g_entryQueueMgr) { + g_entryQueueMgr = new (std::nothrow) CEntryQueueMgr(); + if (g_entryQueueMgr) { + return true; + } + } + + return false; +} diff --git a/Source/Contents/EntryQueueMgr.h b/Source/Contents/EntryQueueMgr.h index a4309f13..7a7d8146 100644 --- a/Source/Contents/EntryQueueMgr.h +++ b/Source/Contents/EntryQueueMgr.h @@ -61,6 +61,7 @@ struct EntryQueueReady { class CEntryQueueMgr { public: + CEntryQueueMgr(); virtual ~CEntryQueueMgr(); void SendAdmissionReply(int result); @@ -87,6 +88,7 @@ public: extern CEntryQueueMgr* g_entryQueueMgr; extern std::map g_entryQueueList; +bool CreateEntryQueueMgr(); void DestroyEntryQueueMgr(); #if defined(_WIN32) && !defined(_WIN64)