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

#include <UIPartyCreation.h>

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

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

 GUIWindow_PartyCreation ()
 
virtual ~GUIWindow_PartyCreation ()
 
virtual void Update ()
 
- Открытые члены унаследованные от 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 Release ()
 
void DeleteButtons ()
 

Защищенные данные

Imagemain_menu_background
 

Дополнительные унаследованные члены

- Открытые статические члены унаследованные от GUIWindow
static void InitializeGUI ()
 
- Открытые атрибуты унаследованные от GUIWindow
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
 

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

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

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

◆ GUIWindow_PartyCreation()

GUIWindow_PartyCreation::GUIWindow_PartyCreation ( )

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

713  :
714  GUIWindow(WINDOW_CharacterCreation, 0, 0, window->GetWidth(), window->GetHeight(), 0) {
716 
718 
722  unsigned int v0 = pFontCreate->GetHeight() - 2;
723 
724  ui_partycreation_class_icons[0] = assets->GetImage_ColorKey("IC_KNIGHT", 0x7FF);
725  ui_partycreation_class_icons[1] = assets->GetImage_ColorKey("IC_THIEF", 0x7FF);
726  ui_partycreation_class_icons[2] = assets->GetImage_ColorKey("IC_MONK", 0x7FF);
727  ui_partycreation_class_icons[3] = assets->GetImage_ColorKey("IC_PALAD", 0x7FF);
728  ui_partycreation_class_icons[4] = assets->GetImage_ColorKey("IC_ARCH", 0x7FF);
729  ui_partycreation_class_icons[5] = assets->GetImage_ColorKey("IC_RANGER", 0x7FF);
730  ui_partycreation_class_icons[6] = assets->GetImage_ColorKey("IC_CLER", 0x7FF);
731  ui_partycreation_class_icons[7] = assets->GetImage_ColorKey("IC_DRUID", 0x7FF);
732  ui_partycreation_class_icons[8] = assets->GetImage_ColorKey("IC_SORC", 0x7FF);
733 
734  ui_partycreation_top = assets->GetImage_Alpha("MAKETOP"); // , 0x7FF);
736 
737  for (int uX = 0; uX < 22; ++uX) {
739  }
740 
741  ui_partycreation_minus = assets->GetImage_ColorKey("buttminu", 0x7FF);
742  ui_partycreation_plus = assets->GetImage_ColorKey("buttplus", 0x7FF);
743  ui_partycreation_right = assets->GetImage_ColorKey("presrigh", 0x7FF);
744  ui_partycreation_left = assets->GetImage_ColorKey("presleft", 0x7FF);
745 
746  for (int i = 1; i < 20; ++i) {
749  }
750 
751  // pGUIWindow_CurrentMenu = new GUIWindow(0, 0, window->GetWidth(), window->GetHeight(), 0);
752  int uControlParam = 0;
753  uControlParam = 0;
754  int uX = 8;
755  do {
756  CreateButton(uX, 120, 145, 25, 1, 0, UIMSG_PlayerCreationChangeName, uControlParam, 0, "");
757  uX += 158;
758  ++uControlParam;
759  } while ((signed int)uX < window->GetWidth());
760 
761  pCreationUI_BtnPressLeft[0] = CreateButton(10, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FacePrev, 0, 0, "", { { ui_partycreation_left } });
762  pCreationUI_BtnPressLeft[1] = CreateButton(169, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FacePrev, 1, 0, "", { { ui_partycreation_left } });
763  pCreationUI_BtnPressLeft[2] = CreateButton(327, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FacePrev, 2, 0, "", { { ui_partycreation_left } });
764  pCreationUI_BtnPressLeft[3] = CreateButton(486, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FacePrev, 3, 0, "", { { ui_partycreation_left } });
765 
767  pCreationUI_BtnPressRight[1] = CreateButton(233, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FaceNext, 1, 0, "", { { ui_partycreation_right } });
768  pCreationUI_BtnPressRight[2] = CreateButton(391, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FaceNext, 2, 0, "", { { ui_partycreation_right } });
769  pCreationUI_BtnPressRight[3] = CreateButton(549, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FaceNext, 3, 0, "", { { ui_partycreation_right } });
770 
771  pCreationUI_BtnPressLeft2[0] = CreateButton(10, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoicePrev, 0, 0, "", { { ui_partycreation_left } });
772  pCreationUI_BtnPressLeft2[1] = CreateButton(169, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoicePrev, 1, 0, "", { { ui_partycreation_left } });
773  pCreationUI_BtnPressLeft2[2] = CreateButton(327, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoicePrev, 2, 0, "", { { ui_partycreation_left } });
774  pCreationUI_BtnPressLeft2[3] = CreateButton(486, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoicePrev, 3, 0, "", { { ui_partycreation_left } });
775 
777  pCreationUI_BtnPressRight2[1] = CreateButton(233, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoiceNext, 1, 0, "", { { ui_partycreation_right } });
778  pCreationUI_BtnPressRight2[2] = CreateButton(391, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoiceNext, 2, 0, "", { { ui_partycreation_right } });
779  pCreationUI_BtnPressRight2[3] = CreateButton(549, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoiceNext, 3, 0, "", { { ui_partycreation_right } });
780 
781  uControlParam = 0;
782  uX = 8;
783  do {
784  CreateButton(uX, 308, 150, v0, 1, 0, UIMSG_48, uControlParam, 0, "");
785  CreateButton(uX, v0 + 308, 150, v0, 1, 0, UIMSG_49, uControlParam, 0, "");
786  CreateButton(uX, 2 * v0 + 308, 150, v0, 1, 0, UIMSG_PlayerCreationRemoveUpSkill, uControlParam, 0, "");
787  CreateButton(uX, 3 * v0 + 308, 150, v0, 1, 0, UIMSG_PlayerCreationRemoveDownSkill, uControlParam, 0, "");
788 
789  uX += 158;
790  ++uControlParam;
791  } while ((signed int)uX < window->GetWidth());
792 
793  CreateButton(5, 21, 153, 365, 1, 0, UIMSG_PlayerCreation_SelectAttribute, 0, '1', "");
794  CreateButton(163, 21, 153, 365, 1, 0, UIMSG_PlayerCreation_SelectAttribute, 1, '2', "");
795  CreateButton(321, 21, 153, 365, 1, 0, UIMSG_PlayerCreation_SelectAttribute, 2, '3', "");
796  CreateButton(479, 21, 153, 365, 1, 0, UIMSG_PlayerCreation_SelectAttribute, 3, '4', "");
797 
798  uX = 23;
799  uControlParam = 2;
800  do {
801  CreateButton(uX, 169, 120, 20, 1, 0, UIMSG_0, uControlParam - 2, 0, "");
802  CreateButton(uX, v0 + 169, 120, 20, 1, 0, UIMSG_0, uControlParam - 1, 0, "");
803  CreateButton(uX, 2 * v0 + 169, 120, 20, 1, 0, UIMSG_0, uControlParam, 0, "");
804  CreateButton(uX, 3 * v0 + 169, 120, 20, 1, 0, UIMSG_0, uControlParam + 1, 0, "");
805  CreateButton(uX, 4 * v0 + 169, 120, 20, 1, 0, UIMSG_0, uControlParam + 2, 0, "");
806  CreateButton(uX, 5 * v0 + 169, 120, 20, 1, 0, UIMSG_0, uControlParam + 3, 0, "");
807  CreateButton(uX, 6 * v0 + 169, 120, 20, 1, 0, UIMSG_0, uControlParam + 4, 0, "");
808 
809  uControlParam += 7;
810  uX += 158;
811  } while ((signed int)uControlParam < 30);
812 
814 
815  CreateButton(323, 417, 65, v0, 1, 0, UIMSG_PlayerCreationSelectClass, 0, 0, "");
816  CreateButton(323, v0 + 417, 65, v0, 1, 0, UIMSG_PlayerCreationSelectClass, 0xC, 0, "");
817  CreateButton(323, 2 * v0 + 417, 65, v0, 1, 0, UIMSG_PlayerCreationSelectClass, 0x14, 0, "");
818  CreateButton(388, 417, 65, v0, 1, 0, UIMSG_PlayerCreationSelectClass, 0x18, 0, "");
819  CreateButton(388, v0 + 417, 65, v0, 1, 0, UIMSG_PlayerCreationSelectClass, 0x1C, 0, "");
820  CreateButton(388, 2 * v0 + 417, 65, v0, 1, 0, UIMSG_PlayerCreationSelectClass, 0x20, 0, "");
821  CreateButton(453, 417, 65, v0, 1, 0, UIMSG_PlayerCreationSelectClass, 0x10, 0, "");
822  CreateButton(453, v0 + 417, 65, v0, 1, 0, UIMSG_PlayerCreationSelectClass, 8, 0, "");
823  CreateButton(453, 2 * v0 + 417, 65, v0, 1, 0, UIMSG_PlayerCreationSelectClass, 4, 0, "");
824 
825  uControlParam = 0;
826  do {
827  uX = -5;
828  if (uControlParam <= 3)
829  uX = 0;
830  CreateButton(100 * (uControlParam / 3) + uX + 17, v0 * (uControlParam % 3) + 417, 100, v0, 1, 0, UIMSG_PlayerCreationSelectActiveSkill,
831  uControlParam, 0, "");
832  ++uControlParam;
833  } while (uControlParam < 9);
834 
837 
838  pPlayerCreationUI_BtnOK = CreateButton(580, 431, 51, 39, 1, 0, UIMSG_PlayerCreationClickOK, 0, '\r', "", { { ui_partycreation_buttmake } });
841  pPlayerCreationUI_BtnPlus = CreateButton(613, 393, 20, 35, 1, 0, UIMSG_PlayerCreationClickPlus, 1, '+', "", { { ui_partycreation_plus } });
842 
843  ui_partycreation_font = GUIFont::LoadFont("cchar.fnt", "FONTPAL", NULL);
844 }

