void InventoryRenderer::drawWeaponItem(const Inventory& inventory, int slot, int itemType) { WorldItem* item = inventory.getItemSlot(slot); int itemLevel = 0; if(item != 0) itemLevel = item->intVals["ITEM_LVL"]; if(inventory.active_item == (unsigned)slot) glColor4f(1, 1, 1, 1); else glColor4f(0.8f, 0.8f, 0.8f, 0.5f); float xp = (itemLevel+1.0f) / 8.0f; float xn = itemLevel / 8.0f; float yp = 1.0f - itemType / 8.0f - 0.003f; float yn = 1.0f - (itemType+1.0f) / 8.0f + 0.003f; float x = x_pos + (slot - 6) * 0.1f - 0.20f; float y = y_pos - 0.4f; float hw = 0.05f; float hh = 0.05f; glBegin(GL_QUADS); glTexCoord2f(xn, yn); glVertex3f(x - hw, y - hh, -1); glTexCoord2f(xp, yn); glVertex3f(x + hw, y - hh, -1); glTexCoord2f(xp, yp); glVertex3f(x + hw, y + hh, -1); glTexCoord2f(xn, yp); glVertex3f(x - hw, y + hh, -1); glEnd(); }
void InventoryRenderer::drawArmorItem(const Inventory& inventory, int slot, float dx, float dy, float hw, float hh, int tex_x) { WorldItem* item = inventory.getItemSlot(slot); int itemLevel = 0; if(item != 0) itemLevel = item->intVals["ITEM_LVL"]; // draw glColor4f(1, 1, 1, 0.5f); int itemType = slot; float xp = (itemLevel+1.0f-tex_x) / 8.0f; float xn = (itemLevel+tex_x) / 8.0f; float yp = 1.0f - itemType / 8.0f - 0.003f; float yn = 1.0f - (itemType+1.0f) / 8.0f + 0.003; glBegin(GL_QUADS); glTexCoord2f(xn, yn); glVertex3f(x_pos + dx - hw, y_pos + dy - hh, -1); glTexCoord2f(xp, yn); glVertex3f(x_pos + dx + hw, y_pos + dy - hh, -1); glTexCoord2f(xp, yp); glVertex3f(x_pos + dx + hw, y_pos + dy + hh, -1); glTexCoord2f(xn, yp); glVertex3f(x_pos + dx - hw, y_pos + dy + hh, -1); glEnd(); }