Browse Source

Rename UiFlags members to group related options

pull/2480/head
ephphatha 5 years ago committed by Anders Jenbo
parent
commit
0575716eac
  1. 2
      Source/DiabloUI/button.cpp
  2. 16
      Source/DiabloUI/diabloui.cpp
  3. 6
      Source/DiabloUI/dialogs.cpp
  4. 4
      Source/DiabloUI/mainmenu.cpp
  5. 16
      Source/DiabloUI/selconn.cpp
  6. 56
      Source/DiabloUI/selgame.cpp
  7. 70
      Source/DiabloUI/selhero.cpp
  8. 8
      Source/DiabloUI/selok.cpp
  9. 6
      Source/DiabloUI/selyesno.cpp
  10. 20
      Source/DiabloUI/text_draw.cpp
  11. 6
      Source/DiabloUI/title.cpp
  12. 52
      Source/DiabloUI/ui_item.h
  13. 182
      Source/control.cpp
  14. 2
      Source/controls/modifier_hints.cpp
  15. 28
      Source/engine/render/text_render.cpp
  16. 4
      Source/engine/render/text_render.hpp
  17. 2
      Source/error.cpp
  18. 6
      Source/gmenu.cpp
  19. 8
      Source/help.cpp
  20. 4
      Source/inv.cpp
  21. 4
      Source/items.cpp
  22. 8
      Source/items.h
  23. 2
      Source/minitext.cpp
  24. 4
      Source/objects.cpp
  25. 2
      Source/plrmsg.cpp
  26. 10
      Source/qol/monhealthbar.cpp
  27. 4
      Source/qol/xpbar.cpp
  28. 4
      Source/quests.cpp
  29. 2
      Source/scrollrt.cpp
  30. 198
      Source/stores.cpp

2
Source/DiabloUI/button.cpp

@ -29,7 +29,7 @@ void RenderButton(UiButton *button)
SDL_Color color1 = { 243, 243, 243, 0 };
SDL_Color color2 = { 0, 0, 0, 0 };
DrawTTF(button->m_text, textRect, UiFlags::UIS_CENTER,
DrawTTF(button->m_text, textRect, UiFlags::AlignCenter,
color1, color2, button->m_render_cache);
}

16
Source/DiabloUI/diabloui.cpp

@ -126,9 +126,9 @@ void UiInitScrollBar(UiScrollBar *uiSb, std::size_t viewportSize, const std::siz
ListViewportSize = viewportSize;
ListOffset = currentOffset;
if (ListViewportSize >= static_cast<std::size_t>(SelectedItemMax + 1)) {
uiSb->add_flag(UiFlags::UIS_HIDDEN);
uiSb->add_flag(UiFlags::ElementHidden);
} else {
uiSb->remove_flag(UiFlags::UIS_HIDDEN);
uiSb->remove_flag(UiFlags::ElementHidden);
}
}
@ -636,17 +636,17 @@ void UiAddBackground(std::vector<std::unique_ptr<UiItemBase>> *vecDialog)
{
if (ArtBackgroundWidescreen.surface != nullptr) {
SDL_Rect rectw = { 0, UI_OFFSET_Y, 0, 0 };
vecDialog->push_back(std::make_unique<UiImage>(&ArtBackgroundWidescreen, rectw, UiFlags::UIS_CENTER));
vecDialog->push_back(std::make_unique<UiImage>(&ArtBackgroundWidescreen, rectw, UiFlags::AlignCenter));
}
SDL_Rect rect = { 0, UI_OFFSET_Y, 0, 0 };
vecDialog->push_back(std::make_unique<UiImage>(&ArtBackground, rect, UiFlags::UIS_CENTER));
vecDialog->push_back(std::make_unique<UiImage>(&ArtBackground, rect, UiFlags::AlignCenter));
}
void UiAddLogo(std::vector<std::unique_ptr<UiItemBase>> *vecDialog, int size, int y)
{
SDL_Rect rect = { 0, (Sint16)(UI_OFFSET_Y + y), 0, 0 };
vecDialog->push_back(std::make_unique<UiImage>(&ArtLogos[size], rect, UiFlags::UIS_CENTER, /*bAnimated=*/true));
vecDialog->push_back(std::make_unique<UiImage>(&ArtLogos[size], rect, UiFlags::AlignCenter, /*bAnimated=*/true));
}
void UiFadeIn()
@ -734,7 +734,7 @@ void Render(const UiArtText *uiArtText)
void Render(const UiImage *uiImage)
{
int x = uiImage->m_rect.x;
if (HasAnyOf(uiImage->m_iFlags, UiFlags::UIS_CENTER) && uiImage->m_art != nullptr) {
if (HasAnyOf(uiImage->m_iFlags, UiFlags::AlignCenter) && uiImage->m_art != nullptr) {
const int xOffset = GetCenterOffset(uiImage->m_art->w(), uiImage->m_rect.w);
x += xOffset;
}
@ -805,7 +805,7 @@ void Render(const UiEdit *uiEdit)
void RenderItem(UiItemBase *item)
{
if (item->has_flag(UiFlags::UIS_HIDDEN))
if (item->has_flag(UiFlags::ElementHidden))
return;
switch (item->m_type) {
case UiType::UI_TEXT:
@ -911,7 +911,7 @@ bool HandleMouseEventScrollBar(const SDL_Event &event, const UiScrollBar *uiSb)
bool HandleMouseEvent(const SDL_Event &event, UiItemBase *item)
{
if (item->has_any_flag(UiFlags::UIS_HIDDEN | UiFlags::UIS_DISABLED) || !IsInsideRect(event, item->m_rect))
if (item->has_any_flag(UiFlags::ElementHidden | UiFlags::ElementDisabled) || !IsInsideRect(event, item->m_rect))
return false;
switch (item->m_type) {
case UiType::UI_ART_TEXT_BUTTON:

6
Source/DiabloUI/dialogs.cpp

@ -166,7 +166,7 @@ void Init(const char *text, const char *caption, bool error, bool renderBehind)
vecOkDialog.push_back(std::make_unique<UiImage>(&dialogArt, rect1));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 200), (Sint16)(UI_OFFSET_Y + 211), 240, 80 };
vecOkDialog.push_back(std::make_unique<UiText>(text, rect2, UiFlags::UIS_CENTER));
vecOkDialog.push_back(std::make_unique<UiText>(text, rect2, UiFlags::AlignCenter));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 265), (Sint16)(UI_OFFSET_Y + 265), SML_BUTTON_WIDTH, SML_BUTTON_HEIGHT };
vecOkDialog.push_back(std::make_unique<UiButton>(&SmlButton, _("OK"), &DialogActionOK, rect3));
@ -176,10 +176,10 @@ void Init(const char *text, const char *caption, bool error, bool renderBehind)
SDL_Color color = { 255, 255, 0, 0 };
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 147), (Sint16)(UI_OFFSET_Y + 110), 345, 20 };
vecOkDialog.push_back(std::make_unique<UiText>(text, rect2, UiFlags::UIS_CENTER, color));
vecOkDialog.push_back(std::make_unique<UiText>(text, rect2, UiFlags::AlignCenter, color));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 147), (Sint16)(UI_OFFSET_Y + 141), 345, 190 };
vecOkDialog.push_back(std::make_unique<UiText>(caption, rect3, UiFlags::UIS_CENTER));
vecOkDialog.push_back(std::make_unique<UiText>(caption, rect3, UiFlags::AlignCenter));
SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 264), (Sint16)(UI_OFFSET_Y + 335), SML_BUTTON_WIDTH, SML_BUTTON_HEIGHT };
vecOkDialog.push_back(std::make_unique<UiButton>(&SmlButton, _("OK"), &DialogActionOK, rect4));

4
Source/DiabloUI/mainmenu.cpp

@ -56,10 +56,10 @@ void MainmenuLoad(const char *name, void (*fnSound)(const char *file))
UiAddBackground(&vecMainMenuDialog);
UiAddLogo(&vecMainMenuDialog);
vecMainMenuDialog.push_back(std::make_unique<UiList>(vecMenuItems, PANEL_LEFT + 64, (UI_OFFSET_Y + 192), 510, 43, UiFlags::UIS_HUGE | UiFlags::UIS_GOLD | UiFlags::UIS_CENTER));
vecMainMenuDialog.push_back(std::make_unique<UiList>(vecMenuItems, PANEL_LEFT + 64, (UI_OFFSET_Y + 192), 510, 43, UiFlags::FontHuge | UiFlags::ColorGold | UiFlags::AlignCenter));
SDL_Rect rect = { 17, (Sint16)(gnScreenHeight - 36), 605, 21 };
vecMainMenuDialog.push_back(std::make_unique<UiArtText>(name, rect, UiFlags::UIS_SMALL));
vecMainMenuDialog.push_back(std::make_unique<UiArtText>(name, rect, UiFlags::FontSmall));
UiInitList(vecMenuItems.size(), nullptr, UiMainMenuSelect, MainmenuEsc, vecMainMenuDialog, true);
}

16
Source/DiabloUI/selconn.cpp

