World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Класс Application::Menu

#include <GameMenu.h>

+ Граф связей класса Application::Menu:

Открытые члены

 Menu ()
 
void MenuLoop ()
 

Закрытые члены

void EventLoop ()
 

Закрытые данные

Mousemouse = nullptr
 

Подробное описание

См. определение в файле GameMenu.h строка 9

Конструктор(ы)

◆ Menu()

Application::Menu::Menu ( )
inline

См. определение в файле GameMenu.h строка 11

11  {
13  }

Перекрестные ссылки mouse и Engine_::IocContainer::ResolveMouse().

+ Граф вызовов:

Методы

◆ MenuLoop()

void Menu::MenuLoop ( )

См. определение в файле GameMenu.cpp строка 512

512  {
513  pEventTimer->Pause();
514  pAudioPlayer->StopChannels(-1, -1);
516 
518 
519  viewparams->field_48 = 1;
520 
521  if (gamma_preview_image) {
523  gamma_preview_image = nullptr;
524  }
525 
526  render->SaveScreenshot("gamma.pcx", 155, 117);
528 
529  while (uGameState == GAME_STATE_PLAYING &&
536  window->PeekMessageLoop();
537  if (dword_6BE364_game_settings_1 & GAME_SETTINGS_APP_INACTIVE) {
538  OS_WaitMessage();
539  continue;
540  }
541 
543  render->BeginScene();
544  {
545  EventLoop();
546  engine->DrawGUI();
549  }
550  render->EndScene();
551  render->Present();
552  }
553 
555  pGUIWindow_CurrentMenu = nullptr;
556 
557  if (gamma_preview_image) {
559  gamma_preview_image = nullptr;
560  }
561 }

Перекрестные ссылки assets, current_screen_type, dword_6BE364_game_settings_1, engine, EventLoop(), ViewingParams::field_48, GAME_STATE_PLAYING, GameUI_StatusBar_Draw(), GameUI_WritePointedObjectStatusString(), gamma_preview_image, AssetsManager::GetImage_PCXFromFile(), GUI_UpdateWindows(), OS_WaitMessage(), pAudioPlayer, Timer::Pause(), pEventTimer, pGUIWindow_CurrentMenu, Image::Release(), GUIWindow::Release(), render, SCREEN_KEYBOARD_OPTIONS, SCREEN_LOADGAME, SCREEN_MENU, SCREEN_OPTIONS, SCREEN_SAVEGAME, SCREEN_VIDEO_OPTIONS, AudioPlayer::StopChannels(), uGameState и viewparams.

Используется в Application::Game::EventLoop().

+ Граф вызовов:
+ Граф вызова функции:

◆ EventLoop()

void Menu::EventLoop ( )
private

См. определение в файле GameMenu.cpp строка 70

