MCPcopy Create free account
hub / github.com/diasurgical/devilution / CheckInvHLight

Function CheckInvHLight

Source/inv.cpp:1893–1981  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1891}
1892
1893char CheckInvHLight()
1894{
1895 int r, ii, nGold;
1896 ItemStruct *pi;
1897 PlayerStruct *p;
1898 char rv;
1899
1900 for (r = 0; (DWORD)r < 73; r++) {
1901 if (MouseX >= InvRect[r].X
1902 && MouseX < InvRect[r].X + 29
1903 && MouseY >= InvRect[r].Y - 29
1904 && MouseY < InvRect[r].Y) {
1905 break;
1906 }
1907 }
1908
1909 if ((DWORD)r >= 73)
1910 return -1;
1911
1912 rv = -1;
1913 infoclr = COL_WHITE;
1914 pi = NULL;
1915 p = &plr[myplr];
1916 ClearPanel();
1917 if (r >= 0 && r <= 3) {
1918 rv = INVLOC_HEAD;
1919 pi = &p->InvBody[rv];
1920 } else if (r == 4) {
1921 rv = INVLOC_RING_LEFT;
1922 pi = &p->InvBody[rv];
1923 } else if (r == 5) {
1924 rv = INVLOC_RING_RIGHT;
1925 pi = &p->InvBody[rv];
1926 } else if (r == 6) {
1927 rv = INVLOC_AMULET;
1928 pi = &p->InvBody[rv];
1929 } else if (r >= 7 && r <= 12) {
1930 rv = INVLOC_HAND_LEFT;
1931 pi = &p->InvBody[rv];
1932 } else if (r >= 13 && r <= 18) {
1933 pi = &p->InvBody[INVLOC_HAND_LEFT];
1934 if (pi->_itype == ITYPE_NONE || pi->_iLoc != ILOC_TWOHAND) {
1935 rv = INVLOC_HAND_RIGHT;
1936 pi = &p->InvBody[rv];
1937 } else {
1938 rv = INVLOC_HAND_LEFT;
1939 }
1940 } else if (r >= 19 && r <= 24) {
1941 rv = INVLOC_CHEST;
1942 pi = &p->InvBody[rv];
1943 } else if (r >= 25 && r <= 64) {
1944 r = abs(p->InvGrid[r - 25]);
1945 if (!r)
1946 return -1;
1947 ii = r - 1;
1948 rv = ii + 7;
1949 pi = &p->InvList[ii];
1950 } else if (r >= 65) {

Callers 2

CheckPanelInfoFunction · 0.85
CheckCursMoveFunction · 0.85

Calls 4

ClearPanelFunction · 0.85
get_pieces_strFunction · 0.85
PrintItemDetailsFunction · 0.85
PrintItemDurFunction · 0.85

Tested by

no test coverage detected