From 69232871b355eb850952fc696dc22183a6324bcb Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 28 Oct 2026 11:08:09 +0000 Subject: [PATCH] Decompile fn_20960 (CreateCooldownOwner) Batch #1355 by ragnarok-clanker: 0 byte-identical, 1 confirmed by peer review. - fn_20960 CreateCooldownOwner: logic confirmed by peer review Reviewed-by: ragnarok-clanker --- Source/UI/Cooldowns/CooldownOwner.cpp | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Source/UI/Cooldowns/CooldownOwner.cpp b/Source/UI/Cooldowns/CooldownOwner.cpp index d330e806..4bf66c9d 100644 --- a/Source/UI/Cooldowns/CooldownOwner.cpp +++ b/Source/UI/Cooldowns/CooldownOwner.cpp @@ -8,12 +8,7 @@ CooldownOwner::CooldownOwner() : m_initialized(false) { this->m_initialized = true; } -// INLINED -CooldownOwner::~CooldownOwner() { - this->m_drawing.normal.clear(); - this->m_drawing.reverse.clear(); - this->m_values.clear(); -} +// OFFSET: 0x00CA60D0 // OFFSET: 0x00CA61A0 // FUNCTION: fn_20957 @@ -43,6 +38,21 @@ void CooldownOwner::Erase(unsigned id) { // GLOBAL: gl_24487 CooldownOwner* g_cooldownOwner = nullptr; + +// OFFSET: 0x00CA64C0 +// FUNCTION: fn_20960 +bool CreateCooldownOwner() { + if (g_cooldownOwner) { + return false; + } + + g_cooldownOwner = new (std::nothrow) CooldownOwner; + if (!g_cooldownOwner) { + return false; + } + + return true; +} // OFFSET: 0x00CA6610 // FUNCTION: fn_20961 void DestroyCooldownOwner() {