Decompile 5 functions in Source/UI/Quest/UIRenewQuestUI.cpp, Source/UI/Quest/UIRenewQuestUI.h, ...

Batch #4047 by youko: 4 byte-identical, 1 confirmed by peer review.

- fn_16634 CUIRenewQuestUI::OnTabButton: byte-identical
- fn_16635 CUIRenewQuestUI::OnPanelButton: byte-identical
- fn_16659 CUIListBoxEx<SelectPackageItemBox::CUIItemInfo,ITEM_INFO>::ClearItems: byte-identical
- fn_16660 CUIListBoxEx<SelectPackageItemBox::CUITabInfo,SelectPackageItemBox::CTabInfoData>::ClearItems: byte-identical
- fn_16661 CUISelectPackageItemBox::Slot53: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, Yommy, superintelligence
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
Adds to the build: Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp
This commit is contained in:
ragnarok-clanker 2026-10-30 00:44:53 +00:00
commit 5aa8b42abb
5 changed files with 82 additions and 0 deletions

View file

@ -606,3 +606,13 @@ void CUIRenewQuestUI::Slot53(int value) {
this->Slot15(this->geometry.width, this->geometry.height);
this->Slot16();
}
// OFFSET: 0x00A67FA0
// FUNCTION: fn_16634
void CUIRenewQuestUI::OnTabButton(CUITabButton* button) {
}
// OFFSET: 0x00A67FB0
// FUNCTION: fn_16635
void CUIRenewQuestUI::OnPanelButton() {
}

View file

@ -32,6 +32,9 @@ class CUIRenewQuestUI : public CUIFrameWnd {
public:
void Paint() override;
virtual void Slot53(int value);
void OnTabButton(CUITabButton* button);
void OnPanelButton();
};
#if defined(_WIN32) && !defined(_WIN64)

View file

@ -0,0 +1,31 @@
#ifndef RAGNAROK_SOURCE_UI_SELECTPACKAGEITEMBOX_SELECTPACKAGEITEMBOX_H
#define RAGNAROK_SOURCE_UI_SELECTPACKAGEITEMBOX_SELECTPACKAGEITEMBOX_H
#include "Contents/Items/ItemInfo.h"
#include "UI/FrameSkin.h"
#include "UI/Lists/UIListBoxTemplate.h"
#include <string>
namespace SelectPackageItemBox {
class CTabInfoData {
public:
/* 0000 */ unsigned char unknown_0000[0x08];
/* 0008 */ std::string unknown_0008;
};
class CUIItemInfo : public CUIListItem {};
class CUITabInfo : public CUIListItem {};
}
class CUISelectPackageItemBox : public CUIFrameWnd {
public:
virtual void Slot53();
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(SelectPackageItemBox::CTabInfoData) == 0x20);
#endif
#endif

View file

@ -0,0 +1,37 @@
#include "UI/SelectPackageItemBox/SelectPackageItemBox.h"
// OFFSET: 0x00A693D0
// FUNCTION: fn_16659
template <>
void CUIListBoxEx<SelectPackageItemBox::CUIItemInfo, ITEM_INFO>::ClearItems() {
for (SelectPackageItemBox::CUIItemInfo* item : this->items) {
this->RemoveChild(item, 1);
}
this->items.clear();
this->selected = static_cast<unsigned int>(-1);
}
// OFFSET: 0x00A69430
// FUNCTION: fn_16660
template <>
void CUIListBoxEx<SelectPackageItemBox::CUITabInfo, SelectPackageItemBox::CTabInfoData>::ClearItems() {
for (SelectPackageItemBox::CUITabInfo* item : this->items) {
this->RemoveChild(item, 1);
}
this->items.clear();
this->selected = static_cast<unsigned int>(-1);
}
// OFFSET: 0x00A694F0
// FUNCTION: fn_16661
void CUISelectPackageItemBox::Slot53() {
this->unknown_00B4 = 0;
this->Resize(387, 283);
this->Move(0, 0);
this->Slot15(this->geometry.width, this->geometry.height);
this->Slot16();
this->SetSkinColors(0, 0, 0, 0);
this->m_buttonBarStyle = 3;
}

View file

@ -791,6 +791,7 @@
"Source/UI/Quest/UIQuestDisplay.cpp": 2,
"Source/UI/Quest/UIRecommendedQuestInfo.cpp": 2,
"Source/UI/Quest/UIRenewQuestUI.cpp": 2,
"Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp": 2,
"Source/UI/Shop/ItemDrawing.cpp": 2,
"Source/UI/Shop/MerchantShopRefresh.cpp": 2,
"Source/UI/Shop/PriceColor.cpp": 2,