70  {
71  while (!pMessageQueue_50CBD0->Empty()) {
72  UIMessageType msg;
73  int param, param2;
74  pMessageQueue_50CBD0->PopMessage(&msg, &param, &param2);
75 
76  switch (msg) {
77  case UIMSG_StartNewGame:
79  continue;
80  case UIMSG_Quit:
82  continue;
85  continue;
86 
87  case UIMSG_ArrowUp:
90  new OnButtonClick2(215, 199, 17, 17, (int)pBtnArrowUp);
91  continue;
92 
93  case UIMSG_DownArrow:
95  if (pSaveListPosition > (param - 7) ) pSaveListPosition = (param - 7);
96  new OnButtonClick2(215, 323, 17, 17, (int)pBtnDownArrow);
97  continue;
98 
99  case UIMSG_Cancel:
100  new OnCancel(350, 302, 106, 42, (int)pBtnCancel);
101  continue;
102 
103  case UIMSG_SaveLoadBtn:
104  new OnSaveLoad(241, 302, 106, 42, (int)pBtnLoadSlot);
105  continue;
106  case UIMSG_SelectLoadSlot: {
108  WINDOW_INPUT_IN_PROGRESS)
109  pKeyActionMap->SetWindowInputStatus(WINDOW_INPUT_NONE);
110 
111  int v10 = pSaveListPosition + param;
113  uLoadGameUI_SelectedSlot != v10) {
116  0, 0);
117  pMessageQueue_50CBD0->AddGUIMessage(UIMSG_LoadGame, 0,
118  0);
119  }
121  dword_6BE138 = v10;
122  } else {
124  if (strcmp(pSavegameHeader[uLoadGameUI_SelectedSlot].pName,
125  localization->GetString(72))) // "Empty"
130  }
131  }
132  continue;
133  case UIMSG_LoadGame:
137  }
138  continue;
139  case UIMSG_SaveGame:
141  WINDOW_INPUT_IN_PROGRESS) {
142  pKeyActionMap->SetWindowInputStatus(WINDOW_INPUT_NONE);
143  strcpy((char *)&pSavegameHeader[uLoadGameUI_SelectedSlot],
145  }
147  continue;
153  new GUIWindow_Save(); // SaveUI_Load(current_screen_type =
154  // SCREEN_SAVEGAME);
155  continue;
156  }
157  case UIMSG_Game_OpenOptionsDialog: // Open
158  {
160 
163  new GUIWindow_GameOptions(); // GameMenuUI_Options_Load();
164 
165  viewparams->field_48 = 1;
167 
168  continue;
169  }
170 
171  case UIMSG_OpenKeyMappingOptions: // Open
172  {
174 
177  new GUIWindow_GameKeyBindings(); // GameMenuUI_OptionsKeymapping_Load();
178 
179  viewparams->field_48 = 1;
181 
182  continue;
183  }
184 
185  case UIMSG_ChangeKeyButton: {
187  pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0);
188  } else {
190  if (KeyboardPageNum != 1)
193  }
194  continue;
195  }
196 
197  case UIMSG_ResetKeyMapping: {
198  int v197 = 1;
200  for (uint i = 0; i < 28; i++) {
201  if (pKeyActionMap->GetActionVKey((enum InputAction)i) !=
203  if (v197) {
205  (unsigned char)pPrevVirtualCidesMapping[i],
207  (enum InputAction)i),
208  1);
209  v197 = 0;
210  } else {
212  (unsigned char)pPrevVirtualCidesMapping[i],
214  (enum InputAction)i),
215  0);
216  }
217  }
221  }
222  pAudioPlayer->PlaySound(SOUND_chimes, 0, 0, -1, 0, 0);
223  continue;
224  }
225 
227  KeyboardPageNum = 1;
228  continue;
230  KeyboardPageNum = 2;
231  continue;
232 
233  case UIMSG_OpenVideoOptions: {
235 
237  pGUIWindow_CurrentMenu = new GUIWindow_GameVideoOptions(); // GameMenuUI_OptionsVideo_Load();
238  viewparams->field_48 = 1;
240 
241  continue;
242  }
243 
244  case UIMSG_1A9:
245  __debugbreak();
246  if (param == 4) {
247  // --uGammaPos;
248  if ((uGammaPos-- - 1) < 0) {
249  uGammaPos = 0;
251  continue;
252  }
253  double v19 = (double)(signed int)uGammaPos * 0.1 + 0.6;
254  // engine->pGammaController->Initialize(v19);
255  new OnButtonClick2(21, 161, 0, 0, (int)pBtn_SliderLeft,
256  String(), false);
258  continue;
259  }
260  if (param == 5) {
261  ++uGammaPos;
262  if ((signed int)uGammaPos <= 9) {
263  double v21 = (double)(signed int)uGammaPos * 0.1 + 0.6;
264  // engine->pGammaController->Initialize(v21);
265  new OnButtonClick2(213, 161, 0, 0,
266  (int)pBtn_SliderRight, String(),
267  false);
269  continue;
270  }
271  uGammaPos = 9;
272  } else {
273  Point pt = mouse->GetCursorPos();
274  uGammaPos = (pt.x - 42) / 17;
275  double v22 = (double)(signed int)uGammaPos * 0.1 + 0.6;
276  // engine->pGammaController->Initialize(v22);
277  }
279  continue;
281  engine->ToggleBloodsplats();
282  continue;
284  render->ToggleColoredLights();
285  continue;
286  case UIMSG_ToggleTint:
287  render->ToggleTint();
288  continue;
289 
291  int new_level = engine->config->music_level;
292  if (param == 4) {
293  new_level -= 1;
294  new OnButtonClick2(243, 216, 0, 0, (int)pBtn_SliderLeft, String(), false);
295  } else if (param == 5) {
296  new_level += 1;
297  new OnButtonClick2(435, 216, 0, 0, (int)pBtn_SliderRight, String(), false);
298  } else {
299  Point pt = mouse->GetCursorPos();
300  new_level = (pt.x - 263) / 17; // for mouse
301  }
302 
303  engine->SetMusicLevel(new_level);
304  pAudioPlayer->SetMusicVolume(engine->config->music_level);
305  // if (engine->config->music_level > 0)
306  // pAudioPlayer->PlaySound(SOUND_hurp, -1, 0, -1, 0, 0);
307  continue;
308  }
309 
311  int new_level = engine->config->sound_level;
312  if (param == 4) {
313  new_level -= 1;
314  new OnButtonClick2(243, 162, 0, 0, (int)pBtn_SliderLeft, String(), false);
315  } else if (param == 5) {
316  new_level += 1;
317  new OnButtonClick2(435, 162, 0, 0, (int)pBtn_SliderRight, String(), false);
318  } else {
319  Point pt = mouse->GetCursorPos();
320  new_level = (pt.x - 263) / 17;
321  }
322 
323  engine->SetSoundLevel(new_level);
324 
325  pAudioPlayer->SetMasterVolume(engine->config->sound_level);
326  pAudioPlayer->PlaySound(SOUND_church, -1, 0, -1, 0, 0);
327  continue;
328  }
330  engine->ToggleFlipOnExit();
331  continue;
333  engine->ToggleAlwaysRun();
334  continue;
336  engine->ToggleWalkSound();
337  continue;
339  engine->ToggleShowDamage();
340  continue;
342  int new_level = engine->config->voice_level;
343  if (param == 4) {
344  new_level -= 1;
345  new OnButtonClick2(243, 270, 0, 0, (int)pBtn_SliderLeft, String(), false);
346  } else if (param == 5) {
347  new_level += 1;
348  new OnButtonClick2(435, 270, 0, 0, (int)pBtn_SliderRight, String(), false);
349  } else {
350  Point pt = mouse->GetCursorPos();
351  new_level = (pt.x - 263) / 17;
352  }
353 
354  engine->SetVoiceLevel(new_level);
355  if (engine->config->voice_level > 0)
356  pAudioPlayer->PlaySound(SOUND_hf445a, 44, 0, -1, 0, 0);
357  continue;
358  }
359  case UIMSG_SetTurnSpeed:
360  if (param)
362  engine->SetTurnSpeed(param);
363  continue;
364 
366  // if ( !bUseLoResSprites )
367  //{
368  // byte_6BE388_graphicsmode = uMessageParam;
369  // MM7Initialization();
370  // continue;
371  //}
372  // if ( uMessageParam )
373  //{
374  // if ( uMessageParam == 1 )
375  // {
376  // byte_6BE388_graphicsmode = 0;
377  // }
378  // else
379  // {
380  // if ( uMessageParam != 2 )
381  // continue;
382  // byte_6BE388_graphicsmode = 1;
383  // }
384  // MM7Initialization();
385  // continue;
386  //}
387  pModalWindow =
388  new GUIWindow_Modal(pNPCTopics[453].pText, UIMSG_0);
389  __debugbreak(); // Nomad: graphicsmode as it was now removed
390  continue;
391 
393  // pGUIWindow_CurrentMenu->Release();
394  pEventTimer->Resume();
396  viewparams->bRedrawGameUI = true;
397  continue;
398 
399  case UIMSG_Escape:
400  if (pModalWindow) {
402  pModalWindow = nullptr;
403  continue;
404  }
405  render->ClearZBuffer(0, 479);
406  viewparams->bRedrawGameUI = true;
407  viewparams->field_48 = 1;
408 
410  pEventTimer->Resume();
412  viewparams->bRedrawGameUI = true;
415  // crt_deconstruct_ptr_6A0118();
416 
422  OS_SetAppInt("soundflag", engine->config->sound_level);
423  OS_SetAppInt("musicflag", engine->config->music_level);
424  OS_SetAppInt("CharVoices", engine->config->voice_level);
425  OS_SetAppInt("WalkSound", engine->config->NoWalkSound() ? 0 : 1);
426  OS_SetAppInt("ShowDamage", engine->config->NoShowDamage() ? 0 : 1);
427  // OS_SetAppInt("graphicsmode", (unsigned
428  // __int8)byte_6BE388_graphicsmode);
429  OS_SetAppInt("valAlwaysRun", engine->config->always_run ? 1 : 0);
430  OS_SetAppInt("FlipOnExit", engine->config->flip_on_exit ? 1 : 0);
431 
432  if (engine->config->turn_speed == 0)
433  OS_SetAppInt("TurnDelta", 3);
434  else if (engine->config->turn_speed == 64)
435  OS_SetAppInt("TurnDelta", 2);
436  else if (engine->config->turn_speed == 128)
437  OS_SetAppInt("TurnDelta", 1);
438 
443  // if ( render->pRenderD3D )
444  {
445  OS_SetAppInt("Colored Lights", render->config->is_using_colored_lights);
446  OS_SetAppInt("Tinting", render->config->is_tinting);
447  OS_SetAppInt("Bloodsplats", engine->config->NoBloodsplats() ? 0 : 1);
448  }
449 
454  KeyToggleType pKeyToggleType; // [sp+0h] [bp-5FCh]@287
455  int v197 = 1;
456  bool pKeyBindingFlag = false;
457 
458  for (uint i = 0; i < 28; ++i) {
460  pKeyBindingFlag = true;
461  }
462  if (!pKeyBindingFlag) {
463  for (uint i = 0; i < 5; i++) {
464  if (game_ui_options_controls[i]) {
465  game_ui_options_controls[i]->Release();
466  game_ui_options_controls[i] = nullptr;
467  }
468  }
469 
470  for (uint i = 0; i < 28; ++i) {
472  (enum InputAction)i) !=
474  if (v197) {
477  (enum InputAction)i),
478  (unsigned char)
480  1);
481  v197 = 0;
482  } else {
485  (enum InputAction)i),
486  (unsigned char)
488  0);
489  }
490  }
491  if (i > 3 && i != 25 && i != 26)
492  pKeyToggleType = KeyToggleType::TOGGLE_OneTimePress;
493  else
494  pKeyToggleType = KeyToggleType::TOGGLE_Continuously;
496  i, pPrevVirtualCidesMapping[i], pKeyToggleType);
497  }
499  } else {
500  pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0);
501  }
502 
506  }
507  continue;
508  }
509  }
510 }

