Decompile 4 functions in Source/UI/Acceptance/UIChooseSellBuyWnd.cpp, Source/UI/Items/UIItemCollectionWnd.h, ...

Batch #1913 by ragnarok-clanker: 0 byte-identical, 4 confirmed by peer review.

- fn_12271 UIItemCollectionWnd::Slot25: logic confirmed by peer review
- fn_12280 UICombinedCardItemCollectionWnd::Slot31: logic confirmed by peer review
- fn_12283 UIItemCollectionWnd::Slot31: logic confirmed by peer review
- fn_12299 UIProhibitListWnd::Slot19: logic confirmed by peer review

Peer-reviewed-by: eAthena, Yommy
Reviewed-by: ragnarok-clanker
This commit is contained in:
ragnarok-clanker 2026-10-28 23:53:13 +00:00
commit c683b68ec1
4 changed files with 81 additions and 2 deletions

View file

@ -28,6 +28,7 @@
#include "UI/Dialogs/UINotifyLevelUpWnd.h"
#include "UI/Dialogs/UINotifyQuestWnd.h"
#include "UI/Dialogs/UIPetTamingDeceiveWnd.h"
#include "UI/Dialogs/UIProhibitListWnd.h"
#include "UI/Dialogs/UIQuitWnd.h"
#include "UI/Dialogs/UIRestartWnd.h"
#include "UI/Dialogs/UISayDialogWnd.h"
@ -536,6 +537,32 @@ void UISelectCartWnd::Slot25(int x, int y) {
}
}
// OFFSET: 0x008F3860
// FUNCTION: fn_12271
void UIItemCollectionWnd::Slot25(int x, int y) {
if (x <= 60 || y >= 17) {
return;
}
this->UIFrameWnd::Slot25(x, y);
if (this->m_kind == 12) {
UIWindow* comparison = g_windowMgr.unknown_0220;
if (!comparison) {
return;
}
comparison->geometry.targetAlpha = this->geometry.targetAlpha;
comparison->geometry.alphaStart = this->geometry.alphaStart;
}
if (this->m_kind == 82) {
UIWindow* comparison = g_windowMgr.unknown_0224;
if (comparison) {
comparison->geometry.targetAlpha = this->geometry.targetAlpha;
comparison->geometry.alphaStart = this->geometry.alphaStart;
}
}
}
// OFFSET: 0x008F3A60
// FUNCTION: fn_12278
void UIStatusWnd::Slot25(int x, int y) {
@ -549,6 +576,16 @@ void UIStatusWnd::Slot25(int x, int y) {
void UICombinedCardItemCollection_ComparisonWnd::Slot31(int, int) {
}
// OFFSET: 0x008F3B70
// FUNCTION: fn_12280
void UICombinedCardItemCollectionWnd::Slot31(int x, int y) {
this->UIFrameWnd::Slot31(x, y);
if (UIWindow* comparison = g_windowMgr.unknown_0224) {
comparison->geometry.targetAlpha = this->geometry.targetAlpha;
comparison->geometry.alphaStart = this->geometry.alphaStart;
}
}
// OFFSET: 0x008F3BB0
// FUNCTION: fn_12282
void UIEquipWnd::Slot31(int x, int y) {
@ -570,6 +607,16 @@ void UIEquipWnd::Slot31(int x, int y) {
}
}
// OFFSET: 0x008F3C20
// FUNCTION: fn_12283
void UIItemCollectionWnd::Slot31(int x, int y) {
this->UIFrameWnd::Slot31(x, y);
if (UIWindow* comparison = g_windowMgr.unknown_0220) {
comparison->geometry.targetAlpha = this->geometry.targetAlpha;
comparison->geometry.alphaStart = this->geometry.alphaStart;
}
}
// OFFSET: 0x008F3C50
// FUNCTION: fn_12284
void UIItemCollection_ComparisonWnd::Slot31(int, int) {
@ -648,6 +695,16 @@ void UIPetTamingDeceiveWnd::Slot19() {
}
}
// OFFSET: 0x008F5070
// FUNCTION: fn_12299
void UIProhibitListWnd::Slot19() {
const int count = static_cast<int>(g_session.m_prohibitionLog.size());
if (this->m_count != count) {
this->m_count = count;
this->Invalidate();
}
}
// OFFSET: 0x008F50B0
// FUNCTION: fn_12300
void UISayDialogWnd::Slot19() {

View file

@ -0,0 +1,13 @@
#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIPROHIBITLISTWND_H
#define RAGNAROK_SOURCE_UI_DIALOGS_UIPROHIBITLISTWND_H
#include "UI/Window/UIFrameWnd.h"
class UIProhibitListWnd : public UIFrameWnd {
public:
/* 00B4 */ int m_count;
void Slot19() override;
};
#endif

View file

@ -8,8 +8,17 @@ public:
/* 00B4 */ unsigned char unknown_00B4[0x108];
/* 01BC */ UIWindow* m_preview;
/* 01C0 */ std::uint32_t m_previewTick;
/* 01C4 */ unsigned char unknown_01C4[0x34];
/* 01F8 */ int m_kind;
void Slot19() override;
void Slot25(int x, int y) override;
void Slot31(int x, int y) override;
};
class UICombinedCardItemCollectionWnd : public UIItemCollectionWnd {
public:
void Slot31(int x, int y) override;
};
class UIItemCollection_ComparisonWnd : public UIItemCollectionWnd {

View file

@ -169,8 +169,8 @@ public:
/* 0214 */ std::uint32_t unknown_0214;
/* 0218 */ std::uint32_t unknown_0218;
/* 021C */ std::uint32_t unknown_021C;
/* 0220 */ std::uint32_t unknown_0220;
/* 0224 */ std::uint32_t unknown_0224;
/* 0220 */ UIWindow* unknown_0220;
/* 0224 */ UIWindow* unknown_0224;
/* 0228 */ std::uint32_t unknown_0228;
/* 022C */ std::uint32_t unknown_022C;
/* 0230 */ UIWindow* window_0230;