22 #ifndef KYRA_GUI_LOK_H 23 #define KYRA_GUI_LOK_H 25 #include "kyra/gui/gui_v1.h" 26 #include "kyra/graphics/screen_lok.h" 30 #define GUI_V1_BUTTON(button, a, b, c, d, e, f, g, h, i, j, k) \ 32 button.nextButton = 0; \ 34 button.keyCode = button.keyCode2 = 0; \ 35 button.data0Val1 = b; \ 36 button.data1Val1 = c; \ 37 button.data2Val1 = d; \ 38 button.data0ShapePtr = button.data1ShapePtr = button.data2ShapePtr = 0; \ 40 button.dimTableIndex = f; \ 46 button.mouseWheel = 0; \ 50 #define GUI_V1_MENU(menu, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) \ 59 menu.menuNameString = h; \ 63 menu.highlightedItem = l; \ 64 menu.numberOfItems = m; \ 65 menu.scrollUpButtonX = n; \ 66 menu.scrollUpButtonY = o; \ 67 menu.scrollDownButtonX = p; \ 68 menu.scrollDownButtonY = q; \ 71 #define GUI_V1_MENU_ITEM(item, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) \ 74 item.itemString = ""; \ 80 item.highlightColor = k; \ 86 item.labelString = r; \ 100 void processButton(
Button *button)
override;
101 int processButtonList(
Button *buttonList, uint16 inputFlags, int8 mouseWheel)
override;
103 int buttonMenuCallback(
Button *caller);
107 void initStaticResource();
109 Button _menuButtonData[6];
112 Button *getButtonListData()
override {
return _menuButtonData; }
113 Button *getScrollUpButton()
override {
return &_scrollUpButton; }
114 Button *getScrollDownButton()
override {
return &_scrollDownButton; }
122 void setupSavegames(
Menu &menu,
int num);
124 int resumeGame(
Button *button);
125 int loadGameMenu(
Button *button);
126 int saveGameMenu(
Button *button);
127 int gameControlsMenu(
Button *button);
128 int quitPlaying(
Button *button);
129 int quitConfirmYes(
Button *button);
130 int quitConfirmNo(
Button *button);
131 int loadGame(
Button *button);
132 int saveGame(
Button *button);
133 int savegameConfirm(
Button *button);
134 int cancelSubMenu(
Button *button);
135 int scrollUp(
Button *button);
136 int scrollDown(
Button *button);
137 int controlsChangeMusic(
Button *button);
138 int controlsChangeSounds(
Button *button);
139 int controlsChangeWalk(
Button *button);
140 int controlsChangeText(
Button *button);
141 int controlsChangeVoice(
Button *button);
142 int controlsApply(
Button *button);
144 bool quitConfirm(
const char *str);
146 void updateSavegameString();
147 void redrawTextfield();
149 void restorePalette();
150 void setupControls(
Menu &menu);
152 uint8 defaultColor1()
const override {
return 12; }
153 uint8 defaultColor2()
const override {
return 248; }
154 uint8 menuItemLabelColor()
const override {
return 253; }
156 Common::String getMenuTitle(
const Menu &menu)
override {
return menu.menuNameString; }
163 bool _menuRestoreScreen;
166 char _savegameName[35 * 4];
167 char _savegameNames[5][35 * 4];
168 const char *_specialSavegameString;
175 uint16 _backupChars[4];
177 int _saveLoadNumSlots;
181 Button::Callback getScrollUpButtonHandler()
const override {
return _scrollUpFunctor; }
182 Button::Callback getScrollDownButtonHandler()
const override {
return _scrollDownFunctor; }
184 const char *_voiceTextString;
185 const char *_textSpeedString;
186 const char *_onString;
187 const char *_offString;
188 const char *_confMusicMenuStrings[3];
189 uint8 _confMusicMenuMod;
Definition: kyra_lok.h:97
Definition: screen_lok.h:31
Definition: detection.h:27