Перекрестные ссылки __debugbreak(), ViewingParams::bRedrawGameUI, current_screen_type, DoSavegame(), dword_6BE138, GUIMessageQueue::Empty(), engine, KeyboardActionMapping::EnterText(), ViewingParams::field_48, GUIMessageQueue::Flush(), Game_OpenLoadGameDialog(), Game_QuitGameWhilePlaying(), Game_StartNewGameWhilePlaying(), GAME_STATE_LOADING_GAME, game_ui_options_controls, game_ui_status_bar_event_string_time_left, GameMenuUI_InvaligKeyBindingsFlags, KeyboardActionMapping::GetActionVKey(), Mouse::GetCursorPos(), Localization::GetString(), GUI_ReplaceHotkey(), KeyboardPageNum, LoadGame(), localization, mouse, options_menu_skin, OS_SetAppInt(), pAudioPlayer, pBtn_SliderLeft, pBtn_SliderRight, pBtnArrowUp, pBtnCancel, pBtnDownArrow, pBtnLoadSlot, pEventTimer, pGUIWindow_CurrentMenu, pKeyActionMap, AudioPlayer::PlaySound(), pMessageQueue_50CBD0, pModalWindow, pNPCTopics, GUIMessageQueue::PopMessage(), pParty, KeyboardActionMapping::pPressedKeysBuffer, pPrevVirtualCidesMapping, pSavegameHeader, pSavegameUsedSlots, pSaveListPosition, GUIWindow::receives_keyboard_input_2, OptionsMenuSkin::Relaease(), GUIWindow::Release(), render, Timer::Resume(), SCREEN_GAME, SCREEN_KEYBOARD_OPTIONS, SCREEN_LOADGAME, SCREEN_MENU, SCREEN_OPTIONS, SCREEN_SAVEGAME, SCREEN_VIDEO_OPTIONS, KeyboardActionMapping::SetDefaultMapping(), KeyboardActionMapping::SetKeyMapping(), AudioPlayer::SetMasterVolume(), AudioPlayer::SetMusicVolume(), KeyboardActionMapping::SetWindowInputStatus(), SOUND_chimes, SOUND_church, SOUND_ClickMovingSelector, SOUND_error, SOUND_hf445a, Party::sRotationY, KeyboardActionMapping::StoreMappings(), TOGGLE_Continuously, TOGGLE_OneTimePress, uGameMenuUI_CurentlySelectedKeyIdx, uGameState, uGammaPos, UIMSG_0, UIMSG_1A9, UIMSG_ArrowUp, UIMSG_Cancel, UIMSG_ChangeKeyButton, UIMSG_ChangeMusicVolume, UIMSG_ChangeSoundVolume, UIMSG_ChangeVoiceVolume, UIMSG_DownArrow, UIMSG_Escape, UIMSG_Game_OpenLoadGameDialog, UIMSG_Game_OpenOptionsDialog, UIMSG_Game_OpenSaveGameDialog, UIMSG_GameMenu_ReturnToGame, UIMSG_LoadGame, UIMSG_OpenKeyMappingOptions, UIMSG_OpenVideoOptions, UIMSG_Quit, UIMSG_ResetKeyMapping, UIMSG_SaveGame, UIMSG_SaveLoadBtn, UIMSG_SelectKeyPage1, UIMSG_SelectKeyPage2, UIMSG_SelectLoadSlot, UIMSG_SetGraphicsMode, UIMSG_SetTurnSpeed, UIMSG_StartNewGame, UIMSG_ToggleAlwaysRun, UIMSG_ToggleBloodsplats, UIMSG_ToggleColoredLights, UIMSG_ToggleFlipOnExit, UIMSG_ToggleShowDamage, UIMSG_ToggleTint, UIMSG_ToggleWalkSound, uLoadGameUI_SelectedSlot, KeyboardActionMapping::uNumKeysPressed, viewparams и Point::x.

