From a58d7255698f9a5e3e13f9cb0b8500988d12dd10 Mon Sep 17 00:00:00 2001 From: Kahrl Date: Thu, 12 Jan 2012 08:47:17 +0100 Subject: Tool progress bar tweaking --- src/guiInventoryMenu.cpp | 13 ++++++++++--- 1 file 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 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) -- cgit v1.2.3