@ -45,7 +45,7 @@ void SelconnLoad()
UiAddLogo(&vecSelConnDlg);
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(Sint16)(UI_OFFSET_Y + 161), 590, 35 };
vecSelConnDlg.push_back(std::make_unique<UiArtText>(_("Multi Player Game"), rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelConnDlg.push_back(std::make_unique<UiArtText>(_("Multi Player Game"), rect1, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 218), DESCRIPTION_WIDTH, 21 };
vecSelConnDlg.push_back(std::make_unique<UiArtText>(selconn_MaxPlayers, rect2));
@ -57,24 +57,24 @@ void SelconnLoad()
vecSelConnDlg.push_back(std::make_unique<UiArtText>(selconn_Description, rect4));
SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 30), (Sint16)(UI_OFFSET_Y + 356), 220, 31 };
vecSelConnDlg.push_back(std::make_unique<UiArtText>(_("no gateway needed"), rect5, UiFlags::UIS_CENTER | UiFlags::UIS_MED));
vecSelConnDlg.push_back(std::make_unique<UiArtText>(_("no gateway needed"), rect5, UiFlags::AlignCenter | UiFlags::FontMedium));
SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 393), DESCRIPTION_WIDTH, 21 };
vecSelConnDlg.push_back(std::make_unique<UiArtText>(selconn_Gateway, rect6, UiFlags::UIS_CENTER));
vecSelConnDlg.push_back(std::make_unique<UiArtText>(selconn_Gateway, rect6, UiFlags::AlignCenter));
SDL_Rect rect7 = { (Sint16)(PANEL_LEFT + 300), (Sint16)(UI_OFFSET_Y + 211), 295, 33 };
vecSelConnDlg.push_back(std::make_unique<UiArtText>(_("Select Connection"), rect7, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelConnDlg.push_back(std::make_unique<UiArtText>(_("Select Connection"), rect7, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect8 = { (Sint16)(PANEL_LEFT + 16), (Sint16)(UI_OFFSET_Y + 427), 250, 35 };
vecSelConnDlg.push_back(std::make_unique<UiArtTextButton>(_("Change Gateway"), nullptr, rect8, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD | UiFlags::UIS_HIDDEN));
vecSelConnDlg.push_back(std::make_unique<UiArtTextButton>(_("Change Gateway"), nullptr, rect8, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold | UiFlags::ElementHidden));
vecSelConnDlg.push_back(std::make_unique<UiList>(vecConnItems, PANEL_LEFT + 305, (UI_OFFSET_Y + 256), 285, 26, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_GOLD));
vecSelConnDlg.push_back(std::make_unique<UiList>(vecConnItems, PANEL_LEFT + 305, (UI_OFFSET_Y + 256), 285, 26, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::ColorGold));
SDL_Rect rect9 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelConnDlg.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect9, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelConnDlg.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect9, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect10 = { (Sint16)(PANEL_LEFT + 454), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelConnDlg.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect10, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelConnDlg.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect10, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(vecConnItems.size(), SelconnFocus, SelconnSelect, SelconnEsc, vecSelConnDlg);
}

56
Source/DiabloUI/selgame.cpp

@ -75,27 +75,27 @@ void selgame_GameSelection_Init()
UiAddLogo(&vecSelGameDialog);
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Client-Server (TCP)"), rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Client-Server (TCP)"), rect1, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 211), 205, 192 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Description:"), rect2, UiFlags::UIS_MED));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Description:"), rect2, UiFlags::FontMedium));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(selgame_Description, rect3));
SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 300), (Sint16)(UI_OFFSET_Y + 211), 295, 33 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Select Action"), rect4, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Select Action"), rect4, UiFlags::AlignCenter | UiFlags::FontBig));
vecSelGameDlgItems.push_back(std::make_unique<UiListItem>(_("Create Game"), 0));
vecSelGameDlgItems.push_back(std::make_unique<UiListItem>(_("Join Game"), 1));
vecSelGameDialog.push_back(std::make_unique<UiList>(vecSelGameDlgItems, PANEL_LEFT + 305, (UI_OFFSET_Y + 255), 285, 26, UiFlags::UIS_CENTER | UiFlags::UIS_MED | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiList>(vecSelGameDlgItems, PANEL_LEFT + 305, (UI_OFFSET_Y + 255), 285, 26, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold));
SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(vecSelGameDlgItems.size(), selgame_GameSelection_Focus, selgame_GameSelection_Select, selgame_GameSelection_Esc, vecSelGameDialog);
}
@ -139,10 +139,10 @@ void selgame_GameSelection_Select(int value)
UiAddLogo(&vecSelGameDialog);
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(&title, rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(&title, rect1, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 34), (Sint16)(UI_OFFSET_Y + 211), 205, 33 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(selgame_Label, rect2, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(selgame_Label, rect2, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(selgame_Description, rect3));
@ -152,19 +152,19 @@ void selgame_GameSelection_Select(int value)
title = _("Create Game");
SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 211), 295, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Select Difficulty"), rect4, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Select Difficulty"), rect4, UiFlags::AlignCenter | UiFlags::FontBig));
vecSelGameDlgItems.push_back(std::make_unique<UiListItem>(_("Normal"), DIFF_NORMAL));
vecSelGameDlgItems.push_back(std::make_unique<UiListItem>(_("Nightmare"), DIFF_NIGHTMARE));
vecSelGameDlgItems.push_back(std::make_unique<UiListItem>(_("Hell"), DIFF_HELL));
vecSelGameDialog.push_back(std::make_unique<UiList>(vecSelGameDlgItems, PANEL_LEFT + 300, (UI_OFFSET_Y + 282), 295, 26, UiFlags::UIS_CENTER | UiFlags::UIS_MED | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiList>(vecSelGameDlgItems, PANEL_LEFT + 300, (UI_OFFSET_Y + 282), 295, 26, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold));
SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(vecSelGameDlgItems.size(), selgame_Diff_Focus, selgame_Diff_Select, selgame_Diff_Esc, vecSelGameDialog, true);
break;
@ -173,16 +173,16 @@ void selgame_GameSelection_Select(int value)
title = _("Join TCP Games");
SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 305), (Sint16)(UI_OFFSET_Y + 211), 285, 33 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Enter address"), rect4, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Enter address"), rect4, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 305), (Sint16)(UI_OFFSET_Y + 314), 285, 33 };
vecSelGameDialog.push_back(std::make_unique<UiEdit>(_("Enter address"), selgame_Ip, 128, rect5, UiFlags::UIS_MED | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiEdit>(_("Enter address"), selgame_Ip, 128, rect5, UiFlags::FontMedium | UiFlags::ColorGold));
SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect6, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect7 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect7, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect7, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(0, nullptr, selgame_Password_Init, selgame_GameSelection_Init, vecSelGameDialog);
break;
@ -293,29 +293,29 @@ void selgame_GameSpeedSelection()
UiAddLogo(&vecSelGameDialog);
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Create Game"), rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Create Game"), rect1, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 34), (Sint16)(UI_OFFSET_Y + 211), 205, 33 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(selgame_Label, rect2, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(selgame_Label, rect2, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(selgame_Description, rect3));
SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 211), 295, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Select Game Speed"), rect4, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Select Game Speed"), rect4, UiFlags::AlignCenter | UiFlags::FontBig));
vecSelGameDlgItems.push_back(std::make_unique<UiListItem>(_("Normal"), 20));
vecSelGameDlgItems.push_back(std::make_unique<UiListItem>(_("Fast"), 30));
vecSelGameDlgItems.push_back(std::make_unique<UiListItem>(_("Faster"), 40));
vecSelGameDlgItems.push_back(std::make_unique<UiListItem>(_("Fastest"), 50));
vecSelGameDialog.push_back(std::make_unique<UiList>(vecSelGameDlgItems, PANEL_LEFT + 300, (UI_OFFSET_Y + 279), 295, 26, UiFlags::UIS_CENTER | UiFlags::UIS_MED | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiList>(vecSelGameDlgItems, PANEL_LEFT + 300, (UI_OFFSET_Y + 279), 295, 26, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold));
SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(vecSelGameDlgItems.size(), selgame_Speed_Focus, selgame_Speed_Select, selgame_Speed_Esc, vecSelGameDialog, true);
}
@ -370,25 +370,25 @@ void selgame_Password_Init(int /*value*/)
UiAddLogo(&vecSelGameDialog);
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Client-Server (TCP)"), rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Client-Server (TCP)"), rect1, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 211), 205, 192 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Description:"), rect2, UiFlags::UIS_MED));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Description:"), rect2, UiFlags::FontMedium));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(selgame_Description, rect3));
SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 305), (Sint16)(UI_OFFSET_Y + 211), 285, 33 };
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Enter Password"), rect4, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelGameDialog.push_back(std::make_unique<UiArtText>(_("Enter Password"), rect4, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 305), (Sint16)(UI_OFFSET_Y + 314), 285, 33 };
vecSelGameDialog.push_back(std::make_unique<UiEdit>(_("Enter Password"), selgame_Password, 15, rect5, UiFlags::UIS_MED | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiEdit>(_("Enter Password"), selgame_Password, 15, rect5, UiFlags::FontMedium | UiFlags::ColorGold));
SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect6, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect7 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect7, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelGameDialog.push_back(std::make_unique<UiArtTextButton>(_("CANCEL"), &UiFocusNavigationEsc, rect7, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(0, nullptr, selgame_Password_Select, selgame_Password_Esc, vecSelGameDialog);
}

70
Source/DiabloUI/selhero.cpp

@ -127,11 +127,11 @@ void SelheroListFocus(int value)
{
const auto index = static_cast<std::size_t>(value);
SelheroScrollIntoView(index);
UiFlags baseFlags = UiFlags::UIS_CENTER | UiFlags::UIS_BIG;
UiFlags baseFlags = UiFlags::AlignCenter | UiFlags::FontBig;
if (selhero_SaveCount != 0 && index < selhero_SaveCount) {
memcpy(&selhero_heroInfo, &selhero_heros[index], sizeof(selhero_heroInfo));
SelheroSetStats();
SELLIST_DIALOG_DELETE_BUTTON->m_iFlags = baseFlags | UiFlags::UIS_GOLD;
SELLIST_DIALOG_DELETE_BUTTON->m_iFlags = baseFlags | UiFlags::ColorGold;
selhero_deleteEnabled = true;
return;
}
@ -143,7 +143,7 @@ void SelheroListFocus(int value)
strncpy(textStats[3], "--", sizeof(textStats[3]) - 1);
strncpy(textStats[4], "--", sizeof(textStats[4]) - 1);
strncpy(textStats[5], "--", sizeof(textStats[5]) - 1);
SELLIST_DIALOG_DELETE_BUTTON->m_iFlags = baseFlags | UiFlags::UIS_DISABLED;
SELLIST_DIALOG_DELETE_BUTTON->m_iFlags = baseFlags | UiFlags::ElementDisabled;
selhero_deleteEnabled = false;
}
@ -160,7 +160,7 @@ void SelheroListSelect(int value)
vecSelDlgItems.clear();
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 264), (Sint16)(UI_OFFSET_Y + 211), 320, 33 };
vecSelDlgItems.push_back(std::make_unique<UiArtText>(_("Choose Class"), rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelDlgItems.push_back(std::make_unique<UiArtText>(_("Choose Class"), rect1, UiFlags::AlignCenter | UiFlags::FontBig));
vecSelHeroDlgItems.clear();
int itemH = 33;
@ -179,13 +179,13 @@ void SelheroListSelect(int value)
if (vecSelHeroDlgItems.size() > 4)
itemH = 26;
int itemY = 246 + (176 - vecSelHeroDlgItems.size() * itemH) / 2;
vecSelDlgItems.push_back(std::make_unique<UiList>(vecSelHeroDlgItems, PANEL_LEFT + 264, (UI_OFFSET_Y + itemY), 320, itemH, UiFlags::UIS_CENTER | UiFlags::UIS_MED | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiList>(vecSelHeroDlgItems, PANEL_LEFT + 264, (UI_OFFSET_Y + itemY), 320, itemH, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 279), (Sint16)(UI_OFFSET_Y + 429), 140, 35 };
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect2, UiFlags::UIS_CENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect2, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 429), (Sint16)(UI_OFFSET_Y + 429), 140, 35 };
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect3, UiFlags::UIS_CENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect3, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(vecSelHeroDlgItems.size(), SelheroClassSelectorFocus, SelheroClassSelectorSelect, SelheroClassSelectorEsc, vecSelDlgItems);
memset(&selhero_heroInfo.name, 0, sizeof(selhero_heroInfo.name));
@ -198,18 +198,18 @@ void SelheroListSelect(int value)
vecSelDlgItems.clear();
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 264), (Sint16)(UI_OFFSET_Y + 211), 320, 33 };
vecSelDlgItems.push_back(std::make_unique<UiArtText>(_("Save File Exists"), rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelDlgItems.push_back(std::make_unique<UiArtText>(_("Save File Exists"), rect1, UiFlags::AlignCenter | UiFlags::FontBig));
vecSelHeroDlgItems.clear();
vecSelHeroDlgItems.push_back(std::make_unique<UiListItem>(_("Load Game"), 0));
vecSelHeroDlgItems.push_back(std::make_unique<UiListItem>(_("New Game"), 1));
vecSelDlgItems.push_back(std::make_unique<UiList>(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 285), 320, 33, UiFlags::UIS_CENTER | UiFlags::UIS_MED | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiList>(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 285), 320, 33, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 279), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect2, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect2, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 429), (Sint16)(UI_OFFSET_Y + 427), 140, 35 };
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect3, UiFlags::UIS_CENTER | UiFlags::UIS_VCENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect3, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(vecSelHeroDlgItems.size(), SelheroLoadFocus, SelheroLoadSelect, selhero_List_Init, vecSelDlgItems, true);
title = _("Single Player Characters");
@ -270,16 +270,16 @@ void SelheroClassSelectorSelect(int value)
strncpy(selhero_heroInfo.name, SelheroGenerateName(selhero_heroInfo.heroclass), sizeof(selhero_heroInfo.name) - 1);
vecSelDlgItems.clear();
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 264), (Sint16)(UI_OFFSET_Y + 211), 320, 33 };
vecSelDlgItems.push_back(std::make_unique<UiArtText>(_("Enter Name"), rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelDlgItems.push_back(std::make_unique<UiArtText>(_("Enter Name"), rect1, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 265), (Sint16)(UI_OFFSET_Y + 317), 320, 33 };
vecSelDlgItems.push_back(std::make_unique<UiEdit>(_("Enter Name"), selhero_heroInfo.name, 15, rect2, UiFlags::UIS_MED | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiEdit>(_("Enter Name"), selhero_heroInfo.name, 15, rect2, UiFlags::FontMedium | UiFlags::ColorGold));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 279), (Sint16)(UI_OFFSET_Y + 429), 140, 35 };
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect3, UiFlags::UIS_CENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect3, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 429), (Sint16)(UI_OFFSET_Y + 429), 140, 35 };
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect4, UiFlags::UIS_CENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect4, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(0, nullptr, SelheroNameSelect, SelheroNameEsc, vecSelDlgItems);
}
@ -454,46 +454,46 @@ void selhero_Init()
vecSelDlgItems.clear();
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(&title, rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(&title, rect1, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 30), (Sint16)(UI_OFFSET_Y + 211), 180, 76 };
auto heroImg = std::make_unique<UiImage>(&ArtHero, rect2, UiFlags::NONE, /*bAnimated=*/false, static_cast<int>(enum_size<HeroClass>::value));
auto heroImg = std::make_unique<UiImage>(&ArtHero, rect2, UiFlags::None, /*bAnimated=*/false, static_cast<int>(enum_size<HeroClass>::value));
SELHERO_DIALOG_HERO_IMG = heroImg.get();
vecSelHeroDialog.push_back(std::move(heroImg));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 323), 110, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Level:"), rect3, UiFlags::UIS_RIGHT));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Level:"), rect3, UiFlags::AlignRight));
SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 323), 110, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Level:"), rect4, UiFlags::UIS_RIGHT));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Level:"), rect4, UiFlags::AlignRight));
SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 323), 40, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[0], rect5, UiFlags::UIS_CENTER));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[0], rect5, UiFlags::AlignCenter));
SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 358), 110, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Strength:"), rect6, UiFlags::UIS_RIGHT));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Strength:"), rect6, UiFlags::AlignRight));
SDL_Rect rect7 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 358), 40, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[1], rect7, UiFlags::UIS_CENTER));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[1], rect7, UiFlags::AlignCenter));
SDL_Rect rect8 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 380), 110, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Magic:"), rect8, UiFlags::UIS_RIGHT));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Magic:"), rect8, UiFlags::AlignRight));
SDL_Rect rect9 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 380), 40, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[2], rect9, UiFlags::UIS_CENTER));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[2], rect9, UiFlags::AlignCenter));
SDL_Rect rect10 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 401), 110, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Dexterity:"), rect10, UiFlags::UIS_RIGHT));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Dexterity:"), rect10, UiFlags::AlignRight));
SDL_Rect rect11 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 401), 40, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[3], rect11, UiFlags::UIS_CENTER));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[3], rect11, UiFlags::AlignCenter));
SDL_Rect rect12 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 422), 110, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Vitality:"), rect12, UiFlags::UIS_RIGHT));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Vitality:"), rect12, UiFlags::AlignRight));
SDL_Rect rect13 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 422), 40, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[4], rect13, UiFlags::UIS_CENTER));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[4], rect13, UiFlags::AlignCenter));
#if _DEBUG
SDL_Rect rect14 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 443), 110, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Savegame:"), rect14, UiFlags::UIS_RIGHT));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(_("Savegame:"), rect14, UiFlags::AlignRight));
SDL_Rect rect15 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 443), 40, 21 };
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[5], rect15, UiFlags::UIS_CENTER));
vecSelHeroDialog.push_back(std::make_unique<UiArtText>(textStats[5], rect15, UiFlags::AlignCenter));
#endif
}
@ -503,7 +503,7 @@ void selhero_List_Init()
vecSelDlgItems.clear();
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 264), (Sint16)(UI_OFFSET_Y + 211), 320, 33 };
vecSelDlgItems.push_back(std::make_unique<UiArtText>(_("Select Hero"), rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelDlgItems.push_back(std::make_unique<UiArtText>(_("Select Hero"), rect1, UiFlags::AlignCenter | UiFlags::FontBig));
vecSelHeroDlgItems.clear();
const size_t numViewportHeroes = std::min(selhero_SaveCount + 1, MaxViewportItems);
@ -512,7 +512,7 @@ void selhero_List_Init()
}
SelheroUpdateViewportItems();
vecSelDlgItems.push_back(std::make_unique<UiList>(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 256), 320, 26, UiFlags::UIS_CENTER | UiFlags::UIS_MED | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiList>(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 256), 320, 26, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 585), (Sint16)(UI_OFFSET_Y + 244), 25, 178 };
auto pinnedScrollBar = std::make_unique<UiScrollBar>(&ArtScrollBarBackground, &ArtScrollBarThumb, &ArtScrollBarArrow, rect2);
@ -520,15 +520,15 @@ void selhero_List_Init()
vecSelDlgItems.push_back(std::move(pinnedScrollBar));
SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 239), (Sint16)(UI_OFFSET_Y + 429), 120, 35 };
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect3, UiFlags::UIS_CENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("OK"), &UiFocusNavigationSelect, rect3, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold));
SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 364), (Sint16)(UI_OFFSET_Y + 429), 120, 35 };
auto setlistDialogDeleteButton = std::make_unique<UiArtTextButton>(_("Delete"), &SelheroUiFocusNavigationYesNo, rect4, UiFlags::UIS_CENTER | UiFlags::UIS_BIG | UiFlags::UIS_DISABLED);
auto setlistDialogDeleteButton = std::make_unique<UiArtTextButton>(_("Delete"), &SelheroUiFocusNavigationYesNo, rect4, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ElementDisabled);
SELLIST_DIALOG_DELETE_BUTTON = setlistDialogDeleteButton.get();
vecSelDlgItems.push_back(std::move(setlistDialogDeleteButton));
SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 489), (Sint16)(UI_OFFSET_Y + 429), 120, 35 };
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect5, UiFlags::UIS_CENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelDlgItems.push_back(std::make_unique<UiArtTextButton>(_("Cancel"), &UiFocusNavigationEsc, rect5, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold));
UiInitList(selhero_SaveCount + 1, SelheroListFocus, SelheroListSelect, SelheroListEsc, vecSelDlgItems, false, SelheroListDeleteYesNo);
UiInitScrollBar(scrollBar, MaxViewportItems, &listOffset);