Используется в MenuLoop().

+ Граф вызовов:
+ Граф вызова функции:

Данные класса

◆ mouse

Mouse* Application::Menu::mouse = nullptr
private

См. определение в файле GameMenu.h строка 18

Используется в EventLoop() и Menu().


Объявления и описания членов классов находятся в файлах:
OnButtonClick2
Definition: GUIWindow.h:523
uLoadGameUI_SelectedSlot
unsigned int uLoadGameUI_SelectedSlot
Definition: mm7_data.cpp:693
CURRENT_SCREEN::SCREEN_OPTIONS
@ SCREEN_OPTIONS
ViewingParams::field_48
int field_48
Definition: Viewport.h:75
KeyboardActionMapping::EnterText
void EnterText(int a2, int max_string_len, GUIWindow *pWindow)
Definition: Keyboard.cpp:181
UIMessageType
UIMessageType
Definition: GUIWindow.h:13
AudioPlayer::SetMasterVolume
void SetMasterVolume(int level)
Definition: AudioPlayer.cpp:183
GUIMessageQueue::Empty
bool Empty()
Definition: GUIWindow.h:659
Localization::GetString
const char * GetString(unsigned int index) const
Definition: Localization.cpp:13
GUI_ReplaceHotkey
void GUI_ReplaceHotkey(uint8_t uOldHotkey, uint8_t uNewHotkey, char bFirstCall)
Definition: GUIWindow.cpp:192
UIMSG_SetTurnSpeed
@ UIMSG_SetTurnSpeed
Definition: GUIWindow.h:151
UIMSG_Escape
@ UIMSG_Escape
Definition: GUIWindow.h:96
pBtnArrowUp
GUIButton * pBtnArrowUp
Definition: GUIButton.cpp:86
GameMenuUI_InvaligKeyBindingsFlags
std::array< bool, 28 > GameMenuUI_InvaligKeyBindingsFlags
Definition: UIGame.cpp:210
AudioPlayer::SetMusicVolume
void SetMusicVolume(int music_level)
Definition: AudioPlayer.cpp:165
UIMSG_Quit
@ UIMSG_Quit
Definition: GUIWindow.h:114
Mouse::GetCursorPos
Point GetCursorPos()
Definition: Mouse.cpp:108
UIMSG_ToggleAlwaysRun
@ UIMSG_ToggleAlwaysRun
Definition: GUIWindow.h:187
Timer::Resume
void Resume()
Definition: Time.cpp:27
pBtnCancel
GUIButton * pBtnCancel
Definition: GUIButton.cpp:87
OptionsMenuSkin::Relaease
void Relaease()
Definition: UIGame.cpp:622
uGammaPos
unsigned int uGammaPos
Definition: mm7_data.cpp:214
GUIWindow_GameMenu
Definition: UIGame.h:12
uGameState
unsigned int uGameState
Definition: mm7_data.cpp:695
pGUIWindow_CurrentMenu
GUIWindow * pGUIWindow_CurrentMenu
Definition: GUIWindow.cpp:54
KeyboardPageNum
int KeyboardPageNum
Definition: mm7_data.cpp:542
GUIMessageQueue::Flush
void Flush()
Definition: GUIWindow.cpp:159
pNPCTopics
std::array< NPCTopic, 789 > pNPCTopics
Definition: mm7_data.cpp:740
AudioPlayer::PlaySound
void PlaySound(SoundID eSoundID, int pid, unsigned int uNumRepeats, int x, int y, int a7)
Definition: AudioPlayer.cpp:195
UIMSG_SetGraphicsMode
@ UIMSG_SetGraphicsMode
Definition: GUIWindow.h:113
GameUI_WritePointedObjectStatusString
void GameUI_WritePointedObjectStatusString()
Definition: UIGame.cpp:1266
engine
std::shared_ptr< Engine > engine
Definition: Engine.cpp:130
KeyToggleType::TOGGLE_Continuously
@ TOGGLE_Continuously
UIMSG_ChangeMusicVolume
@ UIMSG_ChangeMusicVolume
Definition: GUIWindow.h:95
SOUND_error
@ SOUND_error
Definition: AudioPlayer.h:19
UIMSG_SaveGame
@ UIMSG_SaveGame
Definition: GUIWindow.h:68
localization
Localization * localization
Definition: Localization.cpp:11
Point::x
unsigned int x
Definition: Point.h:7
GAME_STATE_LOADING_GAME
@ GAME_STATE_LOADING_GAME
Definition: Engine.h:35
DoSavegame
void DoSavegame(unsigned int uSlot)
Definition: SaveLoad.cpp:514
pSavegameUsedSlots
std::array< unsigned int, MAX_SAVE_SLOTS > pSavegameUsedSlots
Definition: SaveLoad.cpp:43
SOUND_chimes
@ SOUND_chimes
Definition: AudioPlayer.h:85
GUIWindow::Release
virtual void Release()
Definition: GUIWindow.cpp:292
GUIWindow_GameOptions
Definition: UIGame.h:20
GUIWindow_Modal
Definition: UIModal.h:5
Application::Menu::mouse
Mouse * mouse
Definition: GameMenu.h:18
AssetsManager::GetImage_PCXFromFile
Texture * GetImage_PCXFromFile(const String &name)
Definition: AssetsManager.cpp:111
GUIWindow::receives_keyboard_input_2
int receives_keyboard_input_2
Definition: GUIWindow.h:486
UIMSG_ChangeVoiceVolume
@ UIMSG_ChangeVoiceVolume
Definition: GUIWindow.h:153
current_screen_type
enum CURRENT_SCREEN current_screen_type
Definition: GUIWindow.cpp:83
OnSaveLoad
Definition: GUIWindow.h:558
UIMSG_DownArrow
@ UIMSG_DownArrow
Definition: GUIWindow.h:130
UIMSG_0
@ UIMSG_0
Definition: GUIWindow.h:14
SOUND_hf445a
@ SOUND_hf445a
Definition: AudioPlayer.h:95
GUIWindow_GameVideoOptions
Definition: UIGame.h:38
pParty
Party * pParty
Definition: Party.cpp:30
Game_OpenLoadGameDialog
void Game_OpenLoadGameDialog()
Definition: GameMenu.cpp:60
SOUND_ClickMovingSelector
@ SOUND_ClickMovingSelector
Definition: AudioPlayer.h:16
UIMSG_ArrowUp
@ UIMSG_ArrowUp
Definition: GUIWindow.h:129
UIMSG_StartNewGame
@ UIMSG_StartNewGame
Definition: GUIWindow.h:107
KeyToggleType::TOGGLE_OneTimePress
@ TOGGLE_OneTimePress
UIMSG_ResetKeyMapping
@ UIMSG_ResetKeyMapping
Definition: GUIWindow.h:204
gamma_preview_image
Image * gamma_preview_image
Definition: Game.cpp:242
UIMSG_ToggleColoredLights
@ UIMSG_ToggleColoredLights
Definition: GUIWindow.h:209
KeyboardActionMapping::SetKeyMapping
void SetKeyMapping(int uAction, int vKey, KeyToggleType type)
Definition: Keyboard.cpp:138
options_menu_skin
OptionsMenuSkin options_menu_skin
Definition: UIGame.cpp:606
CURRENT_SCREEN::SCREEN_LOADGAME
@ SCREEN_LOADGAME
param
GLfloat param
Definition: SDL_opengl_glext.h:373
viewparams
struct ViewingParams * viewparams
Definition: mm7_data.cpp:22
UIMSG_Game_OpenSaveGameDialog
@ UIMSG_Game_OpenSaveGameDialog
Definition: GUIWindow.h:109
UIMSG_Game_OpenOptionsDialog
@ UIMSG_Game_OpenOptionsDialog
Definition: GUIWindow.h:110
KeyboardActionMapping::pPressedKeysBuffer
char pPressedKeysBuffer[257]
Definition: Keyboard.h:66
GameUI_StatusBar_Draw
void GameUI_StatusBar_Draw()
Definition: UIStatusBar.cpp:71
Engine_::IocContainer::ResolveMouse
static Mouse * ResolveMouse()
Definition: IocContainer.cpp:88
CURRENT_SCREEN::SCREEN_SAVEGAME
@ SCREEN_SAVEGAME
AudioPlayer::StopChannels
void StopChannels(int uStartChannel, int uEndChannel)
Definition: AudioPlayer.cpp:331
Application::Menu::EventLoop
void EventLoop()
Definition: GameMenu.cpp:70
pSaveListPosition
int pSaveListPosition
Definition: mm7_data.cpp:692
window
EGLSurface EGLNativeWindowType * window
Definition: SDL_egl.h:1580
UIMSG_SelectKeyPage1
@ UIMSG_SelectKeyPage1
Definition: GUIWindow.h:202
GUI_UpdateWindows
void GUI_UpdateWindows()
Definition: GUIWindow.cpp:956
KeyToggleType
KeyToggleType
Definition: Keyboard.h:37
UIMSG_SaveLoadBtn
@ UIMSG_SaveLoadBtn
Definition: GUIWindow.h:131
UIMSG_OpenKeyMappingOptions
@ UIMSG_OpenKeyMappingOptions
Definition: GUIWindow.h:201
Timer::Pause
void Pause()
Definition: Time.cpp:19
UIMSG_ToggleFlipOnExit
@ UIMSG_ToggleFlipOnExit
Definition: GUIWindow.h:188
UIMSG_1A9
@ UIMSG_1A9
Definition: GUIWindow.h:211
GUIMessageQueue::PopMessage
void PopMessage(UIMessageType *pMsg, int *pParam, int *a4)
Definition: GUIWindow.cpp:174
UIMSG_Cancel
@ UIMSG_Cancel
Definition: GUIWindow.h:133
KeyboardActionMapping::GetActionVKey
unsigned int GetActionVKey(enum InputAction eAction)
Definition: Keyboard.cpp:145
KeyboardActionMapping::SetWindowInputStatus
void SetWindowInputStatus(int a2)
Definition: Keyboard.cpp:195
Game_StartNewGameWhilePlaying
void Game_StartNewGameWhilePlaying(bool force_start)
Definition: GameMenu.cpp:29
UIMSG_ToggleShowDamage
@ UIMSG_ToggleShowDamage
Definition: GUIWindow.h:154
UIMSG_ChangeSoundVolume
@ UIMSG_ChangeSoundVolume
Definition: GUIWindow.h:94
KeyboardActionMapping::StoreMappings
void StoreMappings()
Definition: Keyboard.cpp:267
UIMSG_Game_OpenLoadGameDialog
@ UIMSG_Game_OpenLoadGameDialog
Definition: GUIWindow.h:108
game_ui_options_controls
std::array< Image *, 5 > game_ui_options_controls
Definition: UIGame.cpp:100
GAME_STATE_PLAYING
@ GAME_STATE_PLAYING
Definition: Engine.h:32
pBtnLoadSlot
GUIButton * pBtnLoadSlot
Definition: GUIButton.cpp:88
UIMSG_LoadGame
@ UIMSG_LoadGame
Definition: GUIWindow.h:67
pBtnDownArrow
GUIButton * pBtnDownArrow
Definition: GUIButton.cpp:85
game_ui_status_bar_event_string_time_left
unsigned int game_ui_status_bar_event_string_time_left
Definition: mm7_data.cpp:639
CURRENT_SCREEN::SCREEN_GAME
@ SCREEN_GAME
UIMSG_OpenVideoOptions
@ UIMSG_OpenVideoOptions
Definition: GUIWindow.h:207
UIMSG_ToggleTint
@ UIMSG_ToggleTint
Definition: GUIWindow.h:210
CURRENT_SCREEN::SCREEN_MENU
@ SCREEN_MENU
OnCancel
Definition: GUIWindow.h:568
GUIWindow_GameKeyBindings
Definition: UIGame.h:28
pPrevVirtualCidesMapping
std::array< unsigned int, 28 > pPrevVirtualCidesMapping
Definition: mm7_data.cpp:541
KeyboardActionMapping::SetDefaultMapping
void SetDefaultMapping()
Definition: Keyboard.cpp:167
pKeyActionMap
struct KeyboardActionMapping * pKeyActionMap
Definition: Keyboard.cpp:35
UIMSG_SelectLoadSlot
@ UIMSG_SelectLoadSlot
Definition: GUIWindow.h:132
assets
AssetsManager * assets
Definition: AssetsManager.cpp:12
uint
unsigned int uint
Definition: MM7.h:4
__debugbreak
void __cdecl __debugbreak(void)
UIMSG_SelectKeyPage2
@ UIMSG_SelectKeyPage2
Definition: GUIWindow.h:203
pBtn_SliderLeft
GUIButton * pBtn_SliderLeft
Definition: GUIButton.cpp:82
pBtn_SliderRight
GUIButton * pBtn_SliderRight
Definition: GUIButton.cpp:81
ViewingParams::bRedrawGameUI
int bRedrawGameUI
Definition: Viewport.h:74
dword_6BE364_game_settings_1
int dword_6BE364_game_settings_1
Definition: mm7_data.cpp:714
LoadGame
void LoadGame(unsigned int uSlot)
Definition: SaveLoad.cpp:77
UIMSG_ChangeKeyButton
@ UIMSG_ChangeKeyButton
Definition: GUIWindow.h:205
UIMSG_ToggleBloodsplats
@ UIMSG_ToggleBloodsplats
Definition: GUIWindow.h:208
OS_SetAppInt
void OS_SetAppInt(const char *pKey, int val)
Definition: Lin.cpp:98
InputAction
InputAction
Definition: Keyboard.h:4
CURRENT_SCREEN::SCREEN_KEYBOARD_OPTIONS
@ SCREEN_KEYBOARD_OPTIONS
pAudioPlayer
AudioPlayer * pAudioPlayer
Definition: AudioPlayer.cpp:20
pModalWindow
GUIWindow * pModalWindow
Definition: GUIWindow.cpp:57
KeyboardActionMapping::uNumKeysPressed
uint8_t uNumKeysPressed
Definition: Keyboard.h:67
UIMSG_ToggleWalkSound
@ UIMSG_ToggleWalkSound
Definition: GUIWindow.h:152
Point
Definition: Point.h:3
dword_6BE138
int dword_6BE138
Definition: mm7_data.cpp:704
pMessageQueue_50CBD0
struct GUIMessageQueue * pMessageQueue_50CBD0
Definition: GUIWindow.cpp:86
SOUND_church
@ SOUND_church
Definition: AudioPlayer.h:84
CURRENT_SCREEN::SCREEN_VIDEO_OPTIONS
@ SCREEN_VIDEO_OPTIONS
Party::sRotationY
int sRotationY
Definition: Party.h:251
GUIWindow_Save
Definition: UISaveLoad.h:5
UIMSG_GameMenu_ReturnToGame
@ UIMSG_GameMenu_ReturnToGame
Definition: GUIWindow.h:106
String
std::string String
Definition: Strings.h:10
pEventTimer
Timer * pEventTimer
Definition: Time.cpp:8
OS_WaitMessage
void OS_WaitMessage()
Definition: Lin.cpp:32
Image::Release
bool Release()
Definition: Image.cpp:335
uGameMenuUI_CurentlySelectedKeyIdx
int uGameMenuUI_CurentlySelectedKeyIdx
Definition: mm7_data.cpp:540
Game_QuitGameWhilePlaying
void Game_QuitGameWhilePlaying(bool force_quit)
Definition: GameMenu.cpp:44
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52
pSavegameHeader
std::array< SavegameHeader, MAX_SAVE_SLOTS > pSavegameHeader
Definition: SaveLoad.cpp:45