diff --git a/Source/control.cpp b/Source/control.cpp index 5e267dc64..63841b89b 100644 --- a/Source/control.cpp +++ b/Source/control.cpp @@ -145,14 +145,14 @@ char SpellITbl[MAX_SPELLS] = { 39, 42, 41, 40, 10, 36, 30 }; int PanBtnPos[8][5] = { - { 9, 361, 71, 19, 1 }, - { 9, 387, 71, 19, 0 }, - { 9, 427, 71, 19, 1 }, - { 9, 453, 71, 19, 0 }, - { 560, 361, 71, 19, 1 }, - { 560, 387, 71, 19, 0 }, - { 87, 443, 33, 32, 1 }, - { 527, 443, 33, 32, 1 } + { PANEL_LEFT + 9, PANEL_TOP + 9, 71, 19, 1 }, // char button + { PANEL_LEFT + 9, PANEL_TOP + 35, 71, 19, 0 }, // quests button + { PANEL_LEFT + 9, PANEL_TOP + 75, 71, 19, 1 }, // map button + { PANEL_LEFT + 9, PANEL_TOP + 101, 71, 19, 0 }, // menu button + { PANEL_LEFT + 560, PANEL_TOP + 9, 71, 19, 1 }, // inv button + { PANEL_LEFT + 560, PANEL_TOP + 35, 71, 19, 0 }, // spells button + { PANEL_LEFT + 87, PANEL_TOP + 91, 33, 32, 1 }, // chat button + { PANEL_LEFT + 527, PANEL_TOP + 91, 33, 32, 1 }, // friendly fire button }; char *PanBtnHotKey[8] = { "'c'", "'q'", "Tab", "Esc", "'i'", "'b'", "Enter", NULL }; char *PanBtnStr[8] = { @@ -382,9 +382,9 @@ void DrawSpell() st = RSPLTYPE_INVALID; SetSpellTrans(st); if (spl != SPL_INVALID) - DrawSpellCel(629, 631, pSpellCels, SpellITbl[spl], 56); + DrawSpellCel(PANEL_X + 565, PANEL_Y + 119, pSpellCels, SpellITbl[spl], 56); else - DrawSpellCel(629, 631, pSpellCels, 27, 56); + DrawSpellCel(PANEL_X + 565, PANEL_Y + 119, pSpellCels, 27, 56); } void DrawSpellList() @@ -879,7 +879,7 @@ void DrawPanelBox(int x, int y, int w, int h, int sx, int sy) /// ASSERT: assert(gpBuffer); nSrcOff = x + PANEL_WIDTH * y; - nDstOff = sx + BUFFER_WIDTH * sy + (SCREEN_WIDTH - PANEL_WIDTH) / 2; + nDstOff = sx + BUFFER_WIDTH * sy + PANEL_LEFT; #ifdef USE_ASM __asm { @@ -950,14 +950,14 @@ void DrawPanelBox(int x, int y, int w, int h, int sx, int sy) /** * Draws parts of the flasks that are on the panel */ -void SetFlaskHeight(BYTE *pCelBuff, int min, int max, int c, int r) +void SetFlaskHeight(BYTE *pCelBuff, int min, int max, int sx, int sy) { int nSrcOff, nDstOff, w; /// ASSERT: assert(gpBuffer); nSrcOff = 88 * min; - nDstOff = c + BUFFER_WIDTH * r; + nDstOff = sx + BUFFER_WIDTH * sy; w = max - min; #ifdef USE_ASM @@ -1058,9 +1058,9 @@ void UpdateLifeFlask() else if (filled < 0) filled = 0; if (filled != 69) - SetFlaskHeight(pLifeBuff, 16, 85 - filled, 96 + SCREEN_X, 352 + SCREEN_Y); + SetFlaskHeight(pLifeBuff, 16, 85 - filled, 96 + PANEL_X, PANEL_Y); if (filled) - DrawPanelBox(96, 85 - filled, 88, filled, 96 + SCREEN_X, 421 + SCREEN_Y - filled); + DrawPanelBox(96, 85 - filled, 88, filled, 96 + PANEL_X, PANEL_Y + 69 - filled); } void DrawManaFlask() @@ -1115,9 +1115,9 @@ void UpdateManaFlask() if (filled > 69) filled = 69; if (filled != 69) - SetFlaskHeight(pManaBuff, 16, 85 - filled, 96 + SCREEN_X + 368, 352 + SCREEN_Y); + SetFlaskHeight(pManaBuff, 16, 85 - filled, 96 + PANEL_X + 368, PANEL_Y); if (filled) - DrawPanelBox(96 + 368, 85 - filled, 88, filled, 96 + SCREEN_X + 368, 421 + SCREEN_Y - filled); + DrawPanelBox(96 + 368, 85 - filled, 88, filled, 96 + PANEL_X + 368, PANEL_Y + 69 - filled); DrawSpell(); } @@ -1208,7 +1208,7 @@ void InitControlPan() void ClearCtrlPan() { - DrawPanelBox(0, sgbPlrTalkTbl + 16, PANEL_WIDTH, PANEL_HEIGHT, 64, 512); + DrawPanelBox(0, sgbPlrTalkTbl + 16, PANEL_WIDTH, PANEL_HEIGHT, PANEL_X, PANEL_Y); DrawInfoBox(); } @@ -1218,16 +1218,16 @@ void DrawCtrlPan() for (i = 0; i < 6; i++) { if (!panbtn[i]) - DrawPanelBox(PanBtnPos[i][0], PanBtnPos[i][1] - 336, 71, 20, PanBtnPos[i][0] + SCREEN_X, PanBtnPos[i][1] + SCREEN_Y); + DrawPanelBox(PanBtnPos[i][0] - PANEL_LEFT, PanBtnPos[i][1] - (PANEL_TOP - 16), 71, 20, PanBtnPos[i][0] + PANEL_X, PanBtnPos[i][1] + SCREEN_Y); else - CelDraw(PanBtnPos[i][0] + SCREEN_X, PanBtnPos[i][1] + SCREEN_Y + 18, pPanelButtons, i + 1, 71); + CelDraw(PanBtnPos[i][0] + PANEL_X, PanBtnPos[i][1] + (PANEL_Y - 334), pPanelButtons, i + 1, 71); } if (numpanbtns == 8) { - CelDraw(87 + SCREEN_X, 474 + SCREEN_Y, pMultiBtns, panbtn[6] + 1, 33); + CelDraw(87 + PANEL_X, 122 + PANEL_Y, pMultiBtns, panbtn[6] + 1, 33); if (FriendlyMode) - CelDraw(527 + SCREEN_X, 474 + SCREEN_Y, pMultiBtns, panbtn[7] + 3, 33); + CelDraw(527 + PANEL_X, 122 + PANEL_Y, pMultiBtns, panbtn[7] + 3, 33); else - CelDraw(527 + SCREEN_X, 474 + SCREEN_Y, pMultiBtns, panbtn[7] + 5, 33); + CelDraw(527 + PANEL_X, 122 + PANEL_Y, pMultiBtns, panbtn[7] + 5, 33); } } @@ -1297,7 +1297,7 @@ void DoPanBtn() } } } - if (!spselflag && MouseX >= 565 && MouseX < 621 && MouseY >= 416 && MouseY < 472) { + if (!spselflag && MouseX >= 565 + PANEL_LEFT && MouseX < 621 + PANEL_LEFT && MouseY >= 64 + PANEL_TOP && MouseY < 120 + PANEL_TOP) { DoSpeedBook(); gamemenu_off(); } @@ -1366,7 +1366,7 @@ void CheckPanelInfo() pinfoflag = TRUE; } } - if (!spselflag && MouseX >= 565 && MouseX < 621 && MouseY >= 416 && MouseY < 472) { + if (!spselflag && MouseX >= 565 + PANEL_LEFT && MouseX < 621 + PANEL_LEFT && MouseY >= 64 + PANEL_TOP && MouseY < 120 + PANEL_TOP) { strcpy(infostr, "Select current spell button"); infoclr = COL_WHITE; panelflag = TRUE; @@ -1428,7 +1428,7 @@ void CheckPanelInfo() } } } - if (MouseX > 190 && MouseX < 437 && MouseY > 356 && MouseY < 385) + if (MouseX > 190 + PANEL_LEFT && MouseX < 437 + PANEL_LEFT && MouseY > 4 + PANEL_TOP && MouseY < 33 + PANEL_TOP) pcursinvitem = CheckInvHLight(); } @@ -1548,7 +1548,7 @@ void DrawInfoBox() { int nGold; - DrawPanelBox(177, 62, 288, 60, 241, 558); + DrawPanelBox(177, 62, 288, 60, PANEL_X + 177, PANEL_Y + 46); if (!panelflag && !trigflag && pcursinvitem == -1 && !spselflag) { infostr[0] = '\0'; infoclr = COL_WHITE; @@ -1634,13 +1634,13 @@ void control_print_info_str(int y, char *str, BOOL center, int lines) int strWidth, lineOffset, lineStart; lineOffset = 0; - lineStart = lineOffsets[lines][y] + (SCREEN_WIDTH - PANEL_WIDTH) / 2; + lineStart = lineOffsets[lines][y] + PANEL_LEFT; if (center == 1) { strWidth = 0; tmp = str; while (*tmp) { c = gbFontTransTbl[(BYTE)*tmp++]; - strWidth += fontkern[fontframe[c]] + 1; + strWidth += fontkern[fontframe[c]] + 2; } if (strWidth < 288) lineOffset = (288 - strWidth) >> 1; @@ -1943,13 +1943,13 @@ void MY_PlrStringXY(int x, int y, int width, char *pszStr, char col, int base) void CheckLvlBtn() { - if (!lvlbtndown && MouseX >= 40 && MouseX <= 81 && MouseY >= 313 && MouseY <= 335) + if (!lvlbtndown && MouseX >= 40 + PANEL_LEFT && MouseX <= 81 + PANEL_LEFT && MouseY >= -39 + PANEL_TOP && MouseY <= -17 + PANEL_TOP) lvlbtndown = TRUE; } void ReleaseLvlBtn() { - if (MouseX >= 40 && MouseX <= 81 && MouseY >= 313 && MouseY <= 335) + if (MouseX >= 40 + PANEL_LEFT && MouseX <= 81 + PANEL_LEFT && MouseY >= -39 + PANEL_TOP && MouseY <= -17 + PANEL_TOP) chrflag = TRUE; lvlbtndown = FALSE; } @@ -1961,7 +1961,7 @@ void DrawLevelUpIcon() if (!stextflag) { nCel = lvlbtndown ? 3 : 2; ADD_PlrStringXY(0, 303, 120, "Level Up", COL_WHITE); - CelDraw(40 + SCREEN_X, 335 + SCREEN_Y, pChrButtons, nCel, 41); + CelDraw(40 + PANEL_X, -17 + PANEL_Y, pChrButtons, nCel, 41); } } @@ -2044,9 +2044,9 @@ void DrawDurIcon() int x1, x2, x3, x4; if (!chrflag && !questlog || !invflag && !sbookflag) { - x1 = 656; + x1 = 592 + PANEL_X; if (invflag || sbookflag) - x1 = 336; + x1 = 272 + PANEL_X; p = &plr[myplr]; x2 = DrawDurIcon4Item(&p->InvBody[INVLOC_HEAD], x1, 4); x3 = DrawDurIcon4Item(&p->InvBody[INVLOC_CHEST], x2, 3); @@ -2086,7 +2086,7 @@ int DrawDurIcon4Item(ItemStruct *pItem, int x, int c) } if (pItem->_iDurability > 2) c += 8; - CelDraw(x, 335 + SCREEN_Y, pDurIcons, c, 32); + CelDraw(x, -17 + PANEL_Y, pDurIcons, c, 32); return x - 40; } @@ -2198,8 +2198,8 @@ void DrawSpellBook() char st; unsigned __int64 spl; - CelDraw(PANEL_RIGHT, 351 + SCREEN_Y, pSpellBkCel, 1, 320); - CelDraw(PANEL_RIGHT + 76 * sbooktab + 7, 348 + SCREEN_Y, pSBkBtnCel, sbooktab + 1, 76); + CelDraw(RIGHT_PANEL_X, 351 + SCREEN_Y, pSpellBkCel, 1, 320); + CelDraw(RIGHT_PANEL_X + 76 * sbooktab + 7, 348 + SCREEN_Y, pSBkBtnCel, sbooktab + 1, 76); spl = plr[myplr]._pMemSpells | plr[myplr]._pISpells | plr[myplr]._pAblSpells; @@ -2209,10 +2209,10 @@ void DrawSpellBook() if (sn != -1 && spl & (__int64)1 << (sn - 1)) { st = GetSBookTrans(sn, TRUE); SetSpellTrans(st); - DrawSpellCel(SCREEN_WIDTH - 320 + 75, yp, pSBkIconCels, SpellITbl[sn], 37); + DrawSpellCel(RIGHT_PANEL + 75, yp, pSBkIconCels, SpellITbl[sn], 37); if (sn == plr[myplr]._pRSpell && st == plr[myplr]._pRSplType) { SetSpellTrans(RSPLTYPE_SKILL); - DrawSpellCel(SCREEN_WIDTH - 320 + 75, yp, pSBkIconCels, 43, 37); + DrawSpellCel(RIGHT_PANEL + 75, yp, pSBkIconCels, 43, 37); } PrintSBookStr(10, yp - 23, FALSE, spelldata[sn].sNameText, COL_WHITE); switch (GetSBookTrans(sn, FALSE)) { @@ -2257,7 +2257,7 @@ void PrintSBookStr(int x, int y, BOOL cjustflag, char *pszStr, char col) char *tmp; int screen_x, line, width; - width = PitchTbl[y] + x + SCREEN_WIDTH - 320 + 120; + width = PitchTbl[y] + x + RIGHT_PANEL + 120; line = 0; if (cjustflag) { screen_x = 0; @@ -2288,7 +2288,7 @@ void CheckSBook() char st; unsigned __int64 spl; - if (MouseX >= 331 && MouseX < 368 && MouseY >= 18 && MouseY < 314) { + if (MouseX >= RIGHT_PANEL + 11 && MouseX < RIGHT_PANEL + 48 && MouseY >= 18 && MouseY < 314) { spl = plr[myplr]._pMemSpells | plr[myplr]._pISpells | plr[myplr]._pAblSpells; sn = SpellPages[sbooktab][(MouseY - 18) / 43]; if (sn != -1 && spl & (__int64)1 << (sn - 1)) { @@ -2304,8 +2304,8 @@ void CheckSBook() drawpanflag = 255; } } - if (MouseX >= 327 && MouseX < 633 && MouseY >= 320 && MouseY < 349) { /// BUGFIX: change `< 633` to `< 631` - sbooktab = (MouseX - 327) / 76; + if (MouseX >= RIGHT_PANEL + 7 && MouseX < RIGHT_PANEL + 313 && MouseY >= 320 && MouseY < 349) { /// BUGFIX: change `< 313` to `< 311` + sbooktab = (MouseX - (RIGHT_PANEL + 7)) / 76; } } @@ -2428,20 +2428,20 @@ void DrawTalkPan() if (!talkflag) return; - DrawPanelBox(175, sgbPlrTalkTbl + 20, 294, 5, 239, 516); + DrawPanelBox(175, sgbPlrTalkTbl + 20, 294, 5, PANEL_X + 175, PANEL_Y + 4); off = 0; for (i = 293; i > 283; off++, i--) { - DrawPanelBox((off >> 1) + 175, sgbPlrTalkTbl + off + 25, i, 1, (off >> 1) + 239, off + 521); + DrawPanelBox((off >> 1) + 175, sgbPlrTalkTbl + off + 25, i, 1, (off >> 1) + PANEL_X + 175, off + PANEL_Y + 9); } - DrawPanelBox(185, sgbPlrTalkTbl + 35, 274, 30, 249, 531); - DrawPanelBox(180, sgbPlrTalkTbl + 65, 284, 5, 244, 561); + DrawPanelBox(185, sgbPlrTalkTbl + 35, 274, 30, PANEL_X + 185, PANEL_Y + 19); + DrawPanelBox(180, sgbPlrTalkTbl + 65, 284, 5, PANEL_X + 180, PANEL_Y + 49); for (i = 0; i < 10; i++) { - DrawPanelBox(180, sgbPlrTalkTbl + i + 70, i + 284, 1, 244, i + 566); + DrawPanelBox(180, sgbPlrTalkTbl + i + 70, i + 284, 1, PANEL_X + 180, i + PANEL_Y + 54); } - DrawPanelBox(170, sgbPlrTalkTbl + 80, 310, 55, 234, 576); + DrawPanelBox(170, sgbPlrTalkTbl + 80, 310, 55, PANEL_X + 170, PANEL_Y + 64); msg = sgszTalkMsg; for (i = 0; i < 39; i += 13) { - msg = control_print_talk_msg(msg, 0, i, &x, 0); + msg = control_print_talk_msg(msg, 0 + PANEL_LEFT, i, &x, 0); if (!msg) break; } @@ -2460,7 +2460,7 @@ void DrawTalkPan() nCel = 4; else nCel = 3; - CelDraw(172 + SCREEN_X, 436 + 18 * talk_btn + SCREEN_Y, pTalkBtns, nCel, 61); + CelDraw(172 + PANEL_X, 84 + 18 * talk_btn + PANEL_Y, pTalkBtns, nCel, 61); } } else { color = COL_RED; @@ -2470,10 +2470,10 @@ void DrawTalkPan() nCel = 1; if (talkbtndown[talk_btn]) nCel += 4; - CelDraw(172 + SCREEN_X, 436 + 18 * talk_btn + SCREEN_Y, pTalkBtns, nCel, 61); + CelDraw(172 + PANEL_X, 84 + 18 * talk_btn + PANEL_Y, pTalkBtns, nCel, 61); } if (plr[i].plractive) { - control_print_talk_msg(plr[i]._pName, 46, 60 + talk_btn * 18, &x, color); + control_print_talk_msg(plr[i]._pName, 46 + PANEL_LEFT, 60 + talk_btn * 18, &x, color); } talk_btn++; @@ -2487,12 +2487,12 @@ char *control_print_talk_msg(char *msg, int x, int y, int *nOffset, int color) x += 264; width = x; - *nOffset = PitchTbl[y + 534] + x; + *nOffset = PitchTbl[y + 182 + PANEL_TOP] + x; while (*msg) { c = fontframe[gbFontTransTbl[(BYTE)*msg]]; width += fontkern[c] + 1; - if (width > 514) + if (width > 514 + PANEL_LEFT) return msg; msg++; if (c) { @@ -2510,20 +2510,20 @@ BOOL control_check_talk_btn() if (!talkflag) return FALSE; - if (MouseX < 172) + if (MouseX < 172 + PANEL_LEFT) return FALSE; - if (MouseY < 421) + if (MouseY < 69 + PANEL_TOP) return FALSE; - if (MouseX > 233) + if (MouseX > 233 + PANEL_LEFT) return FALSE; - if (MouseY > 475) + if (MouseY > 123 + PANEL_TOP) return FALSE; for (i = 0; i < sizeof(talkbtndown) / sizeof(talkbtndown[0]); i++) { talkbtndown[i] = FALSE; } - talkbtndown[(MouseY - 421) / 18] = TRUE; + talkbtndown[(MouseY - (69 + PANEL_TOP)) / 18] = TRUE; return TRUE; } @@ -2535,8 +2535,8 @@ void control_release_talk_btn() if (talkflag) { for (i = 0; i < sizeof(talkbtndown) / sizeof(talkbtndown[0]); i++) talkbtndown[i] = FALSE; - if (MouseX >= 172 && MouseY >= 421 && MouseX <= 233 && MouseY <= 475) { - off = (MouseY - 421) / 18; + if (MouseX >= 172 + PANEL_LEFT && MouseY >= 421 + PANEL_LEFT && MouseX <= -119 + PANEL_TOP && MouseY <= 123 + PANEL_TOP) { + off = (MouseY - (69 + PANEL_TOP)) / 18; for (p = 0; p < MAX_PLRS && off != -1; p++) { if (p != myplr) diff --git a/Source/control.h b/Source/control.h index 181be4c5d..abe93be5f 100644 --- a/Source/control.h +++ b/Source/control.h @@ -65,7 +65,7 @@ void AddPanelString(char *str, BOOL just); void ClearPanel(); void DrawPanelBox(int x, int y, int w, int h, int sx, int sy); void InitPanelStr(); -void SetFlaskHeight(BYTE *pCelBuff, int min, int max, int c, int r); +void SetFlaskHeight(BYTE *pCelBuff, int min, int max, int sx, int sy); void DrawFlask(BYTE *pCelBuff, int w, int nSrcOff, BYTE *pBuff, int nDstOff, int h); void DrawLifeFlask(); void UpdateLifeFlask(); diff --git a/Source/cursor.cpp b/Source/cursor.cpp index adc9075e7..b3d1d0c08 100644 --- a/Source/cursor.cpp +++ b/Source/cursor.cpp @@ -223,7 +223,7 @@ void CheckCursMove() ty = sy >> 5; px = sx & 0x3F; py = sy & 0x1F; - mx = ViewX + tx + ty - (zoomflag ? 10 : 5); + mx = ViewX + tx + ty - (zoomflag ? (SCREEN_WIDTH / 64) : (SCREEN_WIDTH / 2 / 64)); my = ViewY + ty - tx; flipy = py < (px >> 1); @@ -278,14 +278,14 @@ void CheckCursMove() if (doomflag) { return; } - if (invflag && MouseX > 320) { + if (invflag && MouseX > RIGHT_PANEL) { pcursinvitem = CheckInvHLight(); return; } - if (sbookflag && MouseX > 320) { + if (sbookflag && MouseX > RIGHT_PANEL) { return; } - if ((chrflag || questlog) && MouseX < 320) { + if ((chrflag || questlog) && MouseX < RIGHT_PANEL) { return; } diff --git a/Source/diablo.cpp b/Source/diablo.cpp index 010a976e7..203824312 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -794,10 +794,10 @@ BOOL LeftMouseDown(int wParam) sfx_stop(); } else if (chrflag && MouseX < 320) { CheckChrBtns(); - } else if (invflag && MouseX > 320) { + } else if (invflag && MouseX > RIGHT_PANEL) { if (!dropGoldFlag) CheckInvItem(); - } else if (sbookflag && MouseX > 320) { + } else if (sbookflag && MouseX > RIGHT_PANEL) { CheckSBook(); } else if (pcurs >= CURSOR_FIRSTITEM) { if (TryInvPut()) { diff --git a/Source/error.cpp b/Source/error.cpp index fd2df0a8c..557198b67 100644 --- a/Source/error.cpp +++ b/Source/error.cpp @@ -85,34 +85,34 @@ void DrawDiabloMsg() int i, len, off, width, sx, sy; BYTE c; - CelDraw(165, 318, pSTextSlidCels, 1, 12); - CelDraw(591, 318, pSTextSlidCels, 4, 12); - CelDraw(165, 366, pSTextSlidCels, 2, 12); - CelDraw(591, 366, pSTextSlidCels, 3, 12); + CelDraw(PANEL_X + 101, DIALOG_Y, pSTextSlidCels, 1, 12); + CelDraw(PANEL_X + 527, DIALOG_Y, pSTextSlidCels, 4, 12); + CelDraw(PANEL_X + 101, DIALOG_Y + 48, pSTextSlidCels, 2, 12); + CelDraw(PANEL_X + 527, DIALOG_Y + 48, pSTextSlidCels, 3, 12); - sx = 173; + sx = PANEL_X + 109; for (i = 0; i < 35; i++) { - CelDraw(sx, 318, pSTextSlidCels, 5, 12); - CelDraw(sx, 366, pSTextSlidCels, 7, 12); + CelDraw(sx, DIALOG_Y, pSTextSlidCels, 5, 12); + CelDraw(sx, DIALOG_Y + 48, pSTextSlidCels, 7, 12); sx += 12; } - sy = 330; + sy = DIALOG_Y + 12; for (i = 0; i < 3; i++) { - CelDraw(165, sy, pSTextSlidCels, 6, 12); - CelDraw(591, sy, pSTextSlidCels, 8, 12); + CelDraw(PANEL_X + 101, sy, pSTextSlidCels, 6, 12); + CelDraw(PANEL_X + 527, sy, pSTextSlidCels, 8, 12); sy += 12; } /// ASSERT: assert(gpBuffer); -#define TRANS_RECT_X 104 -#define TRANS_RECT_Y 150 +#define TRANS_RECT_X (PANEL_LEFT + 104) +#define TRANS_RECT_Y (DIALOG_TOP - 8) #define TRANS_RECT_WIDTH 432 #define TRANS_RECT_HEIGHT 54 #include "asm_trans_rect.inc" strcpy(tempstr, MsgStrings[msgflag]); - off = 165 + PitchTbl[342]; + off = PANEL_X + 101 + PitchTbl[DIALOG_Y + 24]; len = strlen(tempstr); width = 0; diff --git a/Source/gmenu.cpp b/Source/gmenu.cpp index b3f92f09b..314b58c2a 100644 --- a/Source/gmenu.cpp +++ b/Source/gmenu.cpp @@ -43,7 +43,7 @@ void gmenu_draw_pause() RedBack(); if (!sgpCurrentMenu) { light_table_index = 0; - gmenu_print_text(316, 336, "Pause"); + gmenu_print_text(316 + PANEL_LEFT, -16 + PANEL_TOP, "Pause"); } } @@ -179,14 +179,14 @@ void gmenu_draw_menu_item(TMenuItem *pItem, int y) w = gmenu_get_lfont(pItem); if (pItem->dwFlags & GMENU_SLIDER) { x = 16 + w / 2 + SCREEN_X; - CelDraw(x, t - 8, optbar_cel, 1, 287); + CelDraw(x + PANEL_LEFT, t - 8, optbar_cel, 1, 287); step = pItem->dwFlags & 0xFFF; nSteps = (pItem->dwFlags & 0xFFF000) >> 12; if (nSteps < 2) nSteps = 2; pos = step * 256 / nSteps; - gmenu_clear_buffer(x + 2, t - 10, pos + 13, 28); - CelDraw(x + 2 + pos, y - 12, option_cel, 1, 27); + gmenu_clear_buffer(x + 2 + PANEL_LEFT, t - 10, pos + 13, 28); + CelDraw(x + 2 + pos + PANEL_LEFT, y - 12, option_cel, 1, 27); } x = SCREEN_WIDTH / 2 - w / 2 + SCREEN_X; light_table_index = (pItem->dwFlags & GMENU_ENABLED) ? 0 : 15; @@ -299,15 +299,15 @@ BOOL gmenu_on_mouse_move() BOOLEAN gmenu_valid_mouse_pos(int *plOffset) { *plOffset = 282; - if (MouseX < 282) { + if (MouseX < 282 + PANEL_LEFT) { *plOffset = 0; return 0; } - if (MouseX > 538) { + if (MouseX > 538 + PANEL_LEFT) { *plOffset = 256; return 0; } - *plOffset = MouseX - 282; + *plOffset = MouseX - 282 - PANEL_LEFT; return 1; } diff --git a/Source/help.cpp b/Source/help.cpp index acd016417..5d6ed9401 100644 --- a/Source/help.cpp +++ b/Source/help.cpp @@ -537,7 +537,7 @@ void DrawHelpLine(int always_0, int help_line_nr, char *text, char color) BYTE c; width = 0; - off = PitchTbl[SStringY[help_line_nr] + 204] + always_0 + 96; + off = PitchTbl[SStringY[help_line_nr] + 204] + always_0 + 96 + PANEL_LEFT; while (*text) { c = gbFontTransTbl[(BYTE)*text]; text++; diff --git a/Source/inv.cpp b/Source/inv.cpp index 4928b7b82..fb65cf7ec 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -8,79 +8,79 @@ int sgdwLastTime; // check name const InvXY InvRect[73] = { // clang-format off // X, Y - { 452, 31 }, // helmet - { 480, 31 }, // helmet - { 452, 59 }, // helmet - { 480, 59 }, // helmet - { 365, 205 }, // left ring - { 567, 205 }, // right ring - { 524, 59 }, // amulet - { 337, 104 }, // left hand - { 366, 104 }, // left hand - { 337, 132 }, // left hand - { 366, 132 }, // left hand - { 337, 160 }, // left hand - { 366, 160 }, // left hand - { 567, 104 }, // right hand - { 596, 104 }, // right hand - { 567, 132 }, // right hand - { 596, 132 }, // right hand - { 567, 160 }, // right hand - { 596, 160 }, // right hand - { 452, 104 }, // chest - { 480, 104 }, // chest - { 452, 132 }, // chest - { 480, 132 }, // chest - { 452, 160 }, // chest - { 480, 160 }, // chest - { 337, 250 }, // inv row 1 - { 366, 250 }, // inv row 1 - { 394, 250 }, // inv row 1 - { 423, 250 }, // inv row 1 - { 451, 250 }, // inv row 1 - { 480, 250 }, // inv row 1 - { 509, 250 }, // inv row 1 - { 538, 250 }, // inv row 1 - { 567, 250 }, // inv row 1 - { 596, 250 }, // inv row 1 - { 337, 279 }, // inv row 2 - { 366, 279 }, // inv row 2 - { 394, 279 }, // inv row 2 - { 423, 279 }, // inv row 2 - { 451, 279 }, // inv row 2 - { 480, 279 }, // inv row 2 - { 509, 279 }, // inv row 2 - { 538, 279 }, // inv row 2 - { 567, 279 }, // inv row 2 - { 596, 279 }, // inv row 2 - { 337, 308 }, // inv row 3 - { 366, 308 }, // inv row 3 - { 394, 308 }, // inv row 3 - { 423, 308 }, // inv row 3 - { 451, 308 }, // inv row 3 - { 480, 308 }, // inv row 3 - { 509, 308 }, // inv row 3 - { 538, 308 }, // inv row 3 - { 567, 308 }, // inv row 3 - { 596, 308 }, // inv row 3 - { 337, 336 }, // inv row 4 - { 366, 336 }, // inv row 4 - { 394, 336 }, // inv row 4 - { 423, 336 }, // inv row 4 - { 451, 336 }, // inv row 4 - { 480, 336 }, // inv row 4 - { 509, 336 }, // inv row 4 - { 538, 336 }, // inv row 4 - { 567, 336 }, // inv row 4 - { 596, 336 }, // inv row 4 - { 205, 385 }, // belt - { 234, 385 }, // belt - { 263, 385 }, // belt - { 292, 385 }, // belt - { 321, 385 }, // belt - { 350, 385 }, // belt - { 379, 385 }, // belt - { 408, 385 } // belt + { RIGHT_PANEL + 132, 31 }, // helmet + { RIGHT_PANEL + 160, 31 }, // helmet + { RIGHT_PANEL + 132, 59 }, // helmet + { RIGHT_PANEL + 160, 59 }, // helmet + { RIGHT_PANEL + 45, 205 }, // left ring + { RIGHT_PANEL + 247, 205 }, // right ring + { RIGHT_PANEL + 204, 59 }, // amulet + { RIGHT_PANEL + 17, 104 }, // left hand + { RIGHT_PANEL + 46, 104 }, // left hand + { RIGHT_PANEL + 17, 132 }, // left hand + { RIGHT_PANEL + 46, 132 }, // left hand + { RIGHT_PANEL + 17, 160 }, // left hand + { RIGHT_PANEL + 46, 160 }, // left hand + { RIGHT_PANEL + 247, 104 }, // right hand + { RIGHT_PANEL + 276, 104 }, // right hand + { RIGHT_PANEL + 247, 132 }, // right hand + { RIGHT_PANEL + 276, 132 }, // right hand + { RIGHT_PANEL + 247, 160 }, // right hand + { RIGHT_PANEL + 276, 160 }, // right hand + { RIGHT_PANEL + 132, 104 }, // chest + { RIGHT_PANEL + 160, 104 }, // chest + { RIGHT_PANEL + 132, 132 }, // chest + { RIGHT_PANEL + 160, 132 }, // chest + { RIGHT_PANEL + 132, 160 }, // chest + { RIGHT_PANEL + 160, 160 }, // chest + { RIGHT_PANEL + 17, 250 }, // inv row 1 + { RIGHT_PANEL + 46, 250 }, // inv row 1 + { RIGHT_PANEL + 74, 250 }, // inv row 1 + { RIGHT_PANEL + 103, 250 }, // inv row 1 + { RIGHT_PANEL + 131, 250 }, // inv row 1 + { RIGHT_PANEL + 160, 250 }, // inv row 1 + { RIGHT_PANEL + 189, 250 }, // inv row 1 + { RIGHT_PANEL + 218, 250 }, // inv row 1 + { RIGHT_PANEL + 247, 250 }, // inv row 1 + { RIGHT_PANEL + 276, 250 }, // inv row 1 + { RIGHT_PANEL + 17, 279 }, // inv row 2 + { RIGHT_PANEL + 46, 279 }, // inv row 2 + { RIGHT_PANEL + 74, 279 }, // inv row 2 + { RIGHT_PANEL + 103, 279 }, // inv row 2 + { RIGHT_PANEL + 131, 279 }, // inv row 2 + { RIGHT_PANEL + 160, 279 }, // inv row 2 + { RIGHT_PANEL + 189, 279 }, // inv row 2 + { RIGHT_PANEL + 218, 279 }, // inv row 2 + { RIGHT_PANEL + 247, 279 }, // inv row 2 + { RIGHT_PANEL + 276, 279 }, // inv row 2 + { RIGHT_PANEL + 17, 308 }, // inv row 3 + { RIGHT_PANEL + 46, 308 }, // inv row 3 + { RIGHT_PANEL + 74, 308 }, // inv row 3 + { RIGHT_PANEL + 103, 308 }, // inv row 3 + { RIGHT_PANEL + 131, 308 }, // inv row 3 + { RIGHT_PANEL + 160, 308 }, // inv row 3 + { RIGHT_PANEL + 189, 308 }, // inv row 3 + { RIGHT_PANEL + 218, 308 }, // inv row 3 + { RIGHT_PANEL + 247, 308 }, // inv row 3 + { RIGHT_PANEL + 276, 308 }, // inv row 3 + { RIGHT_PANEL + 17, 336 }, // inv row 4 + { RIGHT_PANEL + 46, 336 }, // inv row 4 + { RIGHT_PANEL + 74, 336 }, // inv row 4 + { RIGHT_PANEL + 103, 336 }, // inv row 4 + { RIGHT_PANEL + 131, 336 }, // inv row 4 + { RIGHT_PANEL + 160, 336 }, // inv row 4 + { RIGHT_PANEL + 189, 336 }, // inv row 4 + { RIGHT_PANEL + 218, 336 }, // inv row 4 + { RIGHT_PANEL + 247, 336 }, // inv row 4 + { RIGHT_PANEL + 276, 336 }, // inv row 4 + { PANEL_LEFT + 205, PANEL_TOP + 33 }, // belt + { PANEL_LEFT + 234, PANEL_TOP + 33 }, // belt + { PANEL_LEFT + 263, PANEL_TOP + 33 }, // belt + { PANEL_LEFT + 292, PANEL_TOP + 33 }, // belt + { PANEL_LEFT + 321, PANEL_TOP + 33 }, // belt + { PANEL_LEFT + 350, PANEL_TOP + 33 }, // belt + { PANEL_LEFT + 379, PANEL_TOP + 33 }, // belt + { PANEL_LEFT + 408, PANEL_TOP + 33 } // belt // clang-format on }; @@ -172,10 +172,10 @@ void DrawInv() BOOL invtest[NUM_INV_GRID_ELEM]; int frame, frame_width, colour, screen_x, screen_y, i, j, ii; - CelDraw(PANEL_RIGHT, 351 + SCREEN_Y, pInvCels, 1, 320); + CelDraw(RIGHT_PANEL_X, 351 + SCREEN_Y, pInvCels, 1, 320); if (plr[myplr].InvBody[INVLOC_HEAD]._itype != ITYPE_NONE) { - InvDrawSlotBack(PANEL_RIGHT + 133, 59 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 2 * INV_SLOT_SIZE_PX); + InvDrawSlotBack(RIGHT_PANEL_X + 133, 59 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 2 * INV_SLOT_SIZE_PX); frame = plr[myplr].InvBody[INVLOC_HEAD]._iCurs + CURSOR_FIRSTITEM; frame_width = InvItemWidth[frame]; @@ -188,18 +188,18 @@ void DrawInv() if (!plr[myplr].InvBody[INVLOC_HEAD]._iStatFlag) { colour = ICOL_RED; } - CelBlitOutline(colour, PANEL_RIGHT + 133, 59 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelBlitOutline(colour, RIGHT_PANEL_X + 133, 59 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } if (plr[myplr].InvBody[INVLOC_HEAD]._iStatFlag) { - CelClippedDraw(PANEL_RIGHT + 133, 59 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelClippedDraw(RIGHT_PANEL_X + 133, 59 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } else { - CelDrawLightRed(PANEL_RIGHT + 133, 59 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); + CelDrawLightRed(RIGHT_PANEL_X + 133, 59 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); } } if (plr[myplr].InvBody[INVLOC_RING_LEFT]._itype != ITYPE_NONE) { - InvDrawSlotBack(PANEL_RIGHT + 48, 205 + SCREEN_Y, INV_SLOT_SIZE_PX, INV_SLOT_SIZE_PX); + InvDrawSlotBack(RIGHT_PANEL_X + 48, 205 + SCREEN_Y, INV_SLOT_SIZE_PX, INV_SLOT_SIZE_PX); frame = plr[myplr].InvBody[INVLOC_RING_LEFT]._iCurs + CURSOR_FIRSTITEM; frame_width = InvItemWidth[frame]; @@ -212,18 +212,18 @@ void DrawInv() if (!plr[myplr].InvBody[INVLOC_RING_LEFT]._iStatFlag) { colour = ICOL_RED; } - CelBlitOutline(colour, PANEL_RIGHT + 48, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelBlitOutline(colour, RIGHT_PANEL_X + 48, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } if (plr[myplr].InvBody[INVLOC_RING_LEFT]._iStatFlag) { - CelClippedDraw(PANEL_RIGHT + 48, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelClippedDraw(RIGHT_PANEL_X + 48, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } else { - CelDrawLightRed(PANEL_RIGHT + 48, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); + CelDrawLightRed(RIGHT_PANEL_X + 48, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); } } if (plr[myplr].InvBody[INVLOC_RING_RIGHT]._itype != ITYPE_NONE) { - InvDrawSlotBack(PANEL_RIGHT + 249, 205 + SCREEN_Y, INV_SLOT_SIZE_PX, INV_SLOT_SIZE_PX); + InvDrawSlotBack(RIGHT_PANEL_X + 249, 205 + SCREEN_Y, INV_SLOT_SIZE_PX, INV_SLOT_SIZE_PX); frame = plr[myplr].InvBody[INVLOC_RING_RIGHT]._iCurs + CURSOR_FIRSTITEM; frame_width = InvItemWidth[frame]; @@ -236,18 +236,18 @@ void DrawInv() if (!plr[myplr].InvBody[INVLOC_RING_RIGHT]._iStatFlag) { colour = ICOL_RED; } - CelBlitOutline(colour, PANEL_RIGHT + 249, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelBlitOutline(colour, RIGHT_PANEL_X + 249, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } if (plr[myplr].InvBody[INVLOC_RING_RIGHT]._iStatFlag) { - CelClippedDraw(PANEL_RIGHT + 249, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelClippedDraw(RIGHT_PANEL_X + 249, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } else { - CelDrawLightRed(PANEL_RIGHT + 249, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); + CelDrawLightRed(RIGHT_PANEL_X + 249, 205 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); } } if (plr[myplr].InvBody[INVLOC_AMULET]._itype != ITYPE_NONE) { - InvDrawSlotBack(PANEL_RIGHT + 205, 60 + SCREEN_Y, INV_SLOT_SIZE_PX, INV_SLOT_SIZE_PX); + InvDrawSlotBack(RIGHT_PANEL_X + 205, 60 + SCREEN_Y, INV_SLOT_SIZE_PX, INV_SLOT_SIZE_PX); frame = plr[myplr].InvBody[INVLOC_AMULET]._iCurs + CURSOR_FIRSTITEM; frame_width = InvItemWidth[frame]; @@ -260,23 +260,23 @@ void DrawInv() if (!plr[myplr].InvBody[INVLOC_AMULET]._iStatFlag) { colour = ICOL_RED; } - CelBlitOutline(colour, PANEL_RIGHT + 205, 60 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelBlitOutline(colour, RIGHT_PANEL_X + 205, 60 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } if (plr[myplr].InvBody[INVLOC_AMULET]._iStatFlag) { - CelClippedDraw(PANEL_RIGHT + 205, 60 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelClippedDraw(RIGHT_PANEL_X + 205, 60 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } else { - CelDrawLightRed(PANEL_RIGHT + 205, 60 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); + CelDrawLightRed(RIGHT_PANEL_X + 205, 60 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); } } if (plr[myplr].InvBody[INVLOC_HAND_LEFT]._itype != ITYPE_NONE) { - InvDrawSlotBack(PANEL_RIGHT + 17, 160 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 3 * INV_SLOT_SIZE_PX); + InvDrawSlotBack(RIGHT_PANEL_X + 17, 160 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 3 * INV_SLOT_SIZE_PX); frame = plr[myplr].InvBody[INVLOC_HAND_LEFT]._iCurs + CURSOR_FIRSTITEM; frame_width = InvItemWidth[frame]; // calc item offsets for weapons smaller than 2x3 slots - screen_x = frame_width == INV_SLOT_SIZE_PX ? (PANEL_RIGHT + 31) : (PANEL_RIGHT + 17); + screen_x = frame_width == INV_SLOT_SIZE_PX ? (RIGHT_PANEL_X + 31) : (RIGHT_PANEL_X + 17); screen_y = InvItemHeight[frame] == (3 * INV_SLOT_SIZE_PX) ? (160 + SCREEN_Y) : (146 + SCREEN_Y); if (pcursinvitem == INVITEM_HAND_LEFT) { @@ -297,26 +297,26 @@ void DrawInv() } if (plr[myplr].InvBody[INVLOC_HAND_LEFT]._iLoc == ILOC_TWOHAND) { - InvDrawSlotBack(PANEL_RIGHT + 247, 160 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 3 * INV_SLOT_SIZE_PX); + InvDrawSlotBack(RIGHT_PANEL_X + 247, 160 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 3 * INV_SLOT_SIZE_PX); light_table_index = 0; cel_transparency_active = 1; CelClippedBlitLightTrans( frame_width == INV_SLOT_SIZE_PX - ? &gpBuffer[SCREENXY(PANEL_RIGHT + 197, SCREEN_Y)] - : &gpBuffer[SCREENXY(PANEL_RIGHT + 183, SCREEN_Y)], + ? &gpBuffer[SCREENXY(RIGHT_PANEL_X + 197, SCREEN_Y)] + : &gpBuffer[SCREENXY(RIGHT_PANEL_X + 183, SCREEN_Y)], pCursCels, frame, frame_width, 0, 8); cel_transparency_active = 0; } } if (plr[myplr].InvBody[INVLOC_HAND_RIGHT]._itype != ITYPE_NONE) { - InvDrawSlotBack(PANEL_RIGHT + 247, 160 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 3 * INV_SLOT_SIZE_PX); + InvDrawSlotBack(RIGHT_PANEL_X + 247, 160 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 3 * INV_SLOT_SIZE_PX); frame = plr[myplr].InvBody[INVLOC_HAND_RIGHT]._iCurs + CURSOR_FIRSTITEM; frame_width = InvItemWidth[frame]; // calc item offsets for weapons smaller than 2x3 slots - screen_x = frame_width == INV_SLOT_SIZE_PX ? (PANEL_RIGHT + 261) : (PANEL_RIGHT + 249); + screen_x = frame_width == INV_SLOT_SIZE_PX ? (RIGHT_PANEL_X + 261) : (RIGHT_PANEL_X + 249); screen_y = InvItemHeight[frame] == 3 * INV_SLOT_SIZE_PX ? (160 + SCREEN_Y) : (146 + SCREEN_Y); if (pcursinvitem == INVITEM_HAND_RIGHT) { @@ -338,7 +338,7 @@ void DrawInv() } if (plr[myplr].InvBody[INVLOC_CHEST]._itype != ITYPE_NONE) { - InvDrawSlotBack(PANEL_RIGHT + 133, 160 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 3 * INV_SLOT_SIZE_PX); + InvDrawSlotBack(RIGHT_PANEL_X + 133, 160 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 3 * INV_SLOT_SIZE_PX); frame = plr[myplr].InvBody[INVLOC_CHEST]._iCurs + CURSOR_FIRSTITEM; frame_width = InvItemWidth[frame]; @@ -351,13 +351,13 @@ void DrawInv() if (!plr[myplr].InvBody[INVLOC_CHEST]._iStatFlag) { colour = ICOL_RED; } - CelBlitOutline(colour, PANEL_RIGHT + 133, 160 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelBlitOutline(colour, RIGHT_PANEL_X + 133, 160 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } if (plr[myplr].InvBody[INVLOC_CHEST]._iStatFlag) { - CelClippedDraw(PANEL_RIGHT + 133, 160 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); + CelClippedDraw(RIGHT_PANEL_X + 133, 160 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8); } else { - CelDrawLightRed(PANEL_RIGHT + 133, 160 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); + CelDrawLightRed(RIGHT_PANEL_X + 133, 160 + SCREEN_Y, pCursCels, frame, frame_width, 0, 8, 1); } } @@ -419,7 +419,7 @@ void DrawInvBelt() return; } - DrawPanelBox(205, 21, 232, 28, 269, 517); + DrawPanelBox(205, 21, 232, 28, PANEL_X + 205, PANEL_Y + 5); for (i = 0; i < MAXBELTITEMS; i++) { if (plr[myplr].SpdList[i]._itype == ITYPE_NONE) { @@ -1359,8 +1359,8 @@ void CheckInvItem() */ void CheckInvScrn() { - if (MouseX > 190 && MouseX < 437 - && MouseY > PANEL_TOP && MouseY < 385) { + if (MouseX > 190 + PANEL_LEFT && MouseX < 437 + PANEL_LEFT + && MouseY > PANEL_TOP && MouseY < 33 + PANEL_TOP) { CheckInvItem(); } } diff --git a/Source/minitext.cpp b/Source/minitext.cpp index e7adc0f5e..4ad8bee65 100644 --- a/Source/minitext.cpp +++ b/Source/minitext.cpp @@ -69,7 +69,7 @@ void InitQTextMsg(int m) void DrawQTextBack() { - CelDraw(88, 487, pTextBoxCels, 1, 591); + CelDraw(PANEL_X + 24, 487, pTextBoxCels, 1, 591); #define TRANS_RECT_X 27 #define TRANS_RECT_Y 28 diff --git a/Source/player.cpp b/Source/player.cpp index 4ce8d5f3e..1d7dba16f 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -3663,7 +3663,7 @@ void CheckPlrSpell() if (pcurs != CURSOR_HAND || MouseY >= PANEL_TOP - || (chrflag && MouseX < 320 || invflag && MouseX > 320) + || (chrflag && MouseX < 320 || invflag && MouseX > RIGHT_PANEL) && rspell != SPL_HEAL && rspell != SPL_IDENTIFY && rspell != SPL_REPAIR diff --git a/Source/scrollrt.cpp b/Source/scrollrt.cpp index cae1da70b..9238a4738 100644 --- a/Source/scrollrt.cpp +++ b/Source/scrollrt.cpp @@ -2085,24 +2085,24 @@ static void DrawGame(int x, int y) dword_5C2FF8 = SCREEN_WIDTH / 64; dword_5C2FFC = VIEWPORT_HEIGHT / 32; - sx = ScrollInfo._sxoff + 64; - sy = ScrollInfo._syoff + 175; - x -= 10; + sx = ScrollInfo._sxoff + SCREEN_X; + sy = ScrollInfo._syoff + SCREEN_Y + 15; + x -= SCREEN_WIDTH / 64; y--; - chunks = 10; + chunks = SCREEN_WIDTH / 64; blocks = 8; if (chrflag || questlog) { x += 2; y -= 2; - sx += 288; - chunks = 6; + sx += (SCREEN_WIDTH / 2) - 32; + chunks = (SCREEN_WIDTH / 64) - 4; } if (invflag || sbookflag) { x += 2; y -= 2; sx -= 32; - chunks = 6; + chunks = (SCREEN_WIDTH / 64) - 4; } switch (ScrollInfo._sdir) { @@ -2189,15 +2189,15 @@ static void DrawZoom(int x, int y) int wdt, nSrcOff, nDstOff; scr_pix_width = ZOOM_WIDTH; - scr_pix_height = 192; + scr_pix_height = ZOOM_HEIGHT - 32; dword_5C2FF8 = ZOOM_WIDTH / 64; - dword_5C2FFC = 192 / 32; + dword_5C2FFC = (ZOOM_HEIGHT - 32) / 32; - sx = ScrollInfo._sxoff + 64; - sy = ScrollInfo._syoff + 143; - x -= 6; + sx = ScrollInfo._sxoff + SCREEN_X; + sy = ScrollInfo._syoff + SCREEN_Y - 17; + x -= ZOOM_WIDTH / 64; y--; - chunks = 6; + chunks = ZOOM_WIDTH / 64; blocks = 3; switch (ScrollInfo._sdir) { diff --git a/Source/stores.cpp b/Source/stores.cpp index 686b4ce0e..fd6bae1cd 100644 --- a/Source/stores.cpp +++ b/Source/stores.cpp @@ -130,7 +130,7 @@ void FreeStoreMem() void DrawSTextBack() { - CelDraw(408, 487, pSTextBoxCels, 1, 271); + CelDraw(PANEL_X + 344, 487, pSTextBoxCels, 1, 271); #define TRANS_RECT_X 347 #define TRANS_RECT_Y 28 @@ -148,9 +148,9 @@ void PrintSString(int x, int y, BOOL cjustflag, char *str, char col, int val) s = SStringY[y] + stext[y]._syoff; if (stextsize) - xx = 96; + xx = PANEL_X + 32; else - xx = 416; + xx = PANEL_X + 352; off = xx + x + PitchTbl[s + 204]; len = strlen(str); if (stextsize) @@ -248,16 +248,16 @@ void DrawSArrows(int y1, int y2) yd1 = SStringY[y1] + 204; yd2 = SStringY[y2] + 204; if (stextscrlubtn != -1) - CelDraw(665, yd1, pSTextSlidCels, 12, 12); + CelDraw(PANEL_X + 601, yd1, pSTextSlidCels, 12, 12); else - CelDraw(665, yd1, pSTextSlidCels, 10, 12); + CelDraw(PANEL_X + 601, yd1, pSTextSlidCels, 10, 12); if (stextscrldbtn != -1) - CelDraw(665, yd2, pSTextSlidCels, 11, 12); + CelDraw(PANEL_X + 601, yd2, pSTextSlidCels, 11, 12); else - CelDraw(665, yd2, pSTextSlidCels, 9, 12); + CelDraw(PANEL_X + 601, yd2, pSTextSlidCels, 9, 12); yd1 += 12; for (yd3 = yd1; yd3 < yd2; yd3 += 12) { - CelDraw(665, yd3, pSTextSlidCels, 14, 12); + CelDraw(PANEL_X + 601, yd3, pSTextSlidCels, 14, 12); } if (stextsel == 22) yd3 = stextlhold; @@ -267,7 +267,7 @@ void DrawSArrows(int y1, int y2) yd3 = 1000 * (stextsval + ((yd3 - stextup) >> 2)) / (storenumh - 1) * (SStringY[y2] - SStringY[y1] - 24) / 1000; else yd3 = 0; - CelDraw(665, SStringY[y1 + 1] + 204 + yd3, pSTextSlidCels, 13, 12); + CelDraw(PANEL_X + 601, SStringY[y1 + 1] + 204 + yd3, pSTextSlidCels, 13, 12); } void DrawSTextHelp() @@ -2765,14 +2765,14 @@ void CheckStoreBtn() sfx_stop(); } else if (stextsel != -1 && MouseY >= 32 && MouseY <= 320) { if (!stextsize) { - if (MouseX < 344 || MouseX > 616) + if (MouseX < 344 + PANEL_LEFT || MouseX > 616 + PANEL_LEFT) return; } else { - if (MouseX < 24 || MouseX > 616) + if (MouseX < 24 + PANEL_LEFT || MouseX > 616 + PANEL_LEFT) return; } y = (MouseY - 32) / 12; - if (stextscrl && MouseX > 600) { + if (stextscrl && MouseX > 600 + PANEL_LEFT) { if (y == 4) { if (stextscrlubtn <= 0) { STextUp(); diff --git a/Source/town.cpp b/Source/town.cpp index 4fed3ed10..de4ae49b6 100644 --- a/Source/town.cpp +++ b/Source/town.cpp @@ -1056,15 +1056,15 @@ void T_DrawGame(int x, int y) sx = ScrollInfo._sxoff + 64; sy = ScrollInfo._syoff + 175; - x -= 10; + x -= SCREEN_WIDTH / 64; y--; - chunks = 10; + chunks = SCREEN_WIDTH / 64; blocks = 5; if (chrflag || questlog) { x += 2; y -= 2; - sx += 288; + sx += (SCREEN_WIDTH / 2) - 32; chunks = 6; } if (invflag || sbookflag) { diff --git a/defs.h b/defs.h index 3be9e4c16..d1a88fdea 100644 --- a/defs.h +++ b/defs.h @@ -121,8 +121,12 @@ #define PANEL_WIDTH 640 #define PANEL_HEIGHT 128 #define PANEL_TOP (SCREEN_HEIGHT - PANEL_HEIGHT) -#define PANEL_Y (PANEL_TOP + SCREEN_Y) -#define PANEL_RIGHT (SCREEN_X + SCREEN_WIDTH - 320) +#define PANEL_LEFT (SCREEN_WIDTH - PANEL_WIDTH) / 2 +#define PANEL_X (SCREEN_X + PANEL_LEFT) +#define PANEL_Y (SCREEN_Y + PANEL_TOP) + +#define RIGHT_PANEL (SCREEN_WIDTH - 320) +#define RIGHT_PANEL_X (SCREEN_X + RIGHT_PANEL) #if SCREEN_WIDTH == PANEL_WIDTH #define VIEWPORT_HEIGHT (SCREEN_HEIGHT - PANEL_HEIGHT) @@ -130,6 +134,9 @@ #define VIEWPORT_HEIGHT SCREEN_HEIGHT #endif +#define DIALOG_TOP ((SCREEN_HEIGHT - PANEL_HEIGHT) / 2 - 18) +#define DIALOG_Y (SCREEN_Y + DIALOG_TOP) + #define SCREENXY(x, y) ((x) + SCREEN_X + ((y) + SCREEN_Y) * BUFFER_WIDTH) #define MemFreeDbg(p) \