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

#include <GUIWindow.h>

+ Граф наследования:GUIWindow:
+ Граф связей класса GUIWindow:

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

 GUIWindow ()
 
 GUIWindow (WindowType windowType, unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int pButton, const String &hint=String())
 
virtual ~GUIWindow ()
 
GUIButtonCreateButton (int x, int y, int width, int height, int a6, int a7, UIMessageType msg, unsigned int msg_param, uint8_t hotkey, const String &label, const std::vector< Image * > &textures=std::vector< Image * >())
 
bool Contains (unsigned int x, unsigned int y)
 
void DrawFlashingInputCursor (int uX, int uY, GUIFont *a2)
 
int DrawTextInRect (GUIFont *font, unsigned int x, unsigned int y, unsigned int color, const char *text, int rect_width, int reverse_text)
 
int DrawTextInRect (GUIFont *font, unsigned int x, unsigned int y, unsigned int color, String &str, int rect_width, int reverse_text)
 
void DrawText (GUIFont *font, int x, int y, unsigned short uFontColor, const char *str, bool present_time_transparency=false, int max_text_height=0, int uFontShadowColor=0)
 
void DrawText (GUIFont *font, int x, int y, unsigned short uFontColor, const String &str, bool present_time_transparency=false, int max_text_height=0, int uFontShadowColor=0)
 
void DrawTitleText (GUIFont *font, int horizontal_margin, int vertical_margin, unsigned __int16 uDefaultColor, const char *pInString, int line_spacing)
 
void DrawTitleText (GUIFont *font, int horizontal_margin, int vertical_margin, unsigned __int16 uDefaultColor, const String &str, int line_spacing)
 
void DrawShops_next_generation_time_string (GameTime time)
 
void HouseDialogManager ()
 
void DrawMessageBox (bool inside_game_viewport)
 
GUIButtonGetControl (unsigned int uID)
 
void _41D08F_set_keyboard_control_group (int num_buttons, int a3, int a4, int a5)
 
void _41D73D_draw_buff_tooltip ()
 
virtual void Update ()
 
virtual void Release ()
 
void DeleteButtons ()
 

Открытые статические члены

static void InitializeGUI ()
 

Открытые атрибуты

unsigned int uFrameX
 
unsigned int uFrameY
 
unsigned int uFrameWidth
 
unsigned int uFrameHeight
 
unsigned int uFrameZ
 
unsigned int uFrameW
 
WindowType eWindowType
 
union {
   void *   ptr_1C
 
   unsigned int   par1C
 
}; 
 
int field_24
 
int pNumPresenceButton
 
int pCurrentPosActiveItem
 
int field_30
 
int field_34
 
int pStartingPosActiveItem
 
int receives_keyboard_input_2
 
bool receives_keyboard_input
 
String sHint
 
std::vector< GUIButton * > vButtons
 
Mousemouse = nullptr
 
Loglog = nullptr
 

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

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

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

◆ GUIWindow() [1/2]

GUIWindow::GUIWindow ( )

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

766  this->mouse = EngineIoc::ResolveMouse();
767  this->log = EngineIoc::ResolveLogger();
768 }

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

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

◆ GUIWindow() [2/2]

GUIWindow::GUIWindow ( WindowType  windowType,
unsigned int  uX,
unsigned int  uY,
unsigned int  uWidth,
unsigned int  uHeight,
int  pButton,
const String hint = String() 
)

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

773  : eWindowType(windowType) {
774  this->mouse = EngineIoc::ResolveMouse();
775  this->log = EngineIoc::ResolveLogger();
776 
777  log->Info(L"New window: %S", ToString(windowType));
778  lWindowList.push_front(this);
779  this->uFrameWidth = uWidth;
780  this->uFrameHeight = uHeight;
781 
782  this->uFrameX = uX;
783  this->uFrameY = uY;
784  this->uFrameZ = uX + uWidth - 1;
785  this->uFrameW = uY + uHeight - 1;
786 
787  this->ptr_1C = (void *)pButton;
788  this->sHint = hint;
789 
790  this->receives_keyboard_input = false;
791 }

Перекрестные ссылки Log::Info(), log, lWindowList, mouse, ptr_1C, receives_keyboard_input, Engine_::IocContainer::ResolveLogger(), Engine_::IocContainer::ResolveMouse(), sHint, ToString(), uFrameHeight, uFrameW, uFrameWidth, uFrameX, uFrameY и uFrameZ.

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

◆ ~GUIWindow()

virtual GUIWindow::~GUIWindow ( )
inlinevirtual

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

437 {}

Методы

◆ CreateButton()

GUIButton * GUIWindow::CreateButton ( int  x,
int  y,
int  width,
int  height,
int  a6,
int  a7,
UIMessageType  msg,
unsigned int  msg_param,
uint8_t  hotkey,
const String label,
const std::vector< Image * > &  textures = std::vector<Image*>() 
)

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

721  {
722  GUIButton *pButton = new GUIButton();
723 
724  pButton->pParent = this;
725  pButton->uWidth = uWidth;
726  pButton->uHeight = uHeight;
727 
728  if (a6 == 2 && !uHeight) {
729  pButton->uHeight = uWidth;
730  }
731 
732  pButton->uButtonType = a6;
733  pButton->uX = uX + this->uFrameX;
734  pButton->uY = uY + this->uFrameY;
735  pButton->uZ = pButton->uX + uWidth;
736  pButton->uW = pButton->uY + uHeight;
737  pButton->field_2C_is_pushed = false;
738  pButton->field_1C = a7;
739  pButton->msg = msg;
740  pButton->msg_param = msg_param;
741  pButton->uHotkey = uHotkey;
742  pButton->sLabel = label;
743  pButton->vTextures = textures;
744 
745  vButtons.push_back(pButton);
746 
747  return pButton;
748 }

Перекрестные ссылки GUIButton::field_1C, GUIButton::field_2C_is_pushed, GUIButton::msg, GUIButton::msg_param, GUIButton::pParent, GUIButton::sLabel, GUIButton::uButtonType, uFrameX, uFrameY, GUIButton::uHeight, GUIButton::uHotkey, GUIButton::uW, GUIButton::uWidth, GUIButton::uX, GUIButton::uY, GUIButton::uZ, vButtons и GUIButton::vTextures.

Используется в _42777D_CastSpell_UseWand_ShootArrow(), _4B3FE5_training_dialogue(), _4B4224_UpdateNPCTopics(), Arena_SelectionFightLevel(), BackToHouseMenu(), GUIWindow_Book::BasicBookInitialization(), GUIWindow_CharacterRecord::CharacterUI_SkillsTab_CreateButtons(), CheckBountyRespawnAndAward(), CreateAwardsScrollBar(), CreateButtonInColumn(), DrawJoinGuildWindow(), EventProcessor(), GameUI_InitializeDialogue(), CastSpellInfo::GetCastSpellInInventoryWindow(), GUICredits::GUICredits(), GUIWindow_AutonotesBook::GUIWindow_AutonotesBook(), GUIWindow_CharacterRecord::GUIWindow_CharacterRecord(), GUIWindow_Chest::GUIWindow_Chest(), GUIWindow_DebugMenu::GUIWindow_DebugMenu(), GUIWindow_Dialogue::GUIWindow_Dialogue(), GUIWindow_GameKeyBindings::GUIWindow_GameKeyBindings(), GUIWindow_GameMenu::GUIWindow_GameMenu(), GUIWindow_GameOptions::GUIWindow_GameOptions(), GUIWindow_GameVideoOptions::GUIWindow_GameVideoOptions(), GUIWindow_House::GUIWindow_House(), GUIWindow_Inventory_CastSpell::GUIWindow_Inventory_CastSpell(), GUIWindow_JournalBook::GUIWindow_JournalBook(), GUIWindow_LloydsBook::GUIWindow_LloydsBook(), GUIWindow_Load::GUIWindow_Load(), GUIWindow_MainMenu::GUIWindow_MainMenu(), GUIWindow_MapBook::GUIWindow_MapBook(), GUIWindow_PartyCreation::GUIWindow_PartyCreation(), GUIWindow_QuestBook::GUIWindow_QuestBook(), GUIWindow_QuickReference::GUIWindow_QuickReference(), GUIWindow_Rest::GUIWindow_Rest(), GUIWindow_Save::GUIWindow_Save(), GUIWindow_Scroll::GUIWindow_Scroll(), GUIWindow_TownPortalBook::GUIWindow_TownPortalBook(), GUIWindow_Transition::GUIWindow_Transition(), GUIWindow_Travel::GUIWindow_Travel(), HouseDialogPressCloseBtn(), NPCHireableDialogPrepare(), OnSelectShopDialogueOption(), GUIWindow_Spellbook::OpenSpellbook(), sub_4451A8_press_any_key(), sub_4B3E1E(), GUIWindow_CharacterRecord::ToggleRingsOverlay(), UI_Create() и UI_CreateEndConversationButton().

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

