Batch #15085 by Yommy: 30 byte-identical, 21 confirmed by peer review. - fn_14031 CUIListBox<AdventureGuide::CUITab>::LoadSkin: byte-identical - fn_14030 CUIListBox<AdventureGuide::CUISubTab>::LoadSkin: byte-identical - fn_14718 CUIThumb::LoadSkin: byte-identical - fn_14699 CUITitleBar::LoadSkin: byte-identical - fn_16815 CUIListBoxEx<SkillDelayInfo::CUIDelayItem,SkillDelayInfo::CDelayItemData>::LoadSkin: byte-identical - fn_16673 CUIListBoxEx<SelectPackageItemBox::CUITabInfo,SelectPackageItemBox::CTabInfoData>::LoadSkin: byte-identical - fn_16672 CUIListBoxEx<SelectPackageItemBox::CUIItemInfo,ITEM_INFO>::LoadSkin: byte-identical - fn_16442 CUIListBoxEx<RenewQuestUI::CUIQuestItem,unsigned long>::LoadSkin: byte-identical - fn_16234 CUIListBoxEx<OngoingQuestInfo::CUIRewardItem,OngoingQuestInfo::CRewardItemData>::LoadSkin: byte-identical - fn_16123 CUIListBoxEx<ProbabilityTable::CUIItem,ProbabilityTable::CItemData>::LoadSkin: byte-identical - fn_15431 CUIListBoxEx<GameSettingsUI::CUIOptionItem,TALKTYPE>::LoadSkin: byte-identical - fn_15430 CUIListBoxEx<GameSettingsUI::CUIComboItem,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::LoadSkin: byte-identical - fn_15429 CUIListBoxEx<GameSettingsUI::CUIComboItem,RenderBackend>::LoadSkin: byte-identical - fn_15428 CUIListBoxEx<GameSettingsUI::CUIComboItem,DisplayMode>::LoadSkin: byte-identical - fn_15427 CUIListBoxEx<GameSettingsUI::CUIComboItem,RenderAdapter>::LoadSkin: byte-identical - fn_15198 CUIListBoxEx<ExchangeUI::CUIItem,ExchangeUI::CItemData>::LoadSkin: byte-identical - fn_15040 CUIListBoxEx<EquipmentPropertiesWnd::CUIItemEquipmentPropertiesLine,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::LoadSkin: byte-identical - fn_14840 CUIListBoxEx<EnchantUI::CUITargetItem,ITEM_INFO>::LoadSkin: byte-identical - fn_14839 CUIListBoxEx<EnchantUI::CUIEnchantItem,EnchantUI::CEnchantItemData>::LoadSkin: byte-identical - fn_14719 CUIVScrollBar::LoadSkin: byte-identical - fn_14667 CUIStaticImage::LoadSkin: byte-identical - fn_14650 CUIImageButton::LoadSkin: byte-identical - fn_14035 CUIListBoxEx<AdventureGuide::CUITabInfo,Guide_Intro::Contents>::LoadSkin: byte-identical - fn_14034 CUIListBoxEx<AdventureGuide::CUIQuestInfo,AdventureGuide::CQuestInfo>::LoadSkin: byte-identical - fn_14033 CUIListBoxEx<AdventureGuide::CUIMonsterInfo,AdventureGuide::CMonsterData>::LoadSkin: byte-identical - fn_14032 CUIListBoxEx<AdventureGuide::CUIItemInfo,AdventureGuide::CItemData>::LoadSkin: byte-identical - fn_14490 CUIImageTextButton::LoadSkin: byte-identical - fn_18815 CEZ2STRParticle::ReleaseResource: byte-identical - fn_14508 CUIResizer::LoadSkin: byte-identical - fn_18819 CEZ2STRParticle::Open: logic confirmed by peer review (already on main) - fn_18817 CEZ2STRParticle::Clear: byte-identical - fn_14694 CUITabButton::LoadSkin: logic confirmed by peer review - fn_18813 CEZ2STRParticle::CEZ2STRParticle: logic confirmed by peer review (already on main) - fn_14406 CUIBasicButton::LoadSkin: logic confirmed by peer review - fn_16122 CUIListBoxEx<ProbabilityTable::CUIItem,ProbabilityTable::CItemData>::AddNewItem: logic confirmed by peer review - fn_15200 CUIListBoxEx<ExchangeUI::CUIItem,ExchangeUI::CItemData>::OnScroll: logic confirmed by peer review - fn_15033 CUIEquipmentPropertiesWnd::Initialize: logic confirmed by peer review - fn_15035 CUIEquipmentPropertiesWnd::OnCreate: logic confirmed by peer review - fn_15039 CUIListBoxEx<EquipmentPropertiesWnd::CUIItemEquipmentPropertiesLine,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::AddNewItem: logic confirmed by peer review - fn_15042 CUIListBoxEx<EquipmentPropertiesWnd::CUIItemEquipmentPropertiesLine,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::OnScroll: logic confirmed by peer review - fn_15171 CUIEquipmentPropertiesWnd::SetTab: logic confirmed by peer review - fn_16229 OngoingQuestInfo::CUIRewards::OnCreate: logic confirmed by peer review - fn_16233 CUIListBoxEx<OngoingQuestInfo::CUIRewardItem,OngoingQuestInfo::CRewardItemData>::AddNewItem: logic confirmed by peer review - fn_16317 CUIOngoingQuestInfo::SetQuest: logic confirmed by peer review - fn_16814 CUIListBoxEx<SkillDelayInfo::CUIDelayItem,SkillDelayInfo::CDelayItemData>::AddNewItem: logic confirmed by peer review - fn_16872 CUISkillDelayInfo::CUISkillDelayInfo: logic confirmed by peer review - fn_16434 RenewQuestUI::CUIQuestItem::OnCreate: logic confirmed by peer review - fn_16436 CUIRenewQuestUI::OnCreate: logic confirmed by peer review - fn_16439 CUIListBoxEx<RenewQuestUI::CUIQuestItem,unsigned long>::AddNewItem: logic confirmed by peer review - fn_16444 CUIListBoxEx<RenewQuestUI::CUIQuestItem,unsigned long>::OnScroll: logic confirmed by peer review - fn_16624 CUIRenewQuestUI::OnInit: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker Reviewed-by: ragnarok-clanker
60 lines
1.6 KiB
C++
60 lines
1.6 KiB
C++
#ifndef RAGNAROK_SOURCE_UI_LISTS_UITHUMB_H
|
|
#define RAGNAROK_SOURCE_UI_LISTS_UITHUMB_H
|
|
|
|
#include "UI/Window/UIControl.h"
|
|
|
|
#include <cstddef>
|
|
#include <functional>
|
|
#include <string>
|
|
|
|
class CUIThumb : public CUIControl {
|
|
public:
|
|
CUIThumb();
|
|
~CUIThumb() override;
|
|
void ResetCursor(int x, int y) override;
|
|
void OnMouseHover(int x, int y) override;
|
|
void LoadSkin(bool resolveSkin) override;
|
|
|
|
__declspec(noinline) void SetImages(const std::string& top, const std::string& middle, const std::string& bottom);
|
|
void SetImage(const std::string& name);
|
|
|
|
|
|
/* 0080 */ unsigned char resizable;
|
|
/* 0084 */ CResPtr<CBitmapRes> top;
|
|
/* 0088 */ CResPtr<CBitmapRes> middle;
|
|
/* 008C */ CResPtr<CBitmapRes> bottom;
|
|
/* 0090 */ int dragOrigin;
|
|
/* 0094 */ unsigned char transparent;
|
|
/* 0098 */ std::string tooltip;
|
|
/* 00B0 */ std::string topName;
|
|
/* 00C8 */ std::string middleName;
|
|
/* 00E0 */ std::string bottomName;
|
|
/* 00F8 */ std::function<void(int)> onDrag;
|
|
};
|
|
|
|
class CUIVThumb : public CUIThumb {
|
|
public:
|
|
CUIVThumb();
|
|
void Paint() override;
|
|
void OnLBtnDown(int x, int y) override;
|
|
void OnMouseMove(int x, int y) override;
|
|
void OnLBtnUp(int x, int y) override;
|
|
};
|
|
|
|
class CUIHThumb : public CUIVThumb {
|
|
public:
|
|
CUIHThumb();
|
|
void Paint() override;
|
|
void OnLBtnDown(int x, int y) override;
|
|
void OnMouseMove(int x, int y) override;
|
|
void OnLBtnUp(int x, int y) override;
|
|
};
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(offsetof(CUIThumb, dragOrigin) == 0x90);
|
|
static_assert(offsetof(CUIThumb, tooltip) == 0x98);
|
|
static_assert(offsetof(CUIThumb, onDrag) == 0xF8);
|
|
static_assert(sizeof(CUIThumb) == 0x120);
|
|
#endif
|
|
|
|
#endif
|