Перекрестные ссылки GUIWindow::_41D08F_set_keyboard_control_group(), assets, GUIWindow::CreateButton(), current_screen_type, GUIMessageQueue::Flush(), GUIFont::GetHeight(), AssetsManager::GetImage_Alpha(), AssetsManager::GetImage_ColorKey(), AssetsManager::GetImage_PCXFromIconsLOD(), AssetsManager::GetImage_Solid(), GUIFont::LoadFont(), main_menu_background, pCreationUI_BtnPressLeft, pCreationUI_BtnPressLeft2, pCreationUI_BtnPressRight, pCreationUI_BtnPressRight2, pFontCreate, pMessageQueue_50CBD0, pPlayerCreationUI_BtnMinus, pPlayerCreationUI_BtnOK, pPlayerCreationUI_BtnPlus, pPlayerCreationUI_BtnReset, pPlayerPortraitsNames, SCREEN_PARTY_CREATION, StringPrintf(), ui_partycreation_arrow_l, ui_partycreation_arrow_r, ui_partycreation_buttmake, ui_partycreation_buttmake2, ui_partycreation_class_icons, ui_partycreation_font, ui_partycreation_left, ui_partycreation_minus, ui_partycreation_plus, ui_partycreation_portraits, ui_partycreation_right, ui_partycreation_sky_scroller, ui_partycreation_top, UIMSG_0, UIMSG_48, UIMSG_49, UIMSG_PlayerCreation_FaceNext, UIMSG_PlayerCreation_FacePrev, UIMSG_PlayerCreation_SelectAttribute, UIMSG_PlayerCreation_VoiceNext, UIMSG_PlayerCreation_VoicePrev, UIMSG_PlayerCreationChangeName, UIMSG_PlayerCreationClickMinus, UIMSG_PlayerCreationClickOK, UIMSG_PlayerCreationClickPlus, UIMSG_PlayerCreationClickReset, UIMSG_PlayerCreationRemoveDownSkill, UIMSG_PlayerCreationRemoveUpSkill, UIMSG_PlayerCreationSelectActiveSkill, UIMSG_PlayerCreationSelectClass, uPlayerCreationUI_ArrowAnim и uPlayerCreationUI_SelectedCharacter.

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

