Decompile 12 functions in Source/UI/Buttons/UISlotBmpButton.h, Source/UI/Buttons/UITextButton.cpp, ...

Batch #5651 by Yommy: 1 byte-identical, 11 confirmed by peer review.

- fn_11328 UIListBoxID::Slot15: logic confirmed by peer review
- fn_11329 UINewComboBoxCtrl::Slot15: logic confirmed by peer review
- fn_11330 UIShowAndEditTimeCtrl::Slot15: logic confirmed by peer review
- fn_11331 UISlotBmpButton::Slot15: logic confirmed by peer review
- fn_11332 UITableBox::Slot15: byte-identical
- fn_11333 UITextViewEX::Slot15: logic confirmed by peer review
- fn_11335 UITreeView::Slot15: logic confirmed by peer review
- fn_11336 TableBox::Paint: logic confirmed by peer review
- fn_10938 UIEditCtrl::Border: logic confirmed by peer review
- fn_11555 UINewComboBoxCtrl::SendMsg: logic confirmed by peer review
- fn_11556 UIShowAndEditTimeCtrl::SendMsg: logic confirmed by peer review
- fn_11560 UITableBox::SendMsg: logic confirmed by peer review

Peer-reviewed-by: ntrl, willerthal, Snow, SapitoSucio, eAthena, alisonrag, Qwenkler3.8, Millenium
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 14:50:59 +00:00
commit dd899cd0a3
12 changed files with 261 additions and 6 deletions

View file

@ -21,6 +21,7 @@
#include "Client/Mode/ModeCursor.h"
#include "UI/Buttons/UIBitmapButton2.h"
#include "UI/Buttons/UISlotBmpButton.h"
#include "UI/UIStaticBitmap.h"
#include "UI/Buttons/UITVBitmapButton.h"
#include "UI/Buttons/UITVTextButton.h"
#include "UI/Lists/UIComboBox.h"
@ -51,7 +52,6 @@
#include <cstdio>
#include <cstdlib>
#include <cstring>
// GLOBAL: gl_24606
int g_screenHeight;
@ -2196,3 +2196,81 @@ void UIPackageBoxNameList::Slot25(int x, int y) {
this->Invalidate();
}
// OFFSET: 0x00886AE0
// FUNCTION: fn_11328
void UIListBoxID::Slot15(int width, int height) {
auto* vertical = new UIScrollBar(*this->m_context);
this->verticalBar = vertical;
const int verticalWidth = vertical->thickness;
vertical->vertical = 1;
vertical->UIWindow::Resize(verticalWidth, height);
vertical->Move((width - 13), 0);
vertical->Slot15(verticalWidth, height);
vertical->Slot22(verticalWidth, height);
this->AddChild(this->verticalBar);
auto* horizontal = new UIScrollBar(*this->m_context);
this->horizontalBar = horizontal;
const int horizontalHeight = horizontal->thickness;
horizontal->vertical = 0;
horizontal->UIWindow::Resize((width - 13), horizontalHeight);
horizontal->Move(0, (height - 13));
horizontal->Slot15((width - 13), horizontalHeight);
horizontal->Slot22((width - 13), horizontalHeight);
this->AddChild(this->horizontalBar);
}
// OFFSET: 0x00887280
// FUNCTION: fn_11332
void UITableBox::Slot15(int, int) {
}
// OFFSET: 0x008872B0
// FUNCTION: fn_11335
void UITreeView::Slot15(int width, int height) {
auto* vertical = new UIScrollBar3(*this->m_context);
this->verticalBar = vertical;
const int verticalWidth = vertical->thickness;
vertical->vertical = 1;
vertical->UIWindow::Resize(verticalWidth, height);
vertical->Move((width - 10), 0);
vertical->Slot15(verticalWidth, height);
vertical->Slot22(verticalWidth, height);
this->AddChild(this->verticalBar);
this->edit = new UIEditCtrl2(*this->m_context, *this->m_edit);
this->edit->SetSize(100, 19);
this->edit->Move(-100, -100);
this->AddChild(this->edit);
}
// OFFSET: 0x008873F0
// FUNCTION: fn_11336
void TableBox::Paint() {
RECT rectangle;
rectangle.left = 1;
rectangle.top = 1;
rectangle.right = this->geometry.width - 1;
rectangle.bottom = this->geometry.height - 1;
this->FillSurface(this->borderColor, &rectangle);
}
// OFFSET: 0x008870B0
// FUNCTION: fn_11331
void UISlotBmpButton::Slot15(int, int) {
const std::string path = "유저인터페이스\\renewalparty\\";
char name[256];
std::sprintf(name, "%sicon_jobs_%d.bmp", path.c_str(), 0);
this->icon = new UIStaticBitmap(*this->m_context, *this->m_buttonContext);
this->icon->SetBitmap(name);
this->icon->SetSize(this->icon->geometry.width, this->icon->geometry.height);
this->icon->Move(118, 14);
this->AddChild(this->icon);
}
// OFFSET: 0x00899BE0
// FUNCTION: fn_11560
int UITableBox::SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) {
return UIWindow::SendMsg(sender, message, argument1, argument2, argument3, argument4);
}