From: Kahrl Date: Thu, 12 Jan 2012 07:47:17 +0000 (+0100) Subject: Tool progress bar tweaking X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=a58d7255698f9a5e3e13f9cb0b8500988d12dd10;p=zefram%2Fminetest%2Fminetest_engine.git Tool progress bar tweaking --- diff --git a/src/guiInventoryMenu.cpp b/src/guiInventoryMenu.cpp index 9b2aed37..f2a644e8 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)