◆ Contains()

bool GUIWindow::Contains ( unsigned int  x,
unsigned int  y 
)

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

750  {
751  return (x >= uFrameX && x <= uFrameZ && y >= uFrameY && y <= uFrameW);
752 }

Перекрестные ссылки uFrameW, uFrameX и uFrameY.

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

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

◆ DrawFlashingInputCursor()

void GUIWindow::DrawFlashingInputCursor ( int  uX,
int  uY,
GUIFont a2 
)

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

759  {
760  if (OS_GetTime() % 1000 > 500) {
761  DrawText(a2, uX, uY, 0, "_", 0, 0, 0);
762  }
763 }

Перекрестные ссылки DrawText() и OS_GetTime().

Используется в BankDialog(), TownHallDialog(), UI_DrawSaveLoad(), GUIWindow_PartyCreation::Update() и GUIWindow_GenericDialogue::Update().

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

◆ DrawTextInRect() [1/2]

int GUIWindow::DrawTextInRect ( GUIFont font,
unsigned int  x,
unsigned int  y,
unsigned int  color,
const char *  text,
int  rect_width,
int  reverse_text 
)

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

704  {
705  String label = String(text);
706  return DrawTextInRect(font, x, y, color, label, rect_width, reverse_text);
707 }

Используется в GUIWindow_CharacterRecord::CharacterUI_StatsTab_Draw(), UI_DrawSaveLoad(), GUIWindow_QuickReference::Update() и GUIWindow_PartyCreation::Update().

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

◆ DrawTextInRect() [2/2]

int GUIWindow::DrawTextInRect ( GUIFont font,
unsigned int  x,
unsigned int  y,
unsigned int  color,
String str,
int  rect_width,
int  reverse_text 
)

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

712  {
713  return pFont->DrawTextInRect(this, uX, uY, uColor, str, rect_width,
714  reverse_text);
715 }

Перекрестные ссылки GUIFont::DrawTextInRect().

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

◆ DrawText() [1/2]

void GUIWindow::DrawText ( GUIFont font,
int  x,
int  y,
unsigned short  uFontColor,
const char *  str,
bool  present_time_transparency = false,
int  max_text_height = 0,
int  uFontShadowColor = 0 
)

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

697  {
698  font->DrawText(this, uX, uY, uFontColor, Str, present_time_transparency,
699  max_text_height, uFontShadowColor);
700 }

Перекрестные ссылки GUIFont::DrawText().

Используется в _41D73D_draw_buff_tooltip(), am_DrawText(), ArenaFight(), buttonbox(), GUIWindow_CharacterRecord::CharacterUI_AwardsTab_Draw(), CharacterUI_DrawTooltip(), GUIWindow_CharacterRecord::CharacterUI_SkillsTab_Draw(), CharacterUI_SkillsTab_Draw__DrawSkillTable(), GUIWindow_CharacterRecord::CharacterUI_StatsTab_Draw(), CreateScrollWindow(), DrawFlashingInputCursor(), Engine::DrawGUI(), GUIButton::DrawLabel(), DrawSpellDescriptionPopup(), DrawText(), GameUI_DrawFoodAndGold(), GameUI_DrawItemInfo(), GameUI_DrawNPCPopup(), GameUI_StatusBar_Draw(), GameUI_StatusBar_DrawImmediate(), GUIWindow_Load::GUIWindow_Load(), HouseDialogManager(), MonsterPopup_Draw(), SimpleHouseDialog(), sub_4B1523_showSpellbookInfo(), TavernDialog(), UI_DrawSaveLoad(), UI_OnMouseRightClick(), GUIWindow_QuestBook::Update(), GUIWindow_JournalBook::Update(), GUIWindow_QuickReference::Update(), GUIWindow_AutonotesBook::Update(), GUIWindow_CalendarBook::Update(), GUIWindow_Dialogue::Update(), GUIWindow_Rest::Update(), GUIWindow_Inventory::Update(), GUIWindow_PartyCreation::Update(), GUIWindow_GenericDialogue::Update() и GUIWindow_GameKeyBindings::Update().

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

◆ DrawText() [2/2]

void GUIWindow::DrawText ( GUIFont font,
int  x,
int  y,
unsigned short  uFontColor,
const String str,
bool  present_time_transparency = false,
int  max_text_height = 0,
int  uFontShadowColor = 0 
)

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

687  {
688  this->DrawText(font, x, y, uFontColor, str.c_str(),
689  present_time_transparency, max_text_height,
690  uFontShadowColor);
691 }

Перекрестные ссылки DrawText().

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

◆ DrawTitleText() [1/2]

void GUIWindow::DrawTitleText ( GUIFont font,
int  horizontal_margin,
int  vertical_margin,
unsigned __int16  uDefaultColor,
const char *  pInString,
int  line_spacing 
)

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

668  {
669  int width = this->uFrameWidth - uHorizontalMargin;
670  ui_current_text_color = uDefaultColor;
671  String resString = pFont->FitTextInAWindow(pInString, this->uFrameWidth,
672  uHorizontalMargin);
673  std::istringstream stream(resString);
674  String line;
675  int x = uHorizontalMargin + this->uFrameX;
676  int y = uVerticalMargin + this->uFrameY;
677  while (std::getline(stream, line)) {
678  unsigned int x_offset = pFont->AlignText_Center(width, line);
679  pFont->DrawTextLine(line, uDefaultColor, x + x_offset, y,
680  window->GetWidth());
681  y += pFont->GetHeight() - uLineSpacing;
682  }
683 }

Перекрестные ссылки GUIFont::AlignText_Center(), GUIFont::DrawTextLine(), GUIFont::FitTextInAWindow(), GUIFont::GetHeight(), uFrameWidth, uFrameX, uFrameY и ui_current_text_color.