8
Source/DiabloUI/selok.cpp

@ -56,17 +56,17 @@ void UiSelOkDialog(const char *title, const char *body, bool background)
if (title != nullptr) {
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 };
vecSelOkDialog.push_back(std::make_unique<UiArtText>(title, rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelOkDialog.push_back(std::make_unique<UiArtText>(title, rect1, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 140), (Sint16)(UI_OFFSET_Y + 210), 560, 168 };
vecSelOkDialog.push_back(std::make_unique<UiArtText>(dialogText, rect2, UiFlags::UIS_MED));
vecSelOkDialog.push_back(std::make_unique<UiArtText>(dialogText, rect2, UiFlags::FontMedium));
} else {
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 140), (Sint16)(UI_OFFSET_Y + 197), 560, 168 };
vecSelOkDialog.push_back(std::make_unique<UiArtText>(dialogText, rect1, UiFlags::UIS_MED));
vecSelOkDialog.push_back(std::make_unique<UiArtText>(dialogText, rect1, UiFlags::FontMedium));
}
vecSelOkDialogItems.push_back(std::make_unique<UiListItem>(_("OK"), 0));
vecSelOkDialog.push_back(std::make_unique<UiList>(vecSelOkDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UiFlags::UIS_CENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelOkDialog.push_back(std::make_unique<UiList>(vecSelOkDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold));
strncpy(dialogText, body, sizeof(dialogText) - 1);
WordWrapArtStr(dialogText, MESSAGE_WIDTH);

6
Source/DiabloUI/selyesno.cpp

@ -47,14 +47,14 @@ bool UiSelHeroYesNoDialog(const char *title, const char *body)
UiAddLogo(&vecSelYesNoDialog);
SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 };
vecSelYesNoDialog.push_back(std::make_unique<UiArtText>(title, rect1, UiFlags::UIS_CENTER | UiFlags::UIS_BIG));
vecSelYesNoDialog.push_back(std::make_unique<UiArtText>(title, rect1, UiFlags::AlignCenter | UiFlags::FontBig));
SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 120), (Sint16)(UI_OFFSET_Y + 236), MESSAGE_WIDTH, 168 };
vecSelYesNoDialog.push_back(std::make_unique<UiArtText>(selyesno_confirmationMessage, rect2, UiFlags::UIS_MED));
vecSelYesNoDialog.push_back(std::make_unique<UiArtText>(selyesno_confirmationMessage, rect2, UiFlags::FontMedium));
vecSelYesNoDialogItems.push_back(std::make_unique<UiListItem>(_("Yes"), 0));
vecSelYesNoDialogItems.push_back(std::make_unique<UiListItem>(_("No"), 1));
vecSelYesNoDialog.push_back(std::make_unique<UiList>(vecSelYesNoDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UiFlags::UIS_CENTER | UiFlags::UIS_BIG | UiFlags::UIS_GOLD));
vecSelYesNoDialog.push_back(std::make_unique<UiList>(vecSelYesNoDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold));
strncpy(selyesno_confirmationMessage, body, sizeof(selyesno_confirmationMessage) - 1);
WordWrapArtStr(selyesno_confirmationMessage, MESSAGE_WIDTH);

20
Source/DiabloUI/text_draw.cpp

