aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/guiInventoryMenu.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/guiInventoryMenu.cpp b/src/guiInventoryMenu.cpp
index 9b2aed377..f2a644e80 100644
--- a/src/guiInventoryMenu.cpp
+++ b/src/guiInventoryMenu.cpp
@@ -68,7 +68,7 @@ void drawItemStack(video::IVideoDriver *driver,
// Shrink progressrect by amount of tool damage
float wear = item.wear / 65535.0;
- progressrect.LowerRightCorner.X =
+ int progressmid =
wear * progressrect.UpperLeftCorner.X +
(1-wear) * progressrect.LowerRightCorner.X;
@@ -77,14 +77,21 @@ void drawItemStack(video::IVideoDriver *driver,
// wear = 0.5: yellow
// wear = 1.0: red
video::SColor color(255,255,255,255);
- int wear_i = floor(wear * 511);
+ int wear_i = MYMIN(floor(wear * 600), 511);
wear_i = MYMIN(wear_i + 10, 511);
if(wear_i <= 255)
color.set(255, wear_i, 255, 0);
else
color.set(255, 255, 511-wear_i, 0);
- driver->draw2DRectangle(color, progressrect, clip);
+ core::rect<s32> progressrect2 = progressrect;
+ progressrect2.LowerRightCorner.X = progressmid;
+ driver->draw2DRectangle(color, progressrect2, clip);
+
+ color = video::SColor(255,0,0,0);
+ progressrect2 = progressrect;
+ progressrect2.UpperLeftCorner.X = progressmid;
+ driver->draw2DRectangle(color, progressrect2, clip);
}
if(font != NULL && item.count >= 2)