◆ ~GUIWindow_PartyCreation()

GUIWindow_PartyCreation::~GUIWindow_PartyCreation ( )
virtual

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

846  {
848 }

Перекрестные ссылки main_menu_background и Image::Release().

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

Методы

◆ Update()

void GUIWindow_PartyCreation::Update ( )
virtual

Переопределяет метод предка GUIWindow.

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

303  {
304  int pTextCenter; // eax@3
305  Icon *pFrame; // eax@3
306  int pX; // ecx@7
307  GUIButton *uPosActiveItem; // edi@12
308  int v17; // eax@33
309  unsigned int pStatColor; // eax@44
310  PLAYER_SKILL_TYPE pSkillsType; // eax@44
311  PLAYER_CLASS_TYPE uClassType; // edi@53
312  int pColorText; // eax@53
313  PLAYER_SKILL_TYPE pSkillId; // edi@72
314  size_t pLenText; // eax@72
315  signed int v104; // ecx@72
316  signed int pBonusNum; // edi@82
317  char pText[200]; // [sp+10h] [bp-160h]@14
318  GUIWindow message_window; // [sp+D8h] [bp-98h]@83
319  int v126; // [sp+148h] [bp-28h]@25
320  int pIntervalY; // [sp+150h] [bp-20h]@14
321  int pX_Numbers; // [sp+154h] [bp-1Ch]@18
322  int uX; // [sp+160h] [bp-10h]@18
323  int pIntervalX;
324  int pCorrective;
325 
326  // move sky
327  render->BeginScene();
328  render->DrawTextureNew(0, 0, main_menu_background);
329  int sky_slider_anim_timer = (OS_GetTime() % (window->GetWidth() * 20)) / 20;
330  render->DrawTextureAlphaNew(sky_slider_anim_timer / 640.0f, 2 / 480.0f,
332  render->DrawTextureAlphaNew(
333  (sky_slider_anim_timer - (int)window->GetWidth()) / 640.0f, 2 / 480.0f,
335  render->DrawTextureAlphaNew(0, 0, ui_partycreation_top);
336 
340  7;
342  case 0:
343  pX = 12;
344  break;
345  case 1:
346  pX = 171;
347  break;
348  case 2:
349  pX = 329;
350  break;
351  case 3:
352  pX = 488;
353  break;
354  default:
355  Error("Invalid selected character");
356  }
357 
359  window->GetWidth(), localization->GetString(51));
361  ui_partycreation_font, pTextCenter + 1, 0, 0,
362  localization->GetString(51), 0, 0,
363  0); // CREATE PARTY / С О З Д А Т Ь О Т Р Я Д
364  render->DrawTextureAlphaNew(
365  17 / 640.0f, 35 / 480.0f,
366  ui_partycreation_portraits[pParty->pPlayers[0].uCurrentFace]);
367  render->DrawTextureAlphaNew(
368  176 / 640.0f, 35 / 480.0f,
369  ui_partycreation_portraits[pParty->pPlayers[1].uCurrentFace]);
370  render->DrawTextureAlphaNew(
371  335 / 640.0f, 35 / 480.0f,
372  ui_partycreation_portraits[pParty->pPlayers[2].uCurrentFace]);
373  render->DrawTextureAlphaNew(
374  494 / 640.0f, 35 / 480.0f,
375  ui_partycreation_portraits[pParty->pPlayers[3].uCurrentFace]);
376 
377  // arrows
380  render->DrawTextureAlphaNew(pX / 640.0f, 29 / 480.0f, pFrame->GetTexture());
381  uPosActiveItem = pGUIWindow_CurrentMenu->GetControl(
383  uPlayerCreationUI_ArrowAnim = 18 - (OS_GetTime() % 450) / 25;
384  render->DrawTextureAlphaNew(
385  (uPosActiveItem->uZ - 4) / 640.0f, uPosActiveItem->uY / 480.0f,
387  render->DrawTextureAlphaNew(
388  (uPosActiveItem->uX - 12) / 640.0f, uPosActiveItem->uY / 480.0f,
390 
391  memset(pText, 0, 200);
392  strcpy(pText, localization->GetString(205)); // "Skills"
393  for (int i = strlen(pText) - 1; i >= 0; i--) //???
394  pText[i] = toupper((uint8_t)pText[i]);
395 
396  pIntervalX = 18;
397  pIntervalY = pFontCreate->GetHeight() - 2;
398  uX = 32;
399  pX_Numbers = 493;
400 
401  for (int i = 0; i < 4; ++i) {
403  pFontCreate, pIntervalX + 73, 100, 0,
404  localization->GetClassName(pParty->pPlayers[i].classType), 0, 0, 0);
405  render->DrawTextureAlphaNew(
406  (pIntervalX + 77) / 640.0f, 50 / 480.0f,
407  ui_partycreation_class_icons[pParty->pPlayers[i].classType / 4]);
408 
410  WINDOW_INPUT_NONE &&
411  pGUIWindow_CurrentMenu->ptr_1C == (void *)i) {
413  case WINDOW_INPUT_IN_PROGRESS: // press name panel
415  pFontCreate,
416  159 * (int)pGUIWindow_CurrentMenu->ptr_1C + 18, 124, 0,
419  159 * (unsigned int)pGUIWindow_CurrentMenu->ptr_1C +
420  v17 + 20,
421  124, pFontCreate);
422  break;
423  case WINDOW_INPUT_CONFIRMED: // press enter
425  WINDOW_INPUT_NONE;
426  v126 = 0;
427  for (int j = 0;
428  j < strlen(pKeyActionMap->pPressedKeysBuffer);
429  ++j) { // edit name
430  if (pKeyActionMap->pPressedKeysBuffer[j] == ' ') ++v126;
431  }
432  if (strlen(pKeyActionMap->pPressedKeysBuffer) &&
433  v126 != strlen(pKeyActionMap->pPressedKeysBuffer))
434  strcpy(pParty->pPlayers[i].pName,
437  pFontCreate, pIntervalX, 124, 0,
438  pParty->pPlayers[i].pName, 130, 0);
439  pParty->pPlayers[i].field_1988[27] = 1;
440  break;
441  case WINDOW_INPUT_CANCELLED: // press escape
443  WINDOW_INPUT_NONE;
445  pFontCreate, pIntervalX, 124, 0,
446  pParty->pPlayers[i].pName, 130, 0);
448  break;
449  }
450  } else {
452  0, pParty->pPlayers[i].pName,
453  130, 0);
454  }
455 
456  String pRaceName = pParty->pPlayers[i].GetRaceName();
458  pFontCreate, pIntervalX + 72, pIntervalY + 12, 0,
459  pRaceName, 130, 0);
460 
461  pTextCenter = pFontCreate->AlignText_Center(150, pText);
462  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + uX - 24,
463  291, Color16(0xD1, 0xBB, 0x61), pText,
464  0, 0, 0); // Skills
465 
466  auto str1 =
467  StringPrintf("%s\r%03d%d", localization->GetString(144), pX_Numbers,
468  pParty->pPlayers[i].GetActualMight()); // "Might"
469  pStatColor = pParty->pPlayers[i].GetStatColor(0);
470  pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 169, pStatColor,
471  str1);
472 
473  auto str2 = StringPrintf(
474  "%s\r%03d%d", localization->GetString(116), pX_Numbers,
475  pParty->pPlayers[i].GetActualIntelligence()); // "Intellect"
476  pStatColor = pParty->pPlayers[i].GetStatColor(1);
477  pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, pIntervalY + 169,
478  pStatColor, str2);
479 
480  auto str3 = StringPrintf(
481  "%s\r%03d%d", localization->GetString(163), pX_Numbers,
482  pParty->pPlayers[i].GetActualWillpower()); // "Personality"
483  pStatColor = pParty->pPlayers[i].GetStatColor(2);
484  pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 2 * pIntervalY + 169,
485  pStatColor, str3);
486 
487  auto str4 = StringPrintf(
488  "%s\r%03d%d", localization->GetString(75), pX_Numbers,
489  pParty->pPlayers[i].GetActualEndurance()); // "Endurance"
490  pStatColor = pParty->pPlayers[i].GetStatColor(3);
491  pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 3 * pIntervalY + 169,
492  pStatColor, str4);
493 
494  auto str5 = StringPrintf(
495  "%s\r%03d%d", localization->GetString(1), pX_Numbers,
496  pParty->pPlayers[i].GetActualAccuracy()); // "Accuracy"
497  pStatColor = pParty->pPlayers[i].GetStatColor(4);
498  pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 4 * pIntervalY + 169,
499  pStatColor, str5);
500 
501  auto str6 =
502  StringPrintf("%s\r%03d%d", localization->GetString(211), pX_Numbers,
503  pParty->pPlayers[i].GetActualSpeed()); // "Speed"
504  pStatColor = pParty->pPlayers[i].GetStatColor(5);
505  pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 5 * pIntervalY + 169,
506  pStatColor, str6);
507 
508  auto str7 =
509  StringPrintf("%s\r%03d%d", localization->GetString(136), pX_Numbers,
510  pParty->pPlayers[i].GetActualLuck()); // "Luck"
511  pStatColor = pParty->pPlayers[i].GetStatColor(6);
512  pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 6 * pIntervalY + 169,
513  pStatColor, str7);
514 
515  pSkillsType = pParty->pPlayers[i].GetSkillIdxByOrder(0);
516  pTextCenter = pFontCreate->AlignText_Center(
517  150, localization->GetSkillName(pSkillsType));
518  auto str8 = StringPrintf("\t%03u%s", pTextCenter,
519  localization->GetSkillName(pSkillsType));
521  Color16(0xFF, 0xFF, 0xFF), str8);
522 
523  pSkillsType = pParty->pPlayers[i].GetSkillIdxByOrder(1);
524  pTextCenter = pFontCreate->AlignText_Center(
525  150, localization->GetSkillName(pSkillsType));
526  auto str9 = StringPrintf("\t%03u%s", pTextCenter,
527  localization->GetSkillName(pSkillsType));
528  pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, pIntervalY + 311,
529  Color16(0xFF, 0xFF, 0xFF), str9);
530 
531  pSkillsType = pParty->pPlayers[i].GetSkillIdxByOrder(2);
532  pTextCenter = pFontCreate->AlignText_Center(
533  150, localization->GetSkillName(pSkillsType));
534  auto str10 = StringPrintf("\t%03u%s", pTextCenter,
535  localization->GetSkillName(pSkillsType));
536  pColorText = Color16(0, 0xFF, 0);
537  if ((signed int)pSkillsType >= 37) pColorText = Color16(0, 0xF7, 0xF7);
539  pFontCreate, uX - 24, 2 * pIntervalY + 311, pColorText, str10);
540 
541  pSkillsType = pParty->pPlayers[i].GetSkillIdxByOrder(3);
542  pTextCenter = pFontCreate->AlignText_Center(
543  150, localization->GetSkillName(pSkillsType));
544  auto str11 = StringPrintf("\t%03u%s", pTextCenter,
545  localization->GetSkillName(pSkillsType));
546  pColorText = Color16(0, 0xFF, 0);
547  if ((signed int)pSkillsType >= 37) pColorText = Color16(0, 0xF7, 0xF7);
549  pFontCreate, uX - 24, 3 * pIntervalY + 311, pColorText, str11);
550 
551  pIntervalX += 159;
552  pX_Numbers -= 158;
553  uX += 158;
554  }
555 
556  strcpy(pText, localization->GetString(41)); // "Class"
557  for (int i = strlen(pText) - 1; i >= 0; i--)
558  pText[i] = toupper((unsigned __int8)pText[i]);
559 
560  uClassType =
562  pTextCenter = pFontCreate->AlignText_Center(193, pText);
563  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 324, 395,
564  Color16(0xD1, 0xBB, 0x61), pText, 0, 0,
565  0); // Classes
566 
567  pColorText = Color16(0, 0xF7, 0xF7);
568  if (uClassType) pColorText = Color16(0xFF, 0xFF, 0xFF);
569  pTextCenter =
571  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 323, 417,
572  pColorText, localization->GetClassName(0),
573  0, 0, 0);
574 
575  pColorText = Color16(0, 0xF7, 0xF7);
576  if (uClassType != PLAYER_CLASS_PALADIN)
577  pColorText = Color16(0xFF, 0xFF, 0xFF);
578  pTextCenter =
580  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 323,
581  pIntervalY + 417, pColorText,
582  localization->GetClassName(12), 0, 0, 0);
583 
584  pColorText = Color16(0, 0xF7, 0xF7);
585  if (uClassType != PLAYER_CLASS_DRUID)
586  pColorText = Color16(0xFF, 0xFF, 0xFF);
587  pTextCenter =
589  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 323,
590  2 * pIntervalY + 417, pColorText,
591  localization->GetClassName(20), 0, 0, 0);
592 
593  pColorText = Color16(0, 0xF7, 0xF7);
594  if (uClassType != PLAYER_CLASS_CLERIC)
595  pColorText = Color16(0xFF, 0xFF, 0xFF);
596  pTextCenter =
598  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 388, 417,
599  pColorText, localization->GetClassName(24),
600  0, 0, 0);
601 
602  pColorText = Color16(0, 0xF7, 0xF7);
603  if (uClassType != PLAYER_CLASS_DRUID)
604  pColorText = Color16(0xFF, 0xFF, 0xFF);
605  pTextCenter =
607  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 388,
608  pIntervalY + 417, pColorText,
609  localization->GetClassName(28), 0, 0, 0);
610 
611  pColorText = Color16(0, 0xF7, 0xF7);
612  if (uClassType != PLAYER_CLASS_SORCERER)
613  pColorText = Color16(0xFF, 0xFF, 0xFF);
614  pTextCenter =
616  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 388,
617  2 * pIntervalY + 417, pColorText,
618  localization->GetClassName(32), 0, 0, 0);
619 
620  pColorText = Color16(0, 0xF7, 0xF7);
621  if (uClassType != PLAYER_CLASS_ARCHER)
622  pColorText = Color16(0xFF, 0xFF, 0xFF);
623  pTextCenter =
625  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 453, 417,
626  pColorText, localization->GetClassName(16),
627  0, 0, 0);
628 
629  pColorText = Color16(0, 0xF7, 0xF7);
630  if (uClassType != PLAYER_CLASS_MONK) pColorText = Color16(0xFF, 0xFF, 0xFF);
631  pTextCenter =
633  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 453,
634  pIntervalY + 417, pColorText,
635  localization->GetClassName(8), 0, 0, 0);
636 
637  pColorText = Color16(0, 0xF7, 0xF7);
638  if (uClassType != PLAYER_CLASS_THEIF)
639  pColorText = Color16(0xFF, 0xFF, 0xFF);
640  pTextCenter =
642  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 453,
643  2 * pIntervalY + 417, pColorText,
644  localization->GetClassName(4), 0, 0, 0);
645 
646  pTextCenter = pFontCreate->AlignText_Center(
647  236, localization->GetString(20)); // "Available Skills"
648  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 37, 395,
649  Color16(0xD1, 0xBB, 0x61),
650  localization->GetString(20), 0, 0, 0);
651  for (uint i = 0; i < 9; ++i) {
653  .GetSkillIdxByOrder(i + 4);
654  strcpy(pText, localization->GetSkillName(pSkillId));
655  pLenText = strlen(pText);
656  v104 = 0;
657  if ((signed int)pLenText > 0) {
658  if (pText[v104] == 32) {
659  pText[v104] = 0;
660  } else {
661  while (pText[v104] != 32) {
662  ++v104;
663  if (v104 >= (signed int)pLenText) break;
664  }
665  }
666  }
667  pCorrective = -10; // -5
668  if ((signed int)pLenText < 8) // if ( (signed int)v124 > 2 )
669  pCorrective = 0;
670  pColorText = Color16(0, 0xF7, 0xF7);
672  .pActiveSkills[pSkillId])
673  pColorText = Color16(0xFF, 0xFF, 0xFF);
674  pTextCenter = pFontCreate->AlignText_Center(100, pText);
676  pFontCreate, 100 * (i / 3) + pTextCenter + pCorrective + 17,
677  pIntervalY * (i % 3) + 417, pColorText, pText, 0, 0, 0);
678  }
679 
680  pTextCenter = pFontCreate->AlignText_Center(
681  0x5C, localization->GetString(30)); // "Bonus"
682  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 533, 394,
683  Color16(0xD1, 0xBB, 0x61),
684  localization->GetString(30), 0, 0, 0);
686 
687  auto unspent_attribute_bonus_label = StringPrintf("%d", pBonusNum);
688  pTextCenter =
689  pFontCreate->AlignText_Center(84, unspent_attribute_bonus_label);
690  pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 530, 410,
691  Color16(0xFF, 0xFF, 0xFF),
692  unspent_attribute_bonus_label);
694  message_window.sHint = localization->GetString(
695  412); // "Create Party cannot be completed unless you have assigned
696  // all characters 2 extra skills and have spent all of your
697  // bonus points."
698  if (pBonusNum < 0)
699  message_window.sHint = localization->GetString(
700  413); // "You can't spend more than 50 points."
701  message_window.uFrameWidth = 300;
702  message_window.uFrameHeight = 100;
703  message_window.uFrameX = 170;
704  message_window.uFrameY = 140;
705  message_window.uFrameZ = 469;
706  message_window.uFrameW = 239;
707  message_window.DrawMessageBox(0);
708  }
709  render->EndScene();
710 }

