From 92f8301cae8290801df7d6de481c445c23ee84eb Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 29 Oct 2026 23:16:44 +0000 Subject: [PATCH] Decompile 4 functions in Source/UI/Buttons/UIBmpTextButton2.h, Source/UI/Buttons/UITextureButton.h, ... Batch #3752 by youko: 0 byte-identical, 4 confirmed by peer review. - fn_10853 UIResizer::Slot31: logic confirmed by peer review - fn_10892 UIEditCtrl3::Slot35: logic confirmed by peer review - fn_10893 UIEditCtrlVarId::Slot35: logic confirmed by peer review - fn_10894 UIEditCtrl_OldList::Slot35: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, eAthena, superintelligence Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Edit/UIEditVariants.cpp | 26 ++++++++++++++++++++++++++ Source/UI/Window/UIResizer.cpp | 12 ++++++++++++ 2 files changed, 38 insertions(+) diff --git a/Source/UI/Edit/UIEditVariants.cpp b/Source/UI/Edit/UIEditVariants.cpp index 0db29c9e..8e3880f0 100644 --- a/Source/UI/Edit/UIEditVariants.cpp +++ b/Source/UI/Edit/UIEditVariants.cpp @@ -110,6 +110,18 @@ int UIEditCtrl5::SendMsg(UIWindow* sender, int message, std::intptr_t a, std::in // OFFSET: 0x0085CBF0 // OFFSET: 0x0085FF60 +// FUNCTION: fn_10892 +void UIEditCtrl3::Slot35(int value) { + if (this->unknown_0134 == 0) { + return; + } + + if (value < 0) { + this->SendMsg(this->unknown_0130, 7, 3, 0, 0, 0); + } else { + this->SendMsg(this->unknown_0130, 7, -3, 0, 0, 0); + } +} // OFFSET: 0x0085BB60 @@ -118,6 +130,14 @@ int UIEditCtrl5::SendMsg(UIWindow* sender, int message, std::intptr_t a, std::in // OFFSET: 0x0085CDE0 // OFFSET: 0x0085FFC0 +// FUNCTION: fn_10894 +void UIEditCtrl_OldList::Slot35(int value) { + if (value < 0) { + this->SendMsg(nullptr, 19, 0, 0, 0, 0); + } else { + this->SendMsg(nullptr, 18, 0, 0, 0, 0); + } +} // OFFSET: 0x0085E3D0 // FUNCTION: fn_10827 @@ -128,3 +148,9 @@ void UIEditCtrlVarId::Slot24(int) { } // OFFSET: 0x0085FFA0 +// FUNCTION: fn_10893 +void UIEditCtrlVarId::Slot35(int value) { + if (this->parent) { + this->parent->Slot35(value); + } +} diff --git a/Source/UI/Window/UIResizer.cpp b/Source/UI/Window/UIResizer.cpp index 470a7690..9fb26f04 100644 --- a/Source/UI/Window/UIResizer.cpp +++ b/Source/UI/Window/UIResizer.cpp @@ -15,3 +15,15 @@ void UIResizer::Slot28(int, int) { // OFFSET: 0x0085FA20 // OFFSET: 0x0085EFD0 +// FUNCTION: fn_10853 +void UIResizer::Slot31(int, int) { + if (g_windowMgr.Capture() != this) { + return; + } + + if (this->parent) { + this->parent->Slot36(); + } + + g_windowMgr.ReleaseCapture(); +}