Esempio n. 1
0
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();
}
Esempio n. 2
0
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();
}