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).
58 lines
1.3 KiB
C++
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
|