Decompile 6 functions in Source/UI/Window/UIControl.cpp, Source/UI/Lists/UIVScrollBar.h, ...

Batch #4146 by youko: 4 byte-identical, 2 confirmed by peer review.

- fn_13965 CUIVScrollBar::~CUIVScrollBar: logic confirmed by peer review
- fn_13987 CUIListBoxEx<AdventureGuide::CUIItemInfo,AdventureGuide::CItemData>::ClearItems: byte-identical
- fn_13988 CUIListBoxEx<AdventureGuide::CUIMonsterInfo,AdventureGuide::CMonsterData>::ClearItems: byte-identical
- fn_13989 CUIListBoxEx<AdventureGuide::CUIQuestInfo,AdventureGuide::CQuestInfo>::ClearItems: byte-identical
- fn_13990 CUIListBoxEx<AdventureGuide::CUITabInfo,Guide_Intro::Contents>::ClearItems: byte-identical
- fn_13991 CUIAdventureGuide::Slot53: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, superintelligence, tayoba, eAthena, Yommy, 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 01:46:34 +00:00
commit 477baba99f
4 changed files with 71 additions and 0 deletions

View file

@ -1,6 +1,7 @@
#include "Contents/AdventureGuideMgr.h"
#include "UI/AdventureGuide/UIAdventureGuide.h"
#include "UI/Lists/UIListBoxTemplate.h"
#include "Render/Renderer.h"
#include "UI/Lists/UIVScrollBar.h"
#include "UI/Text/UIStaticTextControl.h"
@ -8,6 +9,64 @@ template void CUIListBoxEx<AdventureGuide::CUIMonsterInfo, AdventureGuide::CMons
template void CUIListBox<AdventureGuide::CUITab>::UpdateScrollBar();
template void CUIListBox<AdventureGuide::CUISubTab>::UpdateScrollBar();
// OFFSET: 0x009C12B0
// FUNCTION: fn_13987
template <>
void CUIListBoxEx<AdventureGuide::CUIItemInfo, AdventureGuide::CItemData>::ClearItems() {
for (AdventureGuide::CUIItemInfo* item : this->items) {
this->RemoveChild(item, 1);
}
this->items.clear();
this->selected = static_cast<unsigned int>(-1);
}
// OFFSET: 0x009C1310
// FUNCTION: fn_13988
template <>
void CUIListBoxEx<AdventureGuide::CUIMonsterInfo, AdventureGuide::CMonsterData>::ClearItems() {
for (AdventureGuide::CUIMonsterInfo* item : this->items) {
this->RemoveChild(item, 1);
}
this->items.clear();
this->selected = static_cast<unsigned int>(-1);
}
// OFFSET: 0x009C1370
// FUNCTION: fn_13989
template <>
void CUIListBoxEx<AdventureGuide::CUIQuestInfo, AdventureGuide::CQuestInfo>::ClearItems() {
for (AdventureGuide::CUIQuestInfo* item : this->items) {
this->RemoveChild(item, 1);
}
this->items.clear();
this->selected = static_cast<unsigned int>(-1);
}
// OFFSET: 0x009C13D0
// FUNCTION: fn_13990
template <>
void CUIListBoxEx<AdventureGuide::CUITabInfo, Guide_Intro::Contents>::ClearItems() {
for (AdventureGuide::CUITabInfo* item : this->items) {
this->RemoveChild(item, 1);
}
this->items.clear();
this->selected = static_cast<unsigned int>(-1);
}
// OFFSET: 0x009C14F0
// FUNCTION: fn_13991
void CUIAdventureGuide::Slot53() {
this->unknown_00B4 = 0;
this->Resize(750, 468);
this->Move((g_renderer->viewport.width - this->geometry.width) / 2, (g_renderer->viewport.height - this->geometry.height) / 2);
this->Slot15(this->geometry.width, this->geometry.height);
this->Slot16();
}
namespace AdventureGuide {
// OFFSET: 0x009DC8E0