From a4b970beff2b945e33c84605268cc17201403d75 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Fri, 30 Oct 2026 10:17:27 +0000 Subject: [PATCH] Decompile fn_15007 (EnchantUI::CUIEnchantItem::SetFrozen) Batch #5319 by eAthena: 0 byte-identical, 1 confirmed by peer review. - fn_15007 EnchantUI::CUIEnchantItem::SetFrozen: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, meitogi, alisonrag Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Enchant/EnchantUI.h | 5 ++++- Source/UI/Enchant/UIEnchantUI.cpp | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Source/UI/Enchant/EnchantUI.h b/Source/UI/Enchant/EnchantUI.h index d99ca3dd..8ab9333b 100644 --- a/Source/UI/Enchant/EnchantUI.h +++ b/Source/UI/Enchant/EnchantUI.h @@ -10,6 +10,7 @@ #include #include +class CUIStaticText; class CUITextViewer; struct EnchantInfo; struct EnchantOptionInfo; @@ -29,10 +30,12 @@ class CEnchantItemData; class CUIEnchantItem : public CUIListItem { public: - /* 00E8 */ CUIControl* itemIcon; + /* 00E8 */ CUIGameItem* itemIcon; + /* 00EC */ CUIStaticText* name; void Slot28(int x, int y) override; void Slot32(int x, int y) override; + void SetFrozen(bool frozen) override; }; class CUITargetItem : public CUIListItem { diff --git a/Source/UI/Enchant/UIEnchantUI.cpp b/Source/UI/Enchant/UIEnchantUI.cpp index 4a99bb24..4baad1db 100644 --- a/Source/UI/Enchant/UIEnchantUI.cpp +++ b/Source/UI/Enchant/UIEnchantUI.cpp @@ -4,7 +4,7 @@ #include "UI/Buttons/UIRadioButton.h" #include "UI/Lists/UIVScrollBar.h" #include "UI/Text/UITextViewerControl.h" - +#include "UI/Text/UIStaticTextControl.h" #include #include #include @@ -315,3 +315,17 @@ void CUIUpgradeRandom::Slot55() { bool CUIEnchantUI::CanHitTest() { return !CEnchantMgr::GetInstance()->m_unknown_0030; } + +// OFFSET: 0x009F6D40 + +// OFFSET: 0x009F6F00 + +namespace EnchantUI { +// OFFSET: 0x00A06BE0 +// FUNCTION: fn_15007 +void CUIEnchantItem::SetFrozen(bool frozen) { + this->itemIcon->transparent = frozen; + this->itemIcon->Invalidate(); + this->name->SetColor(frozen ? 0xAAAAAA : 0xC89682); +} +}