rodecomp/Source/UI/Exchange/UIExchangeUI.h
ragnarok-clanker b267a8d4dc Decompile 10 functions in Source/UI/Exchange/UIExchangeUI.cpp, Source/UI/Exchange/UIExchangeUI.h, ...
Batch #3854 by youko: 5 byte-identical, 5 confirmed by peer review.

- fn_15193 CUIListBoxEx<ExchangeUI::CUIItem,ExchangeUI::CItemData>::Paint: byte-identical
- fn_15194 CUIListBoxEx<ExchangeUI::CUIItem,ExchangeUI::CItemData>::Slot35: logic confirmed by peer review
- fn_15196 CUIListBoxEx<ExchangeUI::CUIItem,ExchangeUI::CItemData>::SetOnSelect: logic confirmed by peer review
- fn_15197 CUIListBoxEx<ExchangeUI::CUIItem,ExchangeUI::CItemData>::SetBinder: logic confirmed by peer review
- fn_15201 CUIListBoxEx<ExchangeUI::CUIItem,ExchangeUI::CItemData>::SetImages: logic confirmed by peer review
- fn_15289 CUIExchangeUI::OnCheckChanged: byte-identical
- fn_15292 CUIExchangeUI::OnEditSubmit: byte-identical
- fn_15293 CUIExchangeUI::OnSelectFirstListItem: byte-identical
- fn_15295 CUIExchangeUI::OnSelectSecondListItem: byte-identical
- fn_15297 ExchangeUI::CUIItem::Paint: logic confirmed by peer review

Peer-reviewed-by: eAthena, Yommy
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/Exchange/UIExchangeUI.cpp
2026-10-29 23:41:46 +00:00

45 lines
1.4 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>
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:
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