rodecomp/Source/UI/Shortcuts/UIQuickSlotWnd.h
ragnarok-clanker 76124cd642 Decompile 4 functions in Source/UI/Shortcuts/ShortcutCooldowns.cpp, Source/UI/Shortcuts/UIQuickSlotWnd.h, ...
Batch #4706 by eAthena: 2 byte-identical, 2 confirmed by peer review.

- fn_12783 UIQuickSlotWnd::Slot11: logic confirmed by peer review
- fn_12784 UISeekPartyListWnd::Slot11: byte-identical
- fn_12785 UISeekPartyMBWnd::Slot11: byte-identical
- fn_12786 UISeekPartyWnd::Slot11: logic confirmed by peer review

Peer-reviewed-by: willerthal, tayoba, Snow
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 04:40:58 +00:00

58 lines
1.3 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_SHORTCUTS_UIQUICKSLOTWND_H
#define RAGNAROK_SOURCE_UI_SHORTCUTS_UIQUICKSLOTWND_H
#include "UI/Shortcuts/ShortcutCooldowns.h"
#include "UI/Window/UIFrameWnd.h"
#include <cstdint>
#include <list>
class FontCache;
struct TextLocale;
struct ClientSkills;
struct ITEM_INFO;
struct ItemDescriptions;
struct QuickSlotPainting {
FontCache& fonts;
const TextLocale& locale;
ClientSkills& skills;
const std::list<ITEM_INFO>& inventory;
ItemDescriptions& descriptions;
std::list<ShortcutCooldownIcon>& icons;
ShortcutCooldowns& cooldowns;
CooldownDrawing& drawing;
const CooldownClock& clock;
RenderCommandPool& commands;
CRenderSystemBase& system;
};
#pragma pack(push, 1)
struct QuickSlotEntry {
/* 0000 */ unsigned char skill;
/* 0001 */ std::uint32_t id;
/* 0005 */ std::int16_t count;
};
#pragma pack(pop)
struct QuickSlotWndInfo;
class UIQuickSlotWnd : public UIFrameWnd {
public:
void Slot11() override;
void Slot15(int width, int height) override;
void Slot19() override;
void Paint() override;
int SlotX(int slot);
int SlotAt(int x, int y);
protected:
/* 00B4 */ int m_selected;
/* 00B8 */ QuickSlotWndInfo* m_saved;
/* 00BC */ QuickSlotEntry m_entries[2];
QuickSlotPainting* m_painting;
};
static_assert(sizeof(QuickSlotEntry) == 7);
#endif