Перекрестные ссылки GUIFont::AlignText_Center(), Color16(), GUIWindow::DrawFlashingInputCursor(), GUIWindow::DrawMessageBox(), GUIWindow::DrawText(), GUIWindow::DrawTextInRect(), game_ui_status_bar_event_string_time_left, Localization::GetClassName(), GUIWindow::GetControl(), IconFrameTable::GetFrame(), GUIFont::GetHeight(), Localization::GetSkillName(), Localization::GetString(), Icon::GetTexture(), localization, main_menu_background, MENU_NAMEPANELESC, OS_GetTime(), GUIWindow::pCurrentPosActiveItem, pEventTimer, pFontCreate, pGUIWindow_CurrentMenu, pIconsFrameTable, pKeyActionMap, PLAYER_CLASS_ARCHER, PLAYER_CLASS_CLERIC, PLAYER_CLASS_DRUID, PLAYER_CLASS_MONK, PLAYER_CLASS_PALADIN, PLAYER_CLASS_SORCERER, PLAYER_CLASS_THEIF, PlayerCreation_GetUnspentAttributePointCount(), pParty, Party::pPlayers, KeyboardActionMapping::pPressedKeysBuffer, GUIWindow::pStartingPosActiveItem, GUIWindow::ptr_1C, GUIWindow::receives_keyboard_input_2, render, SetCurrentMenuID(), GUIWindow::sHint, StringPrintf(), GUIWindow::uFrameHeight, GUIWindow::uFrameW, GUIWindow::uFrameWidth, GUIWindow::uFrameX, GUIWindow::uFrameY, GUIWindow::uFrameZ, ui_partycreation_arrow_l, ui_partycreation_arrow_r, ui_partycreation_class_icons, ui_partycreation_font, ui_partycreation_portraits, ui_partycreation_sky_scroller, ui_partycreation_top, uIconID_CharacterFrame, uPlayerCreationUI_ArrowAnim, uPlayerCreationUI_SelectedCharacter, Timer::uStartTime, GUIButton::uX, GUIButton::uY и GUIButton::uZ.

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

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

