21 #ifndef PELROCK_MENU_H 22 #define PELROCK_MENU_H 24 #include "graphics/font.h" 25 #include "graphics/managed_surface.h" 26 #include "graphics/screen.h" 28 #include "pelrock/events.h" 29 #include "pelrock/resources.h" 30 #include "pelrock/sound.h" 36 INVENTORY_PREV_BUTTON,
37 INVENTORY_NEXT_BUTTON,
47 enum SoundMenuButton {
57 static const int kCreditsOrder[34] = {
108 void saveScreenshot();
110 void drawInventoryIcons();
112 byte _mainMenuPalette[768] = {0};
115 void checkMouseDown(
int x,
int y);
116 bool checkMouseClick(
int x,
int y);
117 void checkSoundMenuClick(
int x,
int y);
118 bool checkMainMenuMouse(
int x,
int y);
120 bool selectInventoryItem(
int i);
121 void loadMenuTexts();
124 void drawConfirmation();
126 void drawMainButtons();
127 void drawSoundControls();
128 void readButton(byte *rawData, uint32 offset, byte *outBuffer[2],
int w,
int h);
130 void refreshSaveDescriptions();
131 void handleSaveMenuKey(Common::KeyCode key, uint16 ascii);
132 void backToMainMenu();
133 SoundMenuButton isSoundMenuButtonUnder(
int x,
int y);
134 MainMenuButton isMainMenuButtonUnder(
int x,
int y);
143 byte *_saveButtons[2] = {
nullptr};
146 byte *_loadButtons[2] = {
nullptr};
149 byte *_soundsButtons[2] = {
nullptr};
152 byte *_exitToDosButtons[2] = {
nullptr};
155 byte *_inventoryLeftArrow[2] = {
nullptr};
158 byte *_inventoryRightArrow[2] = {
nullptr};
161 byte *_savesUpArrows[2] = {
nullptr};
164 byte *_savesDownArrows[2] = {
nullptr};
167 byte *_questionMark[2] = {
nullptr};
178 byte *_soundControlArrowLeft[2] = {
nullptr};
179 byte *_soundControlArrowRight[2] = {
nullptr};
181 byte *_soundControlMasterIcon =
nullptr;
182 byte *_soundControlSfxIcon =
nullptr;
183 byte *_soundControlMusicIcon =
nullptr;
189 int _masterVolumeLevel = 14;
190 int _sfxVolumeLevel = 14;
191 int _musicVolumeLevel = 14;
195 int _selectedInvIndex = 0;
196 uint _curInventoryPage = 0;
201 bool showButtons =
true;
202 MenuState _menuState = MAIN_MENU;
206 int _saveGamePage = 0;
207 int _editingSaveSlot = -1;
215 #endif // PELROCK_MENU_H Definition: managed_surface.h:51
Definition: resources.h:36