Используется в _41D73D_draw_buff_tooltip(), AlchemyMagicShopWares(), ArmorShopWares(), BankDialog(), CharacterUI_DrawTooltip(), CreateScrollWindow(), DrawMessageBox(), DrawMM7CopyrightWindow(), DrawShops_next_generation_time_string(), DrawSpellDescriptionPopup(), DrawTitleText(), GameUI_DrawItemInfo(), GameUI_DrawNPCPopup(), GuildDialog(), HouseDialogManager(), JailDialog(), MonsterPopup_Draw(), ShopDialogDisplayEquip(), ShopDialogIdentify(), ShopDialogLearn(), ShopDialogMain(), ShopDialogRepair(), ShopDialogSellEquip(), SimpleHouseDialog(), sub_4B1523_showSpellbookInfo(), sub_4B6478(), TavernDialog(), TempleDialog(), TownHallDialog(), TrainingDialog(), TravelByTransport(), UI_DrawSaveLoad(), UI_OnMouseRightClick(), GUIWindow_QuestBook::Update(), GUIWindow_TownPortalBook::Update(), GUIWindow_CalendarBook::Update(), GUIWindow_LloydsBook::Update(), GUIWindow_JournalBook::Update(), GUIWindow_AutonotesBook::Update(), GUIWindow_MapBook::Update(), GUIWindow_Travel::Update(), GUIWindow_Transition::Update(), GUIWindow_GameVideoOptions::Update() и WeaponShopWares().

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

◆ DrawTitleText() [2/2]

void GUIWindow::DrawTitleText ( GUIFont font,
int  horizontal_margin,
int  vertical_margin,
unsigned __int16  uDefaultColor,
const String str,
int  line_spacing 
)

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

659  {
660  this->DrawTitleText(font, horizontal_margin, vertical_margin, uDefaultColor,
661  str.c_str(), line_spacing);
662 }

Перекрестные ссылки DrawTitleText().

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

◆ DrawShops_next_generation_time_string()

void GUIWindow::DrawShops_next_generation_time_string ( GameTime  time)

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

648  {
649  auto str = MakeDateTimeString(time);
650  this->DrawTitleText(
651  pFontArrus, 0,
652  (212 - pFontArrus->CalcTextHeight(str, this->uFrameWidth, 0)) / 2 + 101,
653  Color16(0xFFu, 0xFFu, 0x9Bu), localization->GetString(532) + str, 3);
654 }

Перекрестные ссылки GUIFont::CalcTextHeight(), Color16(), DrawTitleText(), Localization::GetString(), localization, MakeDateTimeString() и pFontArrus.

Используется в AlchemyMagicShopWares(), ArmorShopWares(), GuildDialog() и WeaponShopWares().

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

◆ HouseDialogManager()

void GUIWindow::HouseDialogManager ( )

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

