From 5bd823be42dbbf70b959e4a577a87007ed09778e Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 29 Oct 2026 22:57:56 +0000 Subject: [PATCH] Decompile 2 functions in Source/UI/Quest/UIRenewQuestUI.cpp, Source/UI/Quest/UIRenewQuestUI.h Batch #3632 by superintelligence: 1 byte-identical, 1 confirmed by peer review. - fn_16431 CUIListBoxEx::ClearItems: byte-identical - fn_16432 CUIRenewQuestUI::Slot53: logic confirmed by peer review Peer-reviewed-by: eAthena, ntrl, meitogi Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Quest/UIRenewQuestUI.cpp | 26 ++++++++++++++++++++++++++ Source/UI/Quest/UIRenewQuestUI.h | 4 +++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Source/UI/Quest/UIRenewQuestUI.cpp b/Source/UI/Quest/UIRenewQuestUI.cpp index e19bc7f4..b8ce1e15 100644 --- a/Source/UI/Quest/UIRenewQuestUI.cpp +++ b/Source/UI/Quest/UIRenewQuestUI.cpp @@ -1,4 +1,5 @@ #include "UI/Quest/UIRenewQuestUI.h" +#include "Render/Renderer.h" #include "Utility/Cipher/XorBytes.h" #include @@ -580,3 +581,28 @@ void RenewQuestUI::CUIQuestItem::Slot48() { UIWindow::Move(this->baseX, this->baseY); this->Invalidate(); } + +// OFFSET: 0x00A5C170 +// FUNCTION: fn_16431 +template <> +void CUIListBoxEx::ClearItems() { + for (RenewQuestUI::CUIQuestItem* item : this->items) { + this->RemoveChild(item, 1); + } + + this->items.clear(); + this->selected = static_cast(-1); +} + +// OFFSET: 0x00A5C200 +// FUNCTION: fn_16432 +void CUIRenewQuestUI::Slot53(int value) { + this->unknown_00B4 = 1; + this->m_resolveSkin = true; + this->Resize(381, 466); + this->Move( + g_renderer->viewport.centerX - this->geometry.width / 2, g_renderer->viewport.centerY - this->geometry.height / 2 + ); + this->Slot15(this->geometry.width, this->geometry.height); + this->Slot16(); +} diff --git a/Source/UI/Quest/UIRenewQuestUI.h b/Source/UI/Quest/UIRenewQuestUI.h index d539a73b..24faa296 100644 --- a/Source/UI/Quest/UIRenewQuestUI.h +++ b/Source/UI/Quest/UIRenewQuestUI.h @@ -1,6 +1,7 @@ #ifndef RAGNAROK_SOURCE_UI_QUEST_UIRENEWQUESTUI_H #define RAGNAROK_SOURCE_UI_QUEST_UIRENEWQUESTUI_H +#include "UI/FrameSkin.h" #include "UI/Lists/UIListBoxTemplate.h" #include "UI/Window/UIControl.h" #include "UI/Window/UIFrameWnd.h" @@ -27,9 +28,10 @@ public: }; } -class CUIRenewQuestUI : public UIFrameWnd { +class CUIRenewQuestUI : public CUIFrameWnd { public: void Paint() override; + virtual void Slot53(int value); }; #if defined(_WIN32) && !defined(_WIN64)