rodecomp/Source/UI/UIHotkeyGuideWnd.h
ragnarok-clanker 6d68e3854f Decompile 2 functions in Source/UI/Guild/UIGuildWnd.cpp, Source/UI/Guild/UIGuildWnd.h, ...
Batch #4079 by youko: 2 byte-identical, 0 confirmed by peer review.

- fn_13138 UICreateGuildWnd::Slot11: byte-identical
- fn_13158 HotkeyGuideKey::HotkeyGuideKey: byte-identical

Merged automatically: every function is byte-identical to the original.
2026-10-30 00:42:36 +00:00

62 lines
1.6 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_UIHOTKEYGUIDEWND_H
#define RAGNAROK_SOURCE_UI_UIHOTKEYGUIDEWND_H
#include "UI/Window/UIFrameWnd.h"
#include <map>
#include <string>
#include <vector>
struct UIButtonContext;
struct HotkeyGuideEntry {
/* 0000 */ int id;
/* 0004 */ int firstKey;
/* 0008 */ int secondKey;
};
struct HotkeyGuideKey {
/* 0000 */ bool valid;
/* 0004 */ int x;
/* 0008 */ int y;
/* 000C */ unsigned char align;
/* 000D */ unsigned char width;
/* 000E */ unsigned char padding;
/* 000F */ unsigned char height;
HotkeyGuideKey();
HotkeyGuideKey(int x, int y, unsigned char align, unsigned char width, unsigned char padding, unsigned char height);
};
struct HotkeyGuideLabel {
/* 0000 */ std::string text;
/* 0018 */ HotkeyGuideKey key;
/* 0028 */ HotkeyGuideKey altKey;
HotkeyGuideLabel(std::string text, HotkeyGuideKey key, HotkeyGuideKey altKey);
~HotkeyGuideLabel();
};
class UIHotkeyGuideWnd : public UIFrameWnd {
public:
UIHotkeyGuideWnd(UIWindowContext& windows, UIFrameContext& frames, UIButtonContext& controls);
void Slot19() override;
void DrawKey(const HotkeyGuideKey* key);
void DrawKeyLabel(std::string text, const HotkeyGuideKey* key);
protected:
/* 00B4 */ std::map<int, HotkeyGuideLabel> m_labels;
/* 00BC */ std::vector<HotkeyGuideEntry> m_entries;
/* 00C8 */ std::vector<UIWindow*> m_tabs;
/* 00D4 */ int m_current;
/* 00D8 */ std::vector<int> m_keys;
UIButtonContext* m_controls;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(HotkeyGuideKey) == 0x10);
static_assert(sizeof(HotkeyGuideLabel) == 0x38);
#endif
#endif