397  {
398  if (!window_SpeakInHouse) {
399  return;
400  }
401  GUIWindow pWindow = *this;
402  pWindow.uFrameWidth -= 18;
403  pWindow.uFrameZ -= 18;
404  uint16_t pWhiteColor = Color16(0xFFu, 0xFFu, 0xFFu);
405  uint16_t pColor2 = Color16(0x15u, 0x99u, 0xE9u);
406  render->DrawTextureNew(477 / 640.0f, 0, game_ui_dialogue_background);
407  render->DrawTextureAlphaNew(468 / 640.0f, 0, game_ui_right_panel_frame);
409  const char *pHouseName = p2DEvents[window_SpeakInHouse->par1C - 1].pName;
410  if (pHouseName) {
411  int v3 = 2 * pFontCreate->GetHeight() - 6 -
412  pFontCreate->CalcTextHeight(pHouseName, 130, 0);
413  if (v3 < 0) v3 = 0;
414  pWindow.DrawTitleText(pFontCreate, 0x1EAu, v3 / 2 + 4, pWhiteColor,
416  }
417  }
418  pWindow.uFrameWidth += 8;
419  pWindow.uFrameZ += 8;
420  if (!pDialogueNPCCount) {
422  JailDialog();
424  uHouse_ExitPic) {
425  render->DrawTextureAlphaNew(556 / 640.0f, 451 / 480.0f,
427  render->DrawTextureAlphaNew(476 / 640.0f, 451 / 480.0f,
429  } else {
430  render->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f,
432  }
433  return;
434  }
435  if (!current_npc_text.empty()) {
436  GUIWindow pDialogWindow;
437  pDialogWindow.uFrameWidth = 458;
438  pDialogWindow.uFrameZ = 457;
439  int pTextHeight = pFontArrus->CalcTextHeight(
440  current_npc_text, pDialogWindow.uFrameWidth, 13);
441  int v6 = pTextHeight + 7;
442  render->DrawTextureCustomHeight(8 / 640.0f,
443  (352 - (pTextHeight + 7)) / 480.0f,
444  ui_leather_mm7, pTextHeight + 7);
445  render->DrawTextureAlphaNew(8 / 640.0f, (347 - v6) / 480.0f,
448  pFontArrus, 13, 354 - v6, 0,
450  pDialogWindow.uFrameWidth, 13),
451  0, 0, 0);
452  }
453  if (uNumDialogueNPCPortraits <= 0) {
455  uHouse_ExitPic) {
456  render->DrawTextureAlphaNew(556 / 640.0f, 451 / 480.0f,
458  render->DrawTextureAlphaNew(476 / 640.0f, 451 / 480.0f,
460  } else {
461  render->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f,
463  }
464  return;
465  }
466 
467  unsigned int v10 = 0;
468 
469  for (int v8 = 0; v8 < uNumDialogueNPCPortraits; ++v8) {
470  render->DrawTextureAlphaNew(
472  640.0f,
474  480.0f,
476  render->DrawTextureAlphaNew(
480  if (uNumDialogueNPCPortraits < 4) {
481  String pTitleText;
482  int v9 = 0;
483  if (v8 + 1 == uNumDialogueNPCPortraits && uHouse_ExitPic) {
484  pTitleText = pMapStats->pInfos[uHouse_ExitPic].pName;
485  v9 = 94 * v8 + 113;
486  } else {
487  if (!v8 && dword_591080) {
488  pTitleText = (char*)p2DEvents[window_SpeakInHouse->par1C - 1].pProprieterTitle;
489  pWindow.DrawTitleText(pFontCreate, 0x1E3u, 113, pColor2, pTitleText, 3);
490  continue;
491  }
492  pTitleText = HouseNPCData[v8 + 1 - (dword_591080 != 0)]->pName;
493  v9 = pNPCPortraits_y[uNumDialogueNPCPortraits - 1][v8] + pDialogueNPCPortraits[v8]->GetHeight() + 2;
494  }
495  v10 = v9;
496  pWindow.DrawTitleText(pFontCreate, 483, v10, pColor2, pTitleText, 3);
497  }
498  }
500  render->DrawTextureAlphaNew(556 / 640.0f, 451 / 480.0f,
502  render->DrawTextureAlphaNew(476 / 640.0f, 451 / 480.0f,
504  } else {
505  render->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f,
507  }
508  return;
509  }
510 
511  char *v4 = (char *)pDialogueNPCCount - 1;
512  render->DrawTextureAlphaNew((pNPCPortraits_x[0][0] - 4) / 640.0f,
513  (pNPCPortraits_y[0][0] - 4) / 480.0f,
515  render->DrawTextureAlphaNew(pNPCPortraits_x[0][0] / 640.0f,
516  pNPCPortraits_y[0][0] / 480.0f,
517  pDialogueNPCPortraits[(int)v4]);
521  render->DrawTextureAlphaNew(556 / 640.0f, 451 / 480.0f,
523  render->DrawTextureAlphaNew(476 / 640.0f, 451 / 480.0f,
525  } else {
526  render->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f,
528  }
529  return;
530  }
531  if (v4 || !dword_591080) { // emerald isle ship before quest's done / на
532  // изумрудном острове заходит на корабле пока не
533  // выполнены квесты
535  } else {
536  pWindow.DrawTitleText(
537  pFontCreate, 0x1E3u, 0x71u, pColor2,
541  switch (in_current_building_type) {
544  break;
546  ArmorShopDialog();
547  break;
549  MagicShopDialog();
550  break;
552  AlchemistDialog();
553  break;
563  GuildDialog();
564  break;
565  case BuildingType_18:
566  __debugbreak(); // What over the dialog?
567  sub_4B6478();
568  break;
570  TownHallDialog();
571  break;
572  case BuildingType_Tavern:
573  TavernDialog();
574  break;
575  case BuildingType_Bank:
576  BankDialog();
577  break;
578  case BuildingType_Temple:
579  TempleDialog();
580  break;
582  case BuildingType_Boats:
584  break;
586  // __debugbreak(); // param was passed via pTmpBuf, investiage
587  // ?? no idea why this could pass an argument - its always reset
588  TrainingDialog("");
589  break;
590  case BuildingType_Jail:
591  JailDialog();
592  break;
593  default:
594  // __debugbreak();//New BuildingType (if enter Boat)
595  break;
596  }
597  }
599  render->DrawTextureAlphaNew(556 / 640.0f, 451 / 480.0f,
601  render->DrawTextureAlphaNew(476 / 640.0f, 451 / 480.0f,
603  } else {
604  render->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f,
606  }
607 }

Перекрестные ссылки _591428_endcap, __debugbreak(), AlchemistDialog(), ArmorShopDialog(), BankDialog(), BuildingType_18, BuildingType_AirGuild, BuildingType_AlchemistShop, BuildingType_ArmorShop, BuildingType_Bank, BuildingType_Boats, BuildingType_BodyGuild, BuildingType_DarkGuild, BuildingType_EarthGuild, BuildingType_FireGuild, BuildingType_Jail, BuildingType_LightGuild, BuildingType_MagicShop, BuildingType_MindGuild, BuildingType_SpiritGuild, BuildingType_Stables, BuildingType_Tavern, BuildingType_Temple, BuildingType_TownHall, BuildingType_Training, BuildingType_WaterGuild, BuildingType_WeaponShop, GUIFont::CalcTextHeight(), CharacterUI_InventoryTab_Draw(), Color16(), current_npc_text, current_screen_type, dialogue_ui_x_ok_u, dialogue_ui_x_x_u, DrawText(), DrawTitleText(), dword_591080, GUIFont::FitTextInAWindow(), Localization::FormatString(), game_ui_dialogue_background, game_ui_evtnpc, game_ui_right_panel_frame, GUIFont::GetHeight(), GuildDialog(), HouseNPCData, in_current_building_type, JailDialog(), localization, MagicShopDialog(), p2DEvents, par1C, pDialogueNPCCount, pDialogueNPCPortraits, pFontArrus, pFontCreate, MapStats::pInfos, pMapStats, MapInfo::pName, _2devent::pName, pNPCPortraits_x, pNPCPortraits_y, pPlayers, _2devent::pProprieterName, _2devent::pProprieterTitle, render, SCREEN_E, SimpleHouseDialog(), sub_4B6478(), TavernDialog(), TempleDialog(), TownHallDialog(), TrainingDialog(), TravelByTransport(), uActiveCharacter, uFrameWidth, uFrameZ, uHouse_ExitPic, ui_exit_cancel_button_background, ui_leather_mm7, uNumDialogueNPCPortraits, WeaponShopDialog() и window_SpeakInHouse.

Используется в GUIWindow_House::Update().

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

◆ DrawMessageBox()

void GUIWindow::DrawMessageBox ( bool  inside_game_viewport)

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

319  {
320  int x = 0;
321  int y = 0;
322  int z, w;
323  if (inside_game_viewport) {
328  } else {
329  z = window->GetWidth();
330  w = window->GetHeight();
331  }
332 
333  Point cursor = mouse->GetCursorPos();
334  if ((int)this->uFrameX >= x) {
335  if ((int)(this->uFrameWidth + this->uFrameX) > z) {
336  this->uFrameX = z - this->uFrameWidth;
337  this->uFrameY = cursor.y + 30;
338  }
339  } else {
340  this->uFrameX = x;
341  this->uFrameY = cursor.y + 30;
342  }
343 
344  if ((int)this->uFrameY >= y) {
345  if ((int)(this->uFrameY + this->uFrameHeight) > w) {
346  this->uFrameY = cursor.y - this->uFrameHeight - 30;
347  }
348  } else {
349  this->uFrameY = cursor.y + 30;
350  }
351  if ((signed int)this->uFrameY < y) {
352  this->uFrameY = y;
353  }
354  if ((signed int)this->uFrameX < x) {
355  this->uFrameX = x;
356  }
357  this->uFrameZ = this->uFrameWidth + this->uFrameX - 1;
358  this->uFrameW = this->uFrameHeight + this->uFrameY - 1;
359 
360  GUIWindow current_window = *this;
361  current_window.uFrameX += 12;
362  current_window.uFrameWidth -= 24;
363  current_window.uFrameY += 12;
364  current_window.uFrameHeight -= 12;
365  current_window.uFrameZ =
366  current_window.uFrameWidth + current_window.uFrameX - 1;
367  current_window.uFrameW =
368  current_window.uFrameHeight + current_window.uFrameY - 1;
369  unsigned int uBoxHeight;
370  if (!sHint.empty()) {
371  uBoxHeight =
372  pFontLucida->CalcTextHeight(sHint, current_window.uFrameWidth, 0) +
373  24;
374  } else {
375  uBoxHeight = uFrameHeight;
376  }
377  if (uBoxHeight < 64) {
378  uBoxHeight = 64;
379  }
380  if ((int)(uBoxHeight + this->uFrameY) > 479) {
381  uBoxHeight = 479 - this->uFrameY;
382  }
383  DrawPopupWindow(this->uFrameX, this->uFrameY, this->uFrameWidth,
384  uBoxHeight);
385  if (!sHint.empty()) {
386  current_window.DrawTitleText(
387  pFontLucida, 0,
388  (int)(uBoxHeight -
389  pFontLucida->CalcTextHeight(this->sHint,
390  current_window.uFrameWidth, 0)) /
391  2 -
392  14,
393  0, this->sHint, 3);
394  }
395 }

Перекрестные ссылки GUIFont::CalcTextHeight(), DrawPopupWindow(), DrawTitleText(), Mouse::GetCursorPos(), mouse, pFontLucida, pViewport, sHint, uFrameHeight, uFrameW, uFrameWidth, uFrameX, uFrameY, uFrameZ, Viewport::uViewportBR_X, Viewport::uViewportBR_Y, Viewport::uViewportTL_X, Viewport::uViewportTL_Y и Point::y.

Используется в _41D73D_draw_buff_tooltip(), CharacterUI_DrawTooltip(), CreateScrollWindow(), DrawMM7CopyrightWindow(), DrawSpellDescriptionPopup(), GameUI_DrawItemInfo(), GameUI_DrawNPCPopup(), Inventory_ItemPopupAndAlchemy(), sub_4B1523_showSpellbookInfo(), UI_OnMouseRightClick(), GUIWindow_Modal::Update(), GUIWindow_Inventory::Update() и GUIWindow_PartyCreation::Update().

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

◆ GetControl()

GUIButton * GUIWindow::GetControl ( unsigned int  uID)

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

311  {
312  if (uID >= vButtons.size()) {
313  return nullptr;
314  }
315 
316  return vButtons[uID];
317 }

Перекрестные ссылки vButtons.

Используется в CharacterUI_SkillsTab_Draw__DrawSkillTable(), GuildDialog(), ShopDialogDisplayEquip(), ShopDialogLearn(), ShopDialogMain(), SimpleHouseDialog(), sub_4B6478(), TavernDialog(), TempleDialog(), TownHallDialog(), TrainingDialog(), TravelByTransport(), GUIWindow_Dialogue::Update() и GUIWindow_PartyCreation::Update().

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

◆ _41D08F_set_keyboard_control_group()

void GUIWindow::_41D08F_set_keyboard_control_group ( int  num_buttons,
int  a3,
int  a4,
int  a5 
)

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

274  {
275  if (num_buttons) {
276  this->pNumPresenceButton = num_buttons;
277  this->field_30 = a3;
278  this->field_34 = a4;
279  this->pCurrentPosActiveItem = a5;
280  this->pStartingPosActiveItem = a5;
281  this->receives_keyboard_input = true;
282  } else {
283  this->pNumPresenceButton = 0;
284  this->field_30 = a3;
285  this->field_34 = a4;
286  this->pCurrentPosActiveItem = 0;
287  this->pStartingPosActiveItem = 0;
288  this->receives_keyboard_input = false;
289  }
290 }

Перекрестные ссылки field_30, field_34, pCurrentPosActiveItem, pNumPresenceButton, pStartingPosActiveItem и receives_keyboard_input.

Используется в Arena_SelectionFightLevel(), CharacterUI_ReleaseButtons(), GUIWindow_CharacterRecord::CharacterUI_SkillsTab_CreateButtons(), FillAviableSkillsToTeach(), GameUI_InitializeDialogue(), GUIWindow_PartyCreation::GUIWindow_PartyCreation(), InitializaDialogueOptions(), InitializaDialogueOptions_Shops(), InitializaDialogueOptions_Tavern(), GUIWindow_Spellbook::OpenSpellbook(), ReleaseAwardsScrollBar() и sub_4B3E1E().

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

◆ _41D73D_draw_buff_tooltip()

void GUIWindow::_41D73D_draw_buff_tooltip ( )

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

235  {
236  unsigned short text_color;
237  int Y_pos; // esi@11
238  int string_count; // [sp+20h] [bp-4h]@7
239 
240  string_count = 0;
241  for (int i = 0; i < 20; ++i) {
242  if (pParty->pPartyBuffs[i].Active()) ++string_count;
243  }
244 
246  uFrameHeight += (string_count - 1) * pFontArrus->GetHeight();
247  uFrameZ = uFrameWidth + uFrameX - 1;
248  uFrameW = uFrameY + uFrameHeight - 1;
249  DrawMessageBox(0);
250  DrawTitleText(pFontArrus, 0, 12, 0, localization->GetString(451), 3);
251  if (!string_count)
252  DrawTitleText(pFontComic, 0, 40, 0, localization->GetString(153), 3);
253 
254  string_count = 0;
255  for (int i = 0; i < 20; ++i) {
256  if (pParty->pPartyBuffs[i].Active()) {
257  auto remaing_time =
258  pParty->pPartyBuffs[i].expire_time - pParty->GetPlayingTime();
259  Y_pos = string_count * pFontComic->GetHeight() + 40;
260  text_color =
262  spell_tooltip_colors[i].B);
263  DrawText(pFontComic, 52, Y_pos, text_color,
264  localization->GetSpellName(i), 0, 0, 0);
265  DrawBuff_remaining_time_string(Y_pos, this, remaing_time,
266  pFontComic);
267  ++string_count;
268  }
269  }
270 }

Перекрестные ссылки Color16(), DrawBuff_remaining_time_string(), DrawMessageBox(), DrawText(), DrawTitleText(), GUIFont::GetHeight(), Party::GetPlayingTime(), Localization::GetSpellName(), Localization::GetString(), localization, pFontArrus, pFontComic, pParty, Party::pPartyBuffs, spell_tooltip_colors, uFrameHeight, uFrameW, uFrameWidth, uFrameX, uFrameY и uFrameZ.

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

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

◆ Update()

◆ Release()

void GUIWindow::Release ( )
virtual

Переопределяется в GUIWindow_House, GUIWindow_GenericDialogue, GUIWindow_RestWindow, GUIWindow_Transition, GUIWindow_Dialogue, GUIWindow_Modal, GUIWindow_Travel, GUIWindow_Spellbook и GUIWindow_Book.

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

292  {
293  if (!this || this->eWindowType == WINDOW_null) {
294  // added the check to avoid releasing
295  // windows already released
296  return;
297  }
298  DeleteButtons();
299 
300  lWindowList.remove(this);
301 
302  log->Info(L"Release window: %S", ToString(eWindowType));
303 }

Перекрестные ссылки DeleteButtons(), eWindowType, Log::Info(), log, lWindowList, ToString() и WINDOW_null.

Используется в _4B3FE5_training_dialogue(), _4B4224_UpdateNPCTopics(), BackToHouseMenu(), CastSpellInfoHelpers::Cancel_Spell_Cast_In_Progress(), CheckBountyRespawnAndAward(), Application::Game::CloseTargetedSpellWindow(), CreateParty_EventLoop(), WindowManager::DeleteAllVisibleWindows(), DialogueEnding(), DoSavegame(), DrawJoinGuildWindow(), Application::Menu::EventLoop(), Application::Game::EventLoop(), EventProcessor(), GUICredits::ExecuteCredits(), free_book_subwindow(), Game_OpenLoadGameDialog(), HouseDialogPressCloseBtn(), GUIWindow_MainMenu::Loop(), MainMenuLoad_Loop(), Application::Menu::MenuLoop(), NPCHireableDialogPrepare(), Application::Game::OnEscape(), OnSelectShopDialogueOption(), PartyCreationUI_LoopInternal(), PrepareToLoadRestUI(), GUIWindow_Book::Release(), GUIWindow_Spellbook::Release(), GUIWindow_Dialogue::Release(), GUIWindow_Modal::Release(), GUIWindow_Travel::Release(), GUIWindow_Transition::Release(), GUIWindow_GenericDialogue::Release(), GUIWindow_House::Release(), sub_4452BB(), sub_4B3E1E(), TavernDialog(), UI_CreateEndConversationButton(), GUIWindow_Inventory::Update(), OnButtonClick::Update(), OnButtonClick2::Update(), OnButtonClick3::Update(), OnButtonClick4::Update(), OnSaveLoad::Update(), OnCancel::Update(), OnCancel2::Update(), OnCancel3::Update() и Player::UseItem_DrinkPotion_etc().

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

◆ DeleteButtons()

void GUIWindow::DeleteButtons ( )

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

305  {
306  while (vButtons.size()) {
307  vButtons.front()->Release();
308  }
309 }

Перекрестные ссылки vButtons.

Используется в Arena_SelectionFightLevel(), EventProcessor(), OnCloseSpellBookPage() и Release().

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

◆ InitializeGUI()

void GUIWindow::InitializeGUI ( )
static

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

Перекрестные ссылки MainMenuUI_LoadFontsAndSomeStuff(), PartyAlignment_Neutral и SetUserInterface().

Используется в Engine::Initialize().

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

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

◆ uFrameX

unsigned int GUIWindow::uFrameX

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

Используется в _41D73D_draw_buff_tooltip(), AlchemistDialog(), ArmorShopDialog(), BankDialog(), GUIWindow_CharacterRecord::CharacterUI_AwardsTab_Draw(), CharacterUI_DrawTooltip(), Contains(), CreateButton(), CreateScrollWindow(), GUIFont::DrawCreditsEntry(), DrawMessageBox(), DrawMM7CopyrightWindow(), DrawSpellDescriptionPopup(), GUIFont::DrawText(), GUIFont::DrawTextInRect(), DrawTitleText(), GameUI_DrawItemInfo(), GameUI_DrawNPCPopup(), GUICredits::GUICredits(), GuildDialog(), GUIWindow(), GUIWindow_Load::GUIWindow_Load(), HouseUI_CheckIfPlayerCanInteract(), Inventory_ItemPopupAndAlchemy(), JailDialog(), MagicShopDialog(), MainMenuLoad_EventLoop(), MonsterPopup_Draw(), SimpleHouseDialog(), sub_4B1523_showSpellbookInfo(), sub_4B6478(), TavernDialog(), TempleDialog(), TownHallDialog(), TrainingDialog(), TravelByTransport(), UI_DrawSaveLoad(), UI_OnMouseRightClick(), GUIWindow_CalendarBook::Update(), GUIWindow_JournalBook::Update(), GUIWindow_LloydsBook::Update(), GUIWindow_QuestBook::Update(), GUIWindow_TownPortalBook::Update(), GUIWindow_AutonotesBook::Update(), GUIWindow_MapBook::Update(), GUIWindow_Dialogue::Update(), GUIWindow_Modal::Update(), GUIWindow_Travel::Update(), GUICredits::Update(), GUIWindow_PartyCreation::Update(), GUIWindow_Transition::Update(), GUIWindow_RestWindow::Update(), GUIWindow_BooksButtonOverlay::Update(), GUIWindow_GameVideoOptions::Update(), OnButtonClick::Update(), OnButtonClick2::Update(), OnButtonClick3::Update(), OnButtonClick4::Update(), OnSaveLoad::Update(), OnCancel::Update(), OnCancel2::Update(), OnCancel3::Update() и WeaponShopDialog().

◆ uFrameY

◆ uFrameWidth

unsigned int GUIWindow::uFrameWidth

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

Используется в _41D73D_draw_buff_tooltip(), AlchemistDialog(), AlchemyMagicShopWares(), ArenaFight(), ArmorShopDialog(), ArmorShopWares(), BankDialog(), GUIWindow_CharacterRecord::CharacterUI_AwardsTab_Draw(), CharacterUI_DrawTooltip(), CreateScrollWindow(), GUIFont::DrawCreditsEntry(), DrawMessageBox(), DrawMM7CopyrightWindow(), DrawSpellDescriptionPopup(), GUIFont::DrawText(), DrawTitleText(), GUIFont::FitTwoFontStringINWindow(), GameUI_DrawItemInfo(), GameUI_DrawNPCPopup(), GUIFont::GetPageTop(), GUICredits::GUICredits(), GuildDialog(), GUIWindow(), GUIWindow_Load::GUIWindow_Load(), HouseDialogManager(), Inventory_ItemPopupAndAlchemy(), JailDialog(), MagicShopDialog(), ShopDialogDisplayEquip(), ShopDialogIdentify(), ShopDialogLearn(), ShopDialogMain(), ShopDialogRepair(), ShopDialogSellEquip(), SimpleHouseDialog(), sub_4B1523_showSpellbookInfo(), sub_4B6478(), TavernDialog(), TempleDialog(), TownHallDialog(), TrainingDialog(), TravelByTransport(), UI_DrawSaveLoad(), UI_OnMouseRightClick(), GUIWindow_TownPortalBook::Update(), GUIWindow_AutonotesBook::Update(), GUIWindow_CalendarBook::Update(), GUIWindow_JournalBook::Update(), GUIWindow_QuestBook::Update(), GUIWindow_LloydsBook::Update(), GUIWindow_Travel::Update(), GUIWindow_Modal::Update(), GUIWindow_MapBook::Update(), GUICredits::Update(), GUIWindow_PartyCreation::Update(), GUIWindow_Transition::Update(), GUIWindow_GenericDialogue::Update(), GUIWindow_GameVideoOptions::Update(), WeaponShopDialog() и WeaponShopWares().

◆ uFrameHeight

◆ uFrameZ

◆ uFrameW

◆ eWindowType

WindowType GUIWindow::eWindowType

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

Используется в GUIWindow_JournalBook::GUIWindow_JournalBook(), Release(), sub_4B3E1E() и Player::UseItem_DrinkPotion_etc().

◆ ptr_1C

void* GUIWindow::ptr_1C

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

Используется в AlchemyMagicShopWares(), ArmorShopWares(), BackToHouseMenu(), BankDialog(), ClickNPCTopic(), CreateParty_EventLoop(), CreateScrollWindow(), Application::Game::EventLoop(), FillAviableSkillsToTeach(), GenerateSpecialShopItems(), GenerateStandartShopItems(), GetHouseGoodbyeSpeech(), GuildDialog(), GUIWindow(), GUIWindow_AutonotesBook::GUIWindow_AutonotesBook(), GUIWindow_CalendarBook::GUIWindow_CalendarBook(), GUIWindow_JournalBook::GUIWindow_JournalBook(), GUIWindow_LloydsBook::GUIWindow_LloydsBook(), GUIWindow_MapBook::GUIWindow_MapBook(), GUIWindow_QuestBook::GUIWindow_QuestBook(), GUIWindow_TownPortalBook::GUIWindow_TownPortalBook(), InitializaDialogueOptions(), Player::OnInventoryLeftClick(), OnPaperdollLeftClick(), OnSelectShopDialogueOption(), ShopDialogIdentify(), ShopDialogLearn(), ShopDialogRepair(), ShopDialogSellEquip(), ShowPopupShopItem(), SimpleHouseDialog(), SpellBookGenerator(), sub_4B6478(), TavernDialog(), TempleDialog(), TownHallDialog(), TrainingDialog(), TravelByTransport(), Mouse::UI_OnMouseLeftClick(), UI_OnMouseRightClick(), UIShop_Buy_Identify_Repair(), GUIWindow_PartyCreation::Update(), GUIWindow_Chest::Update(), GUIWindow_RestWindow::Update(), GUIWindow_GenericDialogue::Update(), GUIWindow_BooksButtonOverlay::Update(), OnButtonClick::Update(), OnButtonClick2::Update(), OnButtonClick3::Update(), OnButtonClick4::Update(), OnSaveLoad::Update(), OnCancel::Update(), OnCancel2::Update(), OnCancel3::Update() и WeaponShopWares().

◆ par1C

◆ @79

union { ... }

◆ field_24

int GUIWindow::field_24

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

◆ pNumPresenceButton

◆ pCurrentPosActiveItem

◆ field_30

int GUIWindow::field_30

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

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

◆ field_34

int GUIWindow::field_34

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

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

◆ pStartingPosActiveItem

◆ receives_keyboard_input_2

◆ receives_keyboard_input

bool GUIWindow::receives_keyboard_input

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

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

◆ sHint

◆ vButtons

◆ mouse

◆ log

Log* GUIWindow::log = nullptr

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

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


Объявления и описания членов классов находятся в файлах:
uNumDialogueNPCPortraits
int uNumDialogueNPCPortraits
Definition: NPC.cpp:28
uint16_t
unsigned __int16 uint16_t
Definition: SDL_config.h:37
GUIWindow::receives_keyboard_input
bool receives_keyboard_input
Definition: GUIWindow.h:487
GUIWindow::DrawText
void DrawText(GUIFont *font, int x, int y, unsigned short uFontColor, const char *str, bool present_time_transparency=false, int max_text_height=0, int uFontShadowColor=0)
Definition: GUIWindow.cpp:694
ui_leather_mm7
Image * ui_leather_mm7
Definition: GUIWindow.cpp:106
GUIWindow::uFrameW
unsigned int uFrameW
Definition: GUIWindow.h:473
Localization::GetString
const char * GetString(unsigned int index) const
Definition: Localization.cpp:13
SimpleHouseDialog
void SimpleHouseDialog()
Definition: UIHouses.cpp:3426
GUIButton::uHotkey
uint8_t uHotkey
Definition: GUIButton.h:35
PartyAlignment::PartyAlignment_Neutral
@ PartyAlignment_Neutral
DrawBuff_remaining_time_string
void DrawBuff_remaining_time_string(int uY, GUIWindow *window, GameTime remaining_time, GUIFont *Font)
Definition: GUIWindow.cpp:1343
GUIWindow::log
Log * log
Definition: GUIWindow.h:492
SetUserInterface
void SetUserInterface(PartyAlignment align, bool bReplace)
Definition: GUIWindow.cpp:1032
MapStats::pInfos
MapInfo pInfos[77]
Definition: MapInfo.h:79
Party::GetPlayingTime
GameTime & GetPlayingTime()
Definition: Party.h:230
BuildingType_Training
@ BuildingType_Training
Definition: Events2D.h:34
Mouse::GetCursorPos
Point GetCursorPos()
Definition: Mouse.cpp:108
GUIWindow
Definition: GUIWindow.h:433
BuildingType_DarkGuild
@ BuildingType_DarkGuild
Definition: Events2D.h:17
sub_4B6478
void sub_4B6478()
Definition: UIHouses.cpp:3266
TravelByTransport
void TravelByTransport()
Definition: UIHouses.cpp:1673
ui_exit_cancel_button_background
Image * ui_exit_cancel_button_background
Definition: GUIWindow.cpp:89
Viewport::uViewportTL_Y
int uViewportTL_Y
Definition: Viewport.h:23
HouseNPCData
std::array< struct NPCData *, 7 > HouseNPCData
Definition: mm7_data.cpp:617
GuildDialog
void GuildDialog()
Definition: UIGuilds.cpp:27
GUIButton::pParent
GUIWindow * pParent
Definition: GUIButton.h:33
z
GLdouble GLdouble z
Definition: SDL_opengl_glext.h:407
Engine_::IocContainer::ResolveLogger
static Log * ResolveLogger()
Definition: IocContainer.cpp:51
GUIButton::uZ
unsigned int uZ
Definition: GUIButton.h:25
BuildingType_ArmorShop
@ BuildingType_ArmorShop
Definition: Events2D.h:6
_2devent::pProprieterTitle
const char * pProprieterTitle
Definition: Events2D.h:46
BuildingType_MindGuild
@ BuildingType_MindGuild
Definition: Events2D.h:14
BuildingType_FireGuild
@ BuildingType_FireGuild
Definition: Events2D.h:9
MakeDateTimeString
String MakeDateTimeString(GameTime time)
Definition: GUIWindow.cpp:609
spell_tooltip_colors
std::array< RGBColor, 20 > spell_tooltip_colors
Definition: GUIWindow.cpp:68
localization
Localization * localization
Definition: Localization.cpp:11
dialogue_ui_x_x_u
Image * dialogue_ui_x_x_u
Definition: GUIWindow.cpp:92
pNPCPortraits_y
std::array< std::array< int, 6 >, 6 > pNPCPortraits_y
Definition: mm7_data.cpp:290
pNPCPortraits_x
std::array< std::array< int, 6 >, 6 > pNPCPortraits_x
Definition: mm7_data.cpp:282
GUIWindow::DrawTitleText
void DrawTitleText(GUIFont *font, int horizontal_margin, int vertical_margin, unsigned __int16 uDefaultColor, const char *pInString, int line_spacing)
Definition: GUIWindow.cpp:665
w
GLubyte GLubyte GLubyte GLubyte w
Definition: SDL_opengl_glext.h:734
Localization::GetSpellName
const char * GetSpellName(unsigned int index) const
Definition: Localization.h:31
GUIFont::GetHeight
unsigned int GetHeight() const
Definition: GUIFont.cpp:84
BuildingType_Bank
@ BuildingType_Bank
Definition: Events2D.h:26
pPlayers
NZIArray< struct Player *, 5 > pPlayers
Definition: Player.cpp:46
pFontCreate
GUIFont * pFontCreate
Definition: GUIFont.cpp:22
GUIWindow::uFrameWidth
unsigned int uFrameWidth
Definition: GUIWindow.h:470
dword_591080
int dword_591080
Definition: UIHouses.cpp:47
BuildingType_Boats
@ BuildingType_Boats
Definition: Events2D.h:32
GUIButton
Definition: GUIButton.h:11
GUIWindow::uFrameZ
unsigned int uFrameZ
Definition: GUIWindow.h:472
current_screen_type
enum CURRENT_SCREEN current_screen_type
Definition: GUIWindow.cpp:83
p2DEvents
_2devent p2DEvents[525]
Definition: Events.cpp:57
_2devent::pName
char * pName
Definition: Events2D.h:43
pMapStats
struct MapStats * pMapStats
Definition: mm7_data.cpp:20
GUIWindow::pStartingPosActiveItem
int pStartingPosActiveItem
Definition: GUIWindow.h:485
Party::pPartyBuffs
std::array< SpellBuff, 20 > pPartyBuffs
Definition: Party.h:309
CharacterUI_InventoryTab_Draw
void CharacterUI_InventoryTab_Draw(Player *player, bool a2)
Definition: UICharacter.cpp:1829
TavernDialog
void TavernDialog()
Definition: UIHouses.cpp:2200
GUIWindow::vButtons
std::vector< GUIButton * > vButtons
Definition: GUIWindow.h:489
WINDOW_null
@ WINDOW_null
Definition: GUIWindow.h:291
uHouse_ExitPic
int uHouse_ExitPic
Definition: UIHouses.cpp:45
CURRENT_SCREEN::SCREEN_E
@ SCREEN_E
in_current_building_type
BuildingType in_current_building_type
Definition: UIHouses.cpp:49
BuildingType_WeaponShop
@ BuildingType_WeaponShop
Definition: Events2D.h:5
y
EGLSurface EGLint EGLint y
Definition: SDL_egl.h:1596
BuildingType_LightGuild
@ BuildingType_LightGuild
Definition: Events2D.h:16
GUIWindow::field_34
int field_34
Definition: GUIWindow.h:484
window_SpeakInHouse
GUIWindow * window_SpeakInHouse
Definition: GUIWindow.cpp:51
BuildingType_18
@ BuildingType_18
Definition: Events2D.h:22
pParty
Party * pParty
Definition: Party.cpp:30
GUIWindow::DrawTextInRect
int DrawTextInRect(GUIFont *font, unsigned int x, unsigned int y, unsigned int color, const char *text, int rect_width, int reverse_text)
Definition: GUIWindow.cpp:702
pFontArrus
GUIFont * pFontArrus
Definition: GUIFont.cpp:18
GUIWindow::pCurrentPosActiveItem
int pCurrentPosActiveItem
Definition: GUIWindow.h:482
GUIWindow::DeleteButtons
void DeleteButtons()
Definition: GUIWindow.cpp:305
current_npc_text
String current_npc_text
Definition: mm7_data.cpp:780
GUIWindow::pNumPresenceButton
int pNumPresenceButton
Definition: GUIWindow.h:481
x
EGLSurface EGLint x
Definition: SDL_egl.h:1596
TrainingDialog
void TrainingDialog(const char *s)
Definition: UIHouses.cpp:2933
DrawPopupWindow
void DrawPopupWindow(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight)
Definition: UIPopup.cpp:89
color
GLuint color
Definition: SDL_opengl_glext.h:1151
GUIButton::field_2C_is_pushed
bool field_2C_is_pushed
Definition: GUIButton.h:32
Log::Info
void Info(const wchar_t *pFormat,...)
Definition: Log.cpp:11
label
GLuint GLsizei const GLchar * label
Definition: SDL_opengl_glext.h:2488
OS_GetTime
unsigned int OS_GetTime()
Definition: Lin.cpp:12
GUIButton::vTextures
std::vector< Image * > vTextures
Definition: GUIButton.h:34
GUIWindow::DrawMessageBox
void DrawMessageBox(bool inside_game_viewport)
Definition: GUIWindow.cpp:319
AlchemistDialog
void AlchemistDialog()
Definition: UIShops.cpp:785
GUIWindow::uFrameHeight
unsigned int uFrameHeight
Definition: GUIWindow.h:471
BuildingType_Temple
@ BuildingType_Temple
Definition: Events2D.h:27
game_ui_right_panel_frame
Image * game_ui_right_panel_frame
Definition: GUIWindow.cpp:90
width
EGLSurface EGLint EGLint EGLint width
Definition: SDL_egl.h:1596
Engine_::IocContainer::ResolveMouse
static Mouse * ResolveMouse()
Definition: IocContainer.cpp:88
GUIButton::msg
UIMessageType msg
Definition: GUIButton.h:29
game_ui_evtnpc
Image * game_ui_evtnpc
Definition: UIGame.cpp:102
WeaponShopDialog
void WeaponShopDialog()
Definition: UIShops.cpp:437
GUIWindow::field_30
int field_30
Definition: GUIWindow.h:483
GUIFont::CalcTextHeight
unsigned int CalcTextHeight(const String &str, unsigned int width, int x_offset, bool return_on_carriage=false)
Definition: GUIFont.cpp:246
BuildingType_MagicShop
@ BuildingType_MagicShop
Definition: Events2D.h:7
BuildingType_EarthGuild
@ BuildingType_EarthGuild
Definition: Events2D.h:12
Viewport::uViewportBR_X
int uViewportBR_X
Definition: Viewport.h:24
TempleDialog
void TempleDialog()
Definition: UIHouses.cpp:2599
window
EGLSurface EGLNativeWindowType * window
Definition: SDL_egl.h:1580
f
GLfloat f
Definition: SDL_opengl_glext.h:1873
MapInfo::pName
String pName
Definition: MapInfo.h:38
BuildingType_AirGuild
@ BuildingType_AirGuild
Definition: Events2D.h:10
GUIButton::uWidth
unsigned int uWidth
Definition: GUIButton.h:23
GUIButton::field_1C
int field_1C
Definition: GUIButton.h:28
ui_current_text_color
int ui_current_text_color
Definition: mm7_data.cpp:649
pDialogueNPCCount
int pDialogueNPCCount
Definition: NPC.cpp:26
GUIFont::DrawText
void DrawText(GUIWindow *pWindow, int uX, int uY, uint16_t uFontColor, const String &str, bool present_time_transparency, int max_text_height, int uFontShadowColor)
Definition: GUIFont.cpp:388
GUIWindow::uFrameY
unsigned int uFrameY
Definition: GUIWindow.h:469
stream
EGLStreamKHR stream
Definition: SDL_egl.h:1082
Viewport::uViewportBR_Y
int uViewportBR_Y
Definition: Viewport.h:25
GUIButton::uX
unsigned int uX
Definition: GUIButton.h:21
pFontComic
GUIFont * pFontComic
Definition: GUIFont.cpp:24
GUIButton::uW
unsigned int uW
Definition: GUIButton.h:26
BuildingType_SpiritGuild
@ BuildingType_SpiritGuild
Definition: Events2D.h:13
pViewport
struct Viewport * pViewport
Definition: mm7_data.cpp:21
pDialogueNPCPortraits
std::array< class Image *, 6 > pDialogueNPCPortraits
Definition: NPC.cpp:27
MagicShopDialog
void MagicShopDialog()
Definition: UIShops.cpp:827
BuildingType_Jail
@ BuildingType_Jail
Definition: Events2D.h:35
ToString
const char * ToString(WindowType windowType)
Definition: GUIWindow.h:357
BuildingType_Stables
@ BuildingType_Stables
Definition: Events2D.h:31
Point::y
unsigned int y
Definition: Point.h:8
BankDialog
void BankDialog()
Definition: UIHouses.cpp:2074
JailDialog
void JailDialog()
Definition: UIHouses.cpp:3698
GUIButton::msg_param
unsigned int msg_param
Definition: GUIButton.h:30
BuildingType_AlchemistShop
@ BuildingType_AlchemistShop
Definition: Events2D.h:8
GUIWindow::mouse
Mouse * mouse
Definition: GUIWindow.h:491
MainMenuUI_LoadFontsAndSomeStuff
void MainMenuUI_LoadFontsAndSomeStuff()
Definition: GUIWindow.cpp:2512
uActiveCharacter
unsigned int uActiveCharacter
Definition: mm7_data.cpp:555
v3
GLfloat GLfloat GLfloat GLfloat v3
Definition: SDL_opengl_glext.h:696
Localization::FormatString
String FormatString(unsigned int index,...) const
Definition: Localization.cpp:17
GUIButton::uY
unsigned int uY
Definition: GUIButton.h:22
__debugbreak
void __cdecl __debugbreak(void)
GUIFont::FitTextInAWindow
String FitTextInAWindow(const String &inString, unsigned int width, int uX, bool return_on_carriage=false)
Definition: GUIFont.cpp:311
GUIButton::uHeight
unsigned int uHeight
Definition: GUIButton.h:24
GUIWindow::par1C
unsigned int par1C
Definition: GUIWindow.h:477
lWindowList
std::list< GUIWindow * > lWindowList
Definition: GUIWindow.cpp:79
GUIWindow::eWindowType
WindowType eWindowType
Definition: GUIWindow.h:474
GUIWindow::ptr_1C
void * ptr_1C
Definition: GUIWindow.h:476
_2devent::pProprieterName
const char * pProprieterName
Definition: Events2D.h:44
game_ui_dialogue_background
Image * game_ui_dialogue_background
Definition: UIGame.cpp:93
GUIWindow::uFrameX
unsigned int uFrameX
Definition: GUIWindow.h:468
GUIWindow::sHint
String sHint
Definition: GUIWindow.h:488
textures
GLsizei const GLuint * textures
Definition: SDL_opengl_glext.h:2565
Point
Definition: Point.h:3
BuildingType_BodyGuild
@ BuildingType_BodyGuild
Definition: Events2D.h:15
ArmorShopDialog
void ArmorShopDialog()
Definition: UIShops.cpp:602
Color16
uint16_t Color16(uint32_t r, uint32_t g, uint32_t b)
Definition: Engine.cpp:148
pFontLucida
GUIFont * pFontLucida
Definition: GUIFont.cpp:19
Viewport::uViewportTL_X
int uViewportTL_X
Definition: Viewport.h:22
BuildingType_Tavern
@ BuildingType_Tavern
Definition: Events2D.h:25
TownHallDialog
void TownHallDialog()
Definition: UIHouses.cpp:1915
GUIButton::sLabel
String sLabel
Definition: GUIButton.h:36
String
std::string String
Definition: Strings.h:10
_591428_endcap
Image * _591428_endcap
Definition: UIHouses.cpp:52
BuildingType_TownHall
@ BuildingType_TownHall
Definition: Events2D.h:21
dialogue_ui_x_ok_u
Image * dialogue_ui_x_ok_u
Definition: GUIWindow.cpp:91
GUIButton::uButtonType
int uButtonType
Definition: GUIButton.h:27
BuildingType_WaterGuild
@ BuildingType_WaterGuild
Definition: Events2D.h:11
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52