@ -14,18 +14,18 @@ namespace {
TextAlignment XAlignmentFromFlags(UiFlags flags)
{
if (HasAnyOf(flags, UiFlags::UIS_CENTER))
if (HasAnyOf(flags, UiFlags::AlignCenter))
return TextAlignment_CENTER;
if (HasAnyOf(flags, UiFlags::UIS_RIGHT))
if (HasAnyOf(flags, UiFlags::AlignRight))
return TextAlignment_END;
return TextAlignment_BEGIN;
}
int AlignXOffset(UiFlags flags, const SDL_Rect &dest, int w)
{
if (HasAnyOf(flags, UiFlags::UIS_CENTER))
if (HasAnyOf(flags, UiFlags::AlignCenter))
return (dest.w - w) / 2;
if (HasAnyOf(flags, UiFlags::UIS_RIGHT))
if (HasAnyOf(flags, UiFlags::AlignRight))
return dest.w - w;
return 0;
}
@ -54,7 +54,7 @@ void DrawTTF(const char *text, const SDL_Rect &rectIn, UiFlags flags,
SDL_Rect destRect = rect;
ScaleOutputRect(&destRect);
destRect.x += AlignXOffset(flags, destRect, textSurface->w);
destRect.y += HasAnyOf(flags, UiFlags::UIS_VCENTER) ? (destRect.h - textSurface->h) / 2 : 0;
destRect.y += HasAnyOf(flags, UiFlags::VerticalCenter) ? (destRect.h - textSurface->h) / 2 : 0;
SDL_Rect shadowRect = destRect;
++shadowRect.x;
@ -68,17 +68,17 @@ void DrawTTF(const char *text, const SDL_Rect &rectIn, UiFlags flags,
void DrawArtStr(const char *text, const SDL_Rect &rect, UiFlags flags, bool drawTextCursor)
{
_artFontTables size = AFT_SMALL;
_artFontColors color = HasAnyOf(flags, UiFlags::UIS_GOLD) ? AFC_GOLD : AFC_SILVER;
_artFontColors color = HasAnyOf(flags, UiFlags::ColorGold) ? AFC_GOLD : AFC_SILVER;
if (HasAnyOf(flags, UiFlags::UIS_MED))
if (HasAnyOf(flags, UiFlags::FontMedium))
size = AFT_MED;
else if (HasAnyOf(flags, UiFlags::UIS_BIG))
else if (HasAnyOf(flags, UiFlags::FontBig))
size = AFT_BIG;
else if (HasAnyOf(flags, UiFlags::UIS_HUGE))
else if (HasAnyOf(flags, UiFlags::FontHuge))
size = AFT_HUGE;
const int x = rect.x + AlignXOffset(flags, rect, GetArtStrWidth(text, size));
const int y = rect.y + (HasAnyOf(flags, UiFlags::UIS_VCENTER) ? (rect.h - ArtFonts[size][color].h()) / 2 : 0);
const int y = rect.y + (HasAnyOf(flags, UiFlags::VerticalCenter) ? (rect.h - ArtFonts[size][color].h()) / 2 : 0);
int sx = x;
int sy = y;

6
Source/DiabloUI/title.cpp

@ -34,14 +34,14 @@ void UiTitleDialog()
{
if (gbIsHellfire) {
SDL_Rect rect = { 0, UI_OFFSET_Y, 0, 0 };
vecTitleScreen.push_back(std::make_unique<UiImage>(&ArtBackgroundWidescreen, rect, UiFlags::UIS_CENTER, /*bAnimated=*/true));
vecTitleScreen.push_back(std::make_unique<UiImage>(&ArtBackground, rect, UiFlags::UIS_CENTER, /*bAnimated=*/true));
vecTitleScreen.push_back(std::make_unique<UiImage>(&ArtBackgroundWidescreen, rect, UiFlags::AlignCenter, /*bAnimated=*/true));
vecTitleScreen.push_back(std::make_unique<UiImage>(&ArtBackground, rect, UiFlags::AlignCenter, /*bAnimated=*/true));
} else {
UiAddBackground(&vecTitleScreen);
UiAddLogo(&vecTitleScreen, LOGO_BIG, 182);
SDL_Rect rect = { (Sint16)(PANEL_LEFT + 49), (Sint16)(UI_OFFSET_Y + 410), 550, 26 };
vecTitleScreen.push_back(std::make_unique<UiArtText>(_("Copyright © 1996-2001 Blizzard Entertainment"), rect, UiFlags::UIS_MED | UiFlags::UIS_CENTER));
vecTitleScreen.push_back(std::make_unique<UiArtText>(_("Copyright © 1996-2001 Blizzard Entertainment"), rect, UiFlags::FontMedium | UiFlags::AlignCenter));
}
TitleLoad();

52
Source/DiabloUI/ui_item.h

@ -24,22 +24,22 @@ enum class UiType {
enum class UiFlags {
// clang-format off
NONE = 0,
UIS_SMALL = 1 << 0,
UIS_MED = 1 << 1,
UIS_BIG = 1 << 2,
UIS_HUGE = 1 << 3,
UIS_CENTER = 1 << 4,
UIS_RIGHT = 1 << 5,
UIS_VCENTER = 1 << 6,
UIS_SILVER = 1 << 7,
UIS_GOLD = 1 << 8,
UIS_RED = 1 << 9,
UIS_BLUE = 1 << 10,
UIS_BLACK = 1 << 11,
UIS_DISABLED = 1 << 12,
UIS_HIDDEN = 1 << 13,
UIS_FIT_SPACING = 1 << 14,
None = 0,
FontSmall = 1 << 0,
FontMedium = 1 << 1,
FontBig = 1 << 2,
FontHuge = 1 << 3,
AlignCenter = 1 << 4,
AlignRight = 1 << 5,
VerticalCenter = 1 << 6,
ColorSilver = 1 << 7,
ColorGold = 1 << 8,
ColorRed = 1 << 9,
ColorBlue = 1 << 10,
ColorBlack = 1 << 11,
ElementDisabled = 1 << 12,
ElementHidden = 1 << 13,
KerningFitSpacing = 1 << 14,
// clang-format on
};
@ -75,7 +75,7 @@ inline UiFlags operator~(UiFlags value)
inline bool HasAnyOf(UiFlags lhs, UiFlags test)
{
return (lhs & test) != UiFlags::NONE;
return (lhs & test) != UiFlags::None;
}
class UiItemBase {
@ -119,7 +119,7 @@ public:
class UiImage : public UiItemBase {
public:
UiImage(Art *art, SDL_Rect rect, UiFlags flags = UiFlags::NONE, bool animated = false, int frame = 0)
UiImage(Art *art, SDL_Rect rect, UiFlags flags = UiFlags::None, bool animated = false, int frame = 0)
: UiItemBase(UiType::UI_IMAGE, rect, flags)
, m_art(art)
, m_animated(animated)
@ -145,7 +145,7 @@ public:
* @param rect screen region defining the area to draw the text
* @param flags UiFlags controlling color/alignment/size
*/
UiArtText(const char *text, SDL_Rect rect, UiFlags flags = UiFlags::NONE)
UiArtText(const char *text, SDL_Rect rect, UiFlags flags = UiFlags::None)
: UiItemBase(UiType::UI_ART_TEXT, rect, flags)
, m_text(text)
{
@ -157,7 +157,7 @@ public:
* @param rect screen region defining the area to draw the text
* @param flags UiFlags controlling color/alignment/size
*/
UiArtText(const char **ptext, SDL_Rect rect, UiFlags flags = UiFlags::NONE)
UiArtText(const char **ptext, SDL_Rect rect, UiFlags flags = UiFlags::None)
: UiItemBase(UiType::UI_ART_TEXT, rect, flags)
, m_ptext(ptext)
{
@ -181,7 +181,7 @@ private:
class UiScrollBar : public UiItemBase {
public:
UiScrollBar(Art *bg, Art *thumb, Art *arrow, SDL_Rect rect, UiFlags flags = UiFlags::NONE)
UiScrollBar(Art *bg, Art *thumb, Art *arrow, SDL_Rect rect, UiFlags flags = UiFlags::None)
: UiItemBase(UiType::UI_SCROLLBAR, rect, flags)
, m_bg(bg)
, m_thumb(thumb)
@ -199,7 +199,7 @@ public:
class UiArtTextButton : public UiItemBase {
public:
UiArtTextButton(const char *text, void (*action)(), SDL_Rect rect, UiFlags flags = UiFlags::NONE)
UiArtTextButton(const char *text, void (*action)(), SDL_Rect rect, UiFlags flags = UiFlags::None)
: UiItemBase(UiType::UI_ART_TEXT_BUTTON, rect, flags)
, m_text(text)
, m_action(action)
@ -215,7 +215,7 @@ public:
class UiEdit : public UiItemBase {
public:
UiEdit(const char *hint, char *value, std::size_t max_length, SDL_Rect rect, UiFlags flags = UiFlags::NONE)
UiEdit(const char *hint, char *value, std::size_t max_length, SDL_Rect rect, UiFlags flags = UiFlags::None)
: UiItemBase(UiType::UI_EDIT, rect, flags)
, m_hint(hint)
, m_value(value)
@ -235,7 +235,7 @@ public:
class UiText : public UiItemBase {
public:
UiText(const char *text, SDL_Rect rect, UiFlags flags = UiFlags::NONE, SDL_Color color = { 243, 243, 243, 0 })
UiText(const char *text, SDL_Rect rect, UiFlags flags = UiFlags::None, SDL_Color color = { 243, 243, 243, 0 })
: UiItemBase(UiType::UI_TEXT, rect, flags)
, m_color(color)
, m_shadow_color({ 0, 0, 0, 0 })
@ -259,7 +259,7 @@ public:
class UiButton : public UiItemBase {
public:
UiButton(Art *art, const char *text, void (*action)(), SDL_Rect rect, UiFlags flags = UiFlags::NONE)
UiButton(Art *art, const char *text, void (*action)(), SDL_Rect rect, UiFlags flags = UiFlags::None)
: UiItemBase(UiType::UI_BUTTON, rect, flags)
, m_art(art)
, m_text(text)
@ -307,7 +307,7 @@ typedef std::vector<std::unique_ptr<UiListItem>> vUiListItem;
class UiList : public UiItemBase {
public:
UiList(const vUiListItem &vItems, Sint16 x, Sint16 y, Uint16 item_width, Uint16 item_height, UiFlags flags = UiFlags::NONE)
UiList(const vUiListItem &vItems, Sint16 x, Sint16 y, Uint16 item_width, Uint16 item_height, UiFlags flags = UiFlags::None)
: UiItemBase(UiType::UI_LIST, { x, y, item_width, static_cast<Uint16>(item_height * vItems.size()) }, flags)
, m_x(x)
, m_y(y)

182
Source/control.cpp

@ -309,9 +309,9 @@ void PrintSBookHotkey(const Surface &out, Point position, const std::string &tex
position += Displacement { SPLICONLENGTH - (GetLineWidth(text.c_str()) + 5), 17 - SPLICONLENGTH };
// Draw a drop shadow below and to the left of the text
DrawString(out, text.c_str(), position + Displacement { -1, 1 }, UiFlags::UIS_BLACK);
DrawString(out, text.c_str(), position + Displacement { -1, 1 }, UiFlags::ColorBlack);
// Then draw the text over the top
DrawString(out, text.c_str(), position, UiFlags::UIS_SILVER);
DrawString(out, text.c_str(), position, UiFlags::ColorSilver);
}
/**
@ -403,14 +403,14 @@ void PrintInfo(const Surface &out)
int yo = 0;
int lo = 1;
if (infostr[0] != '\0') {
DrawString(out, infostr, line, InfoColor | UiFlags::UIS_CENTER | UiFlags::UIS_FIT_SPACING, 2);
DrawString(out, infostr, line, InfoColor | UiFlags::AlignCenter | UiFlags::KerningFitSpacing, 2);
yo = 1;
lo = 0;
}
for (int i = 0; i < pnumlines; i++) {
line.position.y = PANEL_Y + LineOffsets[pnumlines - lo][i + yo];
DrawString(out, panelstr[i], line, InfoColor | UiFlags::UIS_CENTER | UiFlags::UIS_FIT_SPACING, 2);
DrawString(out, panelstr[i], line, InfoColor | UiFlags::AlignCenter | UiFlags::KerningFitSpacing, 2);
}
}
@ -457,7 +457,7 @@ int DrawDurIcon4Item(const Surface &out, ItemStruct *pItem, int x, int c)
void PrintSBookStr(const Surface &out, Point position, const char *text)
{
DrawString(out, text, { { RIGHT_PANEL_X + SPLICONLENGTH + position.x, position.y }, { 222, 0 } }, UiFlags::UIS_SILVER);
DrawString(out, text, { { RIGHT_PANEL_X + SPLICONLENGTH + position.x, position.y }, { 222, 0 } }, UiFlags::ColorSilver);
}
spell_type GetSBookTrans(spell_id ii, bool townok)
@ -1084,14 +1084,14 @@ void CheckPanelInfo()
strcpy(tempstr, fmt::format(_("Hotkey: {:s}"), _(PanBtnHotKey[i])).c_str());
AddPanelString(tempstr);
}
InfoColor = UiFlags::UIS_SILVER;
InfoColor = UiFlags::ColorSilver;
panelflag = true;
pinfoflag = true;
}
}
if (!spselflag && MousePosition.x >= 565 + PANEL_LEFT && MousePosition.x < 621 + PANEL_LEFT && MousePosition.y >= 64 + PANEL_TOP && MousePosition.y < 120 + PANEL_TOP) {
strcpy(infostr, _("Select current spell button"));
InfoColor = UiFlags::UIS_SILVER;
InfoColor = UiFlags::ColorSilver;
panelflag = true;
pinfoflag = true;
strcpy(tempstr, _("Hotkey: 's'"));
@ -1257,11 +1257,11 @@ void DrawInfoBox(const Surface &out)
DrawPanelBox(out, { 177, 62, 288, 60 }, { PANEL_X + 177, PANEL_Y + 46 });
if (!panelflag && !trigflag && pcursinvitem == -1 && !spselflag) {
infostr[0] = '\0';
InfoColor = UiFlags::UIS_SILVER;
InfoColor = UiFlags::ColorSilver;
ClearPanel();
}
if (spselflag || trigflag) {
InfoColor = UiFlags::UIS_SILVER;
InfoColor = UiFlags::ColorSilver;
} else if (pcurs >= CURSOR_FIRSTITEM) {
auto &myPlayer = Players[MyPlayerId];
if (myPlayer.HoldItem._itype == ITYPE_GOLD) {
@ -1286,11 +1286,11 @@ void DrawInfoBox(const Surface &out)
if (pcursmonst != -1) {
const auto &monster = Monsters[pcursmonst];
if (leveltype != DTYPE_TOWN) {
InfoColor = UiFlags::UIS_SILVER;
InfoColor = UiFlags::ColorSilver;
strcpy(infostr, _(monster.mName));
ClearPanel();
if (monster._uniqtype != 0) {
InfoColor = UiFlags::UIS_GOLD;
InfoColor = UiFlags::ColorGold;
PrintUniqueHistory();
} else {
PrintMonstHistory(monster.MType->mtype);
@ -1302,7 +1302,7 @@ void DrawInfoBox(const Surface &out)
}
}
if (pcursplr != -1) {
InfoColor = UiFlags::UIS_GOLD;
InfoColor = UiFlags::ColorGold;
auto &target = Players[pcursplr];
strcpy(infostr, target._pName);
ClearPanel();
@ -1318,55 +1318,55 @@ void DrawInfoBox(const Surface &out)
void DrawChr(const Surface &out)
{
UiFlags style = UiFlags::UIS_SILVER;
UiFlags style = UiFlags::ColorSilver;
char chrstr[64];
auto &myPlayer = Players[MyPlayerId];
CelDrawTo(out, { 0, 351 }, *pChrPanel, 1);
DrawString(out, myPlayer._pName, { { 20, 32 }, { 131, 0 } }, UiFlags::UIS_SILVER | UiFlags::UIS_CENTER);
DrawString(out, myPlayer._pName, { { 20, 32 }, { 131, 0 } }, UiFlags::ColorSilver | UiFlags::AlignCenter);
DrawString(out, _(ClassStrTbl[static_cast<std::size_t>(myPlayer._pClass)]), { { 168, 32 }, { 131, 0 } }, UiFlags::UIS_SILVER | UiFlags::UIS_CENTER);
DrawString(out, _(ClassStrTbl[static_cast<std::size_t>(myPlayer._pClass)]), { { 168, 32 }, { 131, 0 } }, UiFlags::ColorSilver | UiFlags::AlignCenter);
sprintf(chrstr, "%i", myPlayer._pLevel);
DrawString(out, chrstr, { { 66, 69 }, { 43, 0 } }, UiFlags::UIS_SILVER | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 66, 69 }, { 43, 0 } }, UiFlags::ColorSilver | UiFlags::AlignCenter);
sprintf(chrstr, "%i", myPlayer._pExperience);
DrawString(out, chrstr, { { 216, 69 }, { 84, 0 } }, UiFlags::UIS_SILVER | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 216, 69 }, { 84, 0 } }, UiFlags::ColorSilver | UiFlags::AlignCenter);
if (myPlayer._pLevel == MAXCHARLEVEL - 1) {
strcpy(chrstr, _("None"));
style = UiFlags::UIS_GOLD;
style = UiFlags::ColorGold;
} else {
sprintf(chrstr, "%i", myPlayer._pNextExper);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
}
DrawString(out, chrstr, { { 216, 97 }, { 84, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 216, 97 }, { 84, 0 } }, style | UiFlags::AlignCenter);
sprintf(chrstr, "%i", myPlayer._pGold);
DrawString(out, chrstr, { { 216, 146 }, { 84, 0 } }, UiFlags::UIS_SILVER | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 216, 146 }, { 84, 0 } }, UiFlags::ColorSilver | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pIBonusAC > 0)
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pIBonusAC < 0)
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
sprintf(chrstr, "%i", myPlayer._pIBonusAC + myPlayer._pIAC + myPlayer._pDexterity / 5);
DrawString(out, chrstr, { { 258, 183 }, { 43, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 258, 183 }, { 43, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pIBonusToHit > 0)
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pIBonusToHit < 0)
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
sprintf(chrstr, "%i%%", (myPlayer._pDexterity / 2) + myPlayer._pIBonusToHit + 50);
DrawString(out, chrstr, { { 258, 211 }, { 43, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 258, 211 }, { 43, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pIBonusDam > 0)
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pIBonusDam < 0)
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
int mindam = myPlayer._pIMinDam;
mindam += myPlayer._pIBonusDam * mindam / 100;
mindam += myPlayer._pIBonusDamMod;
@ -1391,98 +1391,98 @@ void DrawChr(const Surface &out)
}
sprintf(chrstr, "%i-%i", mindam, maxdam);
if (mindam >= 100 || maxdam >= 100)
DrawString(out, chrstr, { { 254, 239 }, { 51, 0 } }, style | UiFlags::UIS_CENTER, -1);
DrawString(out, chrstr, { { 254, 239 }, { 51, 0 } }, style | UiFlags::AlignCenter, -1);
else
DrawString(out, chrstr, { { 258, 239 }, { 43, 0 } }, style | UiFlags::UIS_CENTER, 0);
DrawString(out, chrstr, { { 258, 239 }, { 43, 0 } }, style | UiFlags::AlignCenter, 0);
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pMagResist == 0)
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pMagResist < MAXRESIST) {
sprintf(chrstr, "%i%%", myPlayer._pMagResist);
} else {
style = UiFlags::UIS_GOLD;
style = UiFlags::ColorGold;
strcpy(chrstr, _(/* TRANSLATORS: UI Constrains. Keep translation short please!*/ "MAX"));
}
DrawString(out, chrstr, { { 257, 276 }, { 43, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 257, 276 }, { 43, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pFireResist == 0)
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pFireResist < MAXRESIST) {
sprintf(chrstr, "%i%%", myPlayer._pFireResist);
} else {
style = UiFlags::UIS_GOLD;
style = UiFlags::ColorGold;
strcpy(chrstr, _("MAX"));
}
DrawString(out, chrstr, { { 257, 304 }, { 43, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 257, 304 }, { 43, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pLghtResist == 0)
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pLghtResist < MAXRESIST) {
sprintf(chrstr, "%i%%", myPlayer._pLghtResist);
} else {
style = UiFlags::UIS_GOLD;
style = UiFlags::ColorGold;
strcpy(chrstr, _("MAX"));
}
DrawString(out, chrstr, { { 257, 332 }, { 43, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 257, 332 }, { 43, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
sprintf(chrstr, "%i", myPlayer._pBaseStr);
if (myPlayer.GetMaximumAttributeValue(CharacterAttribute::Strength) == myPlayer._pBaseStr)
style = UiFlags::UIS_GOLD;
DrawString(out, chrstr, { { 95, 155 }, { 31, 0 } }, style | UiFlags::UIS_CENTER);
style = UiFlags::ColorGold;
DrawString(out, chrstr, { { 95, 155 }, { 31, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
sprintf(chrstr, "%i", myPlayer._pBaseMag);
if (myPlayer.GetMaximumAttributeValue(CharacterAttribute::Magic) == myPlayer._pBaseMag)
style = UiFlags::UIS_GOLD;
DrawString(out, chrstr, { { 95, 183 }, { 31, 0 } }, style | UiFlags::UIS_CENTER);
style = UiFlags::ColorGold;
DrawString(out, chrstr, { { 95, 183 }, { 31, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
sprintf(chrstr, "%i", myPlayer._pBaseDex);
if (myPlayer.GetMaximumAttributeValue(CharacterAttribute::Dexterity) == myPlayer._pBaseDex)
style = UiFlags::UIS_GOLD;
DrawString(out, chrstr, { { 95, 211 }, { 31, 0 } }, style | UiFlags::UIS_CENTER);
style = UiFlags::ColorGold;
DrawString(out, chrstr, { { 95, 211 }, { 31, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
sprintf(chrstr, "%i", myPlayer._pBaseVit);
if (myPlayer.GetMaximumAttributeValue(CharacterAttribute::Vitality) == myPlayer._pBaseVit)
style = UiFlags::UIS_GOLD;
DrawString(out, chrstr, { { 95, 239 }, { 31, 0 } }, style | UiFlags::UIS_CENTER);
style = UiFlags::ColorGold;
DrawString(out, chrstr, { { 95, 239 }, { 31, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pStrength > myPlayer._pBaseStr)
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pStrength < myPlayer._pBaseStr)
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
sprintf(chrstr, "%i", myPlayer._pStrength);
DrawString(out, chrstr, { { 143, 155 }, { 30, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 143, 155 }, { 30, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pMagic > myPlayer._pBaseMag)
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pMagic < myPlayer._pBaseMag)
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
sprintf(chrstr, "%i", myPlayer._pMagic);
DrawString(out, chrstr, { { 143, 183 }, { 30, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 143, 183 }, { 30, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pDexterity > myPlayer._pBaseDex)
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pDexterity < myPlayer._pBaseDex)
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
sprintf(chrstr, "%i", myPlayer._pDexterity);
DrawString(out, chrstr, { { 143, 211 }, { 30, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 143, 211 }, { 30, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pVitality > myPlayer._pBaseVit)
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
if (myPlayer._pVitality < myPlayer._pBaseVit)
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
sprintf(chrstr, "%i", myPlayer._pVitality);
DrawString(out, chrstr, { { 143, 239 }, { 30, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 143, 239 }, { 30, 0 } }, style | UiFlags::AlignCenter);
if (myPlayer._pStatPts > 0) {
if (CalcStatDiff(myPlayer) < myPlayer._pStatPts) {
@ -1491,7 +1491,7 @@ void DrawChr(const Surface &out)
}
if (myPlayer._pStatPts > 0) {
sprintf(chrstr, "%i", myPlayer._pStatPts);
DrawString(out, chrstr, { { 95, 266 }, { 31, 0 } }, UiFlags::UIS_RED | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 95, 266 }, { 31, 0 } }, UiFlags::ColorRed | UiFlags::AlignCenter);
if (myPlayer._pBaseStr < myPlayer.GetMaximumAttributeValue(CharacterAttribute::Strength))
CelDrawTo(out, { 137, 159 }, *pChrButtons, chrbtn[static_cast<size_t>(CharacterAttribute::Strength)] ? 3 : 2);
if (myPlayer._pBaseMag < myPlayer.GetMaximumAttributeValue(CharacterAttribute::Magic))
@ -1502,25 +1502,25 @@ void DrawChr(const Surface &out)
CelDrawTo(out, { 137, 244 }, *pChrButtons, chrbtn[static_cast<size_t>(CharacterAttribute::Vitality)] ? 9 : 8);
}
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pMaxHP > myPlayer._pMaxHPBase)
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
sprintf(chrstr, "%i", myPlayer._pMaxHP >> 6);
DrawString(out, chrstr, { { 95, 304 }, { 31, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 95, 304 }, { 31, 0 } }, style | UiFlags::AlignCenter);
if (myPlayer._pHitPoints != myPlayer._pMaxHP)
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
sprintf(chrstr, "%i", myPlayer._pHitPoints >> 6);
DrawString(out, chrstr, { { 143, 304 }, { 31, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 143, 304 }, { 31, 0 } }, style | UiFlags::AlignCenter);
style = UiFlags::UIS_SILVER;
style = UiFlags::ColorSilver;
if (myPlayer._pMaxMana > myPlayer._pMaxManaBase)
style = UiFlags::UIS_BLUE;
style = UiFlags::ColorBlue;
sprintf(chrstr, "%i", myPlayer._pMaxMana >> 6);
DrawString(out, chrstr, { { 95, 332 }, { 31, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 95, 332 }, { 31, 0 } }, style | UiFlags::AlignCenter);
if (myPlayer._pMana != myPlayer._pMaxMana)
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
sprintf(chrstr, "%i", myPlayer._pMana >> 6);
DrawString(out, chrstr, { { 143, 332 }, { 31, 0 } }, style | UiFlags::UIS_CENTER);
DrawString(out, chrstr, { { 143, 332 }, { 31, 0 } }, style | UiFlags::AlignCenter);
}
void CheckLvlBtn()
@ -1540,7 +1540,7 @@ void DrawLevelUpIcon(const Surface &out)
{
if (stextflag == STORE_NONE) {
int nCel = lvlbtndown ? 3 : 2;
DrawString(out, _("Level Up"), { { PANEL_LEFT + 0, PANEL_TOP - 49 }, { 120, 0 } }, UiFlags::UIS_SILVER | UiFlags::UIS_CENTER);
DrawString(out, _("Level Up"), { { PANEL_LEFT + 0, PANEL_TOP - 49 }, { 120, 0 } }, UiFlags::ColorSilver | UiFlags::AlignCenter);
CelDrawTo(out, { 40 + PANEL_X, -17 + PANEL_Y }, *pChrButtons, nCel);
}
}
@ -1776,7 +1776,7 @@ void DrawGoldSplit(const Surface &out, int amount)
// The split gold dialog is roughly 4 lines high, but we need at least one line for the player to input an amount.
// Using a clipping region 50 units high (approx 3 lines with a lineheight of 17) to ensure there is enough room left
// for the text entered by the player.
DrawString(out, tempstr, { { dialogX + 31, 87 }, { 200, 50 } }, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, 1, 17);
DrawString(out, tempstr, { { dialogX + 31, 87 }, { 200, 50 } }, UiFlags::ColorGold | UiFlags::AlignCenter, 1, 17);
tempstr[0] = '\0';
if (amount > 0) {
@ -1785,7 +1785,7 @@ void DrawGoldSplit(const Surface &out, int amount)
}
// Even a ten digit amount of gold only takes up about half a line. There's no need to wrap or clip text here so we
// use the Point form of DrawString.
DrawString(out, tempstr, Point { dialogX + 37, 140 }, UiFlags::UIS_SILVER, 1, -1, true);
DrawString(out, tempstr, Point { dialogX + 37, 140 }, UiFlags::ColorSilver, 1, -1, true);
}
void control_drop_gold(char vkey)
@ -1843,7 +1843,7 @@ void DrawTalkPan(const Surface &out)
int x = PANEL_LEFT + 200;
int y = PANEL_Y + 22;
int idx = DrawString(out, msg, { { x, y }, { 250, 39 } }, UiFlags::UIS_SILVER, 1, 13, true);
int idx = DrawString(out, msg, { { x, y }, { 250, 39 } }, UiFlags::ColorSilver, 1, 13, true);
msg[idx] = '\0';
x += 46;
@ -1852,10 +1852,10 @@ void DrawTalkPan(const Surface &out)
if (i == MyPlayerId)
continue;
UiFlags color = UiFlags::UIS_RED;
UiFlags color = UiFlags::ColorRed;
const Point talkPanPosition { 172 + PANEL_X, 84 + 18 * talkBtn + PANEL_Y };
if (WhisperList[i]) {
color = UiFlags::UIS_GOLD;
color = UiFlags::ColorGold;
if (TalkButtonsDown[talkBtn]) {
int nCel = talkBtn != 0 ? 4 : 3;
CelDrawTo(out, talkPanPosition, *talkButtons, nCel);

2
Source/controls/modifier_hints.cpp

@ -95,7 +95,7 @@ bool IsLeftActive(const CircleMenuHint &hint)
UiFlags CircleMenuHintTextColor(bool active)
{
return active ? UiFlags::UIS_BLUE : UiFlags::UIS_GOLD;
return active ? UiFlags::ColorBlue : UiFlags::ColorGold;
}
/**

28
Source/engine/render/text_render.cpp

@ -274,36 +274,36 @@ void WordWrapGameString(char *text, size_t width, GameFontTables size, int spaci
uint16_t DrawString(const Surface &out, const char *text, const Rectangle &rect, UiFlags flags, int spacing, int lineHeight, bool drawTextCursor)
{
GameFontTables size = GameFontSmall;
if (HasAnyOf(flags, UiFlags::UIS_MED))
if (HasAnyOf(flags, UiFlags::FontMedium))
size = GameFontMed;
else if (HasAnyOf(flags, UiFlags::UIS_HUGE))
else if (HasAnyOf(flags, UiFlags::FontHuge))
size = GameFontBig;
text_color color = ColorGold;
if (HasAnyOf(flags, UiFlags::UIS_SILVER))
if (HasAnyOf(flags, UiFlags::ColorSilver))
color = ColorWhite;
else if (HasAnyOf(flags, UiFlags::UIS_BLUE))
else if (HasAnyOf(flags, UiFlags::ColorBlue))
color = ColorBlue;
else if (HasAnyOf(flags, UiFlags::UIS_RED))
else if (HasAnyOf(flags, UiFlags::ColorRed))
color = ColorRed;
else if (HasAnyOf(flags, UiFlags::UIS_BLACK))
else if (HasAnyOf(flags, UiFlags::ColorBlack))
color = ColorBlack;
const size_t textLength = strlen(text);
int charactersInLine = 0;
int lineWidth = 0;
if (HasAnyOf(flags, (UiFlags::UIS_CENTER | UiFlags::UIS_RIGHT | UiFlags::UIS_FIT_SPACING)))
if (HasAnyOf(flags, (UiFlags::AlignCenter | UiFlags::AlignRight | UiFlags::KerningFitSpacing)))
lineWidth = GetLineWidth(text, size, spacing, &charactersInLine);
int maxSpacing = spacing;
if (HasAnyOf(flags, UiFlags::UIS_FIT_SPACING))
if (HasAnyOf(flags, UiFlags::KerningFitSpacing))
spacing = AdjustSpacingToFitHorizontally(lineWidth, maxSpacing, charactersInLine, rect.size.width);
Point characterPosition = rect.position;
if (HasAnyOf(flags, UiFlags::UIS_CENTER))
if (HasAnyOf(flags, UiFlags::AlignCenter))
characterPosition.x += (rect.size.width - lineWidth) / 2;
else if (HasAnyOf(flags, UiFlags::UIS_RIGHT))
else if (HasAnyOf(flags, UiFlags::AlignRight))
characterPosition.x += rect.size.width - lineWidth;
int rightMargin = rect.position.x + rect.size.width;
@ -321,16 +321,16 @@ uint16_t DrawString(const Surface &out, const char *text, const Rectangle &rect,
break;
characterPosition.y += lineHeight;
if (HasAnyOf(flags, (UiFlags::UIS_CENTER | UiFlags::UIS_RIGHT | UiFlags::UIS_FIT_SPACING)))
if (HasAnyOf(flags, (UiFlags::AlignCenter | UiFlags::AlignRight | UiFlags::KerningFitSpacing)))
lineWidth = GetLineWidth(&text[i + 1], size, spacing, &charactersInLine);
if (HasAnyOf(flags, UiFlags::UIS_FIT_SPACING))
if (HasAnyOf(flags, UiFlags::KerningFitSpacing))
spacing = AdjustSpacingToFitHorizontally(lineWidth, maxSpacing, charactersInLine, rect.size.width);
characterPosition.x = rect.position.x;
if (HasAnyOf(flags, UiFlags::UIS_CENTER))
if (HasAnyOf(flags, UiFlags::AlignCenter))
characterPosition.x += (rect.size.width - lineWidth) / 2;
else if (HasAnyOf(flags, UiFlags::UIS_RIGHT))
else if (HasAnyOf(flags, UiFlags::AlignRight))
characterPosition.x += rect.size.width - lineWidth;
}
if (frame != 0) {

4
Source/engine/render/text_render.hpp

@ -58,7 +58,7 @@ void WordWrapGameString(char *text, size_t width, GameFontTables size = GameFont
* @param drawTextCursor Whether to draw an animated cursor sprite at the end of the text (default is to display nothing).
* @return The number of characters rendered, including characters "drawn" outside the buffer.
*/
uint16_t DrawString(const Surface &out, const char *text, const Rectangle &rect, UiFlags flags = UiFlags::NONE, int spacing = 1, int lineHeight = -1, bool drawTextCursor = false);
uint16_t DrawString(const Surface &out, const char *text, const Rectangle &rect, UiFlags flags = UiFlags::None, int spacing = 1, int lineHeight = -1, bool drawTextCursor = false);
/**
* @brief Draws a line of text at the given position relative to the origin of the output buffer.
@ -78,7 +78,7 @@ uint16_t DrawString(const Surface &out, const char *text, const Rectangle &rect,
* @param drawTextCursor Whether to draw an animated cursor sprite at the end of the text (default is to display nothing).
* @return The number of characters rendered (could be less than the string length if it wrapped past the bottom of the buffer).
*/
inline uint16_t DrawString(const Surface &out, const char *text, const Point &position, UiFlags flags = UiFlags::NONE, int spacing = 1, int lineHeight = -1, bool drawTextCursor = false)
inline uint16_t DrawString(const Surface &out, const char *text, const Point &position, UiFlags flags = UiFlags::None, int spacing = 1, int lineHeight = -1, bool drawTextCursor = false)
{
return DrawString(out, text, { position, { out.w() - position.x, 0 } }, flags, spacing, lineHeight, drawTextCursor);
}

2
Source/error.cpp

@ -133,7 +133,7 @@ void DrawDiabloMsg(const Surface &out)
DrawHalfTransparentRectTo(out, PANEL_X + 104, DIALOG_Y - 8, 432, 54);
strcpy(tempstr, _(MsgStrings[msgflag]));
DrawString(out, tempstr, { { PANEL_X + 101, DIALOG_Y + 24 }, { 442, 0 } }, UiFlags::UIS_CENTER);
DrawString(out, tempstr, { { PANEL_X + 101, DIALOG_Y + 24 }, { 442, 0 } }, UiFlags::AlignCenter);
if (msgdelay > 0 && msgdelay <= SDL_GetTicks() - 3500) {
msgdelay = 0;

6
Source/gmenu.cpp

@ -113,8 +113,8 @@ void GmenuDrawMenuItem(const Surface &out, TMenuItem *pItem, int y)
}
int x = (gnScreenWidth - w) / 2;
UiFlags style = (pItem->dwFlags & GMENU_ENABLED) != 0 ? UiFlags::UIS_SILVER : UiFlags::UIS_BLACK;
DrawString(out, _(pItem->pszStr), Point { x, y }, style | UiFlags::UIS_HUGE, 2);
UiFlags style = (pItem->dwFlags & GMENU_ENABLED) != 0 ? UiFlags::ColorSilver : UiFlags::ColorBlack;
DrawString(out, _(pItem->pszStr), Point { x, y }, style | UiFlags::FontHuge, 2);
if (pItem == sgpCurrItem) {
CelDrawTo(out, { x - 54, y + 1 }, *PentSpin_cel, PentSpn2Spin());
CelDrawTo(out, { x + 4 + w, y + 1 }, *PentSpin_cel, PentSpn2Spin());
@ -163,7 +163,7 @@ void gmenu_draw_pause(const Surface &out)
RedBack(out);
if (sgpCurrentMenu == nullptr) {
LightTableIndex = 0;
DrawString(out, _("Pause"), Point { 0, PANEL_TOP / 2 }, UiFlags::UIS_HUGE | UiFlags::UIS_CENTER, 2);
DrawString(out, _("Pause"), Point { 0, PANEL_TOP / 2 }, UiFlags::FontHuge | UiFlags::AlignCenter, 2);
}
}

8
Source/help.cpp

@ -130,7 +130,7 @@ void DrawHelp(const Surface &out)
title = gbIsSpawn ? _("Shareware Hellfire Help") : _("Hellfire Help");
else
title = gbIsSpawn ? _("Shareware Diablo Help") : _("Diablo Help");
PrintSString(out, 0, 2, title, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER);
PrintSString(out, 0, 2, title, UiFlags::ColorGold | UiFlags::AlignCenter);
DrawSLine(out, 5);
@ -144,16 +144,16 @@ void DrawHelp(const Surface &out)
}
int offset = 0;
UiFlags style = UiFlags::UIS_SILVER;
UiFlags style = UiFlags::ColorSilver;
if (line[0] == '$') {
offset = 1;
style = UiFlags::UIS_RED;
style = UiFlags::ColorRed;
}
DrawString(out, &line[offset], { { sx, sy + i * 12 }, { 577, 12 } }, style);
}
PrintSString(out, 0, 23, _("Press ESC to end or the arrow keys to scroll."), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER);
PrintSString(out, 0, 23, _("Press ESC to end or the arrow keys to scroll."), UiFlags::ColorGold | UiFlags::AlignCenter);
}
void DisplayHelp()

4
Source/inv.cpp

@ -1267,7 +1267,7 @@ void DrawInvBelt(const Surface &out)
&& myPlayer.SpdList[i]._iStatFlag
&& myPlayer.SpdList[i]._itype != ITYPE_GOLD) {
snprintf(tempstr, sizeof(tempstr) / sizeof(*tempstr), "%i", i + 1);
DrawString(out, tempstr, { position, InventorySlotSizeInPixels }, UiFlags::UIS_SILVER | UiFlags::UIS_RIGHT);
DrawString(out, tempstr, { position, InventorySlotSizeInPixels }, UiFlags::ColorSilver | UiFlags::AlignRight);
}
}
}
@ -1899,7 +1899,7 @@ char CheckInvHLight()
return -1;
int8_t rv = -1;
InfoColor = UiFlags::UIS_SILVER;
InfoColor = UiFlags::ColorSilver;
ItemStruct *pi = nullptr;
auto &myPlayer = Players[MyPlayerId];

4
Source/items.cpp

@ -4138,7 +4138,7 @@ void DrawUniqueInfo(const Surface &out)
Rectangle rect { { 32 + RIGHT_PANEL - SPANEL_WIDTH, 44 + 2 * 12 }, { 257, 0 } };
const UItemStruct &uitem = UniqueItemList[curruitem._iUid];
DrawString(out, _(uitem.UIName), rect, UiFlags::UIS_CENTER);
DrawString(out, _(uitem.UIName), rect, UiFlags::AlignCenter);
DrawUniqueInfoDevider(out, 5);
@ -4149,7 +4149,7 @@ void DrawUniqueInfo(const Surface &out)
break;
rect.position.y += 2 * 12;
PrintItemPower(power.type, &curruitem);
DrawString(out, tempstr, rect, UiFlags::UIS_SILVER | UiFlags::UIS_CENTER);
DrawString(out, tempstr, rect, UiFlags::ColorSilver | UiFlags::AlignCenter);
}
}

8
Source/items.h

@ -361,18 +361,18 @@ struct ItemStruct {
{
switch (_iMagical) {
case ITEM_QUALITY_MAGIC:
return UiFlags::UIS_BLUE;
return UiFlags::ColorBlue;
case ITEM_QUALITY_UNIQUE:
return UiFlags::UIS_GOLD;
return UiFlags::ColorGold;
default:
return UiFlags::UIS_SILVER;
return UiFlags::ColorSilver;
}
}
UiFlags getTextColorWithStatCheck() const
{
if (!_iStatFlag)
return UiFlags::UIS_RED;
return UiFlags::ColorRed;
return getTextColor();
}

2
Source/minitext.cpp

@ -117,7 +117,7 @@ void DrawQTextContent(const Surface &out)
continue;
}
DrawString(out, line, { { sx, sy + i * LineHeight }, { 543, LineHeight } }, UiFlags::UIS_MED, 2);
DrawString(out, line, { { sx, sy + i * LineHeight }, { 543, LineHeight } }, UiFlags::FontMedium, 2);
}
}

4
Source/objects.cpp

@ -5552,13 +5552,13 @@ void GetObjectStr(int i)
if (Objects[i]._oTrapFlag) {
strcpy(tempstr, fmt::format(_(/* TRANSLATORS: {:s} will either be a chest or a door */ "Trapped {:s}"), infostr).c_str());
strcpy(infostr, tempstr);
InfoColor = UiFlags::UIS_RED;
InfoColor = UiFlags::ColorRed;
}
}
if (objectIsDisabled(i)) {
strcpy(tempstr, fmt::format(_(/* TRANSLATORS: If user enabled diablo.ini setting "Disable Crippling Shrines" is set to 1; also used for Na-Kruls leaver */ "{:s} (disabled)"), infostr).c_str());
strcpy(infostr, tempstr);
InfoColor = UiFlags::UIS_RED;
InfoColor = UiFlags::ColorRed;
}
}

2
Source/plrmsg.cpp

@ -22,7 +22,7 @@ uint8_t plr_msg_slot;
_plrmsg plr_msgs[PMSG_COUNT];
/** Maps from player_num to text color, as used in chat messages. */
const UiFlags TextColorFromPlayerId[MAX_PLRS + 1] = { UiFlags::UIS_SILVER, UiFlags::UIS_SILVER, UiFlags::UIS_SILVER, UiFlags::UIS_SILVER, UiFlags::UIS_GOLD };
const UiFlags TextColorFromPlayerId[MAX_PLRS + 1] = { UiFlags::ColorSilver, UiFlags::ColorSilver, UiFlags::ColorSilver, UiFlags::ColorSilver, UiFlags::ColorGold };
void PrintChatMessage(const Surface &out, int x, int y, int width, char *text, UiFlags style)
{

10
Source/qol/monhealthbar.cpp

@ -96,13 +96,13 @@ void DrawMonsterHealthBar(const Surface &out)
}
int barLabelY = yPos + 10 + (height - 11) / 2;
DrawString(out, monster.mName, { { xPos - 1, barLabelY + 1 }, { width, height } }, UiFlags::UIS_CENTER | UiFlags::UIS_BLACK);
UiFlags style = UiFlags::UIS_SILVER;
DrawString(out, monster.mName, { { xPos - 1, barLabelY + 1 }, { width, height } }, UiFlags::AlignCenter | UiFlags::ColorBlack);
UiFlags style = UiFlags::ColorSilver;
if (monster._uniqtype != 0)
style = UiFlags::UIS_GOLD;
style = UiFlags::ColorGold;
else if (monster.leader != 0)
style = UiFlags::UIS_BLUE;
DrawString(out, monster.mName, { { xPos, barLabelY }, { width, height } }, UiFlags::UIS_CENTER | style);
style = UiFlags::ColorBlue;
DrawString(out, monster.mName, { { xPos, barLabelY }, { width, height } }, UiFlags::AlignCenter | style);
if (monster._uniqtype != 0 || MonsterKillCounts[monster.MType->mtype] >= 15) {
monster_resistance immunes[] = { IMMUNE_MAGIC, IMMUNE_FIRE, IMMUNE_LIGHTNING };

4
Source/qol/xpbar.cpp

@ -130,7 +130,7 @@ bool CheckXPBarInfo()
if (charLevel == MAXCHARLEVEL - 1) {
// Show a maximum level indicator for max level players.
InfoColor = UiFlags::UIS_GOLD;
InfoColor = UiFlags::ColorGold;
strcpy(tempstr, _("Experience: "));
PrintWithSeparator(tempstr + strlen(tempstr), ExpLvlsTbl[charLevel - 1]);
@ -141,7 +141,7 @@ bool CheckXPBarInfo()
return true;
}
InfoColor = UiFlags::UIS_SILVER;
InfoColor = UiFlags::ColorSilver;
strcpy(tempstr, _("Experience: "));
PrintWithSeparator(tempstr + strlen(tempstr), player._pExperience);

4
Source/quests.cpp

@ -254,7 +254,7 @@ void PrintQLString(const Surface &out, int x, int line, const char *str)
if (qline == line) {
CelDrawTo(out, { sx - 20, sy + 1 }, *pSPentSpn2Cels, PentSpn2Spin());
}
DrawString(out, str, { { sx, sy }, { 257, 0 } }, UiFlags::UIS_SILVER);
DrawString(out, str, { { sx, sy }, { 257, 0 } }, UiFlags::ColorSilver);
if (qline == line) {
CelDrawTo(out, { sx + width + 7, sy + 1 }, *pSPentSpn2Cels, PentSpn2Spin());
}
@ -730,7 +730,7 @@ void ResyncQuests()
void DrawQuestLog(const Surface &out)
{
DrawString(out, _("Quest Log"), { { 32, 44 }, { 257, 0 } }, UiFlags::UIS_CENTER);
DrawString(out, _("Quest Log"), { { 32, 44 }, { 257, 0 } }, UiFlags::AlignCenter);
CelDrawTo(out, { 0, 351 }, *pQLogCel, 1);
int line = qtopline;
for (int i = 0; i < numqlines; i++) {

2
Source/scrollrt.cpp

@ -1269,7 +1269,7 @@ void DrawFPS(const Surface &out)
frameend = 0;
}
snprintf(string, 12, "%i FPS", framerate);
DrawString(out, string, Point { 8, 65 }, UiFlags::UIS_RED);
DrawString(out, string, Point { 8, 65 }, UiFlags::ColorRed);
}
/**

198
Source/stores.cpp

@ -239,15 +239,15 @@ void StartSmith()
{
stextsize = false;
stextscrl = false;
AddSText(0, 1, _("Welcome to the"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 3, _("Blacksmith's shop"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 7, _("Would you like to:"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 10, _("Talk to Griswold"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 12, _("Buy basic items"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 14, _("Buy premium items"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 16, _("Sell items"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 18, _("Repair items"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 20, _("Leave the shop"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 1, _("Welcome to the"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 3, _("Blacksmith's shop"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 7, _("Would you like to:"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 10, _("Talk to Griswold"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 12, _("Buy basic items"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 14, _("Buy premium items"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 16, _("Sell items"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 18, _("Repair items"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 20, _("Leave the shop"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSLine(5);
storenumh = 20;
}
@ -287,11 +287,11 @@ void StartSmithBuy()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("I have these items for sale: Your gold: {:d}"), Players[MyPlayerId]._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
ScrollSmithBuy(stextsval);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, false);
OffsetSTextY(22, 6);
storenumh = 0;
@ -351,10 +351,10 @@ bool StartSmithPremiumBuy()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("I have these premium items for sale: Your gold: {:d}"), Players[MyPlayerId]._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, false);
OffsetSTextY(22, 6);
stextsmax = storenumh - 4;
@ -478,10 +478,10 @@ void StartSmithSell()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("You have nothing I want. Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
return;
}
@ -493,11 +493,11 @@ void StartSmithSell()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("Which item is for sale? Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
ScrollSmithSell(stextsval);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
}
@ -568,10 +568,10 @@ void StartSmithRepair()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("You have nothing to repair. Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
return;
}
@ -583,11 +583,11 @@ void StartSmithRepair()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("Repair which item? Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
ScrollSmithSell(stextsval);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
}
@ -611,13 +611,13 @@ void StartWitch()
FillManaPlayer();
stextsize = false;
stextscrl = false;
AddSText(0, 2, _("Witch's shack"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 12, _("Talk to Adria"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 14, _("Buy items"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 16, _("Sell items"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 18, _("Recharge staves"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 20, _("Leave the shack"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 2, _("Witch's shack"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 12, _("Talk to Adria"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 14, _("Buy items"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 16, _("Sell items"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 18, _("Recharge staves"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 20, _("Leave the shack"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSLine(5);
storenumh = 20;
}
@ -658,11 +658,11 @@ void StartWitchBuy()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("I have these items for sale: Your gold: {:d}"), Players[MyPlayerId]._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
ScrollWitchBuy(stextsval);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, false);
OffsetSTextY(22, 6);
storenumh = 0;
@ -752,10 +752,10 @@ void StartWitchSell()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("You have nothing I want. Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
return;
}
@ -767,11 +767,11 @@ void StartWitchSell()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("Which item is for sale? Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
ScrollSmithSell(stextsval);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
}
@ -833,10 +833,10 @@ void StartWitchRecharge()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("You have nothing to recharge. Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
return;
}
@ -848,11 +848,11 @@ void StartWitchRecharge()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("Recharge which item? Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
ScrollSmithSell(stextsval);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
}
@ -862,7 +862,7 @@ void StoreNoMoney()
stextscrl = false;
stextsize = true;
ClearSText(5, 23);
AddSText(0, 14, _("You do not have enough gold"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 14, _("You do not have enough gold"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
}
void StoreNoRoom()
@ -870,7 +870,7 @@ void StoreNoRoom()
StartStore(stextshold);
stextscrl = false;
ClearSText(5, 23);
AddSText(0, 14, _("You do not have enough room in inventory"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 14, _("You do not have enough room in inventory"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
}
void StoreConfirm()
@ -931,27 +931,27 @@ void StoreConfirm()
default:
app_fatal("Unknown store dialog %i", stextshold);
}
AddSText(0, 15, tempstr, UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 18, _("Yes"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 20, _("No"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 15, tempstr, UiFlags::ColorSilver | UiFlags::AlignCenter, false);
AddSText(0, 18, _("Yes"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 20, _("No"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
}
void StartBoy()
{
stextsize = false;
stextscrl = false;
AddSText(0, 2, _("Wirt the Peg-legged boy"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 2, _("Wirt the Peg-legged boy"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(5);
if (!boyitem.isEmpty()) {
AddSText(0, 8, _("Talk to Wirt"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 12, _("I have something for sale,"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 14, _("but it will cost 50 gold"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 16, _("just to take a look. "), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 18, _("What have you got?"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 20, _("Say goodbye"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 8, _("Talk to Wirt"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 12, _("I have something for sale,"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 14, _("but it will cost 50 gold"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 16, _("just to take a look. "), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 18, _("What have you got?"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 20, _("Say goodbye"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
} else {
AddSText(0, 12, _("Talk to Wirt"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 18, _("Say goodbye"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 12, _("Talk to Wirt"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 18, _("Say goodbye"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
}
}
@ -963,7 +963,7 @@ void SStartBoyBuy()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("I have this item for sale: Your gold: {:d}"), Players[MyPlayerId]._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
UiFlags itemColor = boyitem.getTextColorWithStatCheck();
@ -978,7 +978,7 @@ void SStartBoyBuy()
else
AddSTextVal(10, boyitem._iIvalue + (boyitem._iIvalue / 2));
PrintStoreItem(&boyitem, 11, itemColor);
AddSText(0, 22, _("Leave"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Leave"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
}
@ -999,12 +999,12 @@ void StartHealer()
HealPlayer();
stextsize = false;
stextscrl = false;
AddSText(0, 1, _("Welcome to the"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 3, _("Healer's home"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 12, _("Talk to Pepin"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 14, _("Buy items"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 16, _("Leave Healer's home"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 1, _("Welcome to the"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 3, _("Healer's home"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 12, _("Talk to Pepin"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 14, _("Buy items"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 16, _("Leave Healer's home"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSLine(5);
storenumh = 20;
}
@ -1038,11 +1038,11 @@ void StartHealerBuy()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("I have these items for sale: Your gold: {:d}"), Players[MyPlayerId]._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
ScrollHealerBuy(stextsval);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, false);
OffsetSTextY(22, 6);
storenumh = 0;
@ -1058,11 +1058,11 @@ void StartStoryteller()
{
stextsize = false;
stextscrl = false;
AddSText(0, 2, _("The Town Elder"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 12, _("Talk to Cain"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 14, _("Identify an item"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 18, _("Say goodbye"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 2, _("The Town Elder"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 12, _("Talk to Cain"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 14, _("Identify an item"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSText(0, 18, _("Say goodbye"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSLine(5);
}
@ -1156,10 +1156,10 @@ void StartStorytellerIdentify()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("You have nothing to identify. Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
return;
}
@ -1171,11 +1171,11 @@ void StartStorytellerIdentify()
/* TRANSLATORS: This text is white space sensitive. Check for correct alignment! */
strcpy(tempstr, fmt::format(_("Identify which item? Your gold: {:d}"), myPlayer._pGold).c_str());
AddSText(0, 1, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 1, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(3);
AddSLine(21);
ScrollSmithSell(stextsval);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
OffsetSTextY(22, 6);
}
@ -1189,10 +1189,10 @@ void StartStorytellerIdentifyShow()
UiFlags itemColor = item.getTextColorWithStatCheck();
AddSText(0, 7, _("This item is:"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 7, _("This item is:"), UiFlags::ColorSilver | UiFlags::AlignCenter, false);
AddSText(20, 11, item._iIName, itemColor, false);
PrintStoreItem(&item, 12, itemColor);
AddSText(0, 18, _("Done"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 18, _("Done"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
}
void StartTalk()
@ -1202,15 +1202,15 @@ void StartTalk()
stextsize = false;
stextscrl = false;
strcpy(tempstr, fmt::format(_("Talk to {:s}"), TownerNames[talker]).c_str());
AddSText(0, 2, tempstr, UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 2, tempstr, UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSLine(5);
if (gbIsSpawn) {
strcpy(tempstr, fmt::format(_("Talking to {:s}"), TownerNames[talker]).c_str());
AddSText(0, 10, tempstr, UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 12, _("is not available"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 14, _("in the shareware"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 16, _("version"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, false);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 10, tempstr, UiFlags::ColorSilver | UiFlags::AlignCenter, false);
AddSText(0, 12, _("is not available"), UiFlags::ColorSilver | UiFlags::AlignCenter, false);
AddSText(0, 14, _("in the shareware"), UiFlags::ColorSilver | UiFlags::AlignCenter, false);
AddSText(0, 16, _("version"), UiFlags::ColorSilver | UiFlags::AlignCenter, false);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
return;
}
@ -1232,23 +1232,23 @@ void StartTalk()
for (int i = 0; i < MAXQUESTS; i++) {
if (Quests[i]._qactive == QUEST_ACTIVE && QuestDialogTable[talker][i] != TEXT_NONE && Quests[i]._qlog) {
AddSText(0, sn, _(QuestData[i]._qlstr), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, sn, _(QuestData[i]._qlstr), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
sn += la;
}
}
AddSText(0, sn2, _("Gossip"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 22, _("Back"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, sn2, _("Gossip"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 22, _("Back"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
}
void StartTavern()
{
stextsize = false;
stextscrl = false;
AddSText(0, 1, _("Welcome to the"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 3, _("Rising Sun"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 12, _("Talk to Ogden"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 18, _("Leave the tavern"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 1, _("Welcome to the"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 3, _("Rising Sun"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 12, _("Talk to Ogden"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 18, _("Leave the tavern"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSLine(5);
storenumh = 20;
}
@ -1257,10 +1257,10 @@ void StartBarmaid()
{
stextsize = false;
stextscrl = false;
AddSText(0, 2, "Gillian", UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 12, _("Talk to Gillian"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 18, _("Say goodbye"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 2, "Gillian", UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 12, _("Talk to Gillian"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 18, _("Say goodbye"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSLine(5);
storenumh = 20;
}
@ -1269,10 +1269,10 @@ void StartDrunk()
{
stextsize = false;
stextscrl = false;
AddSText(0, 2, _("Farnham the Drunk"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::UIS_GOLD | UiFlags::UIS_CENTER, false);
AddSText(0, 12, _("Talk to Farnham"), UiFlags::UIS_BLUE | UiFlags::UIS_CENTER, true);
AddSText(0, 18, _("Say Goodbye"), UiFlags::UIS_SILVER | UiFlags::UIS_CENTER, true);
AddSText(0, 2, _("Farnham the Drunk"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 9, _("Would you like to:"), UiFlags::ColorGold | UiFlags::AlignCenter, false);
AddSText(0, 12, _("Talk to Farnham"), UiFlags::ColorBlue | UiFlags::AlignCenter, true);
AddSText(0, 18, _("Say Goodbye"), UiFlags::ColorSilver | UiFlags::AlignCenter, true);
AddSLine(5);
storenumh = 20;
}
@ -2166,13 +2166,13 @@ void DrawSelector(const Surface &out, const Rectangle &rect, const char *text, U
int lineWidth = GetLineWidth(text);
int x1 = rect.position.x - 20;
if (HasAnyOf(flags, UiFlags::UIS_CENTER))
if (HasAnyOf(flags, UiFlags::AlignCenter))
x1 += (rect.size.width - lineWidth) / 2;
CelDrawTo(out, { x1, rect.position.y + 1 }, *pSPentSpn2Cels, PentSpn2Spin());
int x2 = rect.position.x + rect.size.width + 5;
if (HasAnyOf(flags, UiFlags::UIS_CENTER))
if (HasAnyOf(flags, UiFlags::AlignCenter))
x2 = rect.position.x + (rect.size.width - lineWidth) / 2 + lineWidth + 5;
CelDrawTo(out, { x2, rect.position.y + 1 }, *pSPentSpn2Cels, PentSpn2Spin());
@ -2271,7 +2271,7 @@ void PrintSString(const Surface &out, int margin, int line, const char *text, Ui
if (price > 0) {
char valstr[32];
sprintf(valstr, "%i", price);
DrawString(out, valstr, rect, flags | UiFlags::UIS_RIGHT);
DrawString(out, valstr, rect, flags | UiFlags::AlignRight);
}
if (stextsel == line) {
@ -2309,7 +2309,7 @@ void ClearSText(int s, int e)
stext[i]._sx = 0;
stext[i]._syoff = 0;
stext[i]._sstr[0] = 0;
stext[i].flags = UiFlags::NONE;
stext[i].flags = UiFlags::None;
stext[i]._sline = 0;
stext[i]._ssel = false;
stext[i]._sval = 0;

Loading…
Cancel
Save