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

Function DrawInv

Source/inv.cpp:139–381  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

137}
138
139void DrawInv()
140{
141 BOOL invtest[NUM_INV_GRID_ELEM];
142 int frame, frame_width, color, screen_x, screen_y, i, j, ii;
143 BYTE *pBuff;
144
145 CelDraw(RIGHT_PANEL_X, 351 + SCREEN_Y, pInvCels, 1, SPANEL_WIDTH);
146
147 if (plr[myplr].InvBody[INVLOC_HEAD]._itype != ITYPE_NONE) {
148 InvDrawSlotBack(RIGHT_PANEL_X + 133, 59 + SCREEN_Y, 2 * INV_SLOT_SIZE_PX, 2 * INV_SLOT_SIZE_PX);
149
150 frame = plr[myplr].InvBody[INVLOC_HEAD]._iCurs + CURSOR_FIRSTITEM;
151 frame_width = InvItemWidth[frame];
152
153 if (pcursinvitem == INVITEM_HEAD) {
154 color = ICOL_WHITE;
155 if (plr[myplr].InvBody[INVLOC_HEAD]._iMagical != ITEM_QUALITY_NORMAL) {
156 color = ICOL_BLUE;
157 }
158 if (!plr[myplr].InvBody[INVLOC_HEAD]._iStatFlag) {
159 color = ICOL_RED;
160 }
161 CelBlitOutline(color, RIGHT_PANEL_X + 133, 59 + SCREEN_Y, pCursCels, frame, frame_width);
162 }
163
164 if (plr[myplr].InvBody[INVLOC_HEAD]._iStatFlag) {
165 CelClippedDraw(RIGHT_PANEL_X + 133, 59 + SCREEN_Y, pCursCels, frame, frame_width);
166 } else {
167 CelDrawLightRed(RIGHT_PANEL_X + 133, 59 + SCREEN_Y, pCursCels, frame, frame_width, 1);
168 }
169 }
170
171 if (plr[myplr].InvBody[INVLOC_RING_LEFT]._itype != ITYPE_NONE) {
172 InvDrawSlotBack(RIGHT_PANEL_X + 48, 205 + SCREEN_Y, INV_SLOT_SIZE_PX, INV_SLOT_SIZE_PX);
173
174 frame = plr[myplr].InvBody[INVLOC_RING_LEFT]._iCurs + CURSOR_FIRSTITEM;
175 frame_width = InvItemWidth[frame];
176
177 if (pcursinvitem == INVITEM_RING_LEFT) {
178 color = ICOL_WHITE;
179 if (plr[myplr].InvBody[INVLOC_RING_LEFT]._iMagical != ITEM_QUALITY_NORMAL) {
180 color = ICOL_BLUE;
181 }
182 if (!plr[myplr].InvBody[INVLOC_RING_LEFT]._iStatFlag) {
183 color = ICOL_RED;
184 }
185 CelBlitOutline(color, RIGHT_PANEL_X + 48, 205 + SCREEN_Y, pCursCels, frame, frame_width);
186 }
187
188 if (plr[myplr].InvBody[INVLOC_RING_LEFT]._iStatFlag) {
189 CelClippedDraw(RIGHT_PANEL_X + 48, 205 + SCREEN_Y, pCursCels, frame, frame_width);
190 } else {
191 CelDrawLightRed(RIGHT_PANEL_X + 48, 205 + SCREEN_Y, pCursCels, frame, frame_width, 1);
192 }
193 }
194
195 if (plr[myplr].InvBody[INVLOC_RING_RIGHT]._itype != ITYPE_NONE) {
196 InvDrawSlotBack(RIGHT_PANEL_X + 249, 205 + SCREEN_Y, INV_SLOT_SIZE_PX, INV_SLOT_SIZE_PX);

Callers 1

DrawViewFunction · 0.85

Calls 6

CelDrawFunction · 0.85
InvDrawSlotBackFunction · 0.85
CelBlitOutlineFunction · 0.85
CelClippedDrawFunction · 0.85
CelDrawLightRedFunction · 0.85
CelClippedBlitLightTransFunction · 0.85

Tested by

no test coverage detected