26 void resetVm(zenkit::DaedalusVm* vm);
37 void paintEvent (Tempest::PaintEvent& event)
override;
38 void resizeEvent(Tempest::SizeEvent& event)
override;
41 enum class QuestStat : uint8_t {
48 struct ListContentDialog;
49 struct ListViewDialog;
54 std::shared_ptr<zenkit::IMenuItem> handle={};
55 const Tempest::Texture2d* img=
nullptr;
57 Tempest::Pixmap savPriview;
65 zenkit::DaedalusVm* vm =
nullptr;
67 const Tempest::Texture2d* up =
nullptr;
68 const Tempest::Texture2d* down =
nullptr;
70 std::shared_ptr<zenkit::IMenu> menu={};
71 const Tempest::Texture2d* back=
nullptr;
72 const Tempest::Texture2d* slider=
nullptr;
73 Tempest::Texture2d savThumb;
74 std::vector<char> textBuf;
76 Item hItems[zenkit::IMenu::item_count];
77 Item* ctrlInput =
nullptr;
84 void drawItem(Tempest::Painter& p,
Item& it);
85 void drawSlider(Tempest::Painter& p,
Item& it,
int x,
int y,
int w,
int h);
86 void drawQuestList(Tempest::Painter& p,
Item& it,
int x,
int y,
int w,
int h,
92 void setSelection(
int cur,
int seek=1);
94 void getText(
const Item &it, std::vector<char>& out);
97 static bool isSelectable(
const std::shared_ptr<zenkit::IMenuItem>& item);
98 static bool isHorSelectable(
const std::shared_ptr<zenkit::IMenuItem>& item);
99 static bool isEnabled(
const std::shared_ptr<zenkit::IMenuItem>& item);
100 static bool isHidden(
const std::shared_ptr<zenkit::IMenuItem>& item);
104 void execChgOption(
Item &item,
int slideDx);
105 void execSaveGame (
const Item& item);
106 bool execLoadGame (
const Item& item);
109 bool implUpdateSavThumb(
Item& sel);
110 size_t saveSlotId(
const Item& sel);
112 std::string_view strEnum(std::string_view en,
int id, std::vector<char> &out);
113 size_t strEnumSize(std::string_view en);
116 void updateItem (
Item &item);
117 void updateSavTitle(
Item& sel);
118 void updateSavThumb(
Item& sel);
120 void setDefaultKeys(std::string_view preset);
122 static QuestStat toStatus(std::string_view str);
124 static int32_t numQuests(
const QuestLog* q, QuestStat st);
126 void set(std::string_view item,
const Tempest::Texture2d* value);
127 void set(std::string_view item,
const uint32_t value);
128 void set(std::string_view item,
const int32_t value);
129 void set(std::string_view item,
const int32_t value,
const int32_t max);
130 void set(std::string_view item, std::string_view value);