Browse Source

Adjust UI to any resoution

pull/843/head
Tyler 6 years ago committed by Anders Jenbo
parent
commit
ecde1f647e
  1. 8
      Source/gmenu.cpp
  2. 2
      Source/help.cpp
  3. 4
      Source/interfac.cpp
  4. 14
      Source/minitext.cpp
  5. 4
      Source/plrmsg.cpp
  6. 28
      Source/stores.cpp
  7. 8
      SourceX/DiabloUI/credits.cpp
  8. 4
      SourceX/DiabloUI/diabloui.cpp
  9. 14
      SourceX/DiabloUI/dialogs.cpp
  10. 4
      SourceX/DiabloUI/mainmenu.cpp
  11. 22
      SourceX/DiabloUI/selconn.cpp
  12. 50
      SourceX/DiabloUI/selgame.cpp
  13. 62
      SourceX/DiabloUI/selhero.cpp
  14. 10
      SourceX/DiabloUI/selok.cpp
  15. 6
      SourceX/DiabloUI/selyesno.cpp
  16. 4
      SourceX/DiabloUI/title.cpp
  17. 2
      defs.h

8
Source/gmenu.cpp

@ -161,8 +161,8 @@ void gmenu_draw()
if (sgpCurrentMenu) {
if (dword_63447C)
dword_63447C(sgpCurrentMenu);
CelDraw((SCREEN_WIDTH - 296) / 2 + SCREEN_X, 102 + SCREEN_Y, sgpLogo, 1, 296);
y = 160 + SCREEN_Y;
CelDraw((SCREEN_WIDTH - 296) / 2 + SCREEN_X, 102 + SCREEN_Y + UI_OFFSET_Y, sgpLogo, 1, 296);
y = 160 + SCREEN_Y + UI_OFFSET_Y;
i = sgpCurrentMenu;
if (sgpCurrentMenu->fnMenu) {
while (i->fnMenu) {
@ -342,10 +342,10 @@ BOOL gmenu_left_mouse(BOOL isDown)
if (MouseY >= PANEL_TOP) {
return FALSE;
}
if (MouseY - 117 < 0) {
if (MouseY - (117 + UI_OFFSET_Y) < 0) {
return TRUE;
}
i = (MouseY - 117) / 45;
i = (MouseY - (117 + UI_OFFSET_Y)) / 45;
if (i >= sgCurrentMenuIdx) {
return TRUE;
}

2
Source/help.cpp

@ -545,7 +545,7 @@ void DrawHelpLine(int x, int y, char *text, char color)
width = 0;
sx = x + 32 + PANEL_X;
sy = y * 12 + 44 + SCREEN_Y;
sy = y * 12 + 44 + SCREEN_Y + UI_OFFSET_Y;
while (*text) {
c = gbFontTransTbl[(BYTE)*text];
text++;

4
Source/interfac.cpp

@ -44,12 +44,12 @@ void DrawCutscene()
DWORD i;
lock_buf(1);
CelDraw(PANEL_X, 480 + SCREEN_Y - 1, sgpBackCel, 1, 640);
CelDraw(PANEL_X, 480 + SCREEN_Y - 1 + UI_OFFSET_Y, sgpBackCel, 1, 640);
for (i = 0; i < sgdwProgress; i++) {
DrawProgress(
BarPos[progress_id][0] + i + PANEL_X,
BarPos[progress_id][1] + SCREEN_Y,
BarPos[progress_id][1] + SCREEN_Y + UI_OFFSET_Y,
progress_id);
}

14
Source/minitext.cpp

@ -73,7 +73,7 @@ void InitQTextMsg(int m)
questlog = FALSE;
qtextptr = alltext[m].txtstr;
qtextflag = TRUE;
qtexty = 340 + SCREEN_Y;
qtexty = 340 + SCREEN_Y + UI_OFFSET_Y;
qtextSpd = qscroll_spd_tbl[alltext[m].txtspd - 1];
if (qtextSpd <= 0)
scrolltexty = 50 / -(qtextSpd - 1);
@ -86,8 +86,8 @@ void InitQTextMsg(int m)
void DrawQTextBack()
{
CelDraw(PANEL_X + 24, SCREEN_Y + 327, pTextBoxCels, 1, 591);
trans_rect(PANEL_LEFT + 27, 28, 585, 297);
CelDraw(PANEL_X + 24, SCREEN_Y + 327 + UI_OFFSET_Y, pTextBoxCels, 1, 591);
trans_rect(PANEL_LEFT + 27, UI_OFFSET_Y + 28, 585, 297);
}
void PrintQTextChr(int sx, int sy, BYTE *pCelBuff, int nCel)
@ -96,9 +96,9 @@ void PrintQTextChr(int sx, int sy, BYTE *pCelBuff, int nCel)
/// ASSERT: assert(gpBuffer);
pStart = gpBufStart;
gpBufStart = &gpBuffer[BUFFER_WIDTH * (49 + SCREEN_Y)];
gpBufStart = &gpBuffer[BUFFER_WIDTH * (49 + SCREEN_Y + UI_OFFSET_Y)];
pEnd = gpBufEnd;
gpBufEnd = &gpBuffer[BUFFER_WIDTH * (309 + SCREEN_Y)];
gpBufEnd = &gpBuffer[BUFFER_WIDTH * (309 + SCREEN_Y + UI_OFFSET_Y)];
CelDraw(sx, sy, pCelBuff, nCel, 22);
gpBufStart = pStart;
@ -163,14 +163,14 @@ void DrawQText()
}
tx = 48 + PANEL_X;
ty += 38;
if (ty > 341 + SCREEN_Y) {
if (ty > 341 + SCREEN_Y + UI_OFFSET_Y) {
doneflag = TRUE;
}
}
for (currTime = SDL_GetTicks(); qtextSpd + scrolltexty < currTime; qtextSpd += scrolltexty) {
qtexty--;
if (qtexty <= 49 + SCREEN_Y) {
if (qtexty <= 49 + SCREEN_Y + UI_OFFSET_Y) {
qtexty += 38;
qtextptr = pnl;
if (*pnl == '|') {

4
Source/plrmsg.cpp

@ -104,8 +104,8 @@ void DrawPlrMsg()
if (width < 300)
return;
if (width > 620)
width = 620;
if (width > SCREEN_WIDTH - 20)
width = SCREEN_WIDTH - 20;
pMsg = plr_msgs;
for (i = 0; i < 8; i++) {

28
Source/stores.cpp

@ -123,8 +123,8 @@ void FreeStoreMem()
void DrawSTextBack()
{
CelDraw(PANEL_X + 344, 327 + SCREEN_Y, pSTextBoxCels, 1, 271);
trans_rect(PANEL_LEFT + 347, 28, 265, 297);
CelDraw(PANEL_X + 344, 327 + SCREEN_Y + UI_OFFSET_Y, pSTextBoxCels, 1, 271);
trans_rect(PANEL_LEFT + 347, UI_OFFSET_Y + 28, 265, 297);
}
void PrintSString(int x, int y, BOOL cjustflag, char *str, char col, int val)
@ -140,7 +140,7 @@ void PrintSString(int x, int y, BOOL cjustflag, char *str, char col, int val)
else
xx = PANEL_X + 352;
sx = xx + x;
sy = s + 44 + SCREEN_Y;
sy = s + 44 + SCREEN_Y + UI_OFFSET_Y;
len = strlen(str);
if (stextsize)
yy = 577;
@ -156,7 +156,7 @@ void PrintSString(int x, int y, BOOL cjustflag, char *str, char col, int val)
sx += k;
}
if (stextsel == y) {
CelDraw(cjustflag ? xx + x + k - 20 : xx + x - 20, s + 45 + SCREEN_Y, pSPentSpn2Cels, PentSpn2Frame, 12);
CelDraw(cjustflag ? xx + x + k - 20 : xx + x - 20, s + 45 + SCREEN_Y + UI_OFFSET_Y, pSPentSpn2Cels, PentSpn2Frame, 12);
}
for (i = 0; i < len; i++) {
c = fontframe[gbFontTransTbl[(BYTE)str[i]]];
@ -178,7 +178,7 @@ void PrintSString(int x, int y, BOOL cjustflag, char *str, char col, int val)
}
}
if (stextsel == y) {
CelDraw(cjustflag ? (xx + x + k + 4) : (PANEL_X + 596 - x), s + 45 + SCREEN_Y, pSPentSpn2Cels, PentSpn2Frame, 12);
CelDraw(cjustflag ? (xx + x + k + 4) : (PANEL_X + 596 - x), s + 45 + SCREEN_Y + UI_OFFSET_Y, pSPentSpn2Cels, PentSpn2Frame, 12);
}
}
@ -188,13 +188,13 @@ void DrawSLine(int y)
sy = y * 12;
if (stextsize) {
xy = SCREENXY(PANEL_LEFT + 26, 25);
yy = BUFFER_WIDTH * (sy + 38 + SCREEN_Y) + 26 + PANEL_X;
xy = SCREENXY(PANEL_LEFT + 26, 25 + UI_OFFSET_Y);
yy = BUFFER_WIDTH * (sy + 38 + SCREEN_Y + UI_OFFSET_Y) + 26 + PANEL_X;
width = 586 / 4; // BUGFIX: should be 587, not 586
line = BUFFER_WIDTH - 586; // BUGFIX: should be 587, not 586
} else {
xy = SCREENXY(PANEL_LEFT + 346, 25);
yy = BUFFER_WIDTH * (sy + 38 + SCREEN_Y) + 346 + PANEL_X;
xy = SCREENXY(PANEL_LEFT + 346, 25 + UI_OFFSET_Y);
yy = BUFFER_WIDTH * (sy + 38 + SCREEN_Y + UI_OFFSET_Y) + 346 + PANEL_X;
width = 266 / 4; // BUGFIX: should be 267, not 266
line = BUFFER_WIDTH - 266; // BUGFIX: should be 267, not 266
}
@ -215,8 +215,8 @@ void DrawSSlider(int y1, int y2)
{
int yd1, yd2, yd3;
yd1 = y1 * 12 + 44 + SCREEN_Y;
yd2 = y2 * 12 + 44 + SCREEN_Y;
yd1 = y1 * 12 + 44 + SCREEN_Y + UI_OFFSET_Y;
yd2 = y2 * 12 + 44 + SCREEN_Y + UI_OFFSET_Y;
if (stextscrlubtn != -1)
CelDraw(PANEL_X + 601, yd1, pSTextSlidCels, 12, 12);
else
@ -237,7 +237,7 @@ void DrawSSlider(int y1, int y2)
yd3 = 1000 * (stextsval + ((yd3 - stextup) >> 2)) / (storenumh - 1) * (y2 * 12 - y1 * 12 - 24) / 1000;
else
yd3 = 0;
CelDraw(PANEL_X + 601, (y1 + 1) * 12 + 44 + SCREEN_Y + yd3, pSTextSlidCels, 13, 12);
CelDraw(PANEL_X + 601, (y1 + 1) * 12 + 44 + SCREEN_Y + UI_OFFSET_Y + yd3, pSTextSlidCels, 13, 12);
}
void DrawSTextHelp()
@ -2733,7 +2733,7 @@ void CheckStoreBtn()
qtextflag = FALSE;
if (leveltype == DTYPE_TOWN)
stream_stop();
} else if (stextsel != -1 && MouseY >= 32 && MouseY <= 320) {
} else if (stextsel != -1 && MouseY >= (32 + UI_OFFSET_Y) && MouseY <= (320 + UI_OFFSET_Y)) {
if (!stextsize) {
if (MouseX < 344 + PANEL_LEFT || MouseX > 616 + PANEL_LEFT)
return;
@ -2741,7 +2741,7 @@ void CheckStoreBtn()
if (MouseX < 24 + PANEL_LEFT || MouseX > 616 + PANEL_LEFT)
return;
}
y = (MouseY - 32) / 12;
y = (MouseY - (32 + UI_OFFSET_Y)) / 12;
if (stextscrl && MouseX > 600 + PANEL_LEFT) {
if (y == 4) {
if (stextscrlubtn <= 0) {

8
SourceX/DiabloUI/credits.cpp

@ -16,7 +16,7 @@ namespace dvl {
namespace {
const SDL_Rect VIEWPORT = { 0, 114, SCREEN_WIDTH, 251 };
const SDL_Rect VIEWPORT = { 0, 114, 640, 251 };
const int SHADOW_OFFSET_X = 2;
const int SHADOW_OFFSET_Y = 2;
const int LINE_H = 22;
@ -145,7 +145,7 @@ void CreditsRenderer::Render()
prev_offset_y_ = offset_y;
SDL_FillRect(GetOutputSurface(), NULL, 0x000000);
DrawArt(PANEL_LEFT + 0, 0, &ArtBackground);
DrawArt(PANEL_LEFT, UI_OFFSET_Y, &ArtBackground);
if (font == NULL)
return;
@ -162,11 +162,13 @@ void CreditsRenderer::Render()
lines_.push_back(PrepareLine(lines_.size()));
SDL_Rect viewport = VIEWPORT;
viewport.x += PANEL_LEFT;
viewport.y += UI_OFFSET_Y;
ScaleOutputRect(&viewport);
SDL_SetClipRect(GetOutputSurface(), &viewport);
// We use unscaled coordinates for calculation throughout.
Sint16 dest_y = VIEWPORT.y - (offset_y - lines_begin * LINE_H);
Sint16 dest_y = UI_OFFSET_Y + VIEWPORT.y - (offset_y - lines_begin * LINE_H);
for (std::size_t i = lines_begin; i < lines_end; ++i, dest_y += LINE_H) {
CachedLine &line = lines_[i];
if (line.m_surface == NULL)

4
SourceX/DiabloUI/diabloui.cpp

@ -596,13 +596,13 @@ void LoadBackgroundArt(const char *pszFile)
void UiAddBackground(std::vector<UiItemBase *> *vecDialog)
{
SDL_Rect rect = { PANEL_LEFT, 0, 640, 480 };
SDL_Rect rect = { PANEL_LEFT, UI_OFFSET_Y, 640, 480 };
vecDialog->push_back(new UiImage(&ArtBackground, rect));
}
void UiAddLogo(std::vector<UiItemBase *> *vecDialog, int size, int height)
{
SDL_Rect rect = { 0, height, 0, 0 };
SDL_Rect rect = { 0, UI_OFFSET_Y + height, 0, 0 };
vecDialog->push_back(new UiImage(&ArtLogos[size], /*animated=*/true, /*frame=*/0, rect, UIS_CENTER));
}

14
SourceX/DiabloUI/dialogs.cpp

@ -160,26 +160,26 @@ void LoadFallbackPalette()
void Init(const char *text, const char *caption, bool error, bool renderBehind)
{
if (caption == NULL) {
SDL_Rect rect1 = { PANEL_LEFT + 180, 168, 280, 144 };
SDL_Rect rect1 = { PANEL_LEFT + 180, (UI_OFFSET_Y + 168), 280, 144 };
vecOkDialog.push_back(new UiImage(&dialogArt, rect1));
SDL_Rect rect2 = { PANEL_LEFT + 200, 211, 240, 80 };
SDL_Rect rect2 = { PANEL_LEFT + 200, (UI_OFFSET_Y + 211), 240, 80 };
vecOkDialog.push_back(new UiText(text, rect2, UIS_CENTER));
SDL_Rect rect3 = { PANEL_LEFT + 265, 265, SML_BUTTON_WIDTH, SML_BUTTON_HEIGHT };
SDL_Rect rect3 = { PANEL_LEFT + 265, (UI_OFFSET_Y + 265), SML_BUTTON_WIDTH, SML_BUTTON_HEIGHT };
vecOkDialog.push_back(new UiButton(&SmlButton, "OK", &DialogActionOK, rect3, 0));
} else {
SDL_Rect rect1 = { PANEL_LEFT + 127, 100, 385, 280 };
SDL_Rect rect1 = { PANEL_LEFT + 127, (UI_OFFSET_Y + 100), 385, 280 };
vecOkDialog.push_back(new UiImage(&dialogArt, rect1));
SDL_Color color = { 255, 255, 0, 0 };
SDL_Rect rect2 = { PANEL_LEFT + 147, 110, 345, 20 };
SDL_Rect rect2 = { PANEL_LEFT + 147, (UI_OFFSET_Y + 110), 345, 20 };
vecOkDialog.push_back(new UiText(text, color, rect2, UIS_CENTER));
SDL_Rect rect3 = { PANEL_LEFT + 147, 141, 345, 190 };
SDL_Rect rect3 = { PANEL_LEFT + 147, (UI_OFFSET_Y + 141), 345, 190 };
vecOkDialog.push_back(new UiText(caption, rect3, UIS_CENTER));
SDL_Rect rect4 = { PANEL_LEFT + 264, 335, SML_BUTTON_WIDTH, SML_BUTTON_HEIGHT };
SDL_Rect rect4 = { PANEL_LEFT + 264, (UI_OFFSET_Y + 335), SML_BUTTON_WIDTH, SML_BUTTON_HEIGHT };
vecOkDialog.push_back(new UiButton(&SmlButton, "OK", &DialogActionOK, rect4, 0));
}

4
SourceX/DiabloUI/mainmenu.cpp

@ -44,9 +44,9 @@ void mainmenu_Load(char *name, void (*fnSound)(char *file))
UiAddBackground(&vecMainMenuDialog);
UiAddLogo(&vecMainMenuDialog);
vecMainMenuDialog.push_back(new UiList(vecMenuItems, PANEL_LEFT + 64, 192, 510, 43, UIS_HUGE | UIS_GOLD | UIS_CENTER));
vecMainMenuDialog.push_back(new UiList(vecMenuItems, PANEL_LEFT + 64, (UI_OFFSET_Y + 192), 510, 43, UIS_HUGE | UIS_GOLD | UIS_CENTER));
SDL_Rect rect = { 17, 444, 605, 21 };
SDL_Rect rect = { 17, (SCREEN_HEIGHT - 36), 605, 21 };
vecMainMenuDialog.push_back(new UiArtText(name, rect, UIS_SMALL));
if (!gbSpawned) {

22
SourceX/DiabloUI/selconn.cpp

@ -39,36 +39,36 @@ void selconn_Load()
UiAddBackground(&vecSelConnDlg);
UiAddLogo(&vecSelConnDlg);
SDL_Rect rect1 = { PANEL_LEFT + 24, 161, 590, 35 };
SDL_Rect rect1 = { PANEL_LEFT + 24, (UI_OFFSET_Y + 161), 590, 35 };
vecSelConnDlg.push_back(new UiArtText("Multi Player Game", rect1, UIS_CENTER | UIS_BIG));
SDL_Rect rect2 = { PANEL_LEFT + 35, 218, DESCRIPTION_WIDTH, 21 };
SDL_Rect rect2 = { PANEL_LEFT + 35, (UI_OFFSET_Y + 218), DESCRIPTION_WIDTH, 21 };
vecSelConnDlg.push_back(new UiArtText(selconn_MaxPlayers, rect2));
SDL_Rect rect3 = { PANEL_LEFT + 35, 256, DESCRIPTION_WIDTH, 21 };
SDL_Rect rect3 = { PANEL_LEFT + 35, (UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 21 };
vecSelConnDlg.push_back(new UiArtText("Requirements:", rect3));
SDL_Rect rect4 = { PANEL_LEFT + 35, 275, DESCRIPTION_WIDTH, 66 };
SDL_Rect rect4 = { PANEL_LEFT + 35, (UI_OFFSET_Y + 275), DESCRIPTION_WIDTH, 66 };
vecSelConnDlg.push_back(new UiArtText(selconn_Description, rect4));
SDL_Rect rect5 = { PANEL_LEFT + 30, 356, 220, 31 };
SDL_Rect rect5 = { PANEL_LEFT + 30, (UI_OFFSET_Y + 356), 220, 31 };
vecSelConnDlg.push_back(new UiArtText("no gateway needed", rect5, UIS_CENTER | UIS_MED));
SDL_Rect rect6 = { PANEL_LEFT + 35, 393, DESCRIPTION_WIDTH, 21 };
SDL_Rect rect6 = { PANEL_LEFT + 35, (UI_OFFSET_Y + 393), DESCRIPTION_WIDTH, 21 };
vecSelConnDlg.push_back(new UiArtText(selconn_Gateway, rect6, UIS_CENTER));
SDL_Rect rect7 = { PANEL_LEFT + 300, 211, 295, 33 };
SDL_Rect rect7 = { PANEL_LEFT + 300, (UI_OFFSET_Y + 211), 295, 33 };
vecSelConnDlg.push_back(new UiArtText("Select Connection", rect7, UIS_CENTER | UIS_BIG));
SDL_Rect rect8 = { PANEL_LEFT + 16, 427, 250, 35 };
SDL_Rect rect8 = { PANEL_LEFT + 16, (UI_OFFSET_Y + 427), 250, 35 };
vecSelConnDlg.push_back(new UiArtTextButton("Change Gateway", NULL, rect8, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD | UIS_HIDDEN));
vecSelConnDlg.push_back(new UiList(vecConnItems, PANEL_LEFT + 305, 256, 285, 26, UIS_CENTER | UIS_VCENTER | UIS_GOLD));
vecSelConnDlg.push_back(new UiList(vecConnItems, PANEL_LEFT + 305, (UI_OFFSET_Y + 256), 285, 26, UIS_CENTER | UIS_VCENTER | UIS_GOLD));
SDL_Rect rect9 = { PANEL_LEFT + 299, 427, 140, 35 };
SDL_Rect rect9 = { PANEL_LEFT + 299, (UI_OFFSET_Y + 427), 140, 35 };
vecSelConnDlg.push_back(new UiArtTextButton("OK", &UiFocusNavigationSelect, rect9, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
SDL_Rect rect10 = { PANEL_LEFT + 454, 427, 140, 35 };
SDL_Rect rect10 = { PANEL_LEFT + 454, (UI_OFFSET_Y + 427), 140, 35 };
vecSelConnDlg.push_back(new UiArtTextButton("Cancel", &UiFocusNavigationEsc, rect10, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
UiInitList(0, vecConnItems.size() - 1, selconn_Focus, selconn_Select, selconn_Esc, vecSelConnDlg);

50
SourceX/DiabloUI/selgame.cpp

@ -75,27 +75,27 @@ void selgame_GameSelection_Init()
UiAddBackground(&vecSelGameDialog);
UiAddLogo(&vecSelGameDialog);
SDL_Rect rect1 = { PANEL_LEFT + 24, 161, 590, 35 };
SDL_Rect rect1 = { PANEL_LEFT + 24, (UI_OFFSET_Y + 161), 590, 35 };
vecSelGameDialog.push_back(new UiArtText("Client-Server (TCP)", rect1, UIS_CENTER | UIS_BIG));
SDL_Rect rect2 = { PANEL_LEFT + 35, 211, 205, 192 };
SDL_Rect rect2 = { PANEL_LEFT + 35, (UI_OFFSET_Y + 211), 205, 192 };
vecSelGameDialog.push_back(new UiArtText("Description:", rect2, UIS_MED));
SDL_Rect rect3 = { PANEL_LEFT + 35, 256, DESCRIPTION_WIDTH, 192 };
SDL_Rect rect3 = { PANEL_LEFT + 35, (UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 };
vecSelGameDialog.push_back(new UiArtText(selgame_Description, rect3));
SDL_Rect rect4 = { PANEL_LEFT + 300, 211, 295, 33 };
SDL_Rect rect4 = { PANEL_LEFT + 300, (UI_OFFSET_Y + 211), 295, 33 };
vecSelGameDialog.push_back(new UiArtText("Select Action", rect4, UIS_CENTER | UIS_BIG));
vecSelGameDlgItems.push_back(new UiListItem("Create Game", 0));
vecSelGameDlgItems.push_back(new UiListItem("Join Game", 1));
vecSelGameDialog.push_back(new UiList(vecSelGameDlgItems, PANEL_LEFT + 305, 255, 285, 26, UIS_CENTER | UIS_MED | UIS_GOLD));
vecSelGameDialog.push_back(new UiList(vecSelGameDlgItems, PANEL_LEFT + 305, (UI_OFFSET_Y + 255), 285, 26, UIS_CENTER | UIS_MED | UIS_GOLD));
SDL_Rect rect5 = { PANEL_LEFT + 299, 427, 140, 35 };
SDL_Rect rect5 = { PANEL_LEFT + 299, (UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(new UiArtTextButton("OK", &UiFocusNavigationSelect, rect5, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
SDL_Rect rect6 = { PANEL_LEFT + 449, 427, 140, 35 };
SDL_Rect rect6 = { PANEL_LEFT + 449, (UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(new UiArtTextButton("CANCEL", &UiFocusNavigationEsc, rect6, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
UiInitList(0, 1, selgame_GameSelection_Focus, selgame_GameSelection_Select, selgame_GameSelection_Esc, vecSelGameDialog);
@ -139,32 +139,32 @@ void selgame_GameSelection_Select(int value)
UiAddBackground(&vecSelGameDialog);
UiAddLogo(&vecSelGameDialog);
SDL_Rect rect1 = { PANEL_LEFT + 24, 161, 590, 35 };
SDL_Rect rect1 = { PANEL_LEFT + 24, (UI_OFFSET_Y + 161), 590, 35 };
vecSelGameDialog.push_back(new UiArtText(title, rect1, UIS_CENTER | UIS_BIG));
SDL_Rect rect2 = { PANEL_LEFT + 34, 211, 205, 33 };
SDL_Rect rect2 = { PANEL_LEFT + 34, (UI_OFFSET_Y + 211), 205, 33 };
vecSelGameDialog.push_back(new UiArtText(selgame_Label, rect2, UIS_CENTER | UIS_BIG));
SDL_Rect rect3 = { PANEL_LEFT + 35, 256, DESCRIPTION_WIDTH, 192 };
SDL_Rect rect3 = { PANEL_LEFT + 35, (UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 };
vecSelGameDialog.push_back(new UiArtText(selgame_Description, rect3));
switch (value) {
case 0: {
strncpy(title, "Create Game", sizeof(title) - 1);
SDL_Rect rect4 = { PANEL_LEFT + 299, 211, 295, 35 };
SDL_Rect rect4 = { PANEL_LEFT + 299, (UI_OFFSET_Y + 211), 295, 35 };
vecSelGameDialog.push_back(new UiArtText("Select Difficulty", rect4, UIS_CENTER | UIS_BIG));
vecSelGameDlgItems.push_back(new UiListItem("Normal", DIFF_NORMAL));
vecSelGameDlgItems.push_back(new UiListItem("Nightmare", DIFF_NIGHTMARE));
vecSelGameDlgItems.push_back(new UiListItem("Hell", DIFF_HELL));
vecSelGameDialog.push_back(new UiList(vecSelGameDlgItems, PANEL_LEFT + 300, 282, 295, 26, UIS_CENTER | UIS_MED | UIS_GOLD));
vecSelGameDialog.push_back(new UiList(vecSelGameDlgItems, PANEL_LEFT + 300, (UI_OFFSET_Y + 282), 295, 26, UIS_CENTER | UIS_MED | UIS_GOLD));
SDL_Rect rect5 = { PANEL_LEFT + 299, 427, 140, 35 };
SDL_Rect rect5 = { PANEL_LEFT + 299, (UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(new UiArtTextButton("OK", &UiFocusNavigationSelect, rect5, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
SDL_Rect rect6 = { PANEL_LEFT + 449, 427, 140, 35 };
SDL_Rect rect6 = { PANEL_LEFT + 449, (UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(new UiArtTextButton("CANCEL", &UiFocusNavigationEsc, rect6, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
UiInitList(0, NUM_DIFFICULTIES - 1, selgame_Diff_Focus, selgame_Diff_Select, selgame_Diff_Esc, vecSelGameDialog, true);
@ -173,16 +173,16 @@ void selgame_GameSelection_Select(int value)
case 1:
strncpy(title, "Join TCP Games", sizeof(title) - 1);
SDL_Rect rect4 = { PANEL_LEFT + 305, 211, 285, 33 };
SDL_Rect rect4 = { PANEL_LEFT + 305, (UI_OFFSET_Y + 211), 285, 33 };
vecSelGameDialog.push_back(new UiArtText("Enter address", rect4, UIS_CENTER | UIS_BIG));
SDL_Rect rect5 = { PANEL_LEFT + 305, 314, 285, 33 };
SDL_Rect rect5 = { PANEL_LEFT + 305, (UI_OFFSET_Y + 314), 285, 33 };
vecSelGameDialog.push_back(new UiEdit(selgame_Ip, 128, rect5, UIS_MED | UIS_GOLD));
SDL_Rect rect6 = { PANEL_LEFT + 299, 427, 140, 35 };
SDL_Rect rect6 = { PANEL_LEFT + 299, (UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(new UiArtTextButton("OK", &UiFocusNavigationSelect, rect6, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
SDL_Rect rect7 = { PANEL_LEFT + 449, 427, 140, 35 };
SDL_Rect rect7 = { PANEL_LEFT + 449, (UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(new UiArtTextButton("CANCEL", &UiFocusNavigationEsc, rect7, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
UiInitList(0, 0, NULL, selgame_Password_Init, selgame_GameSelection_Init, vecSelGameDialog);
@ -283,25 +283,25 @@ void selgame_Password_Init(int value)
UiAddBackground(&vecSelGameDialog);
UiAddLogo(&vecSelGameDialog);
SDL_Rect rect1 = { PANEL_LEFT + 24, 161, 590, 35 };
SDL_Rect rect1 = { PANEL_LEFT + 24, (UI_OFFSET_Y + 161), 590, 35 };
vecSelGameDialog.push_back(new UiArtText("Client-Server (TCP)", rect1, UIS_CENTER | UIS_BIG));
SDL_Rect rect2 = { PANEL_LEFT + 35, 211, 205, 192 };
SDL_Rect rect2 = { PANEL_LEFT + 35, (UI_OFFSET_Y + 211), 205, 192 };
vecSelGameDialog.push_back(new UiArtText("Description:", rect2, UIS_MED));
SDL_Rect rect3 = { PANEL_LEFT + 35, 256, DESCRIPTION_WIDTH, 192 };
SDL_Rect rect3 = { PANEL_LEFT + 35, (UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 };
vecSelGameDialog.push_back(new UiArtText(selgame_Description, rect3));
SDL_Rect rect4 = { PANEL_LEFT + 305, 211, 285, 33 };
SDL_Rect rect4 = { PANEL_LEFT + 305, (UI_OFFSET_Y + 211), 285, 33 };
vecSelGameDialog.push_back(new UiArtText("Enter Password", rect4, UIS_CENTER | UIS_BIG));
SDL_Rect rect5 = { PANEL_LEFT + 305, 314, 285, 33 };
SDL_Rect rect5 = { PANEL_LEFT + 305, (UI_OFFSET_Y + 314), 285, 33 };
vecSelGameDialog.push_back(new UiEdit(selgame_Password, 15, rect5, UIS_MED | UIS_GOLD));
SDL_Rect rect6 = { PANEL_LEFT + 299, 427, 140, 35 };
SDL_Rect rect6 = { PANEL_LEFT + 299, (UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(new UiArtTextButton("OK", &UiFocusNavigationSelect, rect6, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
SDL_Rect rect7 = { PANEL_LEFT + 449, 427, 140, 35 };
SDL_Rect rect7 = { PANEL_LEFT + 449, (UI_OFFSET_Y + 427), 140, 35 };
vecSelGameDialog.push_back(new UiArtTextButton("CANCEL", &UiFocusNavigationEsc, rect7, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
UiInitList(0, 0, NULL, selgame_Password_Select, selgame_Password_Esc, vecSelGameDialog);

62
SourceX/DiabloUI/selhero.cpp

@ -141,39 +141,39 @@ void selhero_Init()
LoadScrollBar();
selhero_FreeDlgItems();
SDL_Rect rect1 = { PANEL_LEFT + 24, 161, 590, 35 };
SDL_Rect rect1 = { PANEL_LEFT + 24, (UI_OFFSET_Y + 161), 590, 35 };
vecSelHeroDialog.push_back(new UiArtText(title, rect1, UIS_CENTER | UIS_BIG));
SDL_Rect rect2 = { PANEL_LEFT + 30, 211, 180, 76 };
SDL_Rect rect2 = { PANEL_LEFT + 30, (UI_OFFSET_Y + 211), 180, 76 };
SELHERO_DIALOG_HERO_IMG = new UiImage(&ArtHero, UI_NUM_CLASSES, rect2);
vecSelHeroDialog.push_back(SELHERO_DIALOG_HERO_IMG);
SDL_Rect rect3 = { PANEL_LEFT + 39, 323, 110, 21 };
SDL_Rect rect3 = { PANEL_LEFT + 39, (UI_OFFSET_Y + 323), 110, 21 };
vecSelHeroDialog.push_back(new UiArtText("Level:", rect3, UIS_RIGHT));
SDL_Rect rect4 = { PANEL_LEFT + 39, 323, 110, 21 };
SDL_Rect rect4 = { PANEL_LEFT + 39, (UI_OFFSET_Y + 323), 110, 21 };
vecSelHeroDialog.push_back(new UiArtText("Level:", rect4, UIS_RIGHT));
SDL_Rect rect5 = { PANEL_LEFT + 159, 323, 40, 21 };
SDL_Rect rect5 = { PANEL_LEFT + 159, (UI_OFFSET_Y + 323), 40, 21 };
vecSelHeroDialog.push_back(new UiArtText(textStats[0], rect5, UIS_CENTER));
SDL_Rect rect6 = { PANEL_LEFT + 39, 358, 110, 21 };
SDL_Rect rect6 = { PANEL_LEFT + 39, (UI_OFFSET_Y + 358), 110, 21 };
vecSelHeroDialog.push_back(new UiArtText("Strength:", rect6, UIS_RIGHT));
SDL_Rect rect7 = { PANEL_LEFT + 159, 358, 40, 21 };
SDL_Rect rect7 = { PANEL_LEFT + 159, (UI_OFFSET_Y + 358), 40, 21 };
vecSelHeroDialog.push_back(new UiArtText(textStats[1], rect7, UIS_CENTER));
SDL_Rect rect8 = { PANEL_LEFT + 39, 380, 110, 21 };
SDL_Rect rect8 = { PANEL_LEFT + 39, (UI_OFFSET_Y + 380), 110, 21 };
vecSelHeroDialog.push_back(new UiArtText("Magic:", rect8, UIS_RIGHT));
SDL_Rect rect9 = { PANEL_LEFT + 159, 380, 40, 21 };
SDL_Rect rect9 = { PANEL_LEFT + 159, (UI_OFFSET_Y + 380), 40, 21 };
vecSelHeroDialog.push_back(new UiArtText(textStats[2], rect9, UIS_CENTER));
SDL_Rect rect10 = { PANEL_LEFT + 39, 401, 110, 21 };
SDL_Rect rect10 = { PANEL_LEFT + 39, (UI_OFFSET_Y + 401), 110, 21 };
vecSelHeroDialog.push_back(new UiArtText("Dexterity:", rect10, UIS_RIGHT));
SDL_Rect rect11 = { PANEL_LEFT + 159, 401, 40, 21 };
SDL_Rect rect11 = { PANEL_LEFT + 159, (UI_OFFSET_Y + 401), 40, 21 };
vecSelHeroDialog.push_back(new UiArtText(textStats[3], rect11, UIS_CENTER));
SDL_Rect rect12 = { PANEL_LEFT + 39, 422, 110, 21 };
SDL_Rect rect12 = { PANEL_LEFT + 39, (UI_OFFSET_Y + 422), 110, 21 };
vecSelHeroDialog.push_back(new UiArtText("Vitality:", rect12, UIS_RIGHT));
SDL_Rect rect13 = { PANEL_LEFT + 159, 422, 40, 21 };
SDL_Rect rect13 = { PANEL_LEFT + 159, (UI_OFFSET_Y + 422), 40, 21 };
vecSelHeroDialog.push_back(new UiArtText(textStats[4], rect13, UIS_CENTER));
}
@ -182,7 +182,7 @@ void selhero_List_Init()
listOffset = 0;
selhero_FreeDlgItems();
SDL_Rect rect1 = { PANEL_LEFT + 264, 211, 320, 33 };
SDL_Rect rect1 = { PANEL_LEFT + 264, (UI_OFFSET_Y + 211), 320, 33 };
vecSelDlgItems.push_back(new UiArtText("Select Hero", rect1, UIS_CENTER | UIS_BIG));
selhero_FreeListItems();
@ -192,20 +192,20 @@ void selhero_List_Init()
}
selhero_UpdateViewportItems();
vecSelDlgItems.push_back(new UiList(vecSelHeroDlgItems, PANEL_LEFT + 265, 256, 320, 26, UIS_CENTER | UIS_MED | UIS_GOLD));
vecSelDlgItems.push_back(new UiList(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 256), 320, 26, UIS_CENTER | UIS_MED | UIS_GOLD));
SDL_Rect rect2 = { PANEL_LEFT + 585, 244, 25, 178 };
SDL_Rect rect2 = { PANEL_LEFT + 585, (UI_OFFSET_Y + 244), 25, 178 };
UiScrollBar *scrollBar = new UiScrollBar(&ArtScrollBarBackground, &ArtScrollBarThumb, &ArtScrollBarArrow, rect2);
vecSelDlgItems.push_back(scrollBar);
SDL_Rect rect3 = { PANEL_LEFT + 239, 429, 120, 35 };
SDL_Rect rect3 = { PANEL_LEFT + 239, (UI_OFFSET_Y + 429), 120, 35 };
vecSelDlgItems.push_back(new UiArtTextButton("OK", &UiFocusNavigationSelect, rect3, UIS_CENTER | UIS_BIG | UIS_GOLD));
SDL_Rect rect4 = { PANEL_LEFT + 364, 429, 120, 35 };
SDL_Rect rect4 = { PANEL_LEFT + 364, (UI_OFFSET_Y + 429), 120, 35 };
SELLIST_DIALOG_DELETE_BUTTON = new UiArtTextButton("Delete", &selhero_UiFocusNavigationYesNo, rect4, UIS_CENTER | UIS_BIG | UIS_DISABLED);
vecSelDlgItems.push_back(SELLIST_DIALOG_DELETE_BUTTON);
SDL_Rect rect5 = { PANEL_LEFT + 489, 429, 120, 35 };
SDL_Rect rect5 = { PANEL_LEFT + 489, (UI_OFFSET_Y + 429), 120, 35 };
vecSelDlgItems.push_back(new UiArtTextButton("Cancel", &UiFocusNavigationEsc, rect5, UIS_CENTER | UIS_BIG | UIS_GOLD));
UiInitList(0, selhero_SaveCount, selhero_List_Focus, selhero_List_Select, selhero_List_Esc, vecSelDlgItems, false, selhero_List_DeleteYesNo);
@ -252,19 +252,19 @@ void selhero_List_Select(int value)
if (static_cast<std::size_t>(value) == selhero_SaveCount) {
selhero_FreeDlgItems();
SDL_Rect rect1 = { PANEL_LEFT + 264, 211, 320, 33 };
SDL_Rect rect1 = { PANEL_LEFT + 264, (UI_OFFSET_Y + 211), 320, 33 };
vecSelDlgItems.push_back(new UiArtText("Choose Class", rect1, UIS_CENTER | UIS_BIG));
selhero_FreeListItems();
vecSelHeroDlgItems.push_back(new UiListItem("Warrior", UI_WARRIOR));
vecSelHeroDlgItems.push_back(new UiListItem("Rogue", UI_ROGUE));
vecSelHeroDlgItems.push_back(new UiListItem("Sorcerer", UI_SORCERER));
vecSelDlgItems.push_back(new UiList(vecSelHeroDlgItems, PANEL_LEFT + 264, 285, 320, 33, UIS_CENTER | UIS_MED | UIS_GOLD));
vecSelDlgItems.push_back(new UiList(vecSelHeroDlgItems, PANEL_LEFT + 264, (UI_OFFSET_Y + 285), 320, 33, UIS_CENTER | UIS_MED | UIS_GOLD));
SDL_Rect rect2 = { PANEL_LEFT + 279, 429, 140, 35 };
SDL_Rect rect2 = { PANEL_LEFT + 279, (UI_OFFSET_Y + 429), 140, 35 };
vecSelDlgItems.push_back(new UiArtTextButton("OK", &UiFocusNavigationSelect, rect2, UIS_CENTER | UIS_BIG | UIS_GOLD));
SDL_Rect rect3 = { PANEL_LEFT + 429, 429, 140, 35 };
SDL_Rect rect3 = { PANEL_LEFT + 429, (UI_OFFSET_Y + 429), 140, 35 };
vecSelDlgItems.push_back(new UiArtTextButton("Cancel", &UiFocusNavigationEsc, rect3, UIS_CENTER | UIS_BIG | UIS_GOLD));
UiInitList(0, 2, selhero_ClassSelector_Focus, selhero_ClassSelector_Select, selhero_ClassSelector_Esc, vecSelDlgItems);
@ -279,18 +279,18 @@ void selhero_List_Select(int value)
if (selhero_heroInfo.hassaved) {
selhero_FreeDlgItems();
SDL_Rect rect1 = { PANEL_LEFT + 264, 211, 320, 33 };
SDL_Rect rect1 = { PANEL_LEFT + 264, (UI_OFFSET_Y + 211), 320, 33 };
vecSelDlgItems.push_back(new UiArtText("Save File Exists", rect1, UIS_CENTER | UIS_BIG));
selhero_FreeListItems();
vecSelHeroDlgItems.push_back(new UiListItem("Load Game", 0));
vecSelHeroDlgItems.push_back(new UiListItem("New Game", 1));
vecSelDlgItems.push_back(new UiList(vecSelHeroDlgItems, PANEL_LEFT + 265, 285, 320, 33, UIS_CENTER | UIS_MED | UIS_GOLD));
vecSelDlgItems.push_back(new UiList(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 285), 320, 33, UIS_CENTER | UIS_MED | UIS_GOLD));
SDL_Rect rect2 = { PANEL_LEFT + 279, 427, 140, 35 };
SDL_Rect rect2 = { PANEL_LEFT + 279, (UI_OFFSET_Y + 427), 140, 35 };
vecSelDlgItems.push_back(new UiArtTextButton("OK", &UiFocusNavigationSelect, rect2, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
SDL_Rect rect3 = { PANEL_LEFT + 429, 427, 140, 35 };
SDL_Rect rect3 = { PANEL_LEFT + 429, (UI_OFFSET_Y + 427), 140, 35 };
vecSelDlgItems.push_back(new UiArtTextButton("Cancel", &UiFocusNavigationEsc, rect3, UIS_CENTER | UIS_VCENTER | UIS_BIG | UIS_GOLD));
UiInitList(0, 1, selhero_Load_Focus, selhero_Load_Select, selhero_List_Init, vecSelDlgItems, true);
@ -343,16 +343,16 @@ void selhero_ClassSelector_Select(int value)
strncpy(selhero_heroInfo.name, selhero_GenerateName(selhero_heroInfo.heroclass), sizeof(selhero_heroInfo.name) - 1);
#endif
selhero_FreeDlgItems();
SDL_Rect rect1 = { PANEL_LEFT + 264, 211, 320, 33 };
SDL_Rect rect1 = { PANEL_LEFT + 264, (UI_OFFSET_Y + 211), 320, 33 };
vecSelDlgItems.push_back(new UiArtText("Enter Name", rect1, UIS_CENTER | UIS_BIG));
SDL_Rect rect2 = { PANEL_LEFT + 265, 317, 320, 33 };
SDL_Rect rect2 = { PANEL_LEFT + 265, (UI_OFFSET_Y + 317), 320, 33 };
vecSelDlgItems.push_back(new UiEdit(selhero_heroInfo.name, 15, rect2, UIS_MED | UIS_GOLD));
SDL_Rect rect3 = { PANEL_LEFT + 279, 429, 140, 35 };
SDL_Rect rect3 = { PANEL_LEFT + 279, (UI_OFFSET_Y + 429), 140, 35 };
vecSelDlgItems.push_back(new UiArtTextButton("OK", &UiFocusNavigationSelect, rect3, UIS_CENTER | UIS_BIG | UIS_GOLD));
SDL_Rect rect4 = { PANEL_LEFT + 429, 429, 140, 35 };
SDL_Rect rect4 = { PANEL_LEFT + 429, (UI_OFFSET_Y + 429), 140, 35 };
vecSelDlgItems.push_back(new UiArtTextButton("Cancel", &UiFocusNavigationEsc, rect4, UIS_CENTER | UIS_BIG | UIS_GOLD));
UiInitList(0, 0, NULL, selhero_Name_Select, selhero_Name_Esc, vecSelDlgItems);

10
SourceX/DiabloUI/selok.cpp

@ -62,21 +62,21 @@ void UiSelOkDialog(const char *title, const char *body, bool background)
UiAddLogo(&vecSelOkDialog);
if (title != NULL) {
SDL_Rect rect1 = { PANEL_LEFT + 24, 161, 590, 35 };
SDL_Rect rect1 = { PANEL_LEFT + 24, (UI_OFFSET_Y + 161), 590, 35 };
vecSelOkDialog.push_back(new UiArtText(title, rect1, UIS_CENTER | UIS_BIG));
SDL_Rect rect2 = { PANEL_LEFT + 140, 210, 560, 168 };
SDL_Rect rect2 = { PANEL_LEFT + 140, (UI_OFFSET_Y + 210), 560, 168 };
vecSelOkDialog.push_back(new UiArtText(dialogText, rect2, UIS_MED));
} else {
SDL_Rect rect1 = { PANEL_LEFT + 140, 197, 560, 168 };
SDL_Rect rect1 = { PANEL_LEFT + 140, (UI_OFFSET_Y + 197), 560, 168 };
vecSelOkDialog.push_back(new UiArtText(dialogText, rect1, UIS_MED));
}
SDL_Rect rect3 = { PANEL_LEFT + 140, 210, 560, 168 };
SDL_Rect rect3 = { PANEL_LEFT + 140, (UI_OFFSET_Y + 210), 560, 168 };
vecSelOkDialog.push_back(new UiArtText(dialogText, rect3, UIS_MED));
vecSelOkDialogItems.push_back(new UiListItem("OK", 0));
vecSelOkDialog.push_back(new UiList(vecSelOkDialogItems, PANEL_LEFT + 230, 390, 180, 35, UIS_CENTER | UIS_BIG | UIS_GOLD));
vecSelOkDialog.push_back(new UiList(vecSelOkDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UIS_CENTER | UIS_BIG | UIS_GOLD));
strncpy(dialogText, body, sizeof(dialogText) - 1);
WordWrapArtStr(dialogText, MESSAGE_WIDTH);

6
SourceX/DiabloUI/selyesno.cpp

@ -51,15 +51,15 @@ bool UiSelHeroYesNoDialog(const char *title, const char *body)
UiAddBackground(&vecSelYesNoDialog);
UiAddLogo(&vecSelYesNoDialog);
SDL_Rect rect1 = { PANEL_LEFT + 24, 161, 590, 35 };
SDL_Rect rect1 = { PANEL_LEFT + 24, (UI_OFFSET_Y + 161), 590, 35 };
vecSelYesNoDialog.push_back(new UiArtText(title, rect1, UIS_CENTER | UIS_BIG));
SDL_Rect rect2 = { PANEL_LEFT + 120, 236, MESSAGE_WIDTH, 168 };
SDL_Rect rect2 = { PANEL_LEFT + 120, (UI_OFFSET_Y + 236), MESSAGE_WIDTH, 168 };
vecSelYesNoDialog.push_back(new UiArtText(selyesno_confirmationMessage, rect2, UIS_MED));
vecSelYesNoDialogItems.push_back(new UiListItem("Yes", 0));
vecSelYesNoDialogItems.push_back(new UiListItem("No", 1));
vecSelYesNoDialog.push_back(new UiList(vecSelYesNoDialogItems, PANEL_LEFT + 230, 390, 180, 35, UIS_CENTER | UIS_BIG | UIS_GOLD));
vecSelYesNoDialog.push_back(new UiList(vecSelYesNoDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UIS_CENTER | UIS_BIG | UIS_GOLD));
strncpy(selyesno_confirmationMessage, body, sizeof(selyesno_confirmationMessage) - 1);
WordWrapArtStr(selyesno_confirmationMessage, MESSAGE_WIDTH);

4
SourceX/DiabloUI/title.cpp

@ -27,9 +27,9 @@ void title_Free()
void UiTitleDialog()
{
UiAddBackground(&vecTitleScreen);
UiAddLogo(&vecTitleScreen, LOGO_BIG, 182);
UiAddLogo(&vecTitleScreen, LOGO_BIG, (UI_OFFSET_Y + 182));
SDL_Rect rect = { PANEL_LEFT + 49, 410, 550, 26 };
SDL_Rect rect = { PANEL_LEFT + 49, (UI_OFFSET_Y + 410), 550, 26 };
vecTitleScreen.push_back(new UiArtText("Copyright \xA9 1996-2001 Blizzard Entertainment", rect, UIS_MED | UIS_CENTER));
title_Load();

2
defs.h

@ -131,6 +131,8 @@
#define BUFFER_WIDTH (BORDER_LEFT + SCREEN_WIDTH + BORDER_RIGHT)
#define BUFFER_HEIGHT (BORDER_TOP + SCREEN_HEIGHT + BORDER_BOTTOM)
#define UI_OFFSET_Y ((SCREEN_HEIGHT - 480) / 2)
#define TILE_WIDTH 64
#define TILE_HEIGHT 32

Loading…
Cancel
Save