rodecomp/Source/UI/Exchange/UIExchangeUI.h
ragnarok-clanker ab8c1cde38 Decompile fn_15291 (CUIExchangeUI::Slot10)
Batch #4711 by youko: 0 byte-identical, 1 confirmed by peer review.

- fn_15291 CUIExchangeUI::Slot10: logic confirmed by peer review

Peer-reviewed-by: eAthena, alisonrag, Millenium
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 04:41:05 +00:00

53 lines
1.6 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_EXCHANGE_UIEXCHANGEUI_H
#define RAGNAROK_SOURCE_UI_EXCHANGE_UIEXCHANGEUI_H
#include "Contents/Items/ItemInfo.h"
#include "UI/FrameSkin.h"
#include "UI/Lists/UIListBoxTemplate.h"
#include <cstddef>
#include <cstdint>
namespace ExchangeUI {
class CUIItem : public CUIListItem {
public:
void Paint() override;
};
class CItemData {
public:
/* 0000 */ ITEM_INFO item;
/* 00F8 */ int unknown_00F8;
/* 00FC */ bool unknown_00FC;
};
using CItemListBox = CUIListBoxEx<CUIItem, CItemData>;
}
class CUIExchangeUI : public CUIFrameWnd {
public:
/* 00D8 */ CUITitleBar* titleBar;
/* 00DC */ CUIStaticText* unknown_00DC;
/* 00E0 */ CUIStaticImage* unknown_00E0;
/* 00E4 */ ExchangeUI::CItemListBox* firstList;
void Slot10(int x, int y, std::intptr_t value) override;
void OnCheckChanged(bool checked);
void OnEditSubmit();
void OnSelectFirstListItem(ExchangeUI::CUIItem* item, const ExchangeUI::CItemData& data);
void OnSelectSecondListItem(ExchangeUI::CUIItem* item, const ExchangeUI::CItemData& data);
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(ExchangeUI::CItemData) == 0x100);
static_assert(offsetof(ExchangeUI::CItemData, unknown_00FC) == 0xFC);
static_assert(offsetof(ExchangeUI::CItemListBox, imageNames) == 0x90);
static_assert(offsetof(ExchangeUI::CItemListBox, disabledName) == 0x98);
static_assert(offsetof(ExchangeUI::CItemListBox, scrollBar) == 0xB0);
static_assert(offsetof(ExchangeUI::CItemListBox, data) == 0xD4);
static_assert(offsetof(ExchangeUI::CItemListBox, onSelect) == 0xE8);
static_assert(offsetof(ExchangeUI::CItemListBox, binder) == 0x110);
#endif
#endif