rodecomp/Source/UI/Shop/UIMerchantShopMakeWnd.h
ragnarok-clanker 0bde6ccb98 Decompile fn_13433 (UIMerchantShopMakeWnd::SendMsg)
Batch #10349 by dori: 0 byte-identical, 1 confirmed by peer review.

- fn_13433 UIMerchantShopMakeWnd::SendMsg: logic confirmed by peer review

Peer-reviewed-by: Lumen, kyoshi, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-03 20:25:00 +00:00

84 lines
2.8 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_SHOP_UIMERCHANTSHOPMAKEWND_H
#define RAGNAROK_SOURCE_UI_SHOP_UIMERCHANTSHOPMAKEWND_H
#include "Contents/Items/ItemInfo.h"
#include "Contents/UserData/NormalItemSlots.h"
#include "UI/Window/UIFrameWnd.h"
#include <cstddef>
#include <cstdint>
#include <list>
#include <string>
#include <vector>
class UIBasicButton;
class UIEditCtrl;
class UIMerchantShopMakeWnd : public UIFrameWnd {
public:
explicit UIMerchantShopMakeWnd(int mode);
std::vector<unsigned char> BuildReplayRecords();
void Slot11() override;
void Slot15(int width, int height) override;
void Slot19() override;
void Slot10(int x, int y, std::intptr_t value) override;
void Slot25(int x, int y) override;
void Slot35(int value) override;
__declspec(noinline) ITEM_INFO GetItemAt(int x, int y);
void UpdateLayout();
void SetSelection(short row, short column);
bool HasSelection() const;
void SendShopRequest();
void AddActionButton();
void SetSuspended(unsigned char suspend);
void SetItems(int count, const short* ids);
int CommitPrice(int next);
void PrintBuyList();
void PrintSellList();
void Refresh();
void Slot32(int x, int y) override;
void Paint() override;
int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override;
/* 00B4 */ std::string unknown_00B4;
/* 00CC */ UIEditCtrl* unknown_00CC;
/* 00D0 */ unsigned char unknown_00D0[0x8];
/* 00D8 */ int editIndex;
/* 00DC */ UIWindow* notice;
/* 00E0 */ UIEditCtrl* priceEdits[13];
/* 0114 */ UIEditCtrl* quantityEdits[5];
/* 0128 */ UIEditCtrl* unknown_0128;
/* 012C */ int unknown_012C;
/* 0130 */ int mode;
/* 0134 */ UIWindow* scrollBar;
/* 0138 */ int scroll;
/* 013C */ int columns;
/* 0140 */ int unknown_0140;
/* 0144 */ int unknown_0144;
/* 0148 */ std::list<ITEM_INFO> items;
/* 0150 */ MerchantShopMakeWndInfo* saved;
/* 0154 */ int unknown_0154;
/* 0158 */ int unknown_0158;
/* 015C */ int visibleRows;
/* 0160 */ UIWindow* actionButtons[2];
/* 0168 */ UIBasicButton* unknown_0168;
/* 016C */ int unknown_016C;
/* 0170 */ std::string unknown_0170;
/* 0188 */ unsigned char unknown_0188;
/* 0189 */ unsigned char suspended;
/* 018A */ short unknown_018A;
/* 018C */ short unknown_018C;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(offsetof(UIMerchantShopMakeWnd, unknown_00CC) == 0xCC);
static_assert(offsetof(UIMerchantShopMakeWnd, editIndex) == 0xD8);
static_assert(offsetof(UIMerchantShopMakeWnd, priceEdits) == 0xE0);
static_assert(offsetof(UIMerchantShopMakeWnd, unknown_0128) == 0x128);
static_assert(offsetof(UIMerchantShopMakeWnd, items) == 0x148);
static_assert(offsetof(UIMerchantShopMakeWnd, saved) == 0x150);
static_assert(offsetof(UIMerchantShopMakeWnd, unknown_018C) == 0x18C);
#endif
#endif