Decompile fn_09907 (UIRefiningWnd::Slot15)

Batch #6263 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_09907 UIRefiningWnd::Slot15: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, alisonrag, KWDev
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
ragnarok-clanker 2026-10-30 21:09:51 +00:00
commit 4767ffecd2
2 changed files with 67 additions and 0 deletions

View file

@ -14,6 +14,7 @@
#include "Resource/Bitmap/BitmapResource.h"
#include "Resource/ResourceMgr.h"
#include "Resource/TextureNames.h"
#include "UI/Buttons/UIBasicButton.h"
#include "UI/Window/UIWindowMgr.h"
#include "UI/Window/WindowManagerWindows.h"
#include "Utility/Text/FormatString.h"
@ -45,6 +46,62 @@ struct RefiningClosePacket {
};
#pragma pack(pop)
// OFFSET: 0x007F5E30
// FUNCTION: fn_09907
void UIRefiningWnd::Slot15(int width, int height) {
this->AddBaseButton(*this->m_controls);
this->AddCloseButton(*this->m_controls, "", 0);
UIBasicButton* basic = new UIBasicButton(*this->m_context, *this->m_controls);
basic->Configure(56, LookupMessage(218));
basic->Move(204, 322);
basic->SetId(185);
this->AddChild(basic);
this->unknown_00C0 = basic;
this->refiningButton = new UIRefining_BtnRefining(*this->m_context, *this->m_controls);
this->refiningButton->SetBitmap("유저인터페이스\\refining_renewal\\bt_refining_normal.bmp", 0, 0);
this->refiningButton->SetBitmap("유저인터페이스\\refining_renewal\\bt_refining_normal.bmp", 1, 0);
this->refiningButton->SetBitmap("유저인터페이스\\refining_renewal\\bt_refining_press.bmp", 2, 0);
this->refiningButton->SetBitmap("유저인터페이스\\refining_renewal\\bt_refining_disable.bmp", 3, 0);
this->refiningButton->Resize(this->refiningButton->BitmapWidth(), this->refiningButton->BitmapHeight());
this->refiningButton->Move(84, 262);
this->refiningButton->SetId(184);
this->refiningButton->SetDisabled(1);
this->refiningButton->Invalidate();
this->AddChild(this->refiningButton);
this->returnButton = new UIRefining_BtnReturn(*this->m_context, *this->m_controls);
this->returnButton->UpdateBitmaps();
this->returnButton->Move(20, 267);
this->returnButton->SetId(519);
this->returnButton->Enable(0);
this->AddChild(this->returnButton);
this->againButton = new UIRefining_BtnAgain(*this->m_context, *this->m_controls);
this->againButton->UpdateBitmaps();
this->againButton->Move(142, 267);
this->againButton->SetId(520);
this->againButton->Enable(0);
this->AddChild(this->againButton);
this->notice = new UIRefining_Notice(*this->m_context, *this->m_controls);
this->notice->SetSize(194, 22);
this->notice->Move(6, 322);
this->AddChild(this->notice);
UIBitmapButton* help = new UIBitmapButton(*this->m_context, *this->m_controls);
help->SetBitmap("유저인터페이스\\basic_interface\\btn_help_normal.bmp", 0, 0);
help->SetBitmap("유저인터페이스\\basic_interface\\btn_help_over.bmp", 1, 0);
help->SetBitmap("유저인터페이스\\basic_interface\\btn_help_pressed.bmp", 2, 0);
help->SetBitmap("유저인터페이스\\basic_interface\\btn_help_disabled.bmp", 3, 0);
help->SetSize(help->BitmapWidth(), help->BitmapHeight());
help->Move(230, 20);
help->SetTooltip(LookupMessage(4115));
help->SetId(510);
this->AddChild(help);
}
// OFFSET: 0x007F5270
// FUNCTION: fn_09902
void UIRefiningWnd::Slot10(int x, int y, std::intptr_t value) {

View file

@ -24,6 +24,8 @@ static_assert(sizeof(RefiningMaterial) == 9);
class UIRefining_BtnAgain : public UIBitmapButton {
public:
// INLINED
UIRefining_BtnAgain(UIWindowContext& windows, UIButtonContext& controls) : UIBitmapButton(windows, controls), cost(0) {}
void Paint() override;
void Enable(unsigned char value) override;
void UpdateBitmaps();
@ -35,6 +37,8 @@ public:
class UIRefining_BtnRefining : public UIBitmapButton {
public:
// INLINED
UIRefining_BtnRefining(UIWindowContext& windows, UIButtonContext& controls) : UIBitmapButton(windows, controls), cost(0) {}
void Paint() override;
void Enable(unsigned char value) override;
@ -43,6 +47,8 @@ public:
class UIRefining_BtnReturn : public UIBitmapButton {
public:
// INLINED
UIRefining_BtnReturn(UIWindowContext& windows, UIButtonContext& controls) : UIBitmapButton(windows, controls), highlighted(1) {}
void Paint() override;
void UpdateBitmaps();
@ -51,6 +57,9 @@ public:
class UIRefining_Notice : public UIStaticText {
public:
// INLINED
UIRefining_Notice(UIWindowContext& windows, UIButtonContext& controls)
: UIStaticText(windows, controls), savedHighlight(0), expireTick(0), autoShown(0), highlight(0) {}
void Slot19() override;
void Paint() override;
void SetNotice(const char* value, int duration, unsigned char highlight);
@ -65,6 +74,7 @@ public:
class UIRefiningWnd : public UIFrameWnd {
public:
void Slot10(int x, int y, std::intptr_t value) override;
void Slot15(int width, int height) override;
void Slot19() override;
void Slot25(int x, int y) override;
void Slot26(int x, int y) override;