◆ main_menu_background

Image* GUIWindow_PartyCreation::main_menu_background
protected

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

Используется в GUIWindow_PartyCreation(), Update() и ~GUIWindow_PartyCreation().


Объявления и описания членов классов находятся в файлах:
UIMSG_49
@ UIMSG_49
Definition: GUIWindow.h:59
UIMSG_PlayerCreationClickPlus
@ UIMSG_PlayerCreationClickPlus
Definition: GUIWindow.h:48
UIMSG_PlayerCreationRemoveDownSkill
@ UIMSG_PlayerCreationRemoveDownSkill
Definition: GUIWindow.h:61
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
pCreationUI_BtnPressLeft2
std::array< GUIButton *, 4 > pCreationUI_BtnPressLeft2
Definition: GUIButton.cpp:91
GUIWindow::uFrameW
unsigned int uFrameW
Definition: GUIWindow.h:473
Localization::GetString
const char * GetString(unsigned int index) const
Definition: Localization.cpp:13
MENU_NAMEPANELESC
@ MENU_NAMEPANELESC
Definition: GUIWindow.h:258
GUIWindow
Definition: GUIWindow.h:433
AssetsManager::GetImage_Solid
Texture * GetImage_Solid(const String &name)
Definition: AssetsManager.cpp:51
PLAYER_CLASS_CLERIC
@ PLAYER_CLASS_CLERIC
Definition: Player.h:240
pPlayerCreationUI_BtnMinus
GUIButton * pPlayerCreationUI_BtnMinus
Definition: GUIButton.cpp:31
pGUIWindow_CurrentMenu
GUIWindow * pGUIWindow_CurrentMenu
Definition: GUIWindow.cpp:54
GUIWindow::CreateButton
GUIButton * 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 * >())
Definition: GUIWindow.cpp:717
pIconsFrameTable
struct IconFrameTable * pIconsFrameTable
Definition: mm7_data.cpp:168
SetCurrentMenuID
void SetCurrentMenuID(MENU_STATE uMenu)
Definition: GUIWindow.cpp:128
uPlayerCreationUI_SelectedCharacter
unsigned int uPlayerCreationUI_SelectedCharacter
Definition: mm7_data.cpp:761
GUIButton::uZ
unsigned int uZ
Definition: GUIButton.h:25
GUIMessageQueue::Flush
void Flush()
Definition: GUIWindow.cpp:159
UIMSG_PlayerCreation_VoiceNext
@ UIMSG_PlayerCreation_VoiceNext
Definition: GUIWindow.h:125
UIMSG_PlayerCreationClickOK
@ UIMSG_PlayerCreationClickOK
Definition: GUIWindow.h:52
GUIWindow::GUIWindow
GUIWindow()
Definition: GUIWindow.cpp:765
ui_partycreation_arrow_r
std::array< Image *, 20 > ui_partycreation_arrow_r
Definition: UIPartyCreation.cpp:45
UIMSG_PlayerCreationClickMinus
@ UIMSG_PlayerCreationClickMinus
Definition: GUIWindow.h:49
localization
Localization * localization
Definition: Localization.cpp:11
Party::pPlayers
std::array< Player, 4 > pPlayers
Definition: Party.h:310
PLAYER_CLASS_PALADIN
@ PLAYER_CLASS_PALADIN
Definition: Player.h:228
AssetsManager::GetImage_PCXFromIconsLOD
Texture * GetImage_PCXFromIconsLOD(const String &name)
Definition: AssetsManager.cpp:81
pCreationUI_BtnPressRight
std::array< GUIButton *, 4 > pCreationUI_BtnPressRight
Definition: GUIButton.cpp:93
Icon::GetTexture
Texture * GetTexture()
Definition: IconFrameTable.cpp:9
GUIFont::GetHeight
unsigned int GetHeight() const
Definition: GUIFont.cpp:84
pFontCreate
GUIFont * pFontCreate
Definition: GUIFont.cpp:22
pCreationUI_BtnPressLeft
std::array< GUIButton *, 4 > pCreationUI_BtnPressLeft
Definition: GUIButton.cpp:92
GUIWindow::uFrameWidth
unsigned int uFrameWidth
Definition: GUIWindow.h:470
ui_partycreation_buttmake
Image * ui_partycreation_buttmake
Definition: UIPartyCreation.cpp:40
Localization::GetSkillName
const char * GetSkillName(unsigned int index) const
Definition: Localization.h:51
GUIButton
Definition: GUIButton.h:11
GUIWindow::receives_keyboard_input_2
int receives_keyboard_input_2
Definition: GUIWindow.h:486
GUIWindow::uFrameZ
unsigned int uFrameZ
Definition: GUIWindow.h:472
current_screen_type
enum CURRENT_SCREEN current_screen_type
Definition: GUIWindow.cpp:83
PLAYER_CLASS_ARCHER
@ PLAYER_CLASS_ARCHER
Definition: Player.h:232
GUIWindow::pStartingPosActiveItem
int pStartingPosActiveItem
Definition: GUIWindow.h:485
GUIWindow::_41D08F_set_keyboard_control_group
void _41D08F_set_keyboard_control_group(int num_buttons, int a3, int a4, int a5)
Definition: GUIWindow.cpp:273
WINDOW_CharacterCreation
@ WINDOW_CharacterCreation
Definition: GUIWindow.h:343
pCreationUI_BtnPressRight2
std::array< GUIButton *, 4 > pCreationUI_BtnPressRight2
Definition: GUIButton.cpp:90
UIMSG_0
@ UIMSG_0
Definition: GUIWindow.h:14
CURRENT_SCREEN::SCREEN_PARTY_CREATION
@ SCREEN_PARTY_CREATION
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
GUIWindow::pCurrentPosActiveItem
int pCurrentPosActiveItem
Definition: GUIWindow.h:482
ui_partycreation_class_icons
std::array< Image *, 9 > ui_partycreation_class_icons
Definition: UIPartyCreation.cpp:42
GUIFont::AlignText_Center
unsigned int AlignText_Center(unsigned int width, const String &str)
Definition: GUIFont.cpp:306
UIMSG_PlayerCreationChangeName
@ UIMSG_PlayerCreationChangeName
Definition: GUIWindow.h:46
OS_GetTime
unsigned int OS_GetTime()
Definition: Lin.cpp:12
PLAYER_SKILL_TYPE
PLAYER_SKILL_TYPE
Definition: Player.h:170
ui_partycreation_arrow_l
std::array< Image *, 20 > ui_partycreation_arrow_l
Definition: UIPartyCreation.cpp:46
GUIWindow::DrawMessageBox
void DrawMessageBox(bool inside_game_viewport)
Definition: GUIWindow.cpp:319
AssetsManager::GetImage_ColorKey
Texture * GetImage_ColorKey(const String &name, uint16_t colorkey)
Definition: AssetsManager.cpp:34
GUIWindow::uFrameHeight
unsigned int uFrameHeight
Definition: GUIWindow.h:471
uIconID_CharacterFrame
int uIconID_CharacterFrame
Definition: mm7_data.cpp:573
KeyboardActionMapping::pPressedKeysBuffer
char pPressedKeysBuffer[257]
Definition: Keyboard.h:66
GUIFont::LoadFont
static GUIFont * LoadFont(const char *pFontFile, const char *pFontPalette,...)
Definition: GUIFont.cpp:56
ui_partycreation_buttmake2
Image * ui_partycreation_buttmake2
Definition: UIPartyCreation.cpp:39
UIMSG_PlayerCreationRemoveUpSkill
@ UIMSG_PlayerCreationRemoveUpSkill
Definition: GUIWindow.h:60
UIMSG_PlayerCreation_FaceNext
@ UIMSG_PlayerCreation_FaceNext
Definition: GUIWindow.h:139
ui_partycreation_right
Image * ui_partycreation_right
Definition: UIPartyCreation.cpp:36
PLAYER_CLASS_DRUID
@ PLAYER_CLASS_DRUID
Definition: Player.h:244
UIMSG_PlayerCreation_SelectAttribute
@ UIMSG_PlayerCreation_SelectAttribute
Definition: GUIWindow.h:101
window
EGLSurface EGLNativeWindowType * window
Definition: SDL_egl.h:1580
f
GLfloat f
Definition: SDL_opengl_glext.h:1873
GUIWindow_PartyCreation::main_menu_background
Image * main_menu_background
Definition: UIPartyCreation.h:17
PLAYER_CLASS_TYPE
PLAYER_CLASS_TYPE
Definition: Player.h:215
PLAYER_CLASS_SORCERER
@ PLAYER_CLASS_SORCERER
Definition: Player.h:248
PLAYER_CLASS_THEIF
@ PLAYER_CLASS_THEIF
Definition: Player.h:220
ui_partycreation_font
GUIFont * ui_partycreation_font
Definition: UIPartyCreation.cpp:30
GUIWindow::uFrameY
unsigned int uFrameY
Definition: GUIWindow.h:469
GUIButton::uX
unsigned int uX
Definition: GUIButton.h:21
UIMSG_PlayerCreationSelectClass
@ UIMSG_PlayerCreationSelectClass
Definition: GUIWindow.h:51
GUIWindow::DrawFlashingInputCursor
void DrawFlashingInputCursor(int uX, int uY, GUIFont *a2)
Definition: GUIWindow.cpp:759
game_ui_status_bar_event_string_time_left
unsigned int game_ui_status_bar_event_string_time_left
Definition: mm7_data.cpp:639
IconFrameTable::GetFrame
Icon * GetFrame(unsigned int uIconID, unsigned int frame_time)
Definition: IconFrameTable.cpp:39
UIMSG_PlayerCreationClickReset
@ UIMSG_PlayerCreationClickReset
Definition: GUIWindow.h:53
uint8_t
unsigned __int8 uint8_t
Definition: SDL_config.h:35
pPlayerCreationUI_BtnOK
GUIButton * pPlayerCreationUI_BtnOK
Definition: GUIButton.cpp:27
ui_partycreation_portraits
std::array< Image *, 22 > ui_partycreation_portraits
Definition: UIPartyCreation.cpp:43
UIMSG_PlayerCreationSelectActiveSkill
@ UIMSG_PlayerCreationSelectActiveSkill
Definition: GUIWindow.h:50
pPlayerCreationUI_BtnReset
GUIButton * pPlayerCreationUI_BtnReset
Definition: GUIButton.cpp:26
UIMSG_48
@ UIMSG_48
Definition: GUIWindow.h:58
pKeyActionMap
struct KeyboardActionMapping * pKeyActionMap
Definition: Keyboard.cpp:35
Icon
Definition: IconFrameTable.h:8
UIMSG_PlayerCreation_FacePrev
@ UIMSG_PlayerCreation_FacePrev
Definition: GUIWindow.h:138
assets
AssetsManager * assets
Definition: AssetsManager.cpp:12
uint
unsigned int uint
Definition: MM7.h:4
GUIButton::uY
unsigned int uY
Definition: GUIButton.h:22
GUIWindow::ptr_1C
void * ptr_1C
Definition: GUIWindow.h:476
ui_partycreation_left
Image * ui_partycreation_left
Definition: UIPartyCreation.cpp:35
AssetsManager::GetImage_Alpha
Texture * GetImage_Alpha(const String &name)
Definition: AssetsManager.cpp:66
PlayerCreation_GetUnspentAttributePointCount
int PlayerCreation_GetUnspentAttributePointCount()
Definition: Player.cpp:223
GUIWindow::GetControl
GUIButton * GetControl(unsigned int uID)
Definition: GUIWindow.cpp:311
Timer::uStartTime
unsigned int uStartTime
Definition: Time.h:129
ui_partycreation_top
Image * ui_partycreation_top
Definition: UIPartyCreation.cpp:32
GUIWindow::uFrameX
unsigned int uFrameX
Definition: GUIWindow.h:468
GUIWindow::sHint
String sHint
Definition: GUIWindow.h:488
Localization::GetClassName
const char * GetClassName(unsigned int index) const
Definition: Localization.h:35
v0
GLfloat v0
Definition: SDL_opengl_glext.h:693
pMessageQueue_50CBD0
struct GUIMessageQueue * pMessageQueue_50CBD0
Definition: GUIWindow.cpp:86
Color16
uint16_t Color16(uint32_t r, uint32_t g, uint32_t b)
Definition: Engine.cpp:148
uPlayerCreationUI_ArrowAnim
int uPlayerCreationUI_ArrowAnim
Definition: mm7_data.cpp:760
pPlayerCreationUI_BtnPlus
GUIButton * pPlayerCreationUI_BtnPlus
Definition: GUIButton.cpp:30
StringPrintf
String StringPrintf(const char *fmt,...)
Definition: Strings.cpp:9
String
std::string String
Definition: Strings.h:10
pEventTimer
Timer * pEventTimer
Definition: Time.cpp:8
UIMSG_PlayerCreation_VoicePrev
@ UIMSG_PlayerCreation_VoicePrev
Definition: GUIWindow.h:124
ui_partycreation_sky_scroller
Image * ui_partycreation_sky_scroller
Definition: UIPartyCreation.cpp:33
Image::Release
bool Release()
Definition: Image.cpp:335
PLAYER_CLASS_MONK
@ PLAYER_CLASS_MONK
Definition: Player.h:224
pPlayerPortraitsNames
std::array< const char *, 25 > pPlayerPortraitsNames
Definition: mm7_data.cpp:310
ui_partycreation_plus
Image * ui_partycreation_plus
Definition: UIPartyCreation.cpp:38
ui_partycreation_minus
Image * ui_partycreation_minus
Definition: UIPartyCreation.cpp:37
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52